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
   288   289   290   291   292   293   294   295   296   297   298