lingo编程错误1017,
lingo编程错误1017,
model
sets:
ycd/yc1..yc5/;
wlyq/wl1..wl4/:z,e,f,c;!z、e都是0-1函数,0表示不存在,1表示存在;
nmsc/nm1..nm30/:m;
link1(ycd,wlyq):q,d,x;!q,d已知x为未知数;
link2(wlyq,nmsc):r,l,y;!r,l已知y为未知数;
a;!a表示一个极小数;
endsets
data
a=0.000001;
q=5.6;
d=11.9 19.7 10.8 39.3
17.5 35.5 25.2 13.2
25.1 15.3 21.0 20.2
18.1 20.4 16.9 15.5;
r=4.9;
l=3.6 4.2 1.9 5.9 8.7 11.5 4.3 5.7 15.9 24.1 16.5 5.2 8.9 11.3 6.7 21.0 13.5 14.9 16.2 10.6 9.8 3.2 5.9 12.8 20.7 9.6 4.9 12.5 18.9 6.8
8.5 20.1 19.5 21.3 10.2 8.9 4.3 16.5 17.9 13.2 9.5 12.9 14.9 27.5 13.2 5.9 19.2 25.8 13.4 9.5 12.9 5.6 8.7 4.3 15.8 19.6 12.3 2.8 14.9 15.9
8.9 24.6 21.9 9.4 2.3 4.9 10.9 7.9 16.3 19.4 9.8 4.6 24.9 21.9 5.9 8.1 23.6 4.6 8.9 12.8 4.9 7.2 5.4 12.9 25.0 16.4 15.9 13.8 7.9 9.4 ;
m=120 430 340 210 190 100 370 220 350 290 220 210 110 270 440 410 460 220 370 450 380 270 290 110 230 100 390 180 440 330;
c=(2.3 4.6 1.3 4.0);
enddata
min=@sum(link1:q*d*x)+@sum(link2:r*l*y)+z*e*f*c;
@bin z(@sumlink1(i.j)-a>0);
@bin e(@sum(link1(i,j))-@sum(link2(i,j))-a>0);
@for(f=@sum(link1(i,j))-@sum(link2(i,j)));
@for(wlyq(J):
@sum(wlyq(J):nmsc(J,K)>m));
end
问答/190℃/2025-05-08 16:49:18
优质解答:
很多问题哦
model:后有冒号
a是一个数,不要再sets中定义
确认d,l中的个数是否与sets中定义的一致
再问: 谢谢,不好意思我急着写论文,以前没看过lingo编程,能再问你几个问题吗?请问编程怎么表示?link1(ycd,wlyq):q,d,x;中q是常数,d、x表示4行5列的矩阵可以吗?怎么在data中赋值?a应该在哪里定义赋值?非常感谢!!
再答: q为常数的话,直接在data中赋值就可以, 例如: data: q=1; d=4行5列的矩阵; x=4行5列的矩阵; enddata
再问: 谢谢,那么我的那个0-1函数在编程中怎么表示呢?
再答: @bin(x) ;!限制x只能取0-1;