作业帮 > 综合 > 作业

LINGO求解优化路线问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 13:10:11
LINGO求解优化路线问题
垃圾处理问题:已知38个点的坐标(x,y),以及每个点的垃圾量m,求设置两个处理中心,使路线最优.
model:
SETS:
place/1..38/:d,l,k,m,x,y,u;
endsets
data:
m= ;
x= ;
y= ;
enddata
d(i)=111.12*@ACOS(1.0/((@SIN(X1))*(@SIN(x(i)))+@COS(X1)*@cos(x(i))*@cos(Y1-y(i))));
l(i)=111.12*@ACOS(1.0/((@SIN(X2))*(@SIN(x(i)))+@COS(X2)*@cos(x(i))*@cos(Y2-y(i))));
min=@sum(place:d(i)*k(i)*m(i))+@sum(place:m(i)*l(i)*(1-k(i)));
@for(place:@bin(k(i)));
@sum(place:k(i)*m(i))
你为什么要用三角函数算?你算得d和l都是什么 最好找我来说清楚
再问: 这是由经纬度求球面距离,d 和l都代表两点之间的距离、
再答: 这样在语法上应该没有问题 请用lingo10以上版本运行 data段里面写数据 包括各个点坐标 model: SETS: place/1..38/:d,l,k,m,x,y,u; endsets data: enddata @for(place(i): d(i)=111.12*@ACOS(1.0/((@SIN(X1))*(@SIN(x(i)))+@COS(X1)*@cos(x(i))*@cos(Y1-y(i)))); l(i)=111.12*@ACOS(1.0/((@SIN(X2))*(@SIN(x(i)))+@COS(X2)*@cos(x(i))*@cos(Y2-y(i))))); min=@sum(place:d*k*m)+@sum(place:m*l*(1-k)); @for(place:@bin(k)); @sum(place:k*m)