急!!!求此lingo程序错在哪?

max=M+q1+q2+q3+q4+q5;
n12=b1*0.98*1.1/2-k2;
n13=b2*0.98*1.1/2-k3;
n14=b3*0.98*1.1/2-k4;
n15=b4*0.98*1.1/2-k5;
n22=n11-(n11+n21)*0.05;
n23=n12-(n12+n22)*0.05;
n24=n13-(n13+n23)*0.05;
n25=n14-(n14+n24)*0.05;
a1=20;
a2=n12+n22;
a3=n13+n23;
a4=n14+n24;
a5=n15+n25;
b1=100;
b2=b1*.98+n21-10;
b3=b2*.98+n22-10;
b4=b3*.98+n23-10;
b5=b4*.98+n24-10;
l1=a1*0.4+b1*0.6-80*0.9;
l2=a2*0.4+b2*0.6-80*0.9;
l3=a3*0.4+b3*0.6-80*0.9;
l4=a4*0.4+b4*0.6-80*0.9;
l5=a5*0.4+b5*0.6-80*0.9;
t1=a1*7/15+b1*0.7-120*1.5;
t2=a2*7/15+b2*0.7-120*1.5;
t3=a3*7/15+b3*0.7-120*1.5;
t4=a4*7/15+b4*0.7-120*1.5;
t5=a5*7/15+b5*0.7-120*1.5;
w1=a1*10+b1*40+80*20+120*30;
w2=a2*10+b2*40+80*20+120*30;
w3=a3*10+b3*40+80*20+120*30;
w4=a4*10+b4*40+80*20+120*30;
w5=a5*10+b5*40+80*20+120*30;
y1=a1*500+b1*1000+80*150+120*100;
y2=a2*500+b2*1000+80*150+120*100;
y3=a3*500+b3*1000+80*150+120*100;
y4=a4*500+b4*1000+80*150+120*100;
y5=a5*500+b5*1000+80*150+120*100;
m1=b1*3700+10*1200+b1*0.98*1.1/2*300;
m2=b2*3700+10*1200+k2*400+b2*0.98*1.1/2*300;
m3=b3*3700+10*1200+k3*400+b3*0.98*1.1/2*300;
m4=b4*3700+10*1200+k4*400+b4*0.98*1.1/2*300;
m5=b5*3700+10*1200+k5*400+b5*0.98*1.1/2*300;
p=565915;
k2<b1*0.98*1.1/2;
k3<b2*0.98*1.1/2;
k4<b3*0.98*1.1/2;
k5<b4*0.98*1.1/2;
t2=a2+b2-130;
t3=a3+b3-130;
t4=a4+b4-130;
t5=a5+b5-130;
M=(b5-10)*4000*0.7+a5*400*0.7;
q1=m1-l1*750-t1*500-y1-10*w1-1/5*p-z;
q2=m2-l2*900-t2*500-y2-10*w2-1/5*p-z-t2*2000;
q3=m3-l3*900-t3*500-y3-10*w3-1/5*p-z-t3*2000;
q4=m4-l4*900-t4*500-y4-10*w4-1/5*p-z-t4*2000;
q5=m5-l5*900-t5*500-y5-10*w5-1/5*p-z-t5*2000;
z=60000;
@free(l1);
@free(t1);

l1 l2 l3 l4 l5和t1变量好像是负的,程序就出错了,请大侠们指明LINGO变量为负时怎么办(LINGO的变量在缺省时是非负的)?

第1个回答  2010-07-03
在变量x可以为负数的时候 必须要用@free(x);来取消非负限制
你的问题可能出在这里 加上试试吧