Page 293 - 数学建模算法与应用
P. 293
第十章 目标规划的研究
求第三级目标,LINGO 程序如下:
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 dplus(3)+3 dminus(3)+dplus(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;! 一级目标约束;
dplus(2)+dminus(2)=0;! 二级目标约束;
end
目标函数的最优值为 29,即第三级偏差为 29。
+
*
分析计算结果, x = 2 , x = 4 ,d 1 =100 ,因此,目标规划的最优解为 x = (2,
1
2
4) ,最优利润为 1600。
上述过程虽然给出了目标规划问题的最优解,但需要连续编几个程序,这样
在使用时不方便,下面用 LINGO 软件,编写一个通用的程序,在程序中用到数
据段未知数据的编程方法。
例 4(续例 3) 按照序贯式算法,编写求解例 3 的通用 LINGO 程序。
model:
sets:
level/1..3/:p,z,goal;
variable/1..2/:x;
h_con_num/1..1/:b;
283

