编写下程序用lingo
某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:km)及水泥日用量d(单位:t),目前有两个临时料场位于A(5,1)B(2,7),日储量各有20t,假设从料场到工地之间均为直线道路相连.试制定每天的供应计划,即从A,B两个料场向其中的3个工地运送水泥,使总的吨千米数最小.a=1.25 8.7 0.5 5.75 3 7.25 b=1.25 0.75 4.75 5 6.5 7.75 d=3 5 4 7 6 11
供大于求使用lingo:
sets:supply/1.2/:d;demand/1.....6/:x,y,m;(x,y);endsetsdata:x=1.258.750.55.7537.25;y=1.250.754.7556.57.25;m=3547611;enddatamin=@sum(demand(i):((x-5)^2+(y-1)^2)^.......
[OBJ]min=@sum(links(i,j):c(i,j)*x(i,j));
@for(demand(i):@for(supply(j):c(i,j) = ((px(j)-pa(i))^2+(py(j)-pb(i))^2)^(1/2)));
@for(demand(i):@sum(supply(j):x(i,j)) = d(i));
@for(supply(i):@sum(demand(j):x(j,i)) <= e(i));
@for(supply:@bnd(0。5,px,8。75);@bnd(0。75,py,7。75););
END
一般地
使用LINGO 求解运筹学问题可以分为以下两个步骤来完成:
1、根据实际问题,建立数学模型,即使用数学建模的方法建立优化模型;
2、根据优化模型,利用LINGO 来求解模型。主要是根据LINGO软件,把数学模型转译成计算机语言,借助于计算机来求解。
例题:在线性规划中的应用max Z =5 X1+3 X2+6X3,
s.t. X1 +2 X2 + X3 ≤18
2 X1 + X2 +3 X3 =16
X1 + X2 + X3 =10
X1,X2 ≥0,X3 为自由变量
以上内容参考:百度百科-LINGO