能力有限 只能以根数最小为目标作出模型如下!
------------------------
!根据条件;
!1.规定所使用的切割模式的种类不能超过4种;
!2.一根原料钢管最多生产5根产品;
!3.每种切割模式下的余料浪费不能超过100mm;
!列出可能的切割方法;
!
第一列290根数
第二列315根数
第三列350根数
第四列455根数
第五列每种对应方法用料量。
0 0 0 4 1820
0 0 5 0 1750
0 1 3 1 1820
0 2 2 1 1785
0 3 1 1 1750
1 0 3 1 1795
1 1 2 1 1760
1 2 0 2 1830
2 0 1 2 1840
2 1 0 2 1805
3 0 0 2 1780
;
sets:
a/1..11/:x,y,xy;
b/1..4/:d1,d2;
link(a,b):z;
endsets
data:
d1=290 315 350 455;
d2=15 28 21 30;
z=0 0 0 4
0 0 5 0
0 1 3 1
0 2 2 1
0 3 1 1
1 0 3 1
1 1 2 1
1 2 0 2
2 0 1 2
2 1 0 2
3 0 0 2;
enddata
@for(a: @bin(x));
@sum(a: x)<=4;
@for(a: @gin(y));
@for(b(j): @sum(a(i): x*y*z(i,j))>=d2);
min=@sum(a: y);
-----------------------
模型中缺了价格的条件,这个我也搞不定。
我也想知道完整的程序!
望高手能贴出程序!
你的是网上的模型吧?
http://hi.baidu.com/wangcrow/blog/item/99970508f3240e970a7b82df.html
好像不能作为编程,只能作为论文的模型!!
我也不知道他们是怎么解的!题我应该没理解错吧!
===============以下是改正方法===============
不过结果好像不对,我也不知错在哪边,还请指正。
本题正确结果应该为
方法1,1 2 0 2 根数9
方法2,0 1 3 1 根数7
方法3,2 1 0 2 根数3
------我写的程序-----
sets:
a/1..4/:x,l,m,c;
link(a,a):y;
endsets
data:
l=290 315 350 455;
m=15 28 21 30;
c=1.1 1.2 1.3 1.4;
enddata
@for(a(i)|i#le#3: x(i)>x(i+1));
@for(a(i): @sum(a(j): y(i,j)*l(j)*x(i))<=1850*x(i));
@for(a(i): @sum(a(j): y(i,j)*l(j)*x(i))>=1750*x(i));
@for(a(j): @sum(a(i): y(i,j)*x(i))>=m(j));
@for(a(i): @sum(a(j): y(i,j))<=5);
@for(a(i): @gin(x));
@for(link(i,j): @gin(y(i,j)));
min=@sum(a: c*x);