请哪位大侠帮助看看这个程序的问题在哪里?lingo语言的,老说是for函数引用错误.

问题描述:

请哪位大侠帮助看看这个程序的问题在哪里?lingo语言的,老说是for函数引用错误.
MODEL:
Title Location Problem;
sets:
supply/1..38/:a,b,s;
receive/1/:x,y,h;
got/1..451/:e,f,n;
link_1(supply,receive):c;
link_2(supply,got):d;
endsets
data:
a=-6,-3.25,3.04,2.75,-4.06,-0.71,-5.21,-2.29,-6.58,-8.17,-1.92,-7.75,3.33,-6.79,-6.24,3.71,-7.63,-1.63,0.17,-0.17,-4.71,-6.21,-3.58,-3.75,9.42,
1.25,1.33,4.2,5.71,-5.83,1.17,-1.29,5.38,12.38,9.42,-10.5,0.5,9.71;
b=-2.96,-1.88,7.92,6.29,12.38,-7.08,2.29,0.38,-3.96,-8.71,15.75,-1.88,1.63,-7.04,-5.17,-5.29,-2.13,-4.58,6.83,0.46,-7.63,-7.46,-15.29,-14.46,
8.13,6.04,-3.17,-2.5,1.21,-6.21,16.58,14.29,13.04,8.42,-3.71,-14.88,3.42,7.58;
s=8,10,8,10,2,8,2,4,12,10,4,16,8,6,8,12,6.4,6,6,10,6,6,12,12,4,8,14,12,6,10,4,3.2,12,2,28,16,6,4;
h=200;
n=0.25;
enddata
min=@sum(link_1(m,i):c(m,i)*((x(i)-a(m)^2+(y(i)-b(m)^2)^(1/2);)+@sum(link_1(m,j):c(m,j)*((e(j)-a(m)^2+(f(j)-b(m)^2)^(1/2);));
@for(supply(m):@sum(receive(i):c(m,i))+supply(m):@sum(got(j):d(m,j)) =312.6);
@for(receive(i):@sum(supply(m):c(m,i))

会比较难解 目标函数是非线性的MODEL:Title Location Problem;sets:supply/1..38/:a,b,s;receive/1/:x,y,h;got/1..451/:e,f,n;link_1(supply,receive):c;link_2(supply,got):d;endsetsdata:a=-6,-3.25,3.04,2.75,-4....