有关lingo代码的问题,求高人相助~感激不尽

以下是我的程序代码,但运行不出。提示错误是Error code 29;Invalid number of initialization values.........不知道肿么回事啊?求高手相助!!急!!!谢谢了!!!!
model:
data:
n=6;
enddata
sets:
people/1..n/:F;
relation(people,people)/
1,2 1,3 1,5
2,5
3,5 3,6
4,5 4,6
5,2 5,3 5,6
6,3 6,5
/:D,P;
endsets
data:
D=
1.5 2 4.5
3.5
2 4
0.5 2
0.5 0.5 0.5
1 0.5
enddata
F(n)=0;
@for( people(i) | i #lt# n:
F(i)=@min( relation(i,j): D(i,j)+F(j));
);
@for( relation(i,j);
P(i,j)=@if( F(i) #eq# D(i,j)+F(j),1,0));
end

shinelynne,
你好,
一楼回答的是正解。我这里给你指出具体的原因吧!
(1)在第二个数据块Data,你为变量D赋值时,忘记了在数据末端添加分号(;);
(2)@for( relation(i,j);这一句显然有问题,你将末尾的(;)换位冒号(:)就可以了。
希望我的说明有助于你找出代码中的些许瑕疵!
你的代码没有大的问题,可能是手误。
另外,推荐你读一读这个博客,里边列举了常见的Lingo错误代码解读,希望对你有帮助!

参考资料:http://blog.sina.com.cn/s/blog_8ad905cd0100t9ob.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-03
model:
data:
n=6;
enddata
sets:
people/1..n/:F;
relation(people,people)/
1,2 1,3 1,5
2,5
3,5 3,6
4,5 4,6
5,2 5,3 5,6
6,3 6,5
/:D,P;
endsets
data:
D=
1.5 2 4.5
3.5
2 4
0.5 2
0.5 0.5 0.5
1 0.5;
enddata
F(n)=0;
@for( people(i) | i #lt# n:
F(i)=@min( relation(i,j): D(i,j)+F(j));
);
@for( relation(i,j):
P(i,j)=@if( F(i) #eq# D(i,j)+F(j),1,0));
end本回答被提问者和网友采纳
相似回答