jetlin1992 发表于 2013-6-14 19:56

新手求助,这个lingo程序哪里出问题了

model:
sets:
day/mon..sun/:r,x;
end sets
data:
r=20 16 13 16 19 14 12;
end data
min=z
n=@size(day);
z=@sum(day:x);
@for(day(i):z-x(@wrap(i+1,n)-x(@wrap(i+2,n))>=r(i));
end

语法怎么错了。。。运行提示n=@size(day);错了

madio 发表于 2013-6-16 08:40

model:
sets:
day/mon..sun/:r,x;
end sets
data:
r=20 16 13 16 19 14 12;

end data
n=@size(day);
z=@sum(day:x);
min=z;

@for(day(i):z-x(@wrap(i+1,n))-x(@wrap(i+2,n))>=r(i));
end给你改了一下,能找到全局最优解!你主要是缺少了括号。

  Global optimal solution found.
  Objective value:                              22.00000
  Infeasibilities:                              0.000000
  Total solver iterations:                             5

  Model Class:                                        LP

  Total variables:                      8
  Nonlinear variables:                  0
  Integer variables:                    0

  Total constraints:                    9
  Nonlinear constraints:                0

  Total nonzeros:                      30
  Nonlinear nonzeros:                   0

                                Variable           Value        Reduced Cost
                                       N        7.000000            0.000000
                                       Z        22.00000            0.000000
                                 R( MON)        20.00000            0.000000
                                 R( TUE)        16.00000            0.000000
                                 R( WED)        13.00000            0.000000
                                 R( THU)        16.00000            0.000000
                                 R( FRI)        19.00000            0.000000
                                 R( SAT)        14.00000            0.000000
                                 R( SUN)        12.00000            0.000000
                                 X( MON)        8.000000            0.000000
                                 X( TUE)        2.000000            0.000000
                                 X( WED)        0.000000            0.000000
                                 X( THU)        6.000000            0.000000
                                 X( FRI)        3.000000            0.000000
                                 X( SAT)        3.000000            0.000000
                                 X( SUN)        0.000000           0.3333333

                                     Row    Slack or Surplus      Dual Price
                                       1        0.000000            0.000000
                                       2        0.000000           0.3333333
                                       3        22.00000           -1.000000
                                       4        0.000000          -0.3333333
                                       5        0.000000            0.000000
                                       6        0.000000          -0.3333333
                                       7        0.000000            0.000000
                                       8        0.000000          -0.3333333
                                       9        0.000000          -0.3333333
                                      10        0.000000            0.000000
页: [1]
查看完整版本: 新手求助,这个lingo程序哪里出问题了