ImageVerifierCode 换一换
格式:PPT , 页数:50 ,大小:836KB ,
资源ID:4994846      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4994846.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(整数规划及lingo.ppt)为本站会员(j35w19)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

整数规划及lingo.ppt

1、大学数学实验,Experiments in Mathematics,实验9 整数规划 (Integer Programming),清 华 大 学 数 学 科 学 系,优化问题三要素:决策变量;目标函数;约束条件,优化问题的一般形式,当最优解在可行域边界上取得时 不能用无约束优化方法求解,约束优化的分类,线性规划(LP) 目标和约束均为线性函数非线性规划(NLP) 目标或约束中存在非线性函数二次规划(QP) 目标为二次函数、约束为线性整数规划(IP) 决策变量(部分)为整数整数线性规划(ILP)整数非线性规划(INLP)0-1规划 整数决策变量只取或,连续优化,离散优化,基本内容,2. 基本原理

2、与解法,3. LINDO / LINGO软件的使用,1. 实例及其数学模型,分枝定界法,动态规划法,实例1:选课问题,略,问题1. 如何下料最节省 ?,实例2:钢管下料,问题2. 客户增加需求:,节省的标准是什么?,由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过3种。如何下料最节省?,按照客户需要在一根原料钢管上安排切割的一种组合。,切割模式,合理切割模式的余料应小于客户需要钢管的最小尺寸,钢管下料,为满足客户需要,按照哪些种合理模式,每种模式切割多少根原料钢管,最为节省?,合理切割模式,2. 所用原料钢管总根数最少,钢管下料问题1,两种标准,1. 原料钢管剩余总余量最小

3、,xi 按第i 种模式切割的原料钢管根数(i=1,2,7),约束,满足需求,决策变量,目标1(总余量),整数约束:xi 为整数,以上两个模型均是一般整数线性规划,目标2(总根数),钢管下料问题1,约束条件不变,xi 为整数,当余料没有用处时,通常以总根数最少为目标,钢管下料问题2,对大规模问题,用模型的约束条件界定合理模式,增加一种需求:5米10根;切割模式不超过3种。,现有4种需求:4米50根,5米10根,6米20根,8米15根,用枚举法确定合理切割模式,过于复杂。,决策变量,xi 按第i 种模式切割的原料钢管根数(i=1,2,3),r1i, r2i, r3i, r4i 第i 种切割模式下,

4、每根原料钢管生产4米、5米、6米和8米长的钢管的数量,满足需求,模式合理:每根余料不超过3米,整数非线性规划,钢管下料问题2,目标函数(总根数),约束条件,整数约束: xi ,r1i, r2i, r3i, r4i (i=1,2,3)为整数,实例3: 饮料的生产批量问题,安排生产计划, 满足每周的需求, 使4周总费用最小。,生产成本(可变成本):50元/箱 (50千元/千箱) 存 贮 费:每周每千箱饮料1千元,饮料厂使用同一条生产线轮流生产多种饮料。 若某周开工生产某种饮料, 需支出生产准备费3千元。,某种饮料4周的需求量,生产批量问题的一般提法,ct 时段t 生产费用(元/件); ht 时段t

5、 (末)库存费(元/件); st 时段t 生产准备费(元); dt 时段t 市场需求(件);,假设初始库存为0,制订生产计划, 满足需求,并使T个时段的总费用最小。,决策变量,xt 时段t 生产量; It 时段t (末)库存量; yt =1 时段t 开工生产 (yt =0 不开工)。,目标,约束,混合线性0-1规划,生产批量问题的一般提法,M是一个充分大的正数(这里可取M= 11),混合非线性0-1规划?,整数规划问题一般形式,整数线性规划(ILP) 目标和约束均为线性函数整数非线性规划(INLP) 目标或约束中存在非线性函数,纯(全)整数规划(PIP) 决策变量均为整数混合整数规划(MIP)

6、 决策变量有整数,也有实数,0-1规划 决策变量只取0或1,取消整数规划中决策变量为整数的限制(松弛),对应的连续优化问题称为原问题的松弛问题,整数规划问题对应的松弛问题,下界(对Min问题) 上界(对Max问题),对松弛问题的最优解(分量)舍入为整数,得到的往往不是原整数规划问题的最优解(甚至不是可行解),IP可行解对应于整点A(2,2)和B(1,1),而最优解为A点. 但LP松弛的最优解为C(3.5,2.5),整数规划问题对应的松弛问题,去掉整数限制后,可行域为点(0,0), (6,0), (0,5), P (2.25,3.75) 围成的4边形,从LP最优解经过简单的 “移动”不一定得到I

