~吟风~ 发表于 2012-11-18 12:57

LINGO循环语句问题

sets:
     heng/1..38/:nla,nlb;
     shu/1..50/:nwa,nwb;
end sets

DATA:
     a=404;
     b=65;
     W=4850;
     L=6450;

end data



min=@sum(heng(i):(nla(i);)+@sum(shu(j):nwa(j););

@for(heng(i):nla(i)*a+nlb(i)*b>=L);
@for(heng(i):nla(i)*a+nlb(i)*b<L+b);
@for(shu(j):nwa(j)*a+nwb(j)*b>=W);
@for(shu(j):nwa(j)*a+nwb(j)*b<W+b);

前面的代码大家帮忙看看有没有问题。。。

还有如果想要对nla,nlb,nwa,nwb进行下面的限制该怎么做?
4020<=nla(i)*a+nlb(i)*b<4020+2*b;其中i的范围在8—30
2040<=nwa(j)*a+nwb(j)*b<2040+2b j的范围在16-35



~吟风~ 发表于 2012-11-18 12:58

表情那儿是“:”

madio 发表于 2012-11-18 16:53

错误提示是什么?

~吟风~ 发表于 2012-11-18 17:04

improper use of @for() function.{:3_60:}{:3_60:}纠结了一整天了。。

~吟风~ 发表于 2012-11-18 17:04

madio 发表于 2012-11-18 16:53 static/image/common/back.gif
错误提示是什么?

improper use of @for()function。

~吟风~ 发表于 2012-11-18 20:45

问题已解决。{:3_48:}

sorjor 发表于 2012-11-19 14:44

你的for没有问题。你的目标函数有问题。min=@sum(heng(i): (nla(i);)+@sum(shu(j):nwa(j););好像是少了个括号

~吟风~ 发表于 2012-11-21 14:55

sorjor 发表于 2012-11-19 14:44 static/image/common/back.gif
你的for没有问题。你的目标函数有问题。min=@sum(heng(i): (nla(i);)+@sum(shu(j):nwa(j););好像是少了 ...

:)谢了哈~~

sky0614 发表于 2012-11-24 13:38

自己好好看书

pangpangpang3 发表于 2012-12-20 10:49

你的约束条件都没错吧?求不出最优解怎么?这是我写的代码:model:
TITLE:WENTI;
sets:
     heng/1..38/:nla,nlb;
     shu/1..50/:nwa,nwb;
end sets

DATA:
     a=404;
     b=65;
     W=4850;
     L=6450;

end data

min=@sum(heng(i):nla(i))+@sum(shu(j):nwa(j));
@for(heng(i)|i#GE#8 #and# i#LE#30:
                    nla(i)*a+nlb(i)*b>=4020;
                    nla(i)*a+nlb(i)*b<4020+2*b;);
@for(shu(j)|j#GE#16#and#j#LE#35:
                    nwa(j)*a+nwb(j)*b>=2040;
                    nwa(j)*a+nwb(j)*b<2040+2*b;);
@for(heng(i):nla(i)*a+nlb(i)*b>=L ;
             nla(i)*a+nlb(i)*b<L+b ;);
            
@for(shu(j):nwa(j)*a+nwb(j)*b<W+b;
            nwa(j)*a+nwb(j)*b>=W ;);
end
页: [1]
查看完整版本: LINGO循环语句问题