数学建模社区-数学中国
标题:
为什么这里的@bin不能限制住x是0-1变量了??
[打印本页]
作者:
reptile
时间:
2014-8-6 17:25
标题:
为什么这里的@bin不能限制住x是0-1变量了??
model:
sets:
course/1..9/:x;
endsets
min=@sum(course(i):x);
x1+x2+x3+x4+x5>=2;
x3+x5+x6+x8+x9>=3;
x4+x6+x7+x9>=2;
2*x3-x1-x2<=0;
x4-x7<=0;
2*x5-x1-x2<=0;
x6-x7<=0;
x8-x5<=0;
2*x9-x1-x2<=0;
@for(course(i):@bin(x));
end
下面是题目
2014-8-6 17:23 上传
下载附件
(62.44 KB)
题目第一问
求大神解救 这是姜启源数学模型4的选课策略问题我编的程序,新手求教啊!
我求解的结果如下:
Global optimal solution found.
Objective value: 0.000000
Objective bound: 0.000000
Infeasibilities: 0.1110223E-15
Extended solver steps: 0
Total solver iterations: 1
Variable Value Reduced Cost
X1 0.000000 0.000000
X2 1.333333 0.000000
X3 0.6666667 0.000000
X4 0.000000 0.000000
X5 0.000000 0.000000
X6 2.333333 0.000000
X8 0.000000 0.000000
X9 0.000000 0.000000
X7 2.333333 0.000000
X( 1) 0.000000 1.000000
X( 2) 0.000000 1.000000
X( 3) 0.000000 1.000000
X( 4) 0.000000 1.000000
X( 5) 0.000000 1.000000
X( 6) 0.000000 1.000000
X( 7) 0.000000 1.000000
X( 8) 0.000000 1.000000
X( 9) 0.000000 1.000000
Row Slack or Surplus Dual Price
1 0.000000 -1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 2.666667 0.000000
5 0.000000 0.000000
6 2.333333 0.000000
7 1.333333 0.000000
8 0.000000 0.000000
9 0.000000 0.000000
10 1.333333 0.000000
是什么情况呀??
作者:
madio
时间:
2014-8-7 08:59
你这个代码写的有问题,x是定义了一个集,本身这个集就有x(1)-x(9)这几个变量,但是你在模型中用的却是x1,x2-x9的这样几个变量,注意这是不一样的变量名,@for(course(i):@bin(x));这个语句限定了x(1)-x(9)是0-1变量,并不是x1-x9,所以出现了非整数的结果。说明你对于集的使用还是不理解,建议看看我在今年5月份地区赛培训中讲的lingo课程。
作者:
wujianjack2
时间:
2014-8-7 09:51
二楼madio说得对,你参考下。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5