欧阳嫦娥 发表于 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 编辑

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

data:
p=
132 0 100 103
0 91 100 100
106 89 100 98 ;
b= 62 83 39 91;
enddata
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 static/image/common/back.gif
也许这样子会更好:求解的结果为:
  Global optimal solution found.
  Objective value:               ...

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

liwenhui 发表于 2015-7-23 10:43

欧阳嫦娥 发表于 2015-7-22 22:00 static/image/common/back.gif
嗯嗯,应该是这样,谢谢了
那我那样是不是错了?我刚学,其实不太懂,虽然我觉得我没错,但是一运行就出 ...

你的错了。没有正确地处理区分各个变量的表示方法。你可能是模仿别人的LINGO程序改的。
页: [1]
查看完整版本: lingo线性规划问题