数学建模社区-数学中国

标题: lingo线性规划问题 [打印本页]

作者: 欧阳嫦娥    时间: 2015-7-22 15:19
标题: lingo线性规划问题
min132x(11)+100x(13)+103x(14)+91x(22)+100x(23)+100x(24)+106x(31)+89x(32)+100x(32)+98x(34)
s.t.:x(11)+x(21)+x(31)=62
     x(12)+x(22)+x(32)=83
     x(13)+x(23)+x(33)=39
     x(14)+x(24)+x(34)=91
     x(ij)>=0,i,j=1,2,3,4
   

程序
model:
sets:
col/1..4/:c,x;
row/1..12/:b;
links(row,col):a;
endsets
data:
c= 132 0 100 103
0 91 100 100
106 89 100 98 ;
b= 62 83 39 91 ;
a= 1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1;
enddata
min=@sum(col:c*x);
sum(col(j):a(i,j)*x(j))=b(i));
       end
能告诉我错哪了吗;我的程序能解决上述问题吗?

作者: liwenhui    时间: 2015-7-22 18:16
本帖最后由 liwenhui 于 2015-7-22 18:21 编辑

也许这样子会更好:
  1. model:
  2. sets:
  3. col/1..3/;
  4. row/1..4/:b;
  5. links(col,row):x,p;
  6. endsets
  7. min=@sum(links:x*p);
  8. @for(row(j):@sum(col(i):x(i,j))=b(j));

  9. data:
  10. p=
  11. 132 0 100 103
  12. 0 91 100 100
  13. 106 89 100 98 ;
  14. b= 62 83 39 91;
  15. enddata
  16. end
复制代码
求解的结果为:
  Global optimal solution found.
  Objective value:                              12818.00
  Infeasibilities:                              0.000000
  Total solver iterations:                             0

  Model Class:                                        LP

  Total variables:                     15
  Nonlinear variables:                  0
  Integer variables:                    0

  Total constraints:                    5
  Nonlinear constraints:                0

  Total nonzeros:                      22
  Nonlinear nonzeros:                   0

                                Variable           Value        Reduced Cost
                                   C( 1)        0.000000            0.000000
                                   C( 2)        0.000000            0.000000
                                   C( 3)        0.000000            0.000000
                                   B( 1)        62.00000            0.000000
                                   B( 2)        83.00000            0.000000
                                   B( 3)        39.00000            0.000000
                                   B( 4)        91.00000            0.000000
                                X( 1, 1)        0.000000            132.0000
                                X( 1, 2)        83.00000            0.000000
                                X( 1, 3)        0.000000            0.000000
                                X( 1, 4)        0.000000            5.000000
                                X( 2, 1)        62.00000            0.000000
                                X( 2, 2)        0.000000            91.00000
                                X( 2, 3)        0.000000            0.000000
                                X( 2, 4)        0.000000            2.000000
                                X( 3, 1)        0.000000            106.0000
                                X( 3, 2)        0.000000            89.00000
                                X( 3, 3)        39.00000            0.000000
                                X( 3, 4)        91.00000            0.000000
                                P( 1, 1)        132.0000            0.000000
                                P( 1, 2)        0.000000            0.000000
                                P( 1, 3)        100.0000            0.000000
                                P( 1, 4)        103.0000            0.000000
                                P( 2, 1)        0.000000            0.000000
                                P( 2, 2)        91.00000            0.000000
                                P( 2, 3)        100.0000            0.000000
                                P( 2, 4)        100.0000            0.000000
                                P( 3, 1)        106.0000            0.000000
                                P( 3, 2)        89.00000            0.000000
                                P( 3, 3)        100.0000            0.000000
                                P( 3, 4)        98.00000            0.000000

                                     Row    Slack or Surplus      Dual Price
                                       1        12818.00           -1.000000
                                       2        0.000000            0.000000
                                       3        0.000000            0.000000
                                       4        0.000000           -100.0000
                                       5        0.000000           -98.00000
你看结果符合预期吗。








作者: 欧阳嫦娥    时间: 2015-7-22 22:00
liwenhui 发表于 2015-7-22 18:16
也许这样子会更好:求解的结果为:
  Global optimal solution found.
  Objective value:               ...

嗯嗯,应该是这样,谢谢了
那我那样是不是错了?我刚学,其实不太懂,虽然我觉得我没错,但是一运行就出错。

作者: liwenhui    时间: 2015-7-23 10:43
欧阳嫦娥 发表于 2015-7-22 22:00
嗯嗯,应该是这样,谢谢了
那我那样是不是错了?我刚学,其实不太懂,虽然我觉得我没错,但是一运行就出 ...

你的错了。没有正确地处理区分各个变量的表示方法。你可能是模仿别人的LINGO程序改的。





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5