第二章整数规划_第1页
第二章整数规划_第2页
第二章整数规划_第3页
第二章整数规划_第4页
第二章整数规划_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1概论 1.1定义 规划中的变量 变量限制为整数, 用于整数线性规划。 当自变量限制为整数后, 其整数规划解出现下述情况: 则整数规划最优解与线性规划最优解一致。 4x25, X1 c 5. X10,x2-,mi nz 4 有可行解(当然就存在最优解) 例2原线性规划为 min 2X1 2xi 其最优实数解为: 0, X20 5 O 4 ,但最优解值变差。 其最优实数解为: X1 Xi 6, X2 0,X2 Xi 0, 3. ,min 2 X2 0 3 O 2 2 O 若限制整数得: (ii)整数规划最优解不能按照实数最优解简单取整而获得。 1.3 求解方法分类: (i )分枝定界法一可求纯或

2、混合整数线性规划。 (ii)割平面法一可求纯或混合整数线性规划。 (iii)隐枚举法一求解“ 0-1 ”整数规划: 过滤隐枚举法; 分枝隐枚举法。 (iv) 匈牙利法一解决指派问题(“ 0-1 ”规划特殊情形)。 (V)蒙特卡洛法一求解各种类型规划。 下面将简要介绍常用的几种求解整数规划的方法。 Xi 1,X2 1,min z 第二章整数规划 (部分或全部)限制为整数时,称为整数规划。若在线性规划模型中, 则称为整数线性规划。 目前所流行的求解整数规划的方法,往往只适 目前还没有一种方法能有效地求解一切整数规划。 1.2 整数规划的分类 如不加特殊说明,一般指整数线性规划。对于整数线性规划模型

3、大致可分为两类: 1。变量全限制为整数时,称纯(完全)整数规划。 2。变量部分限制为整数的,称混合整数规划。 1.2整数规划特点 (i)原线性规划有最优解, 原线性规划最优解全是整数, 整数规划无可行解。 例1原线性规划为 zX-IX2 min 2分枝定界法 对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行系 统搜索,这就是分枝与定界内容。通常,把全部可行解空间反复地分割为越来越小的子 集,称为分枝;并且对每个子集内的解集计算一个目标下界(对于最小值问题),这称 为定界。在每次分枝后,凡是界限超出已知可行解集目标值的那些子集不再进一步分枝, 精选文库 这样,许多子集可不予

4、考虑,这称剪枝。这就是分枝定界法的主要思路。 分枝定界法可用于解纯整数或混合的整数规划问题。在本世纪六十年代初由Land 旅行推销员问题、工厂 B,从解问题B开始, A的最优目标函数z的 Doig和Dakin等人提出的。由于这方法灵活且便于用计算机求解,所以现在它已是解 整数规划的重要方法。目前已成功地应用于求解生产进度问题、 选址问题、背包问题及分配问题等。 设有最大化的整数规划问题A,与它相应的线性规划为问题 若其最优解不符合 A的整数条件,那么B的最优目标函数必是 上界,记作z ;而A的任意可行解的目标函数值将是Z*的一个下界Z。分枝定界法就 是将B的可行域分成子区域的方法。逐步减小z和

5、增大z,最终求到z*。现用下例来 说明: 例3 求解下述整数规划 Max z 9x17 x2 7x120 x2 X1, X20 40 x,90 x2 56 70 且为整数 (i)先不考虑整数限制,即解相应的线性规划B,得最优解为: x14.8092,x21.8168, z 355.8779 可见它不符合整数条件。这时z是问题A的最优目标函数值 z*的上界,记作 X1 0,X2 0显然是问题 A的一个整数可行解,这时z 0,是z*的一个下界, 356。 因为X1,X2当前均为非整数,故不满足整数要求,任选一个进行分枝。 把可行集分成2个子集: 4.80924,x14.809215 因为4与5之间

6、无整数,故这两个子集的整数解必与原可行集合整数解一致。: 步称为分枝。这两个子集的规划及求解如下: 问题 即0 z (ii) 进行分枝, Xi B1 : Max z 40 x1 9x1 7x256 7x120 x270 0 x1 4,x20 90 x2 z。而 记作z, 设选Xi 最优解为: X1 4.0, x2 2.1, z-i 349。 问题 B2 : Max z 40 x1 90 x2 9x1 7x2 56 7X1 20 x2 70 X1 5,X2 0 最优解为: X1 5.0, x2 1.57,z1 341.4 再定界: 0 z* 349。 O 4, x2 2,z11340 1.43,

7、 X2 3.00, Z12327.14 z*341,并将B12剪枝。 (iii) 对问题B1再进行分枝得问题 B11和B12,它们的最优解为 B11 : X1 B12 : X1 再定界:340 (iv) 对问题B2再进行分枝得问题 B21和B22,它们的最优解为 B21 : X15.44, X21.00, Z22308 B22无可行解。 将B21 , B22剪枝。 于是可以断定原问题的最优解为: X14, X22, z 340 从以上解题过程可得用分枝定界法求解整数规划(最大化)问题的步骤为: 开始,将要求解的整数规划问题称为问题A,将与它相应的线性规划问题称为问 题B。 (i) 解问题B可能

