谁给讲解一下这个程序好吗
model:sets:
gd/1..6/:x,y,d;
lch/A,B/:px,py,e;
links(gd,lch):c;
endsets
data:
x=1.25 8.75 0.5 5.75 3 7.25;
y=1.25 0.75 4.75 5 6.5 7.75;
d=3,5,4,7,6,11;
px=5,2; py=1,7;
e=20,20;
enddata
min=@sum(links(i,j):c(i,j)*((px(j)-x(i))^2+(py(j)-y(i))^2)^(1/2));
@for(gd(i):@sum(lch(j):c(i,j))=d(i));
@for(lch(j):@sum(gd(i):c(i,j))<=e(j));
end
; 像是在求距离之和的最小值,约束看不清!!! 六个点到两个确定点距离和最小值 c(i,j)为自变量 六个点和有上限。到确定点的和有定值。。。OK 呵呵,这个例题有见过,是非线性规划问题。
gd是代表工地,x,y为工地的地理坐标,d为水泥的日用量;px,py为料场的地理坐标,e为日储量。c为料场运到工地的水泥量。
中间为定义已知量。
目标函数是求最小的吨千米数;约束是工地日用水泥量一定,料场的水泥日储量不超过e. 楼上的好厉害
呵呵 矩阵币才21 威望也有21点了 能否分享一下经验么:lol 这就是lingo软件编的程序,利用软件的集合来定义的,sets:
gd/1..6/:x,y,d;!就相当于想x(1),x(2)。。。x(6);y(1)。。。y(6);d(1)。。d(6)
lch/A,B/:px,py,e;类似
links(gd,lch):c;派生集合
endsets
data:
x=1.25 8.75 0.5 5.75 3 7.25;
y=1.25 0.75 4.75 5 6.5 7.75;
d=3,5,4,7,6,11;
px=5,2; py=1,7;
e=20,20;
enddata
数据段,数据初始化
目标函数,求最小值min=@sum(links(i,j):c(i,j)*((px(j)-x(i))^2+(py(j)-y(i))^2)^(1/2] 太高端了......
页:
[1]