欢迎来到天天文库
浏览记录
ID:57329557
大小:187.50 KB
页数:13页
时间:2020-08-12
《数学建模 运输问题与Lingo求解.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、运输问题与Lingo求解运输问题的典型提法是将某种物质从若干个产地调运到若干个销地,已知每个产地的产量和每个销地的销量,如何在许多可行调运方案中选择一个总运费最少的调运方案。1.运输问题及其数学模型已知某企业有甲、乙、丙三个分厂生产一种产品,其产量分别为7、9、7个单位,需运往A、B、C、D四个门市部,各门市部需要量分别为3、5、7、8个单位。已知单位运价如下表。试确定运输计划使总运费最少。ABCD甲12131011乙10121410丙14111512运价表此问题为最优化问题,而最优化问题建模中需要
2、确定其数学模型的三要素:决策变量、评价(目标)函数、约束条件。运输问题与Lingo求解决策变量:运量(每一分厂运往每一门市部的产品量)销地产地ABCD供应量甲121310117乙101214109丙141115127需求量357823/23x11x12x13x14x21x22x23x24x31x32x33x34评价(目标)函数:运输问题与Lingo求解本决策问题的评价标准是:运输费用是否最少来评价运输计划的好坏.因此运输费用函数是该问题的评价函数,即销地产地ABCD供应量甲121310117x11x
3、12x13x14乙101214109x21x22x23x24丙141115127x31x32x33x34需求量357823/23约束条件:运输问题与Lingo求解一方面甲、乙、丙三个分厂运往A、B、C、D四个门市部的量不超过其各自的产量(7,9,7),另一方面A、B、C、D四个门市部收到甲、乙、丙三个分厂运来的量不少于其各自的需要量(3,5,7,8)。供需要求数学表示甲分厂的运出量≤7乙分厂的运出量≤9丙分厂的运出量≤7A门市部的收量≥3B门市部的收量≥5D门市部的收量≥8C门市部的收量≥7运输问题
4、与Lingo求解该运输问题的数学模型线性规划模型运价矩阵运量矩阵供给量需求量运输问题与Lingo求解2.运输问题的Lingo求解Lingo是用来求解线性和非线性优化问题的简易工具。Lingo内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用Lingo高效的求解器可快速求解并分析结果。外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGOModel–LINGO1的窗口是LINGO的默认模型窗口,建立的模型都要在该窗口内编码实现。Min
5、=12*x11+13*x12+10x13+11x14+10x21+12x22+14x23+10x24+14x31+11x32+15x33+12x34;x11+x12+x13+x14<=7;x21+x22+x23+x24<=9;x31+x32+x33+x34<=7;x11+x21+x31>=3;x12+x22+x32>=5;x13+x23+x33>=7;x14+x24+x34>=8;END运输问题与Lingo求解运输问题与Lingo求解sets:Supplier/1..3/:Supp
6、ly;Demander/1..4/:Demand;Matrix(Supplier,Demander):PriceMatrix,TransportationMatrix;endsetsdata:PriceMatrix=121311101012141014111512;Supply=797;Demand=3578;enddatamin=@sum(Matrix:PriceMatrix*TransportationMatrix);@for(Supplier(i):@sum(Demander(j)
7、:TransportationMatrix(i,j))=Supply(i));@for(Demander(j):@sum(Supplier(i):TransportationMatrix(i,j))=Demand(j));集合定义部分数据设置部分数学模型部分运输问题与Lingo求解集合是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集合,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。集合是一群相联系的对象,这些对象也称为集合的成
8、员。一个集可能是一系列产品、卡车或雇员(如运输问题中的供给方和需求方)。每个集合成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性。属性值可以预先给定,也可以是未知的,有待于LINGO求解。例如,每个供给方有一个供给量属性,每个需求方有一个需求量属性等等。集部分是LINGO模型的一个可选部分。在LINGO模型中使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以“endsets”结束。一个模型可以没有集部分,或有一个简单的集部分,或有多个集
此文档下载收益归作者所有