lingo软件的问题

我用lingo编了个程序,但总是报错,请教高手,错在哪里?
model:
sets:
viab/1..3/: p,r1,r2,r3,rs,rp;
endsets
data:
r=0.0354;
r1=0.046,0.04,0.0312;
r2=0.064,0.058,0.021;
r3=-0.143,0.109,0.038;
rp=0.039,0.05566,0.0133;
enddata
min=a;
a>=0;
p0>1;
@for(viab(i): p(i)<0);
@sum(viab(i):p)+p0=1;
rs(1)=@sum(viab:p*r1)+p0*r;
rs(2)=@sum(viab:p*r2)+p0*r;
rs(3)=@sum(viab:p*r3)+p0*r;
@for(viab: rs(i)-rp(i)-a<=0);
@for(viab: rp(i)-rs(i)-a<=0);
end

错误显示为模型定义错误,,
在倒数第二三排集合名viab后加上(i)就行
model:
sets:
viab/1..3/: p,r1,r2,r3,rs,rp;
endsets
data:
r=0.0354;
r1=0.046,0.04,0.0312;
r2=0.064,0.058,0.021;
r3=-0.143,0.109,0.038;
rp=0.039,0.05566,0.0133;
enddata
min=a;
a>=0;
p0>1;
@for(viab(i): p(i)<0);
@sum(viab(i):p)+p0=1;
rs(1)=@sum(viab:p*r1)+p0*r;
rs(2)=@sum(viab:p*r2)+p0*r;
rs(3)=@sum(viab:p*r3)+p0*r;
@for(viab(i): rs(i)-rp(i)-a<=0);
@for(viab(i): rp(i)-rs(i)-a<=0);
end
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-18
倒数二三行少(i),我估计你以为这里可以省略,但是这里不可以。因为这里同时出现了两个变量,这样写的话lingo认为你的约束条件是rs(1)-rp(1)-a<=0
rs(1)-rp(2)-a<=0;rs(1)-rp(3)-a<=0;rs(2)-rp(1)-a<=0等等,你看懂了吧!以后有什么问题找我啊,想当年我学lingo的时候遇到问题没人问,现在你们多好啊!

lingo90.exe系统lingo90.exe错误的危害
当系统遇到lingo90.exe错误时,这往往暗示着潜在的风险。很可能是由恶意软件,如盗号木马或流氓程序所引发的问题。这些恶意软件会侵入并加载相关的文件,一旦安全软件试图清理被感染的文件,可能会导致系统组件缺失,直接影响到诸如游戏等常用软件的正常运行。具体表现可能包括:无法删除桌面上的图标网络游戏的...

lingo90.exe简介
lingo90.exe在计算机系统的正常运行中扮演着至关重要的角色,它是众多办公软件和游戏顺利运行的基石。然而,这个文件的稳定性常常受到威胁,特别是当遭遇木马病毒侵袭或者用户不慎的操作时,系统可能会出现异常,最常见的错误提示之一就是《系统文件lingo90.exe损坏或无法找到》。这种情况下,该文件的缺失或损...

初学者向Lingo高手请教关于Lingo程序的小问题,非常感谢!
第三个问题不太理解啥意思,我只见过4维问题,你可以看《优化模型与lindo\/lingo软件》一书,比较好~~~上面有3,4维问题的模型。

lingo 一打开就是129错误,打不开软件怎么办?
这一个我也不知道啊要不找专业人士帮你解决。就是在改名称设置之后重启出现的现象,按照手里的步骤加30mb改成免去南屏,然后打不开了就让他帮忙呢。退出一下,再打开一下看一看。把内存改回去,删除掉,重新下载安装不就行了。

用软件lingo如何求解这个题目的最大值?高手解答呀。跪谢!!
这是一个二次规划问题 代码如下:max=0.5*a+0.5*b;\/将a和b赋予同样的权重,并求最大值;a=40*x-20*y-(y-x)*5;b=24000-40*x-5*(x-400);x>400;y<=1.15*x;y>=x;

lingo软件出现这种问题怎么解决?
提示语法错误,有个冒号是中文状态下输入的,改一下,如图所示:

lingo软件,输入程序正确第一次运行可以出来结果,关掉后再运行为什么就显...
这是lingo 版本的问题,你换个版本试试,应该可以运行出结果

lingo软件解决最小值问题
也可以将x3看成常数,取一定的步长进行求解。下面Lingo程序中的a表示问题中的x3:sets:s\/1..13\/:a,z;endsets min=w;for(s(i):a=3+(i-1)*0.5);for(s:z=3\/(x1^2+a^2)+2\/(x2^2+25));for(s:z<w);!每一个z都小于w,所以求得的w是其中最大的;x1+x2=20;运行结果为 ...

lingo软件 旅行商问题
旅行商问题可能需要用汉密尔顿回路算法去解,lingo应该不行,最好用MATLAB,汉密尔顿回路算法的基本思想是:每次走一步,判断是否重复,如不重复,累加权,判断是否终点(即起点),如果是,选择权最小的路径打印。具体搜索方式可以用剪枝搜索或模拟退火。程序代码可能有点复杂,但是你知道原理之后,写代码就...

请将下一题运用lingo软件解答,越详细越好。谢了!
可能需要在lingo的选项里面勾选use global solver model:sets:machine\/1..5\/:x,time,invest,cost1,cost2,rate,cost3;production\/1,2\/:demand1,demand2,t51,t52;link(production,machine):efficiency,time0;endsets data:invest=02001050;cost1=578812;cost2=3581014;efficiency= 1000 1500 1200 1600...

相似回答
大家正在搜