赞
踩
问题:某企业生产甲、乙两种产品,需要用到 A, B,C 三种设备,关于产品的赢利与使用设备的工时及限制如下表所示。问该企业应如何安排生产,才能达到下列目标:
( 1)力求使利润指标不低于 1500 元;
( 2)考虑到市场需求,甲、乙两种产品的产量比应尽量保持 1:2;
( 3)设备 A 为贵重设备,严格禁止超时使用;
( 4)设备C 可以适当加班,但要控制;设备 B 既要求充分利用,又尽可能不加班。
在重要性上,设备 B 是设备C 的 3 倍。
建立相应的目标规划模型并求解。
解:设该企业生产甲乙两种产品的件数分别为 x1, x2 ,相应的目标规划模型为:

将以上多目标问题转化为单目标问题进行求解:
第一步:
- model:
- sets:
- variable/1..2/:x;!规定变量;
- s_con_num/1..4/:g,dplus,dminus;!软约束条件个数以及相关参数;
- s_con(s_con_num,variable):c;!软约束系数;
- endsets
- data:
- g=1500 0 16 15;
- c=200 300 2 -1 4 0 0 5;
- enddata
- min=dminus(1);!第一个目标函数;
- 2*x(1)+2*x(2)<12;!硬约束;
- @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i));
- !软约束表达式;
- @for(variable:@gin(x));!限制变量为整数;
- end

此时,第一目标最优值为0,达到要求;下面进行第二步:
- !求得dminus(1)=0,接着求解第二个目标;
- model:
- sets:
- variable/1..2/:x;!规定变量;
- s_con_num/1..4/:g,dplus,dminus;!软约束条件个数以及相关参数;
- s_con(s_con_num,variable):c;!软约束系数;
- endsets
- data:
- g=1500 0 16 15;
- c=200 300 2 -1 4 0 0 5;
- enddata
- min=dminus(2)+dplus(2);!第二个目标函数;
- 2*x(1)+2*x(2)<12;!硬约束;
- @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i));
- !软约束表达式;
- dminus(1)=0;!第一目标结果;
- @for(variable:@gin(x));
- end

此时,第二目标最优值为0,达到要求;下面进行第三步:
- !求得dminus(2)=0,接着求解第三个目标;
- model:
- sets:
- variable/1..2/:x;!规定变量;
- s_con_num/1..4/:g,dplus,dminus;!软约束条件个数以及相关参数;
- s_con(s_con_num,variable):c;!软约束系数;
- endsets
- data:
- g=1500 0 16 15;
- c=200 300 2 -1 4 0 0 5;
- enddata
- min=3*dminus(3)+3*dplus(3)+dminus(4);!第三个目标函数;
- 2*x(1)+2*x(2)<12;!硬约束;
- @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i));
- !软约束表达式;
- dminus(1)=0;!第一目标结果;
- dminus(2)+dplus(2)=0;!第二级目标结果;
- @for(variable:@gin(x));
- end

最终求得x1=2,x2=4。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。