【数学建模lingo学习】lingo求解非线性规划问题3:选址问题

目录

1题目

2解答过程

3lingo求解

4求解的结果

  lingo相较于matlab语法简单更容易上手,且运行速度比matlab快。如果有对lingo不了解的同学可以看以下视频了解

Lingo(2):入门篇——集合 vs 矩阵工厂_哔哩哔哩_bilibili

1题目

现有两个临时料场,日储量各20吨
工地位置坐标及日需求量如下表所示:

123456
横坐标1.258.750.55.7537.25
纵坐标1.250.754.7556.57.25
日需求量3547611

该在那个位置建立料场吨千米数最小?


2解答过程

解 设工地的坐标为(ai,bi)(i=1,2,3..6),水泥日用量为d(i),从第j个料场运往第i个工地的水泥重为xij吨,设料场的坐标为(xj,yj)(j=1,2),每个工地所需要的水泥重为di(i=1,2..6)

需要使总的吨千米数最小则可以列出目标函数为:

 料场的日存储量为20吨,可列出约束条件1

 工地的需求量为di,可列出约束条件2为:

 由于每个料场所需要的吨数为大于零的数,可列出约束条件3:

 

3lingo求解

model:

!创建矩阵;
sets:
liaochang/1..2/:x1,y1;
gongdi/1..6/:a,b,d;
zuobiao(gongdi,liaochang):x;
endsets

!输入数据;
data:
a=1.25,8.75,0.5,5.75,3,7.25;
b=1.25,0.75,4.75,5,6.5,7.25;
d=3,5,4,7,6,11;
enddata

!列出目标函数及表达式;
min = @sum(zuobiao(i,j):x(i,j)*@sqrt((a(i)-x1(j))^2+(b(i)-y1(j))^2));
@for(gongdi(i):@sum(liaochang(j):x(i,j))=d(i));
@for(liaochang(j):@sum(gongdi(i):x(i,j))<=20);

end

4求解的结果

吨千米最小:82.82565

两个料场坐标:料场1(3.254881, 5.652335),料场2(7.25,7.25)

使得吨千米数最小的运输方案为:

料场1料场2
工地130
工地205
工地340
工地470
工地560
工地6011
  • 19
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值