Lingo的使用

想必大家在工作中,经常会遇到求最优化方案的问题,在大学的学习中,有一门叫《运筹学》的课程,其中就解决了大部分的最优化方案问题,那么今天的主角就是解决运筹学的最佳工具,lingo程序,其是lindo公司的一个最重量级的产品,大家可以在:https://www.lindo.com,网址下载软件,也是很小的(50M),并且在我的博客可以下载最新的Lingo使用手册,虽然是英文的,但是大部分还是能看懂的。
总的来说,lingo的使用是很简单的,我们需要做的是将每个问题建模,然后将我们的模型输入,就可以求解了,当然Lingo用到的解决方法,都是运筹学上的最基础的知识,譬如:单纯形法、两阶段法……,使用lingo就不用考虑这些了。
不多说,上例题:(最经典的运输问题)
在这里插入图片描述
先给大家写出数学模型吧:
在这里插入图片描述

代码如下:

MODEL:
! A 3 Warehouse, 4 Customer 
  Transportation Problem;
SETS:
  WAREHOUSE / WH1, WH2, WH3/   : CAPACITY;
  CUSTOMER   / C1, C2, C3, C4,C5/ : DEMAND;
  ROUTES( WAREHOUSE, CUSTOMER) : COST, VOLUME;
ENDSETS

! The objective;
[OBJ] MIN = @SUM( ROUTES: COST * VOLUME);

! The demand constraints;
@FOR( CUSTOMER( J): 
 	@SUM( WAREHOUSE( I): VOLUME( I, J)) >= 
	DEMAND( J));

! The supply constraints;
@FOR( WAREHOUSE( I):
 	@SUM( CUSTOMER( J): VOLUME( I, J)) <= 
  	CAPACITY( I));

! Here are the parameters;
DATA:
  CAPACITY =   30, 40, 10 ;
  DEMAND =   10, 5, 30, 15, 20;
  COST =      1.2, 1.7, 1.6, 1.8, 2.4,
              1.8, 1.5, 2.2, 1.2, 1.6,
              1.5, 1.4, 1.2, 1.5, 1.0;
ENDDATA
END

结果如图:在这里插入图片描述
再对xij进行分析:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值