实验2Lingo求解运输问题和整数规划

上传人:简****9 文档编号:113164848 上传时间:2019-11-08 格式:PPT 页数:55 大小:1.63MB
返回 下载 相关 举报
实验2Lingo求解运输问题和整数规划_第1页
第1页 / 共55页
实验2Lingo求解运输问题和整数规划_第2页
第2页 / 共55页
实验2Lingo求解运输问题和整数规划_第3页
第3页 / 共55页
实验2Lingo求解运输问题和整数规划_第4页
第4页 / 共55页
实验2Lingo求解运输问题和整数规划_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《实验2Lingo求解运输问题和整数规划》由会员分享,可在线阅读,更多相关《实验2Lingo求解运输问题和整数规划(55页珍藏版)》请在金锄头文库上搜索。

1、数学规划,实验2 Lingo求解运输问题和整数规划,LINGO软件简介,目标与约束段 集合段(SETS ENDSETS) 数据段(DATA ENDDATA) 初始段(INIT ENDINIT),LINGO模型的构成:4个段,LINGO模型的优点,包含了LINDO的全部功能 提供了灵活的编程语言(矩阵生成器),简单Lingo程序,Model: min=7*x1+3*x2; x1+x2=345.5; x1=98; 2*x1+x2=600; end,lingo程序:,优化模型,实际问题中 的优化模型,x决策变量,f(x)目标函数,gi(x)0约束条件,数学规划,线性规划(LP) 二次规划(QP) 非

2、线性规划(NLP),纯整数规划(PIP) 混合整数规划(MIP),整数规划(IP),0-1整数规划 一般整数规划,连续规划,LINDO 公司软件产品简要介绍,美国芝加哥(Chicago)大学的Linus Schrage教授于1980年前后开发, 后来成立 LINDO系统公司(LINDO Systems Inc.), 网址:,LINDO: Linear INteractive and Discrete Optimizer (V6.1) LINGO: Linear INteractive General Optimizer (V8.0) LINDO API: LINDO Application P

3、rogramming Interface (V2.0) Whats Best!: (SpreadSheet e.g. EXCEL) (V7.0),演示(试用)版、学生版、高级版、超级版、工业版、扩展版 (求解问题规模和选件不同),LINDO和LINGO软件能求解的优化模型,LINGO,LINDO,优化模型,线性规划 (LP),非线性规划 (NLP),二次规划 (QP),连续优化,整数规划(IP),Lingo,LP QP NLP IP 全局优化(选) ILP IQP INLP,LINDO/LINGO软件的求解过程,LINDO/LINGO预处理程序,线性优化求解程序,非线性优化求解程序,分枝定界管

4、理程序,1. 确定常数 2. 识别类型,1. 单纯形算法 2. 内点算法(选),1、顺序线性规划法(SLP) 2、广义既约梯度法(GRG) (选) 3、多点搜索(Multistart) (选),二、实验例题 例2.1 使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。,解:设第I个产地运到第j个销地的单位运价为cij ,第I个产地运到第j个销地的运量为 xij ,第I个产地的产量为ai (I=1,2,6),第j个销地的销量为 bj(j=1,2,8),运费为z,则此问题的数学模型为如下的数学规划问题:,使用LINGO软件,编制程序如下:,使用LINGO软件,编制程序如

