为您找到"
用lingo求解下面程序时老出现error code50(for函数用错了)求指点.
"相关结果约100,000,000个
1、通过Lingo自己的编程语言把优化模型转化成LINGO程序名然后运行即可。2、不能修改。代码段(codesegment/textsegment)也称为(text段)通常是指用来存放程序执行代码的一块内存区域。3、for前面的两行有问题,上一行i/10应该删除,上二行a=i%10应该修改后放在for的下面,修改为:错误太多了,里面的if...
看不懂你的程序,目标函数缺乏一右括号。这一行:for(link(i,j):p(i,j)>=a(j)*link(i,j):x(i,j);的第二个分号是什么意思?还有这句的第二个link是神意思,它是集名称,它代表一个集,它为什么要参与运算了。不合逻辑。自己检查。
40 5 6 40 40 40 8 7 40 40 9 40 40 40 40 4 40 40 40 10 40 40 5 4 40 40 40 4 40 40 6 3 40 40 40 11 40 40 12 40 40 40 40 40 40 13 40 40 40 40 40 40;enddata end 我稍微做了些简化,有时候lingo确实要用很长时间的,应该能运行出来。
for语句的格式为:@For(中间是具体的语言);中间具体的语言是:你定义的集合变量申明,然后冒号 之后就是你的运算表达式,表达式方式和正常的方式相同。比如 sets:ww/w1..w6/:x,y;endsets 定义了ww集合 for(ww(i):x(i)*y(i)<=10) 就是对集合ww的操作,是x1*y1<=10,x2*y2<=10......
在使用lingo时出现unexpectedjacobianoverflowcontactlindosystemsforpatchavailability是怎么回事?由于初学lingo所以还请大家多多指教,谢了!!... 在使用lingo时出现unexpected jacobian overflow contact lindo systems for patch availability是怎么回事?由于初学lingo所以还请大家多多指教,谢了!! 展开 ...
改了一下,@for(legs(i):sum(modes(j):use(i,j))=1);将use(i,j)改成use(j,i)与集合的定义匹配 但是没有可行性解 这是模型的问题
目标函数少右括号 MIN=@SUM(LINKS(I,J):COST(I,J)*VOLUME(I,J));
意思是你的模型是病态的 也就是说可能是以下两种情况:模型有错误,无可行解 模型太复杂,lingo无法求解 估计你的情况应该是第一种,不是语法问题
你这个规划是NIP的(非线性的)对于lingo计算非线性规划的答案一般不一,而且误差比较大。有时候他会算不出,有时候又可以算出。这样你的答案一般不能用。我建议你把他改为线性规划的式子,(利用代换如t=x(3)/(x(2)...)再进行编程,然后设置为全局求解即可。但是我看你这式子要改为线性的挺...