资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
大学数学实验Experiments in Mathematics实验9 整数规划 (Integer Programming)清 华 大 学 数 学 科 学 系优化问题三要素:决策变量;目标函数;约束条件约 束 条 件决策变量优化问题的一般形式当最优解在可行域边界上取得时 不能用无约束优化方法求解目标函数约束优化的分类 线性规划(LP) 目标和约束均为线性函数 非线性规划(NLP) 目标或约束中存在非线性函数 二次规划(QP) 目标为二次函数、约束为线性 整数规划(IP) 决策变量(部分)为整数 整数线性规划(ILP) 整数非线性规划(INLP) 0-1规划 整数决策变量只取或连 续 优 化离 散 优 化基本内容2. 基本原理与解法3. LINDO / LINGO软件的使用1. 实例及其数学模型 分枝定界法 动态规划法实例1:选课问题略问题1. 如何下料最节省 ? 实例2:钢管下料 问题2. 客户增加需求:原料钢管:每根19米 4米50根 6米20根 8米15根 客户需求节省的标准是什么?由于采用不同切割模式太多,会增加生产和管理成本 ,规定切割模式不能超过3种。如何下料最节省?5米10根 按照客户需要在一根原料钢管上安排切割的一种组合。 切割模式余料1米 4米1根 6米1根 8米1根 余料3米 4米1根 6米1根 6米1根 合理切割模式的余料应小于客户需要钢管的最小尺寸余料3米 8米1根 8米1根 钢管下料为满足客户需要,按照哪些种合理模式,每种模式 切割多少根原料钢管,最为节省?合理切割模式2. 所用原料钢管总根数最少 模式 4米钢管根数 6米钢管根数 8米钢管根数 余料(米) 14003 23101 32013 41203 51111 60301 70023钢管下料问题1 两种 标准1. 原料钢管剩余总余量最小xi 按第i 种模式切割的原料钢管根数(i=1,2,7) 约束满足需求 决策变量 目标1(总余量)模式4米根数6米根数8米根数余料14003 23101 32013 41203 51111 60301 70023 需求502015整数约束: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米、5米、6米和8米长的钢管的数量满足需求模式合理:每根 余料不超过3米整数非线性规划钢管下料问题2目标函数(总根数)约束条件整数约束: xi ,r1i, r2i, r3i, r4i (i=1,2,3)为整数实例3: 饮料的生产批量问题 安排生产计划, 满足每周的需求, 使4周总费用最小 。生产成本(可变成本):50元/箱 (50千元/千箱)存 贮 费:每周每千箱饮料1千元 饮料厂使用同一条生产线轮流生产多种饮料。 若某周开工生产某种饮料, 需支出生产准备费3千元。 某种饮料4周的需求量周次 需求量(千箱) 12 23 32 44 合计11生产批量问题的一般提法ct 时段t 生产费用(元/件); ht 时段t (末)库存费(元/件); 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) 决策变量有整数,也有实数 0-1规划 决策变量只取0或1分 类取消整数规划中决策变量为整数的限制(松弛),对 应的连续优化问题称为原问题的松弛问题整数规划问题对应的松弛问题松弛问题松 弛整数规划问题最优解最 优 解整数非整数整数舍入下界(对Min问题) 上界(对Max问题)非最优解原问题松弛对松弛问题的最优解(分量)舍入为整数,得到的往 往不是原整数规划问题的最优解(甚至不是可行解)IP可行解对应于整点A(2,2)和B(1,1),而最优解为A点.但LP松弛的最优解为C(3.5,2.5) 目标函数下降方向 x1x2 CA BO整数规划问题对应的松弛问题x1x20Po69 Zmax56去掉整数限制后,可行域为点(0,0), (6,0), (0,5), P (2.25,3.75) 围成的4边形从LP最优解经过简单的 “移动”不一定得到IP最优解基本思想:隐式地枚举一切可行解(“分而治之”)所谓分枝,就是逐次对解空间(可行域)进行划分;而 所谓定界,是指对于每个分枝(或称子域),要计算原 问题的最优解的下界(对极小化问题). 这些下界用来 在求解过程中判定是否需要对目前的分枝进一步划分, 也就是尽可能去掉一些明显的非最优点,避免完全枚举 . 整数规划的分枝定界法 (BB: Branch and Bound)对于极小化问题,在子域上解LP,其最优值是IP限定 在该子域时的下界;IP任意可行点的函数值是IP的上界线性规划松弛定界若在某一时刻,得到一个全整数解的费用为zm,则zm 为原问题的一个上界;否则得该分枝的一个下界,继续分枝 (P1)(P2)线性IP分枝定界算法 例 (P0) 该问题的LP松弛解为 ,不是整数解,最优值为z0=-4.(P1): (P0)加上 ;(P2): (P0)加上 . 问题(P1)的LP松弛解为 , 不是整数解,最优值为z1=-3.5(P3): (P1)加上 ;(P4): (P1)加上 . P0P1P2P3P4P5P6,无可行解P0P1P2P3P4, z0=-4, z1=-7/2z0=-13/4z0=-3无可行解z2=-2.5 z6 整数规划的动态规划法例:最短路问题求各点到T的最短路56774968658336C1B1C2B2A1A2A3TS6节点i到节点T 的最短路长递推计算“全过程的最优策略具有这样的性质:不管该最 优策略上某状态以前的状态和决策如何,对该状态而 言,余下的诸决策必定构成最优子策略. ”即:最优 策略的任一后部子策略都是最优的.这只是最优性定理的一个推论,即最优策略的必 要条件. 最优化原理 最优子结构(Optimal Substructure):An optimal solution to the problem contains within it optimal solutions to subproblems.(1) 正确划分阶段,选择阶段变量k. (2) 对每个阶段,正确选择状态变量xk. 选择状态变 量时应当注意两点:一是要能够正确描述受控过程的 演变特性,二是要满足无后效性. (3) 对每个阶段,正确选择决策变量uk . (4) 列出相邻阶段的状态转移方程: xk+1= Tk(xk, uk). (5) 列出按阶段可分的准则函数V1,n . 假设问题的目标是极小化建立动态规划模型的基本过程逆序递推 k=1k=n kk=2fk(xk)表示第 k 阶段初始状态为xk时,k后部子过程(阶段k,k+1,n)的最优准则函数 动态规划基本方程 资源分配问题: 某公司现有M台设备准备分配给该公 司所属的N家工厂. 当分配台uk设备给工厂k时,工厂k 利用这些设备为公司创造的利润(假设非负)为 gk(uk). 如何分配设备资源,使得公司总利润最大? 可能是非线性整数规划, 甚至gk(uk)没有显式表达式 应用动态规划方法的几个例子 工厂k设备数1230 1 2 3 40 4 6 7 70 2 5 6 80 3 5 7 8状态变量xk - 第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时:最优解 ,最大利润为 .推广:非线性整数规划问题,如: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=306; 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 = 561LINDO 公司软件产品简要介绍 美国芝加哥(Chicago)大学的Linus Schrage教授于1980 年前后开发, 后来成立 LINDO系统公司(LINDO Systems Inc.), 网址:http:/www.lindo.com LINDO: Linear INteractive 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软件能求解的优化模型LINGOLINDO(将被淘汰)优化模型线性规划 (LP)非线性规划 (NLP)二次规划 (QP)连续优化整数规划(IP)目标1(总余量)按模式2切割12根,按模式5切割15根,余料27米 最优解:x2=12, x5=15, 其余为0; 最优值:27xi 为整数实例2:钢管下料(问题1) 当余料没有用处时,通常以总根数最少为目标 目标2(总根数)最优解:x2=15, x5=5, x7=5, 其余为0; 最优值:25。xi 为整数 按模式2切割15
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号