7、P最优解,基本思想:隐式地枚举一切可行解(“分而治之”),所谓分枝,就是逐次对解空间(可行域)进行划分;而所谓定界,是指对于每个分枝(或称子域),要计算原问题的最优解的下界(对极小化问题). 这些下界用来在求解过程中判定是否需要对目前的分枝进一步划分,也就是尽可能去掉一些明显的非最优点,避免完全枚举.,整数规划的分枝定界法 (BB: Branch and Bound),对于极小化问题,在子域上解LP,其最优值是IP限定在该子域时的下界;IP任意可行点的函数值是IP的上界,线性规划松弛定界,若在某一时刻,得到一个全整数解的费用为zm,则zm为原问题的一个上界; 否则得该分枝的一个下界,继续分枝,

8、(P1),(P2),线性IP,分枝定界算法 例,(P0),该问题的LP松弛解为 ,不是整数解,最优值为z0=-4.(P1): (P0)加上 ;(P2): (P0)加上 .,问题(P1)的LP松弛解为 ,不是整数解,最优值为z1=-3.5(P3): (P1)加上 ;(P4): (P1)加上 .,无可行解,P0,P1,P2,P3,P4, z0=-4, z1=-7/2,z0=-13/4,z0=-3,无可行解,z2=-2.5 z6,整数规划的动态规划法,例:最短路问题,求各点到T的最短路,节点i到节点T 的最短路长,递推计算,“全过程的最优策略具有这样的性质:不管该最优策略上某状态以前的状态和决策如何

9、,对该状态而言,余下的诸决策必定构成最优子策略. ”即:最优策略的任一后部子策略都是最优的.这只是最优性定理的一个推论,即最优策略的必要条件.,最优化原理,最优子结构(Optimal Substructure):An optimal solution to the problem contains within it optimal solutions to subproblems.,(1) 正确划分阶段,选择阶段变量k. (2) 对每个阶段,正确选择状态变量xk. 选择状态变量时应当注意两点:一是要能够正确描述受控过程的演变特性,二是要满足无后效性. (3) 对每个阶段,正确选择决策变量uk

10、 . (4) 列出相邻阶段的状态转移方程: xk+1= Tk(xk, uk). (5) 列出按阶段可分的准则函数V1,n .,假设问题的目标是极小化,建立动态规划模型的基本过程,逆序递推,fk(xk)表示第 k 阶段初始状态为xk时,k后部子过程(阶段k,k+1,n)的最优准则函数,动态规划基本方程,资源分配问题: 某公司现有M台设备准备分配给该公司所属的N家工厂. 当分配台uk设备给工厂k时,工厂k利用这些设备为公司创造的利润(假设非负)为gk(uk). 如何分配设备资源,使得公司总利润最大?,可能是非线性整数规划, 甚至gk(uk)没有显式表达式,应用动态规划方法的几个例子,状态变量xk

11、- 第k阶段初分配者手中拥有的设备台数. 由题意可知 x0 = M, xN+1 = 0,阶段的准则函数为,共有N个工厂,可以把问题分解为N个阶段:当阶段k=N时,把手中设备分配给工厂N;当阶段k=N-1时,把手中设备分配给工厂N-1;依次类推;当阶段k=1时,把手中设备分配给工厂1.,决策变量uk:第k阶段分配给工厂k的设备台数,资源分配问题,用fk(xk) 表示将手中资源xk分配给工厂k,k+1, N 时的最大利润,原问题即为计算 f1(M),M=4,N=3,边界条件 f4(x4) = f4(0) =0,k=3时: (增函数),具体计算(例),k=2时:,资源分配问题,k=1时:,最优解 ,

12、最大利润为 .,推广:非线性整数规划问题,如:,M=4, N=3,资源分配问题,应用动态规划方法解整数规划,实例3:单产品、无能力限制的批量问题,可以只考虑,可以证明:一定存在满足条件 的最优解.,用ft表示当t时段初始库存为0时,从t时段到T 时段的子问题的最优费用值,最优值(费用)为 f1 .,假设费用均非负,则在最优解中 ,即,X=(2,5,0,4), 最优值为561(千元),T=4, (千元), (千元), (千元/千件),(千件),具体计算过程如下:,f5 = 0;,f4 = 3+50*4+0+0=203;,f3 = min3+50(2+4)+1*4+0,3+50*2+0+11=30

13、6;,f2 = min3+50(3+2+4)+1(2+4)+1*4+0,3+50(3+2)+1*2+11,3+50*3+0+18=458;,f1 = min3+50(2+3+2+4)+1(3+2+4)+1(2+4)+1*4+0,3+50(2+3+2)+1(3+2)+1*2+11,3+50(2+3)+1*3+18, 3+50*2+0+26 = 561,LINDO 公司软件产品简要介绍,美国芝加哥(Chicago)大学的Linus Schrage教授于1980年前后开发, 后来成立 LINDO系统公司(LINDO Systems Inc.), 网址:http:/,LINDO: Linear INt

14、eractive and Discrete Optimizer (V6.1) LINGO: Linear INteractive General Optimizer (V10.0) LINDO API: LINDO Application Programming Interface (V4.1) Whats Best!: (SpreadSheet e.g. EXCEL) (V8.0),演示(试用)版、高级版、超级版、工业版、扩展版 (求解问题规模和选件不同),LINDO和LINGO软件能求解的优化模型,LINGO,LINDO(将被淘汰),优化模型,线性规划 (LP),非线性规划 (NLP),二

