二十一章第三题
摘要
建立目标规划模型,先找出目标函数和约束条件,然后建立模型,利用Lingo程序求解。
关键词:Lingo 目标规划
Ⅰ 问题重述
某工厂生产两种产品,每件产品I 可获利10元,每件产品II 可获利8元。
每生产一件产品I ,需要3小时;每生产一件产品II ,需要2.5小时。
每周总的有效时间为120小时。
若加班生产,则每件产品I 的利润降低1.5元;每件产品II 的利润降低1元。
决策者希望在允许的工作及加班时间内取得最大利润,试建立该问题的目标规划模型并求解
Ⅱ 问题分析
建立目标规划模型前,先找出目标函数和约束条件,然后建立模型,利用Lingo 程序求解。
由题可知,无论生产产品Ⅰ或Ⅱ每小时的盈利不超过4元,每周的生产时间不超过160小时,因而最大利润不超过640。
Ⅲ 模型假设
(1) 生产过程中没有出现其他问题;
Ⅳ 符号说明
(1)1x 为产品I 在允许的时间内生产的件数;
(2)2x 为产品 在允许的时间内生产的件数;
(3)3x 为产品I 在加班的时间内生产的件数;
(4)4x 为产品 在加班的时间内生产的件数。
Ⅴ 模型建立与求解
()
---++=32211min d p d d p z ⎪⎪⎩⎪⎪⎨⎧=≥=≥=++++=++++=++----.4,3,2,10;3,2,1,0,
64075.8810,1605.235.23,1205.23..3432124321121i x i d d x x x x d x x x x d x x t s i i
且为整数, 利用LINGO 编写程序(见附录)
求得1x =40 2x =0 3x =10 4x =4 d -1=0
d -2=0 d -3 =1即产品I 生产50件,产品II 生
产4件时,总的利润最大,最大利润为413元。
附录model:
sets:
level/1..2/:p,z,goal;
variable/1..4/:x;
s_con_num/1..3/:g,dminus;
s_con(s_con_num,variable):c;
obj(level,s_con_num)/1 1,1 2,2 3/:wminus;
endsets
data:
ctr=?;
goal=? 0;
g=120 160 640;
c=3 2.5 0 0 3 2.5 3 2.5 10 8 8.5 7;
wminus=1 1 1;
enddata
min=@sum(level:p*z);
p(ctr)=1;
@for(level(i)|i#ne#ctr:p(i)=0);
@for(level(i):z(i)=@sum(obj(i,j):wminus(i,j)*dminus(j)));
@for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)=g(i)); @for(level(i)|i #lt# @size(level):@bnd(0,z(i),goal(i)));
@for(variable:@gin(x));
end。