拜求lindo大师!!
在lindo中输入:max 594000a+2484000b+3240000c+3762000d+1071000e+5880000f+4200000g
st
180a+1080b+1620c+1980d+6300e+8400f+10500g<=95400
60a+180b+180c+180d+350e+350f+350g<=13250
end
答案只出来A和D的数值,我怎样调整数据都不能出来3种及3种以上的数值。
请问:是否可以多加一个条件:使A、B、C、D、E、F、G VALUE值>=3呢??
不知道能不能这么操作,更不清楚应该如何编写函数。
拜托各位大师啦~~~
{:soso_e183:} lindo什么 东西啊 楼主你好!首先希望你常逛论坛啊,耐心等一下,大家会帮你解决问题的。
我没使用过LINDO软件,看了你的问题,把它改写成了LINGO模型(减小了系数,结果再乘以相应倍数即可)
LINGO代码如下:
max=594*a+2484*b+3240*c+3762*d+1071*e+5880*f+4200*g;
18*a+108*b+162*c+198*d+630*e+840*f+1050*g<=9540;
6*a+18*b+18*c+18*d+35*e+35*f+35*g<=1325;
运行结果为:
Global optimal solution found.
Objective value: 207693.7
Infeasibilities: 0.000000
Total solver iterations: 2
Variable Value Reduced Cost
A 104.8958 0.000000
B 0.000000 40.50000
C 0.000000 27.00000
D 38.64583 0.000000
E 0.000000 9612.750
F 0.000000 7691.250
G 0.000000 12258.75
Row Slack or Surplus Dual Price
1 207693.7 1.000000
2 0.000000 13.75000
3 0.000000 57.75000
原因分析:只有两个约束,变量有七个,当然只有两个解了。
如果加上你要求的约束,则LINGO代码如下:
max=594*a+2484*b+3240*c+3762*d+1071*e+5880*f+4200*g;
18*a+108*b+162*c+198*d+630*e+840*f+1050*g<=9540;
6*a+18*b+18*c+18*d+35*e+35*f+35*g<=1325;
a>=3;b>=3;c>=3;d>=3;e>=3;f>=3;g>=3;
运行结果为:
Global optimal solution found.
Objective value: 80919.00
Infeasibilities: 0.000000
Total solver iterations: 3
Variable Value Reduced Cost
A 32.00000 0.000000
B 3.000000 0.000000
C 3.000000 0.000000
D 3.000000 0.000000
E 3.000000 0.000000
F 3.000000 0.000000
G 3.000000 0.000000
Row Slack or Surplus Dual Price
1 80919.00 1.000000
2 0.000000 33.00000
3 656.0000 0.000000
4 29.00000 0.000000
5 0.000000 -1080.000
6 0.000000 -2106.000
7 0.000000 -2772.000
8 0.000000 -19719.00
9 0.000000 -21840.00
10 0.000000 -30450.00
以上解答,如有疑问请指出,并欢迎交流!
页:
[1]