1、116第 8 章 整数规划8.1 整数规划问题特征及其求解方法简介现实生活中,根据实际问题所建立的数学模型有一种很重要的情形:目标函数和约束函数是线性函数,还要求决策变量取整数值.这类问题称为线性整数规划 ,简称为整数规划(IP)要求所有变量取整数值,称为纯整数规划;要求部分变量取整数值,称为混合整数规划;要求变量只取 0 或 1,则称为 0-1 规划.某些约束函数或目标函数为非线性,称为非线性(纯/混合)整数规划.典型的整数规划问题:运作问题(Operational problems): 货物的分配,生产调度、机器排序等;计划问题(Planning problems): 资金预算、设施选址、
2、证券组合分析等;设计问题(Design problems): 通信和交通网络设计,超大规模集成电路设计、自动化生产线设计等.共同特点:研究如何对稀有资源进行有效的管理和使用,使其发挥尽可能大的效益. 整数规划在美国军事空运指挥中的运用实例:背景:美国防部的空运由军事空运指挥中心(MAC)负责,总部设在圣路易斯附近的斯科特空军基地. MAC 每年有 5,000 个飞行员,驾驶 1,700 架飞机在 24 个国家的 850 个基地飞行约 700,000 小时.要求在特定的某一天,MAC 能派遣 1,700 个架次,执行 9 次救援任务,转移 5,000 名乘客和 1,000 吨货物以及用医用飞机转
3、移 200 名伤员.MAC 的总指挥(四星上将)有一个由 23 人组成的智囊团,为 MAC 派遣飞行队的相关决策出谋划策.智囊团广泛运用线性整数规划对规模大而复杂的问题求得有效的解.(1)优化货物空运计划MAC 利用 C-5,C-141 和 C-130 飞机的 35的飞行时间,按普通的货运计划在全球范围内飞行.但要被运输的货物总量超出了 MAC 飞行队的运载能力,因此,大量的货物运载能力必须从商业空运购买.智囊团面临的问题:设计一个称为空中货运计划的网状系统,使得购买运载能力的支出最小.这个问题被建模为一个有 18,000 个变量和 13,000 个约束条件的线性整数规划问题.决策变量代表每月
4、每架飞机按特定航线飞行的次数.商业软件求解该问题需大约 1 个小时的时间.(2)美国的货物分配在美国本土,650,000 批货物从 10,000 个地点出发,它们必须通过 MAC 的总站被运输(用飞机或卡车) ,并且通过 MAC 的全球计划网状系统,把这些货物运至海外的目的地.117问题:要求综合考虑货物的出发点及运输路线的全球网状系统,寻找一组低成本的港口.这个问题被建模为 60,000 个变量和 6,000 个约束条件的线性整数规划问题.决策变量定义了每月每架飞机(或卡车)沿特定路线的飞行(运输)次数.该问题的求解需花费 20 分钟.(3)伤员撤离战争期间的伤员撤离任务,由空军政府后备队的
5、波音 767 飞机承担.问题:在美国找一组最优的分布中心,位于医院病床集中地附近,并决定自潜在的海外基地至这些中心的一组最优路线.线性整数规划模型有 250,000 个决策变量,定义了在一条特定路线上要运送的伤员数、在美国的医院所需床数、特定路线上飞行的飞机数. 90,000 个约束条件涉及伤员和病床的类型(烧伤、外科等等)以及飞机载客能力范围,解此问题需花费约 4 个小时.模型求解的结果:从 52 个可能中心选出了理想的 9 个中心,使得伤员到达一个合适的医院的平均距离最短.本章介绍线性整数规划问题的典型解法.线性整数规划一般表示为(P 0)INjxbAcj为 整 数 ,,0 s.t min
6、IN 是取整数的变量的下标集在求解整数规划时,容易想到先解相应的线性规划,得到最优解后再四舍五入(圆整化),作为整数规划的最优解这种作法一般不可取:经四舍五入得到的解不一定是整数规划的可行解;即使是可行解,也不一定是整数规划的最优解例如整数规划: 为 整 数0, 42981 s.t3min1x去掉整数限制后,用单纯形方法求得线性规划的最优解 ,目标函数)2.9 ,4(),(21x最优值 8.5f圆整化得到的整数点 ,不满足第 1 个约束条件,因此不是整数规划的)9 ,2(,(1x可行点,当然不是整数规划的最优解该问题存在最优解 ,目标函数的最优值 ,4),21 58f整数规划的求解需要专门的方
7、法,目前已有几种成熟的求解方法: 分枝定界法 割平面法 分解算法 针对 0-1 规划的隐数法1188.2 分枝定界法分枝定界法的基本原理分枝定界法(Branch (P 2)记作-1称为固定变量, 称为自由变量nx,32再按 取 1 或 0 分解每个子问题 取 1 记作2 ,取 0 记作-2 2x2若取 和 作为固定变量, 作为自由变量,则得到 4 个子问题,分别为n,43+1,+2 +1,-2 -1,+2 -1,-2一般地,若 为固定变量,分别取值 1 , 0,1,用 表示相应的子问kjix, 题,则记为 ,kji其他变量为自由变量,在 中不作记录.隐数法从问题(P)(也记作)出发,沿各树枝从
8、左到右依次 探测各子问题,直至给出最优解,或得出原问题无可行解的结论在探测中,对于每个子问题 ,取自由变量等于 0 的点作为探测点,记作 例如, 0对子问题 ,取 作为本子问题的探测点3,21T),10,(由于 ,若 是可行点,则必是子问题 的最小点子问题在可ncc0 行点处目标函数值不可能小于 0探测规则:设已知整数规划(P)的一个可行点 ,目标函数值 xxcf126考虑(P)的任一子问题 ,相应的探测点记作 设 是 中具有最小下标的0jx自由变量,则依次有下列探测结果:(1)若 ,则子问题 没有比 更好的可行解fc0 x(2)若 ,且 是(P)的可行解,则 是比原来的 更好的可行解.置0
9、0x, 0x0f(3)若 , 不是 的可行解,且 ,则 中没有比 更好fc0fcj0x的可行解(4)设自由变量有 ,满足不等式kjjx,21 krr jjjjj ccfccc 00000 121 记 ,称 J 为可选集,2rJ令 , 为第 i 个约束的松弛变量若所有的 ,则),( 0mibAsii is 0is是比现行的 更好的可行解,置 , . 0x0x0cf(5)若 不是可行解,置 ,称 I 为违背约束集置0|iIaJjJiji ,|IqiJjji 计算 Isi,若对某个 有 ,则本子问题没有更好的可行解0is0-1 规划隐数法计算步骤(1)给定一个可行解 ,置 (或令 ),置子问题 ,x
10、xcff,探测点 ,执行步骤(2).T),(0(2)若 ,本子问题没有比 好的可行解,转步骤(7);否则执行步骤(3).fc(3)计算 ,若 , 是可行解,置),1( 0mibAsii ),1( 0misi0, ,转步骤(7);否则,置违背约束集 ,执行步骤(4).0xf |isI(4)若无自由变量则转步骤(7)当存在自由变量时,设自由变量为 ( )若kjjx,21 kjj21,本子问题没有比 好的可行解,转步骤(7);否则执行步骤( 5).fcj10x(5)置可选集 , ,|0ktfcjJtjt 对每个违背约束 ,置带有正系数的部分自由变量下标集IiIiaJjiji ,|对每个违背约束 ,令
11、i127(若 ,则置 )IiaqiJjji,iJ0iq计算 Iiqsi,若对某个 有 ,本子问题没有更好的可行解,转步骤(7);否则执行步0is骤(6).(6)检验每个指标 ,若存在约束指标 ,使得 ,且 ,Jj IiiJj0ijiaqs则置 :jJ检查完毕时,若 J=,则转步骤(7);若 J,则令 置子问题 ,置探测点 (|minJjl ,l le0:是第 l 个分量为 1 的单位向量)转步骤(2).e(7)当 中固定变量均取 0 时,探测完毕此时,若 , 就是最优解;否则, x无可行解当 中固定变量不全为 0 时,假设 , vu即 是最后一个固定为 1 的变量,则置子问题 ,并置探测点 ,
12、ux ue0:转步骤(2). 例 3: 用隐数法求解 0-1 规划: 5,1 ,0or 4234 265s.t 7 min 15421jxxxjTxx),(54321 )76(),(54321cc1321A123b(1)置初始可行解 ,在 处的函数值 ,置子问题Tx) ,0 ,(x7xcf, 取探测点 0(2) .fc0(3)计算 , ,2101bAs 1 20bAs1 303bAs置违背约束集 .3,I(4)自由变量有 , .5421,xx710fc(5)根据条件 ,求得可选集 .fcj04,32J128, ,31J423,J, ,q86q, ,1s72s53s(6)检查 J 中每个指标,修
13、改 J,置可选集 .,1J取 .|minjl置 ,置探测点 . 1T)0,(0(2) . fc0(3)计算 , ,101bAs 3 202bAs 3 03bAs置 . 3,I(4)自由变量有 , .542x7420fc(5)置可选集 ,J, ;31J, ;q6, .21s33s(6) 检查 J 中每个指标,置 J =3.取 l=3;置 , . 3,1T)0,(0(2) . fc50(3) , ,211bAs 1 20bAs1 303bAs是可行解,置 , .0 Tx),(05f(7)置子问题 ,探测点 .3T),(0(2) . 510fc(3) , ,bAs 3 202bAs3 03bAs,I
14、(4)自由变量有 . .543,x5420fc(5)置可选集 J=2.,置 ;1J01q, ;33, .1ss(7)置子问题 ,探测点 T)0,(0(2) . 50fc(3) , ,211bAs 1 20bAs 1 303bAs3,I129(4)自由变量有 .5432,x5320fc(5)置可选集 J, , ;12J,3, , ;q16q, , .1s02s53s(6)检查 J 中指标,修改 J,置 J=. (7) 中固定变量均取 0,因此探测完毕最优解 ,最优值 . Tx)0,1(5f习题1 利用分枝定界法求解整数规划问题 为 整 数0, 72569 s.t94)(max121xf2 假设有 4 个工程项目 , , 和 ,这 4 个项目的建设成本和产生的效益见下表:1P23项目 1P23P4产生的效益(亿元) 17 10 25 17建设成本(亿元) 5 3 8 7假定可用于工程项目建设的总预算量为 12 亿元. 试建立 0-1 规划模型,选择投建项目,使得总效益最大 .