8、得到以下情况之一: B没有可行解,这时 A也没有可行解,则停止. B有最优解,并符合问题 A的整数条件, B的最优解即为 A的最优解,则 (a) (b) 停止。 B有最优解,但不符合问题 A的整数条件,记它的目标函数值为 用观察法找问题 z。 ,n,试探, (c) A的一个整数可行解,一般可取xj 0, j 1, z。以z*表示问题 A的最优目标函数值;这时有 求得其目标函数值,并记作 (ii) 进行迭代。 第一步:分枝,在 B的最优解中任选一个不符合整数条件的变量Xj,其值为bj , 以bj表示小于bj的最大整数。构造两个约束条件 Xj bj和 Xj bj1 将这两个约束条件, 分别加入问题

9、 B ,求两个后继规划问题 B1和B2。不考虑整数条件 求解这两个后继问题。 定界,以每个后继问题为一分枝标明求解的结果, 与其它问题的解的结果中, 找出 最优目标函数值最大者作为新的上界 z。从已符合整数条件的各分支中,找出目标函数 值为最大者作为新的下界 z,若无作用z 00 第二步:比较与剪枝,各分枝的最优目标函数中若有小于z者,则剪掉这枝,即 以后不再考虑了。若大于z,且不符合整数条件,则重复第一步骤。一直到最后得到 z为止。得最优整数解 X*, j 1, n。 0 1型整数规划 0 1型整数规划是整数规划中的特殊情形,它的变量Xj仅取值0或1。这时Xj称 1变量,或称二进制变量。Xj

10、仅取值0或1这个条件可由下述约束条件: i 1 bi Xi B X1 X2 X32 X4 X5 1 X6 X7 1,Xi 0或1 CXi i 1 7 0 Xj 1,整数 所代替,是和一般整数规划的约束条件形式一致的。在实际问题中,如果引入 0 1变 量,就可以把有各种情况需要分别讨论的线性规划问题统一在一个问题中讨论了。我们 先介绍引入0 1变量的实际问题,再研究解法。 3.1弓I入0 1变量的实际问题 3.1.1投资场所的选定一一相互排斥的计划 例4 某公司拟在市东、西、南三区建立门市部。拟议中有 A(i 1,2, 在东区。 7个位置(点) 在西区。 在南区, ,7)可供选择。规定 由 A1

