二
十
一
章摘要
第
三
题
建立目标规划模型,先找出目标函数和约束条件,然后建立模型,利用Lingo程序求解。
关键词:Lingo 目标规划
Ⅰ 问题重述
某工厂生产两种产品,每件产品I可获利10元,每件产品II可获利8元。每生产一件产品I,需要3小时;每生产一件产品II,需要2.5小时。每周总的有效时间为120小时。若加班生产,则每件产品I的利润降低1.5元;每件产品II的利润降低1元。决策者希望在允许的工作及加班时间内取得最大利润,试建立该问题的目标规划模型并求解 Ⅱ 问题分析 建立目标规划模型前,先找出目标函数和约束条件,然后建立模型,利用Lingo程序求解。 由题可知,无论生产产品Ⅰ或Ⅱ每小时的盈利不超过4元,每周的生产时间不超过160小时,因而最大利润不超过640。 Ⅲ 模型假设 (1) 生产过程中没有出现其他问题; Ⅳ 符号说明 (1)x1为产品?在允许的时间内生产的件数; (2)x2为产品?在允许的时间内生产的件数; (3)x3为产品?在加班的时间内生产的件数; (4)x4为产品?在加班的时间内生产的件数。 Ⅴ 模型建立与求解 利用LINGO编写程序(见附录) d1=0 产4件时,总的利润最大,最大利润为413元。
求得x1=40 x2=0 x3=10 x4 =4 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
?d2=0 ?d?3 =1即产品I生产50件,产品II生
附录
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