数学建模第九章排序问题ppt课件.ppt
《数学建模第九章排序问题ppt课件.ppt》由会员分享,可在线阅读,更多相关《数学建模第九章排序问题ppt课件.ppt(86页珍藏版)》请在三一办公上搜索。
1、第九章 排序问题,组合优化理论,Combinatorial Optimization Theory,第九章 排序问题,4 旅行商问题,1 单机排序问题,2 平行机排序问题,3 车间作业排序问题,一个机械加工车间要加工一批机器零件,每一个零件都具有相同的工序,即按相同的顺序在几个不同的机床上加工,但每个零件在每个机床上的加工时间可能不同 . 如何按排加工顺序才能以最短的时间加工完所有的零件 .,机械加工,Example 1,第九章 排序问题,这是一个流水线排序问题 .,第九章 排序问题,在计算机多道程序操作系统中,并发执行多个进程,任何时刻CPU只能执行一个进程,进程的到达时间是不同的,怎样调度
2、这些进程才能使CPU的利用率最高或进程的平均周转时间最短?,进程调度,事先不知道每个进程的到达时间和执行时间在线排序,事先知道随机到达时间和执行时间的分布、数学期望、方差,目标是极小化平均周转时间的数学期望随机排序,Example 2,第九章 排序问题,机场调度,在一个飞机场,有几十个登机门,每天有几百架飞机降落和起飞,登机门的种类和大小是不同的,而班机的机型和大小也是不同的.,飞机按时刻表降落和起飞,当飞机占有登机门时,旅客上下飞机,飞机要接受加油、维护和装卸行李等服务 . 由于天气和机场的原因,飞机不能起飞,登机时间推迟.,调度人员如何制订一个登机门的分配方案,使机场的利用率最高或晚点起飞
3、的飞机最少.,登机门机器, 飞机零件, 机场的规定约束条件,Example 3,第九章 排序问题,由于效率的度量方法的不同、引进不同的约束条件和机器的数量、类型等,使之得到不少的排序模型,也使排序问题有了更多的应用.,用一台或一台以上的机器加工两个或两个以上的零件(任务)时,确定加工顺序使效率最高。, 排序(Scheduling)问题,由于应用范围逐渐扩大,新的问题不断出现,因而从事这一领域研究的人与日俱增,其内容也越来越丰富,应用也越来越广泛.,第九章 排序问题,确定性排序,随机性排序,在线排序 (On-line Scheduling ),半在线排序 (Semi- On-line Sched
4、uling ),离线排序 (Off-line Scheduling ),(Deterministic Scheduling),所有数据在进行决策前都是已知的,(Stochastic Scheduling),有的数据在进行决策前是未知的,是随机变量,但它们的分布是已知的,常见的目标函数(效率的度量方法),用 C = (C1,C2,Cn) 表示任务的完工时间,极小化的目标函数总是完工时间 Cj 的函数.,(1) 时间表长,时间表长(schedule length,makespan)定义为,它等于最后一个被加工完任务的完工时间,小的时间表长意味着处理机有高的利用率.,第九章 排序问题,第九章 排序问
5、题,(2) 平均加权流时间和加权总完工时间,平均加权流时间(mean weighted flow time)是,任务的到达时间,其中 是任务Tj 的流(周转)时间,,它等于任务在系统中等待时间和加工时间的和.,对平均加权流时间进行变形,可得极小化 F 相当于极小化加权总完工时间(total weighted completion time ),( 如果 wj = 1 j = 1,2,n 即 为总完工时间),第九章 排序问题,式中的第一项的分母和第二项都是常数,所以,第九章 排序问题,(3) 最大延误,最大延误(maximum lateness)定义为,任务的截止期限,(4) 加权总误工,加权总
6、误工(total weighted tardiness)是,其中 Lj = Cj dj 是任务 Tj 的延误时间 .,其中 Dj = max Cj dj ,0 是任务 Tj 的误工时间 .,第九章 排序问题,(5) 加权误工任务数,加权误工任务数(weighted number of tardy tasks)是,第九章 排序问题,排序问题的三要素:,机器(处理机)、作业(任务)、目标函数,用三元组,描述一个排序模型,:机器的数量和类型;:作业的约束条件; :优化的目标函数.,基本假设:,(1)任务或作业和处理机都是有限的;,(2)在任一时刻,任何处理机只能加工一个任务或一 道工序;,(3)极小
7、化单一目标函数.,第九章 排序问题,Definition 1,对于一个可行排序,如果有准备好被加工的任务或工序,不准有空闲的处理机,称这种可行排序为无耽搁排序(nondelay schedule);否则称为耽搁排序(delay schedule)。,无耽搁排序相当于有工作可做就不能闲着. 对于大多数排序问题,包括所有的可中断排序,最优排序是无耽搁排序,然而也有一些不可中断排序问题的最优排序是耽搁排序.,第九章 排序问题,排序问题,1:表示一台机器rj: 表示任务有不 同的到达时间,n = 2,t = (10,5),r = (0,1),w = (1,5),该问题有两个可行排序,用 Gantt C
8、harts 表示:,0 10 15,A,B,0 1 6 16,B,A,nondelay schedule:,delay schedule:,Z1 = 10*1+15*5 = 85,Z2 = 6*5 + 16*1 = 46,Example 4,第九章 排序问题,阿克米自行车的装配问题,这是一个 排序问题.,由两名熟练工人进行装配,要求装完时间最早.,0 2 5 7 8 9 1516 23 31,P1,P2,A,B,C,E,F,G,H,I,J,D,Example 5,第九章 排序问题,如果每道工序的加工时间减少1,最优时间表会小于 31 吗?是 26 吗?,0 1 3 4 5 7 13 20 27
9、,A,B,J,D,C,E,F,G,H,I,P1,P2,最优耽搁排序,第九章 排序问题,A,B,C,D,E,F,G,H,I,J,0 1 3 4 5 7 1213 18 20 32,P1,P2,最优无耽搁排序,第九章 排序问题,如果加工时间不变而增加一个装配工人,最优时间表会小于31 吗?,最优耽搁排序,0 2 4 5 6 8 14 15 22 30,P1,P2,P3,A,D,F,G,E,C,H,B,I,J,第九章 排序问题,最优无耽搁排序,0 2 4 5 6 8 1415 21 36,P1,P2,P3,A,D,E,F,G,H,I,B,C,J,Go back,1 单机排序问题,第九章 排序问题,单
10、机排序问题是最简单的一类排序问题,同时也是最重要的排序问题之一. 首先单机排序问题比较容易求出解决方法,这些方法对于研究较复杂的排序问题具有指导作用,可为处理复杂排序问题提供近似算法;其次,单机排序问题大量存在于现实生活中,具有广泛的实际背景,许多实际问题都可以归结为单机排序问题 .,1 单机排序问题,设一个机修车间有 n台不同的机床要进行大修, 它们的维修时间已知为 t1, t2, , tn , 而机床 Ai 在车间逗留的过程中每单位时间的损失费为 wi (i =1,n),如何排序?,试求一种排序,使得 n台机床在修理完毕时,总的损失为最小.,A1,A2,A3,A4,如何排序?猜,Examp
11、le 6,第九章 排序问题,设 n台机床维修的排序为 (k1, k2, , kn) 则机床,的维修完毕的时间为,n 台机床按此排序维修完时,总的损失费为,本题要寻找一种排序 (r1, r2, , rn)满足,Solution :,1 单机排序问题,设有两排序,(1),(2),分析排序(1)与(2)的优劣,总损失费仅在km,km+1处有区别,按(1)排序,按(2)排序,第九章 排序问题,排序(2)优于排序(1).,Theorem 1,满足下列条件的排序 (r1,r2,rn),为问题 的最优排序 .,1 单机排序问题,如: 考虑排序问题,其中 n = 5, t = (12,4,7,11,6), w
12、 = (4,2,5,5,6),由,此时,得最优排序为,第九章 排序问题,在 Ex. 6 中,如果考虑各待维修的机床在机修车间平均逗留时间(或总逗留时间)最短,,如何排序?,这只是 Ex. 6 中 wj =1/n 和 wj = 1 的特例,为最优排序 .,或,所以,满足下列条件的排序(r1, r2, rn),1 单机排序问题,以下讨论的排序问题都与工期有关,即每个任务均有一个工期。工期 dj表示对任务 Tj限定的完工时间.如果不按期完工,应受到一定的惩罚.,任务没有准备时间的最大延误的排序问题比较简单,只需将任务按最早工期优先(Earliest Due Date first,简记 EDD)规则,
13、就可以得到最优排序. 按照这一规则,任务按 dj 不减的顺序进行排序.,第九章 排序问题,Theorem 2,prove,由EDD规则可以求得最优排序,Go on,对于问题 EDD 规则可以得到最优排序 .,Example 7,考虑排序问题 ,其中 n = 6 , t = ( 3, 1, 4, 1, 3, 2),d = (2, 10, 6, 4, 11, 12),1 单机排序问题,Theorem 2 的证明,Go back,只需证明任何不满足EDD规则的排序,均可转化为满足EDD规则而目标函数不增。,设某一排序 s 违反了 EDD 规则,则在此排序中,至少有两个相邻任务,p dk dj,p d
14、k dj,Tj,Tj,Tk,Tk,第九章 排序问题,在许多情况下,延误时间的长短并不重要。只要有延误发生,造成的影响是一样的. 例如用航天飞机发射太空站,每个太空站都要完成特定的太空观测任务, 误期发射的太空站将失去作用. 此时,目标应使误期发射的太空站数目最少.,误工任务数问题,Example 8,设有 n 个工件 T1, T2, , Tn 要在一台机器上加工,加工时间分别为 t1, t2, , tn ,要求的交货日期分别为 d1, d2, , dn . 试求一种加工排序,使得误期交货的工件最少 .,算法:,(1)把任务按 EDD 规则排序;,(2)计算各任务的完工时间,如果当前排序已无延
15、误任务,则转(5),否则转(3);,(3)找到第一个延误任务,不妨设为第 k 个任务;,(4)在前 k 个任务中选取并删除加工时间最长的任 务,得到一个部分排序,转(2);,(5)将删除的任务以任何顺序排在所得的部分排序 之后,得到最优排序.,prove,Go on,1 单机排序问题,Theorem 3,对于问题 , 上述算法给出最优排序,第九章 排序问题,Theorem 3 的证明,假定 ,令 Fk 表示前 k 个任务构成的集合 T1,T2,Tn 的子集,满足下述两个条件:,集合 Fn 与最优排序相对应 . 下面用数学归纳法证明算法产生的排序就是 Fn .,1、在任务集 T1,T2,Tk 的
16、所有子集中,Fk 具有最 多按期完工的任务,按期完工的任务数记为 Nk ;2、在 T1,T2,Tk 的所有含有 Nk 个按期完工任务 的子集中,Fk 中的任务所用的总加工时间最少 .,1 单机排序问题,分两种情况讨论:,当 k = 1 时,显然满足;,假设对前 k 个任务算法产生的排序是 Fk,Fk 满足上述两个条件;,对前 k+1 个任务,由 Fk 出发,按算法要求可产生满足上述两个条件的 Fk+1 ,Case 1 将任务 Tk+1 加入 Fk 后,Tk+1 按期完工 . 此时, Nk+1 = Nk + 1 , Fk+1 = Fk Tk+1 ,显然上述两个条件满足;,第九章 排序问题,Cas
17、e 2 将Tk+1 加入 Fk 后,任务Tk+1 没有按期完工 .,由 Nk 是任务集 T1,T2,Tk 的子集中按期完工任务数最大的一个,以及 Fk 是含有 Nk 个任务的子集中加工总时间最少的一个,可知 Nk+1 = Nk . 将 Tk+1 加入 Fk 中没有增加按期完工的任务数,但应从任务集 Fk Tk+1 中删除加工时间最大的一个任务,因此 Fk+1 满足上述两个条件 .,1 单机排序问题,按EDD规则,重新排序得右表.,此时,任务T8 延误,而在前三项任务中, T8 的加工时间最长,所以将T8 放至最后,得一新表.,Example 9,考虑排序问题 ,其中 n = 8,t = ( 1
18、0, 6, 3, 1, 4, 8, 7, 6 ) , d = (35, 20, 11, 8, 6, 25, 28, 9 ),Solution :,第九章 排序问题,此时,任务 T7 延误,而在前六项任务中, T6 的加工时间最长,所以将 T6 放至最后,得一新表.,1 单机排序问题,目前,前六项任务中已没有延误任务,所以此时为最优排序.,有两个任务T8 、T6 延误.,第九章 排序问题,设 Dj 表示任务 Tj 的误工时间,使整个误工最小的排序是十分重要的 . 因为单纯讨论使误工任务数最少可能会使有些任务的等待时间变得很长 .如果将目标函数换成 ,研究它的极小化,则不会产生上述现象,这也很有应
19、用背景 .,自然会想到能否按 EDD 规则排序,即按 dj 不减的顺序进行排序 . 能得到最优排序吗?,1 单机排序问题,设排序 (r1, r2, , rn)(1) 满足,与排序 (r1, , ri+1, ri, , rn)(2) 进行比较:,若 Tri , Tri+1 在(1)中不误期,则在(2)中Tri+1 不误期,而在 Tri 前插入 tri+1单位时间,就有误期的可能;,若 Tri 在(1)中不误期,而 Tri+1 在(1)中误期 l 单位时间,则由于 ,任务 Tri 在(2)的误期,第九章 排序问题,Go back,若 Tri 在(1)中有误期 l 单位时间,而Tri+1 在(1)中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 第九 排序 问题 ppt 课件

链接地址:https://www.31ppt.com/p-1340052.html