15、次规划 (QP),连续优化,整数规划(IP),目标1(总余量),按模式2切割12根,按模式5切割15根,余料27米,最优解:x2=12, x5=15, 其余为0; 最优值:27,xi 为整数,实例2:钢管下料(问题1),当余料没有用处时,通常以总根数最少为目标,目标2(总根数),最优解:x2=15, x5=5, x7=5, 其余为0; 最优值:25。,xi 为整数,按模式2切割15根,按模式5切割5根,按模式7切割5根,共25根,余料35米,虽余料增加8米,但减少了2根,与目标1的结果“共切割27根,余料27米” 相比:,实例2:钢管下料(问题1),LINGO软件简介,LINGO模型的优点,集

16、成了线性(非线性) / 连续(整数) 优化功能 运行速度较快 具有多点搜索 / 全局优化功能提供了灵活的编程语言(矩阵生成器),可方便地输入模型提供与其他数据文件的接口(如TEXT, EXCEL, ODBC数据库接口)提供与其他编程语言的接口LINDO API 可用于自主开发,LP QP NLP IP 全局优化(选) ILP IQP INLP,LINGO软件的求解过程,LINGO预处理程序,线性优化求解程序,非线性优化求解程序,分枝定界管理程序,1. 确定常数 2. 识别类型,1. 单纯形算法 2. 内点算法(选),1、顺序线性规划法(SLP) 2、广义既约梯度法(GRG) (选) 3、多点搜

17、索(Multistart) (选),目标与约束段集合段(SETS ENDSETS)数据段(DATA ENDDATA)初始段(INIT ENDINIT)计算段(CALC ENDCALC)- 9.0+子模型(SUBMODEL ENDSUBMODEL)- 10.0+,LINGO模型的构成:6个段,集合的类型,集合派生集合 基本集合稀疏集合 稠密集合元素列表法 元素过滤法 直接列举法 隐式列举法,setname /member_list/ : attribute_list;,setname(parent_set_list) /member_list/ : attribute_list;,SETS:CI

18、TIES /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,集合循环函数,四个集合循环函数:FOR、SUM 、 MAX、MIN function( setname ( set_index_list) | condition : expression_list);,FOR(STUDENTS( I): constraintsSUM( PAIRS( J, K) | J #EQ# I #

19、OR# K #EQ# I: MATCH( J, K) =1);,Example:,objective MAX = SUM( PAIRS( I, J): BENEFIT( I, J) * MATCH( I, J);,目标函数(总根数),xi ,r1i, r2i, r3i, r4i (i=1,2,3)为整数,实例2:钢管下料(问题2),增加约束,缩小可行域,便于求解,原料钢管总根数下界:,特殊生产计划:对每根原料钢管 模式1:切割成4根4米钢管,需13根; 模式2:切割成1根5米和2根6米钢管,需10根; 模式3:切割成2根8米钢管,需8根。 原料钢管总根数上界:31,模式排列顺序可任定,需求:4

20、米50根,5米10根,6米20根,8米15根,每根原料钢管长19米,实例2:钢管下料(问题2),Local optimal solution found at iteration: 12211Objective value: 28.00000 Variable Value Reduced Cost X1 10.00000 0.000000 X2 10.00000 2.000000 X3 8.000000 1.000000 R11 3.000000 0.000000 R12 2.000000 0.000000 R13 0.000000 0.000000 R21 0.000000 0.000000

21、 R22 1.000000 0.000000 R23 0.000000 0.000000 R31 1.000000 0.000000 R32 1.000000 0.000000 R33 0.000000 0.000000 R41 0.000000 0.000000 R42 0.000000 0.000000 R43 2.000000 0.000000,模式1:每根原料钢管切割成3根4米和1根6米钢管,共10根; 模式2:每根原料钢管切割成2根4米、1根5米和1根6米钢管,共10根; 模式3:每根原料钢管切割成2根8米钢管,共8根。 原料钢管总根数为28根。,演示cut02a.lg4; cut0

22、2b.lg4,实例2:钢管下料(问题2),例:最短路;生产批量,shortestPath.lg4Lotsize.lg4,建模时需要注意的几个基本问题,1、尽量使用实数优化,减少整数约束和整数变量 2、尽量使用光滑优化,减少非光滑约束的个数 如:尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等 3、尽量使用线性模型,减少非线性约束和非线性变量的个数 (如x/y 5 改为x5y) 4、合理设定变量上下界,尽可能给出变量初始值 5、模型中使用的参数数量级要适当 (如小于103),布置实验,目的,1)掌握用LINDO/LINGO软件求解整数规划,并对结果作初步分析;,内容,6;9;12,2) 通过实例练习用整数规划求解实际问题。,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报