11、, A2,A3三个点中至多选两个; A4, As两个点中至少选一个; 由A6, A7两个点中至少选一个。 如选用A点,设备投资估计为 bi元,每年可获利润估计为G元,但投资总额不能 超过B元。问应选择哪几个点可使年利润为最大? 1,2,7) 解题时先引入0 1变量xi(i 令 1, Xi 0, 于是问题可列写成: 当A点被选中, 当A点没被选中. 1,2,7. Max 3.1.2相互排斥的约束条件 有两个相互排斥的约束条件 或 7X1 3x2 1变量y,则上述约束条件可改写为: yM (1 y)M 5x1 4X224 为了统一在一个问题中, 5x1 7X1 引入 4x2 3x2 0或1 24

12、45 45。 y 其中M是充分大的数。 约束条件 x10 或 500 x1800 15 可改写为 精选文库 500y X1800y y 0或 1 如果有m个互相排斥的约束条件: aiiXiainXn bi 为了保证这m个约束条件只有一个起作用, 和一个充分大的常数 M,而下面这一组 bi yiM 1 由于(2), aiiXi an Xn i 1,2, ,m 我们引入m个0 1变量yi(i 1,2, 1个约束条件 1,2, ,m ,m) (1) yi 就合于上述的要求。 ym m 这是因为, m个yi中只有一个能取0值,设yi* (2) 0, i i的约束条件起作用,而别的式子都是多余的。 Fi

13、xed Cost Problem) j种方式时的产量; j种方式时每件产品的变动成本; j种方式时的固定成本。 为了说明成本的特点, ki CiXi, P 0, 代入(1),就只有 3.1.3关于固定费用的问题( 在讨论线性规划时,有些问题是要求使成本为最小。那时总设固定成本为常数, 在线性规划的模型中不必明显列出。但有些固定费用(固定成本)的问题不能用一般线 性规划来描述,但可改变为混合整数规划来解决,见下例。 例5 某工厂为了生产某种产品,有几种不同的生产方式可供选择,如选定的生产 方式投资高(选购自动化程度高的设备),由于产量大,因而分配到每件产品的变动成 本就降低;反之,如选定的生产方

14、式投资低,将来分配到每件产品的变动成本可能增加。 所以必须全面考虑。今设有三种方式可供选择,令 Xj表示采用第 Cj表示采用第 kj表示采用第 暂不考虑其它约束条件。采用各种生产方式的总成本分别为 当Xj 0 j 1,2,3. 0 1变量yj, 当采用第j种生产方式,即Xj 0时, 当不采用第j种生产方式,即Xj 0时. 在构成目标函数时,为了统一在一个问题中讨论,现引入 yj 1, 0, 于是目标函数 min (3 )式这个规定可表为下述 3个线性约束条件: Xj yjM , j 1,2,3 其中M是个充分大的常数。(4)式说明,当Xj 0时yj必须为1;当Xj 为0时才有意义,所以(4)式

15、完全可以代替(3)式。 3.2 0 1型整数规划解法之一(过滤隐枚举法) 解0 1型整数规划最容易想到的方法,和一般整数规划的情形一样, 即检查变量取值为 0或1的每一种组合,比较目标函数值以求得最优解, (kiyi cixi) (k2y2 C2X2) (k3y3 C3X3) (4) 0时只有yj 就是穷举法, 这就需要检查 当Xj0 I5 精选文库 变量取值的2n个组合。对于变量个数 n较大(例如n 10),这几乎是不可能的。因此 常设计一些方法,只检查变量取值的组合的一部分,就能求到问题的最优解。这样的方 法称为隐枚举法(Imp licit Enu meration),分枝定界法也是一种隐

16、枚举法。当然,对有 些问题隐枚举法并不适用,所以有时穷举法还是必要的。 下面举例说明一种解 0 1型整数规划的隐枚举法。 例6 Max z 3X1 2X2 5x3 X1 2X2X3 2 X1 4X2X3 4 X1 x23 4x2 X36 Xi,X2,X3 求解思路及改进措施: (i) 先试探性求一个可行解,易看出(Xi,X2,X3) (1,0,0)满足约束条件,故为一 个可行解,且z 3。 (ii) 因为是求极大值问题,故求最优解时,凡是目标值z 3的解不必检验是否 满足约束条件即可删除,因它肯定不是最优解,于是应增加一个约束条件(目标值下界): (iii)改进过滤条件。 (iv) 由于对每个

17、组合首先计算目标值以验证过滤条件,故应优先计算目标值 Z大 的组合,这样可提前抬高过滤门槛,以减少计算量。 4蒙特卡洛法(随机取样法) 前面介绍的常用的整数规划求解方法,主要是针对线性整数规划而言,而对于非线 性整数规划目前尚未有一种成熟而准确的求解方法,因为非线性规划本身的通用有效解 法尚未找到,更何况是非线性整数规划。 然而,尽管整数规划由于限制变量为整数而增加了难度;然而又由于整数解是有限 个,于是为枚举法提供了方便。当然,当自变量维数很大和取值范围很宽情况下,企图 用显枚举法(即穷举法)计算出最优值是不现实的,但是应用概率理论可以证明,在一 定的计算量的情况下,完全可以得出一个满意解。

18、 例7已知非线性整数规划为: Xi 2 22. 22 x1 x2 3x3 4x4 2x5 8x1 2x2 3x3 x4 2x5 99 (i 1,5) Xi Xi 2x1 X2 2x2 X2 x4 x5400 x4 6x5800 200 Max Z 20 X3 X4 200 对该题,目前尚无有效方法求出准确解。如果用显枚举法试探,共需计算 (100)5 1010个点,其计算量非常之大。 然而应用蒙特卡洛去随机计算106个点,便可找到满意解,那么这种方法的可信度究竟怎样呢? 下面就分析随机取样采集106个点计算时,应用概率理论来估计一下可信度。 不失一般性,假定一个整数规划的最优点不是孤立的奇点。

19、 假设目标函数落在高值区的概率分别为0.01,0.00001,则当计算106个点后,有 任一个点能落在高值区的概率分别为 0.9910000000.9999(100多位), 1 解 fun ctio n 0.9999910000000.999954602。 (i)首先编写M文件mente.m定义目标函数f和约束向量函数g,程序如下: f,g=me ngte(x); f=x(1)A2+x(2)A2+3*x(3)A2+4*x (4) 2+2*x (5)-8*x(1)-2*x (2)-3*x(3). -x(4)-2*x(5); g(1)=sum(x)-400; g(2)=x(1)+2*x(2)+2*

20、x(3)+x(4)+6*x(5)-800; g(3)=2*x(1)+x (2)+6*x (3)-200; g(4)=x(3)+x(4)+5*x(5)-200; (ii )编写如下程序求问题的解: rand( state ,sum(clock); p0=0; tic for i=1:105 x=99*ra nd(5,1); x1=floor(x);x2=ceil(x); f,g=me ngte(x1); if sum(g=0)=4 if p 0=f x0=x1; p0=f; end end f,g=me ngte(x2); if sum(g=0)=4 if p 0=f x0=x2; p0=f; end end end x0, p0 toc 5整数规划的计算机解法 整数规划问题的求解可以使用Lin go等专用软件。对于一般的整数规划规划问题, 无法直接利用 Matlab的函数,必须利用 Matlab编程实现分枝定界解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论