5、下: model: !6发点8收点运输问题; sets: warehouses/wh1wh6/: capacity; vendors/v1v8/: demand; links(warehouses,vendors): cost, volume; endsets !目标函数; min=sum(links: cost*volume); !需求约束; for(vendors(J): sum(warehouses(I): volume(I,J)=demand(J); !产量约束; for(warehouses(I): sum(vendors(J): volume(I,J)=capacity(I); d

6、ata: capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata end,产销不平衡问题,model: !6发点8收点运输问题; sets: chandi/A1A6/: a; xiaodi/B1B8/: d; links(chandi,xiaodi): c, x; endsets !目标函数; min=sum(li

7、nks(i,j): c(i,j)*x(i,j); !需求约束; for(xiaodi(J): sum(chandi(I): x(I,J)=d(J); !产量约束; for(chandi(I): sum(xiaodi(J): x(I,J)=a(I); !这里是数据; data: a=60 55 51 43 41 52; d=35 37 22 32 41 32 43 38; c=6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata end,LI

8、NGO模型的构成:4个段,集合段(SETS ENDSETS),数据段(DATA ENDDATA),目标与 约束段,初始段(INIT ENDINIT)(此题无初始数据),例2.2 选址问题,某公司有6个建筑工地,位置坐标为(ai, bi) (单位:公里),水泥日用量di (单位:吨),假设:料场和工地之间有直线道路,用例中数据计算,最优解为,总吨公里数为136.2,线性规划模型,决策变量:ci j (料场j到工地i的运量)12维,Location(Linear),MODEL: Title Location Problem; sets: demand/16/:a,b,d; supply/12/:x

9、,y,e; link(demand,supply):c; endsets data: !locations for the demand(需求点的位置); a=1.25,8.75,0.5,5.75,3,7.25; b=1.25,0.75,4.75,5,6.5,7.75; !quantities of the demand and supply(供需量); d=3,5,4,7,6,11; e=20,20; x,y=5,1,2,7; enddata init: !initial locations for the supply(初始点); !x,y=5,1,2,7; endinit !Object

10、ive function(目标); OBJ min=sum(link(i,j): c(i,j)*(x(j)-a(i)2+(y(j)-b(i)2)(1/2) ); !demand constraints(需求约束); for(demand(i):DEMAND_CON sum(supply(j):c(i,j) =d(i);); !supply constraints(供应约束); for(supply(i):SUPPLY_CON sum(demand(j):c(j,i) =e(i); ); for(supply: free(X); free(Y); ); !for(supply: bnd(0.5,

11、X,8.75); bnd(0.75,Y,7.75); ); END,Location(Linear),选址问题:NLP,2)改建两个新料场,需要确定新料场位置(xj,yj)和运量cij ,在其它条件不变下使总吨公里数最小。,决策变量: ci j,(xj,yj)16维,非线性规划模型,Location(Non Linear),LINGO模型的构成:4个段,集合段(SETS ENDSETS),数据段(DATA ENDDATA),初始段(INIT ENDINIT),目标与 约束段,局部最优:89.8835(吨公里 ),LP:移到数据段,边界,集合的类型,集合 派生集合 基本集合 稀疏集合 稠密集合

12、元素列表法 元素过滤法 直接列举法 隐式列举法,setname /member_list/ : attribute_list;,setname(parent_set_list) /member_list/ : attribute_list;,SETS: CITIES /A1,A2,A3,B1,B2/; ROADS(CITIES, CITIES)/ A1,B1 A1,B2 A2,B1 A3,B2/:D; ENDSETS,SETS: STUDENTS /S1S8/; PAIRS( STUDENTS, STUDENTS) | ENDSETS,集合元素的隐式列举,运算符的优先级,三类运算符: 算术运算

13、符 逻辑运算符 关系运算符,集合循环函数,四个集合循环函数:FOR、SUM 、 MAX、MIN function( setname ( set_index_list) | condition : expression_list);,objective MAX = SUM( PAIRS( I, J): BENEFIT( I, J) * MATCH( I, J); FOR(STUDENTS( I): constraints SUM( PAIRS( J, K) | J #EQ# I #OR# K #EQ# I: MATCH( J, K) =1); FOR(PAIRS( I, J): BIN( MAT

14、CH( I, J); MAXB=MAX(PAIRS( I, J): BENEFIT( I, J); MINB=MIN(PAIRS( I, J): BENEFIT( I, J);,Example:,状态窗口,Solver Type: B-and-B Global Multistart,Model Class: LP, QP,ILP, IQP,PILP, PIQP,NLP,INLP,PINLP,State: Global Optimum Local Optimum Feasible Infeasible Unbounded Interrupted Undetermined,7个选项卡(可设置80-

15、90个控制参数),程序与数据分离,文 本 文 件,使用外部数据文件,Cut (or Copy) Paste 方法 FILE 输入数据、TEXT输出数据(文本文件) OLE函数与电子表格软件(如EXCEL)连接 ODBC函数与数据库连接 LINGO命令脚本文件,LG4 (LONGO模型文件) LNG (LONGO模型文件) LTF (LONGO脚本文件) LDT (LONGO数据文件) LRP (LONGO报告文件),常用文件后缀,2019/11/8,26,例题2.3 合理下料问题 现有一批长度一定的钢管,由于生产的需要,要求截出若干不同规格的钢管.试问:要如何截取原材料,既能满足生产的需要,又使得使用的原材料钢管数量最少? 具体数据:原材料钢管长7.4m。 要截成2.9m, 2.1m, 1.5m各为1000根,2000根,1000根.,解 把所有可能的下料方式、按照各种下料方式从长7.4m的原料上得到的不同规格钢管的根数、残料长度,以及需要量列于表2.8中.例如,按照下料方式 ,可以得到2.9m钢管2根, 1.5m钢管1根. 问题转化为确定每种下料方式各用多少根7.4m的原料,可使被使用的原料根数最少.,2019/11/8,27,设 分别为按照 方式下料的原料根数,则得到问题的数学模型为,具体数据:原材料钢管长7.4m。要截成2.9

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号