1、第1页,第四章 整数规划与分派问题,Integer Linear Programming,第2页,1 整数规划的特点及作用,一、问题的提出,第3页,例1 工作分配问题,甲乙丙丁四人翻译把专利说明书译成四种文字,所需翻译时间如下表。怎样分配最省时?,第4页,工作分配问题数学模型,第5页,例2 急救中心选址问题,某市有八个区,救护车从一个区至另一个区的车程用时如下表所示(单位:分钟)。若要求救护车在8分钟内必须赶到,应建几个救护中心?建于何处?,急救中心设在k 区,救护车在8分钟内能赶到的区:,第6页,急救中心选址问题数学模型,第7页,二、整数规划模型常见类型:,1、一般整数规划,2、0-1 整数
2、规划,第8页,3、 混合整数规划,第9页,三、带逻辑变量的数学规划问题,1、m个约束只有k个起作用,第10页,2、右端项有多种选择,第11页,3、带条件约束或分段约束,第12页,4、价格系数分段定价,有先期投入,第13页,四、 与线性规划的关系,整数规划,松弛问题,ILP的可行解包含在LP的可行解中,ILP的最优值小于或等于LP的最优值,第14页,第15页,第16页,例1 工作分配问题,甲乙丙丁四人翻译把专利说明书译成四种文字,所需翻译时间如下表。怎样分配最省时?,2 分配(分派)问题,第17页,工作分配问题,m 个人完成 m 项任务,每项任务由一人完成,每人分担一项任务。怎样分派才能效率最高
3、,或用时最少 ?,工作效率(或工时)矩阵,第18页,工作分配问题数学模型,第19页,匈牙利法(Konig),定理1 设原效率矩阵 A =a ij 每行减去常数ui ,每列减去常数vj新的效率矩阵 B =bij , 则 A与的最优解相同。,定理2 若A的元素可分成 0 与非0,则盖住0的最小直线数= 不同行、不同列的0的最大个数。,第20页,算法原理 设A的元素0,且有一组不同行不同列的0, 则分配问题有一组最优解。 令:与0对应的xij =1,其余xij =0,就是一个最优解。,此时:z = 0 达到最优。,第21页,匈牙利法(Konig),1、先对行造0。,每行最小值 行位势,第22页,匈牙
4、利法(Konig),2、再对列造0,每列最小值 列位势,第23页,匈牙利法(Konig),3、加括号,画直线;,第24页,匈牙利法(Konig),4、再用位势法造0,未划掉数字中的最小值2,第25页,匈牙利法(Konig),5、返回3,第26页,匈牙利法(Konig),最后,每行每列都有0,得到最优解。,甲 俄语乙 日语丙 英语丁 德语,z = 4+4+9+11= 28(小时),第27页,3 分支定界法,第28页,分支的方法:,第29页,对0-1整数规划分支,第30页,第31页,定界的方法(剪枝),当前得到的最好整数解的目标函数值 分支后计算放松的线性规划的最优解整数解且目标值小于原有最好解的值则替代原有最好解 整数解且目标值大于原有最好解的值则 删除该分支其中无最优解 非整数解且目标值小于原有最好解的值则继续分支 非整数解且目标值大于等于原有最好解的值则删除该分支其中无最优解,第32页,第33页,算 例,第34页,第35页,第36页,第37页,注 释,求解混合整数规划问题,只对整数变量分支,对非整数变量不分支。,第38页,4 割平面法,第39页,由放松问题的可行域向整数规划的可行域逼近 方法利用超平面切除 要求整数解保留放松问题最优值增加,4 割平面法,