1、1,例1、(生产计划问题)某厂在一个计划期内拟生产甲、乙两种大型设备,生产过程中有A、B两种原材料的供应受到严格限制。可供原料总量、每台设备所需原料的数量及利润如下表所示,问该厂应如何安排生产使总利润最大。,第3章 整数线性规划,2,3,例2、某昼夜服务的公交线路每天各时间区段内 所需司机和乘务人员数如下: 班次 时间 所需人数6:00 10:00 6010:0014:00 7014:0018:00 6018:0022:00 2022:002:00 202:00 6:00 30设司乘人员在各时间段一开始时上班,并连 续工作8小时,问该公司线路至少应配备多少司 乘人员。,4,解:设x1, x2
2、,x3,x6为各班新上班人数。 目标函数:minZ=x1+x2+x3+x4+x5+x6约束条件:,5,一、整数规划问题 1、整数规划模型的一般形式:,整数规划分为: (1)纯整数规划; (2)混合整数规划; (3)0-1整数规划 。,6,、解的特点,结论:PIP的最优解“不优于”其松弛问题的最优解。,7,二、割平面法,1、基本思想:先不考虑整数约束,求解松弛问题LP,若不是整数解,则不断增加约束,割掉原可行域中不含整数解的部分,最终得到一个具有若干整数顶点的可行域,其中有一个顶点为LP的整数解。适用于求解纯整数规划问题。 2、基本步骤: (1)求解松弛问题,若为整数解或无解,停止; (2)增加
3、线性约束,对可行域进行“切割”,去掉不含整数的可行域。,8,3、求法:,9,例1、用割平面法求解整数规划问题:,10,最优表:,(2)构造割平面方程:,11,12,13,14,4、切割的几何意义:,15,16,三、分枝定界法可解:纯整数规划、混合整数规划问题基本思路:先求松弛问题的最优解,若不是整数解,则添加两个约束条件,舍弃一部分非整数的可行解,并将原松弛问题分解为两个子问题。分枝后,某些整数点就有可能处于可行域的边界上,有机会找到最优解。,17,例1、用分枝定界法求解整数规划问题:,解:(1)求解松弛问题L:最优解:,18,(2)分枝:对L分别增加约束:将 L 分解为两个子问题 L1,L2
4、原可行域 D 变为 D1,D2,19,(3)继续对L1分解: 添加约束:将 L1 分解为两个子问题 L3,L4,20,(4)继续对L2分解: 添加约束:将 L2 分解为两个子问题 L5,L6,21,22,优点:可解纯整数规划、混合整数规划问题。 优于穷举法,仅在一部分可行的N解中寻找最优解。 缺点:若变量数目很大,计算工作量很大,可结合割平面法使用。,23,四、01整数规划一般表示式:,24,例1、(投资选择问题)某公司有n个拟选择的投资项目,其中项目j所需投资额为aj,期望收益为cj ,j=1,2,n。项目之间有下述联系:()项目,和至少选两项; ()选项目,则必选项目,反之不一定; ()项
5、目与项目要么同时选中,要么同时不被选中。该公司总共筹集资金为万元,问怎样选择项目,才使收益最大? 解:,25,01整数规划的解法:(只介绍小规模的)1、穷举法:n个变量,2n个组合。2、隐枚举法:不全检查,只检查一部分。,26,例2、求解01整数规划:,27,最优解: x2=0 ,x1 =1,x3 =1,28,五、指派问题指派n个人去完成n项不同的任务,如何给每个人分配任务,使总效率最高。,29,例1、今欲指派甲乙丙丁四人加工ABCD四种不同的零件, 每人加工四种零件所需要的时间如下表所示,问应该派谁加 工何种零件,可使总的花费时间最少。,30,31,32,33,第六章 图与网络分析,例1、哥
6、尼斯堡七桥问题,34,一、图的概念: 1、图:点和线所组成的图形,记为G=(V,E),其中V是 点的集合,E是边的集合。 2、端点、关联边: 联结点vi,vj的边记作e=(vi,vj),称vi,vj为e的端点,也称e为vi,vj的关联边。 、相邻点、相邻边: 具有同一条关联边的点为相邻点,具有公共端点的边为相邻边。 4、环: 一条边的两个端点相同,则称该边为环(自回路)。,6.1 图与网络的基本概念,35,5、多重边: 若两端之间有多于一条边相关联,称这些边为多重边。6、简单图与多重图:不含环和多重边的图称为简单图,无环但含有多重边的图称为多重图。 7、次: 点v的关联边个数称为点v的次,记作
7、d(v)。 8、悬挂点、悬挂边: 称次为1的点为悬挂点,悬挂点所关联的边为悬挂边。,36,定理: 图G=(V,E)中,所有点的次数之和等于边数的两倍。 二、连通图 1、链、圈: 在无向图G=(V,E),称一个点和边交替的序列 vi1,ei1,vi2,ei2,vit-1,vit为连接vi1和vit的一条链。 简记为vi1,vi2,vit。其中eik=(vik,vik+1),k=1,2,t-1。 点边序列中没有重复的点称为初级链。 若链首尾两端点重合,则称为圈。,S1=v6,v5,v1,v5,v4,v3 S2=v6,v5,v1,v4,v3,37,2、连通图:如果图中任意两点间至少有一条链相连,则称
8、此图为连通图。 任何一个连通图都可以分为若干个连通子图,每个连通子图称为由原图的分图。,38,例2、有5名运动员参加游泳比赛,问如何安排比赛,才能使每位运动员都不连续地参加比赛?,39,三、子图:,e4,40,四、有向图: 1、弧、有向图: 带有方向的边称为弧,记作a= (vi,vj)。 由一些点和弧组成的集合称为有向图,记作D=(V,A) 。A表示G中弧的集合。 、路: 在有向图D=(V,A)中,称链vi1,vi2,vit为一条从vi1到vit的路。若vi1=vit,则称之为回路。,S1=v6,v5,v1,v5,v4,v3 S2=v1, v5,v1,41,6.2 树与最小生成树,一、树的概念
9、: 树:无圈的连通图。 二、树的性质: (1)树枝数等于顶点数减1; (2)树的任意两个顶点之间有且仅有一条初级链。 (3)去掉树的任一树枝,便得到一个非连通图; (4)在树中任意两个顶点间添上一条边,恰好得到一 个初级圈。 (5)在所有连通的生成子图中,生成树的边数最少。,42,三、根树(有向树): D=(V,A)中,v到D的任一顶点都有路,则v称为D的根,D称为以v为根的根树或有向树。 四、图的生成树:,43,定理2: 图G有生成树的充要条件是图G是连通图。 寻找生成树的方法: 、破圈法:在连通图中任取一个圈,去掉圈上的任意一条边,对余下的图重复这个步骤,直至无圈为止。 、避圈法:每次增加
10、一条边,且与已有边不构成圈,直至恰有p-1条边为止。,44,例、下图是某建筑物的平面图,要求在其内部从每一房间都能走到别的所有的房间,问至少要在墙上开多少门? 试给出一个开门的方案。,45,6.3 最小树问题,一、赋权图: 与点或边有关的某些数量指标,通常称之为“权”。 定义:图G中,如果每条边(弧) (vi,vj)都被赋予一个权数wij, 则称G为赋权图. 权可以表示为:距离、费用、通过能力(数量)等。 与无向图和有向图相对应,赋权图可分为无向赋权图和 有向赋权图,分别记为G=(V,E,W)和D=(V,A,W)。,46,二、最小生成树(最小树): 定义:在给定连通赋权图G=(V,E,W)中,
11、求G的生成树T=(V,E),使E各边权Wij(0)的总和最小的问题称为最小树问题。其数学模型为:,其中T*称为最小树。许多网络问题都可归结为最小树问题,如设计长度最小的公路网把若干城市联通;设计用料最省的电话线网把有关单位联系起来。,47,求最小树的方法: 、破圈法(管梅谷算法) : ()先从图G任取一个圈,并从圈中去掉一条权最大的边。若 在同一圈中有几条都是权最大边,则任选其中一边去掉。 ()在余下的子圈中,重复上述步骤,直至没有圈止。 、避圈法(Kruskal算法) :开始选一条权最小的边,以后每 步从未选的边中选取一条权最小的边,使它与已选边不构成圈,直至选够q1条边止。,48,例、今要
12、在七个城市之间修筑一个公路网,每个城市之间的公路修筑费用就是各条边上的权,试求总修筑费用最小的公路网。,49,6.4 最短路问题,最短路问题是网络理论中应用最广泛的问题之一,许多优化问题可以使用这个模型,如管道铺设,设备更新,线路安排等。给定D=(V,A,W),其中wijW,表示弧(vi,vj)的权(可以是费用、时间、距离等)。设vs和vt是D中任意两顶点,求一条路,使它是从vs到vt的所有路中总权最小的路。其数学模型为:,50,求最短路的狄克斯特Dijkstra标号法(Wij0) 1、基于以下原理:若序列vs,vi1,vik,vt是从vs到vt的最短路,则序列vs,vi1,vik必为从vs到
13、vik的最短路。2、Dijkstra标号法的基本思想是采用两种标号:T标号与P标号,T标号为临时性标号(Temporary Label),P标号为永久性标号(Permanent Label)。从vs开始,逐步向外探寻最短路。给vi点P标号时,表示从vs到vi点的最短路权,vi的标号不再改变。给vi点T标号时,表示从vs到vi点的最短路权上界的估计。凡没有得到P标号的点都有T标号。标号法每一步都是把某一T标号点改为P标号,当终点vt得到P标号时,计算全部结束。如果点vj不能由T标号变为P标号,则说明vs到vj不存在路。,51,3、步骤:(1)给vs以P标号,P(vs)=0,其余各点给T标号,且T
14、(vi)=+。(2)若vi点为刚得到P标号的点,考虑T标号点vj,(vi,vj)A。对vj的T标号进行如下的更改: T(vj)=minT(vj),P(vi)+wij (3)比较所有具有T标号点,把最小者改为P标号,即:P(vjo)=minT(vj) vj为T标号若全部点均为P标号。则停止。否则以vjo代vi,返回(2),52,(1) P(v1)=0 , T(vi)=+ , i=2,3,4,5,6,7,8T(v2)=min+,0+3=3, k(v2)=v1T(v3)=min+,0+5=5, k(v3)=v1T(v4)=min+,0+6=6, k(v4)=v1 (2) P(v2)=3 T(v3)=
15、min5,3+1=4, k(v3)=v2T(v5)=min+,3+7=10, k(v5)=v2T(v6)=min+,3+4=7, k(v4)=v2,53,(3) P(v3)=4 T(v4)=min6,4+1=5, k(v4)=v3T(v6)=min7,4+2=6, k(v6)=v3 (4) P(v4)=5T(v6)=min6,5+3=6, k(v6)=v3T(v7)=min+,5+5=10, k(v7)=v4 (5) P(v6)=6T(v5)=min10,6+2=8, k(v5)=v6T(v7)=min10,6+1=7, k(v7)=v6T(v8)=min+,6+9=15, k(v8)=v6,
16、54,(6) P(v7)=7 T(v8)=min15,7+5=12, k(v8)=v7 (7) P(v5)=8T(v8)=min12,8+6=12, k(v8)=v7 (8) P(v8)=12 (9) 反向追踪找最短路径:vvvvvv,55,例、(设备更新问题)某企业使用一台设备,在每年年底,企业都要决策下一年度是购买一台新设备呢,还是继续使用这台设备。若购买新的,就要支付一笔购置费;如果使用旧设备,就要支付维修费。设备在各年初的价格和不同年限使用的修理费用如下表所示,是确定一个五年内的设备更新计划,使五年内总支出最小。,56,30,59,23,41,22,30,22,23,31,41,16,
17、17,17,16,18,57,41,30,59,23,41,22,30,22,23,31,16,17,17,16,18,18,23,53,41,31,v,v,v,v,v3v4,点v5:d(v5)=18, v5v6 点v4:d(v4)=min17+18,23=23, v4v6 点v3:d(v3)=min17+23,23+18,31=31, v3v6 点v2:d(v2)=min16+31,22+23,30+18,41=41, v2v6 点v1:d(v1)=min16+41,22+31,30+23,41+18,59=53,v1v3或v1v4 v1v3v或v1v4v6,58,k=1时,P15(1)=
18、v1v5,w(P15(1)=9;k=2时,P15(2)= v1v2v5,w(P15(2)=7;k=3时,P15(3)= v1v3v2v5 ,w(P15(3)=2;k=4时,P15(4)= v1v3v2v4v5 ,w(P15(4)=1; 基本思想:采用“弧数不超过k”这种限制条件,让k的值从1开始,每步增加1,最多到k=n-1,则当v1 到vj的最短路Pij存在时,一定有Pij(n-1)= Pij。,Ford算法,59,60,d15 = 2 - 1 = d14 + w45, v5v4d14 = -1 +3 = d12 + w24, v4v2d12 = 3 - 4 = d13 + w32, v2v3d13 = 0 + 3 = d11 + w13, v3v1P15 = v1v3v2v4v5 ,w(P15)= 1。,