数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 3117|回复: 0

请问这个解法有什么问题

[复制链接]
发表于 2008-7-21 21:44 | 显示全部楼层 |阅读模式
[这个贴子最后由数学工兵在 2008/07/21 09:46pm 第 1 次编辑]

工厂生产计划
某厂拥有4台磨床、2台立式钻床、3台卧式钻床、一台镗床和一台刨床,用以生产7中产品,记作P1至P7。工厂收益规定为产品售价减去原材料费用之剩余。每种新产品单件的收益及所需各机床的加工工时(以小时计)列于表1
本月(一月)和随后的5个月中,下列机床停工维修(时间一个月):
一月 磨床1台;
二月 卧式钻床2台;
三月 镗床1台;
四月 立式钻床1台;
五月 磨床1台,立式钻床1台;
六月 刨床1台,卧式钻床1台。
各种产品各月份的市场容量如表2.
             表1
产品    P1   P2   P3  P4  P5    P6   P7
收益    10   6    8   4   11    9    3
磨      0.5  0.7  0   0   0.3   0.2  0.5
垂直钻孔0.1  0.2  0   0.3  0    0.6  0
水平钻孔0.2  0    0.8 0    0    0    0.6
镗孔    0.05 0.03 0   0.07 0.1  0    0.08
刨      0    0    0.01 0   0.05 0    0.05
             表二
产品    P1   P2   P3  P4  P5    P6   P7
一月    500  1000 300 300 800   200  100
二月    600  500  200 0   400   300  150
三月    300  600  0   0   500   400  100
四月    200  300  400 500 200   0    100
五月    0    100  500 100 1000  300  0
六月    500  500  100 300 1100  500  60
每种产品存货最多可到100件。存费每件每月为0.5元。现在无存货。要求到6月底每种产品有存货50件。
工厂每周工作6天,每天2班,每班8h。
为使收益最大,工厂应如何安排各月份产品的产量?考虑价格的某种变化及引入新机床对计划和收益的影响?

我是这样解的:
令收益为a(i),单件i产品在机床j上的加工工时为b(i,j),i种产品t月市场容量为c(i,t), i种产品t月末的剩余量为d(i,t),第t月第j种机床需检修的数量为e(j,t),第j种机床的数量为f(j),lingo代码如下:
sets:
si/1..7/:a;
st/1..6/;
sj/1..5/:f;
sij(si,sj):b;
sit(si,st):x,c,d;
sjt(sj,st):e;
endsets
data:
a=10 6 8 4 11 9 3;
c=500  600 300 200 0    500  
  1000 500 600 300 100  500  
  300  200 0   400 500  100  
  300  0   0   500 100  300  
  800  400 500 200 1000 1100
  200  300 400 0   300  500  
  100  150 100 100 0    60  ;
b=0.5 0.1 0.2 0.05 0
  0.7 0.2 0   0.03 0
  0   0   0.8 0    0.01
  0   0.3 0   0.07 0
  0.3 0   0   0.1  0.05
  0.2 0.6 0   0    0
  0.5 0   0.6 0.08 0.05;
e=1 0 0 0 1 0
  0 0 0 1 1 0
  0 2 0 0 0 1
  0 0 1 0 0 0
  0 0 0 0 0 1;
f=4 2 3 1 1;
enddata
max=@sum(si(i)sum(st(t):a(i)*x(i,t)))-0.5*@sum(sit(i,t):d(i,t));
@for(si(i):d(i,1)=x(i,1)-c(i,1));
@for(si(i):
        @for(st(t)|t#LT#6:d(i,t+1)=d(i,t)+x(i,t+1)-c(i,t+1))
    );
@for(si(i):d(i,6)=50);
@for(si(i)for(st(t)|t&#35;LT&#35;6:d(i,t)<=100));
@for(sj(j):
    @for(st(t):
          @sum(si(i):x(i,t)*b(i,j))<=24*16*(f(j)-e(j,t))
        )
     );
@for(sit(i,t)gin(x(i,t)));
请问这个解法有什么问题吗?大家帮忙指正下哈
文字文字
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-6-9 00:33 , Processed in 0.062500 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表