数学建模 - 第九章 排序问题
【经典】建模-组合优化模型-排序
分析:
加工工件在机床A上有加工顺序问题,在机
排序问题
排序问题
排序问题指n 种零件经过不同设备加工时 的顺序问题。其目的是使加工周期为最短。
分类:
单台机器的排序问题
单件作业(Job-shop)排序问题: 工件的加工路线不同
多台机器的排序问题
流水作业(Flow-shop)排序问题: 所有工件的加工路线完全相同
n × 2 排序问题
即n 种零件经过2 种设备进行加工,如何 安排?
床B上也有加工顺序问题。可以证明:最优 排序方案可以只在机床A、B上加工顺 序相同的排序中寻找。即使如此,所有
可能的方案仍有n!个,这是一个不小的数, 用穷举法是不现实的。
问题:
如何用动态规划方法来研究同 顺序两台机床加工N个工件的 排序问题?
动态规划求解
最优排序方案:尽量减少在B上等待加工的 时间,使总加工时间最短。
最优化原理:作为整个过程的最优策略具有这样的 性质:无论过去的状态和决策如何,相对于前面的决 策所形成的状态而言,余下的决策序列必然构成最优 子策略。”也就是说,一个最优策略的子策略也是最 优的。
n × 1 排序问题
即n 种零件经过1 种设备进行加工,如何安排?
例一、
零件代号
j1
加工时间(t) 3
动态规划中能 处理的状态转移 方程的形式。
动态规划方法的关键在于正确地写出基本的递推 关系式和恰当的边界条件(简称基本方程)。要 做到这一点,就必须将问题的过程分成几个相互 联系的阶段,恰当的选取状态变量和决策变量及 定义最优值函数,从而把一个大问题转化成一组 同类型子问题的求解中, 均利用了它前面的子问题的最优化结果,依次进 行,最后一个子问题所得的最优解,就是整个问 题的最优解。
《数据结构与算法》第九章排序.
if(elem[j].key>elem[j+1].key) 19237 27 49 65
elem[ j ] elem[ j + 1 ] 42979 49 76
}
4979 97
}
n1 n(n 1)
i
i 1
2
时间复杂度T(n) = O(n2)
初 第 第 第 第 第第第 始 一 二 三 四 五六七 关 趟 趟 趟 趟 趟趟趟 键 排 排 排 排 排排排 字 序 序 序 序 序序序
9.1 概述
排例序::将将关数键据字元序素列的:一52个4任9意80序3列6 1,4重58新6排1列23成一 调个整按为关:键1字4 有23序3的6 序49列5。2 58 61 80
假设含 n 个记录的序列为{ R1, R2, …, Rn },其相应 的关键字序列为 { K1, K2, …, Kn }
i1
2
练习
• 简单选择排序是一种不稳定的排序方法。 • 请举例说明。
(1) 21 25 49 25* 16 08
9.5.2 堆排序
▪ 堆排序是选择排序的改进(1964提出)。 ▪ 在排序过程中,将r[1]到r[n]看成是一个
完全二叉树顺序存储结构,利用完全二叉 树中双亲结点和孩子结点之间的内在关系 来选择最小或最大元素。
i =4
38 49 65 76 97 13 27 49
i =5
13 38 49 65 76 97 27 49
排序过程:先将序列中第 1 个记录看成是一个有序子序列,
i =6
13 27 38 49 65 76 97 49
然后从i =第72 个记录13开始27,逐3个8 进4行9插入49,直65至整7个6序列97有序。
数学建模-圆盘内零件排序
圆盘内零件排序问题摘要:1957年,人类第一颗人造地球卫星在拜科努尔发射场被发射上地球轨道,苏联于1961年4月12日实现了首次载人航天.从此人类便开始了漫长的太空探索。
在中国第一颗人造地球卫星“东方红”一号上天之后,当时的国防部五院院长钱学森就提出,中国要搞载人航天。
1999年11月20日,中国第一艘无人试验飞船“神舟”一号起飞,并成功着陆,接着“神舟”二号,三号,四号相继发射成功.在2003年10月15日9时,我国自行研制的“神舟”五号载人飞船也顺利完成任务。
航天技术被广泛应用于军事侦察和地球资源勘测,以及进行临时性的天文观测和发展航太医学。
航天飞船一般是由轨道舱、返回舱和推进舱三部分组成,推进舱位于飞船的尾部,形状像一个圆筒,主要用于飞船的姿态控制、变轨和制动,因此,在零件的生产和组装过程中对工艺的要求非常高.飞船尾部中一套设备由不同的由24个零件组成,设备的24个零件均匀分布在等分成六个扇形区域的一个金属圆盘的边缘上,零件的排序不仅要是每个区域内的质量之差尽可能小,以保持整个尾部的平衡,而且相邻零件之间体积差距越大越好.本文对此问题建立了三个优化模型,并给出了相应算法,首先由质量约束,以相邻区域质量差最小为目标得出最优方案,再加以各零件的体积约束进行修正,最后对零件质量体积进行灵敏性分析.模型Ⅰ:针对问题一,建立了模型,采用0-1规划模型,引入0-1变量:若第i号(i=1,2,…,24)零件装在第j号区域则C ij=1,否则C ij=0.由于每个零件只能放入一个区域,一个区域只能放4个零件,再结合相邻区域质量差小于4这三个约束条件,再以相邻区域间质量差的总和最小为目标函数,然后用lingo8.0无限制版解出这些变量。
.模型Ⅱ:针对问题二,考虑到不光对区域间质量有约束,而且相邻零件之间体积也有约束,所以问题转化为一个圆盘上24个零件的排序问题,所以将圆盘划分为24个区域,沿用模型Ⅰ的思想,再加上体积约束进行修正,得到模型Ⅱ.即在保证质量最优的前提下加入对各零件的体积约束,限定大于3,用Lingo软件实现.模型Ⅲ:建立方差分析模型,根据给出的数据,分析分布特征,分成两组,用方差分析对数据进行调整,并求出调整范围。
第九章排序练习题及答案
置上。
A 归并排序
B 插入排序
C 快速排序
D 选择排序
17.将上万个一组无序并且互不相等的正整数序列,存放于顺序存储结构中,采用( )
方法能够最快地找出其中最大的正整数。
A 快速排序
B 插入排序
C 选择排序
D 归并排序
18 一般情况下,以下四种排序方法中,平均查找长度最小的是
()
A 归并排序
B 快速排序
1a直接插入排序序号101112关键字834063138435965739796115408363138435965739796115406383138435965739796115134063838435965739796115134063838435965739796115133540638384965739796115133540638384965739796115133540576383849639796115133539405763838496796115101335394057637983849661151113353940576163798384961512131535394057616379838496直接选择排序序号101112关键字8340631384359657397961151340638384359657397961151315638384359657397961401315358384639657397961401315353984639657837961401315353940639657837961841315353940579663837961841315353940576163837996841315353940576163837996841315353940576163798396841013153539405761637983968411131535394057616379838496快速排序关键字834063138435965739796115第一趟排序后154063136135795739839684第二趟排序后131563406135795739838496第三趟排序后131539406135576379838496第四趟排序后131535396140576379838496第五趟排序后131535395740616379838496第六趟排序后131535394057616379838496第七趟排序后131535394057616379838496堆排序关键字
数据结构-UNIT 9 排 序
希尔算法基本思想: 希尔算法基本思想:
先将整个待排序的数据元素序列分割成若干个子序列, 先将整个待排序的数据元素序列分割成若干个子序列, 分别对各子序列进行直接插入排序, 分别对各子序列进行直接插入排序,等整个序列中的数据 元素基本有序时, 元素基本有序时,再对全体数据元素进行一次直接插入排 例如, 序.例如, 第一趟将元素序列分成m =n/2个长度至多为 个长度至多为2的子 第一趟将元素序列分成m1=n/2个长度至多为2的子 序列,这时子序列中两个相邻元素的下标相差step1=n/2, 序列,这时子序列中两个相邻元素的下标相差 , 为增量(步长), ),对 称step1为增量(步长),对m1个子序列进行直接插入排 序; 第二趟将元素序列分成m 第二趟将元素序列分成 2=m1+step1/2个长度至多 个长度至多 的子序列, 为2的子序列,这时子序列中两个相邻元素的下标相差 的子序列 step2=step1/2,并对 2个子序列进行直接插入排序; ,并对m 个子序列进行直接插入排序; 其他各趟以此类推,直到stepk=1为止. 为止. 其他各趟以此类推,直到 为止
2.1 直接插入排序
基本思想: 基本思想: 当插入第i( 当插入第 (i≥2)个数据元素时,前面的 个元素 )个数据元素时,前面的i-1个元素 已经排好序,将元素S[i]提出暂存临时变量 提出暂存临时变量temp,用 已经排好序,将元素 提出暂存临时变量 , temp依次与 依次与S[1], S[2], …,S[i-1]进行比较,找到插入 进行比较, 依次与 , 进行比较 位置即将S[i]插入,原来位置上的元素顺序后移. 插入, 位置即将 插入 原来位置上的元素顺序后移.
§4
பைடு நூலகம்
选择排序
基本思想 每一趟从待排序的序列中选取一个当前最小的元素, 每一趟从待排序的序列中选取一个当前最小的元素,也 就是第一趟从n个数据元素中选取键值最小的元素 个数据元素中选取键值最小的元素; 就是第一趟从 个数据元素中选取键值最小的元素;第 二趟从剩下的n-1个元素中选取键值最小的元素,即整 个元素中选取键值最小的元素, 二趟从剩下的 个元素中选取键值最小的元素 个序列中键值次小的元素;依此类推, 个序列中键值次小的元素;依此类推,直到序列中最后 剩下一个元素为止.这样,由选取键值的顺序,便得到 剩下一个元素为止.这样,由选取键值的顺序, 按键值有序的序列. 按键值有序的序列.
数学建模-B题-球队排名问题-答案详解
承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):一个给足球队排名次的方法戚立峰毛威马斌(北京大学数学系,100871)指导教师樊启洪摘要本文利用层次分析法建立了一个为足球排名次的数学模型.它首先用来排名次的数据是否充分做出判断,在能够排名次时对数据的可依赖程度做出估计,然后给出名次.文中证明了这个名次正是比赛成绩所体现的各队实力的顺序.文中将看到此模型充分考虑了排名结果对各场比赛的重要性的反馈影响,基本上消除了由于比赛对手的强弱不同造成的不公平现象.文中还证明了模型的稳定性,这保证了各队在发挥水平上的小的波动不会对排名顺序造成大的变动.本模型比较完满地解决了足球队排名次问题,而且经过简单修改,它可以适用于任何一种对抗型比赛的排名.§1 问题的提出及分析本题的表1给出的是我国12支足球队在1988-1989年全国甲级联赛中的成绩,要求通过建立数学模型,对各队进行排名次.按照通常的理解,排名的目的是根据比赛成绩排出反映各队真实实力状况的一个顺序.为达到这一点,一个好的排名算法应满足下面一些基本要求:(1)保序性;(2)稳定性;(3)能够处理不同场比赛的权重;(4)能够判断成绩表的可约性;(5)能够准确地进行补残;(6)容忍不一致现象;(7)对数据可依赖程度给出较为精确的描述.可以想象,各队的真实实力水平在成绩表中反映出来(见§3假定Ⅱ),所以根据排名目的,我们要求排名顺序与成绩表反映的各队实力水平的顺序是一致的,这就是要求(1).也就是说,如果a比b表现出色,a的名次就应排在b前面.但a比b出色不能只是由a对b这一场比赛所决定,必须参考a,b相对于其他队的成绩,像a平c,c胜d,d平b这组比赛对a,b的相对表现是有影响的.为使一个算法满足保序性,就必须充分考虑到将a,b连结起来的所有场比赛.下面的例子表明积分法布满足保序性.例1 a平c,c胜d,d平b,a平b.在上述比赛中a表现应比b出色,但按积分法计算a,b都积2分.其原因就在于积分法没有把a平c,c胜d,d平b这组比赛中所体现的a,b实力对比情况考虑进去;要求(2)就是说成绩表小的变动不会对排名结果造成巨大影响.这是由于球队发挥水平存在正常波动而必须提供的,如果这种正常的小波动引起名次的巨大变化,那么排名就不令人信服;要求(3)使得不同场比赛在排名中的地位不同,这是因为在实际比赛中,往往会有的队不幸遇到较强的队而输掉.为了避免由于对手的强弱不同造成的不公平,要求(3)是必须的.但现在的排名制度大都满足不了要求(3),以至于许多时候“运气”对名次起了重要作用;要求(4)—(7)是为了适应实际比赛中可能会出现在一些复杂情况而提出的.首先是可能某两个队之间没有打比赛,我们称之为数据(成绩)残缺.对于两队成绩残缺,只能通过它们同其他队的比赛成绩来判断它们的实力比较.如果残缺元素过多,就有可能导致参赛队分成两组,组与组之间没有比赛,称这种情况为成绩表可约,这时显然是不应该排名次的.这样就有要求(4),(5);其次是前后比赛成绩矛盾,比如说a胜b,b胜c,c平a,称这种情况为数据不一致.如果不一致的情况过于严重,说明比赛偶然因素太大,数据的可依赖程度太低,应该考虑放弃比赛成绩.所以排名算法还应满足(6),(7).本文使用的层次分析法的特征根方法已满足了上述要求,下面将在§2中给出具体算法.§3中给出算发满足上述要求的解释和论证.§2 模型设计及其算法一、基本假设和名词约定假设Ⅰ参赛各队存在客观的真实实力(见名词约定1).这是任何一种排名算法的基础.假设Ⅱ 在每场比赛中体现出来的强队对弱队的表面实力对比是以它们的真实实力对比为中心的互相对立的正态分布.(见名词约定2)这条假设保证了我们可以以比赛成绩为依据对球队的真实实力进行排名,另外它在很大程度上反映了球队水平发挥的不稳定性.名词约定1 .称w =(12,,,n w w w …)为真实实力向量,如果i w 的大小表现了i T 的实力强弱.当i w 的大小表现了i T 在比赛中出色程度时,称w 为排名向量.由假设Ⅱ,两者应是近似相同的,以后就把它们当成同一个.2 .称i T 对j T 这场比赛中体现出来的i T 对j T 的相对强弱程度为i T 对j T 的表面实力对比,一般记作ij a ,当i T 对j T 成绩残缺是约定ij a =0.显然地有1()0,(),() 1.ij ji ii iji a ii a iii a a ≥== (2.1) 矩阵A=()ij n n a ⨯就称为比赛成绩的判断矩阵,它是可以通过各种方法(见§5)从比赛成绩中求出来的.由假设Ⅱ,若i T 对j T 成绩不残缺且1i j w w ≥时有2~(,)ij i j ij a N w w σ(2.2) 这里w 是真实实力向量.3 .称方阵n n A ⨯为正互反对称的,若(1)ij a >0,(2)1ji ija a =,1,i j n ≤≤.显然一个无残缺的比赛成绩的判断矩阵是正互反对称的.4 .称矩阵n n A ⨯是可约的,若A 能用行列同时调换化1240AA A ⎛⎫⎪⎝⎭,这里1A ,4A 都是方阵,在[1]的227页证明了一个判断矩阵可约当且仅当成绩表可约.5 .称判断矩阵A 是一致的,若对任意1,,i k j n ≤≤满足ij jk ik a a a ⋅=.显然地,A 一致则存在w ,使得()in n jw A w ⨯= (2.3) 6 .称矩阵A 的最大正特征根max λ为主特征根;对应于max λ的右特征向量w 称为主特征向量,若11ni i w ==∑且i w >0.由非负矩阵的Perron-Frobenius 定理,一个判断矩阵A 的max λ存在唯一且可以让对应于max λ的特征向量()1w 的每个分量都大于零,令()()111nii w w w ==∑即得主特征向量.二、模型设计与算法我们的模型的主要部分是一个算法,模型的输入是一张成绩表,输出是关于是否可约的判断、数据可依赖程度值和排名次的结果.算法(一)根据比赛成绩表构造判断矩阵A . i 从1到n,j 从1到n 的循环.1)若i T 与j T 互胜场次相等,则1净胜球=0时令1ij ji a a ==;跳出作下一步循环; 2i T 净胜球多时以i T 净胜j T 一场作后续处理. 2)若i T 净胜j T k 场且k>0,则2,14;19,4.ij k k b k ≤≤⎧=⎨>⎩ 2ij i m T =胜j T 平均每场净胜球数;1,2;0,02;1,0.ij ij ij ij m d m m ⎧>⎪=≤≤⎨⎪-<⎩3,1/ij ij ij ji ij a b d a a =+=.3)若i T 与j T 无比赛成绩,则0ij ji a a ==.(二)检测A 的可约性,如果可约则输出可约信息后退出. (三)构造辅助矩阵~A i 从1到n,j 从1到n 循环~,01,A 000.ij ij ij i i ij a i j a a m i j m i a ≠≠⎧⎪=+=⎨⎪=⎩且;,其中为的第行的个数;,(四)计算~A的主特征根max λ和住特征向量w .1)允许误差ε,任取初始正向量()()()()()000012,,,Tnxx x x =…,令k=0,计算(){}001max i i nm x ≤≤=;()()()()()0000101,,Tny y y x m ==…. 2)迭代计算()()1k k xy +=~A;{}111max k k i i nm x ++≤≤=; ()()1111k k k y x m +++=; 1k k =+; 直到1||k k m m ε+-<.3)()max 1;k k n k ii y m w yλ===∑.(五)按w 各分量由大到小的顺序对参赛各队排名次. (六)计算220011//i j i j ijijij ij w w w w i j i j a a i ja a h w w w w >=≠≠>⎛⎫⎛⎫=-+- ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭∑∑;1(1)22n ii m n n Y =-=-∑;其中i m 为A 的第i 行0的个数.根据2h 查2x 表得到可依赖程度2(2)a P x h =>.关于算法的几点说明算法的第(一)步可以有多种不同的方法,这在§5还将讨论.第(二)步实际上是把A 看作有向图的邻接矩阵表示求图是否连通.算法是标准的,可参阅任何一本有关于算法的书,这里省略.它在可约时作的退出处理保证了以后各步处理的是一个不可约阵.第(三)步使用的是幂法,其整个算法收敛性和正确性的证明可参阅[1]的103页.第(四)步是一个排序,可参阅任何一本有关算法的书.第(五)步我们举了一个例子,若算出2h=47.56,r=48,则在2x 表的自由度为48一行找到47.56,它所在的列的a 值为65%左右.§3 算法的理论分析一、排名的合理性和保序性要求关于为什么无残缺的判断矩阵A 的主特征向量就是排名向量是层次分析法中特征根发的基础,可以在[1]的211页找到详细证明,这里只作简单说明.先假定比赛无残缺,此时算法中~A =A .先看一下A 为一致矩阵时,有(2.3)式存w 使得A (/)i j n n w w ⨯=,显然向量w 就是排名向量.而我们有 1(/),1,2,,ni j j i i w w w n w i n =⋅=⋅=∑…;即A w nw = (3.1) 在[1]的109页证明了下述定理:定理 n 阶互反矩阵是一致的,当且仅当max n λ=.再由(3.1)可见w 还是A 的主特征向量,这样,对于一个一致矩阵A,求排名向量就是求A 的主特征向量.对于一个不一致的判断矩阵A (注意:无残缺),令1,||A ||ij i j na ≤≤=∑(3.2)1/||A ||,1ni ij i w a i n ==≤≤∑; (3.3)由于i w 是A 的第i 列元素(即i T 与其他队的表面实力对比)的和被||A||除,可以猜测它给出了i T 的排序权重.但正如问题分析中所提到的,i T 与j T 的实力对比必须考虑到将i T 与j T 连结起来的所有场比赛,反应到判断矩阵A 上就是所有1121k ii i i i j a a a -…都要考虑进去.令()k ij a 是A k 的第i 行j 列元素,不难看出()112k-1121111k n n nk ij ii i i i j i i i a a a a -====∑∑∑…… (3.4)而()k ij a 就是考虑了所有经过k 场比赛将i T ,j T 连结起来的路径后反映的i T ,j T 的相对强弱,称其为i T 对j T 的k 步优势.当1k i j -=时11k i j a -=,所以(3.4)式成为111211121()1111k k k k k n n n nk ijii i j ii i j i i i i i iaa a a a -----====≠=+∑∑∑∑…………;注意到等式右端一项正是(1)k ij a -,所以k 步优势就隐含了k-1步以及k-2, (1)同(3.3)式,令()()1/||A ||,1,,nk k k ij j wa i n ===∑…; 再令()()()1(,,)k k k Tnw w w =…,可以想象,当k 足够大时,()k w 就给出了A 所反映的排名向量.在[1]的104页正证明了等式A lim A k T k k ew e e→∞=,其中(1,1,,1)T e =…;w 是A 的主特征向量.即 ()lim k k w w →∞=;所以在充分考虑了足够步优势后得到的排名向量()w ∞就是A 的主特征向量w .上面的讨论表明在比赛无残缺时,我们的排名是合理的和保序的,下面来看看残缺的情况.二、残缺的处理对于一个残缺的判断矩阵A,可以通过下述方法转化成一中讨论的情形,0,,0,ij ij ij ijij ij a a c d a d ≠⎧=⎨=⎩其中为正数,如果这样得到得矩阵C=()ij n n c ⨯的主特征向量为w ,那么当/ij i j d w w =时,我们认为补残是准确的.如果令,0;/,0;ij ij ij ij ij a a c w w a ≠⎧=⎨=⎩_,0,;0,0,;1,,i ij ij ij ij ii a a i j a a i j m i j m ≠≠⎧⎪==≠⎨⎪+=⎩是A 的第行0的个数;C ()ij n n c ⨯=;~~A ()ij n n a ⨯=;则有下面命题成立:命题 Cw w λ=等价于~A w w λ=. 证 1,1,,.nij i i j c w w i n λ===∑…110,0(/),1,,.ij ij nnij j i j j i i j j a i ja a w w w w w w i n λ==≠≠=⇔+⋅+==∑∑…1(1),1,,.nij j i i i j i j a w m w w i n λ=≠⇔++==∑…~1,1,,.nij i i j a w w i n λ=⇔==∑…由上述命题还可知,C 的最大特征根也是~A 的主特征根,C 的主特征向量也是A 的主特征向量.这样,我们只需解~max A w w λ=即可,这正是算法(三)、(四)步作的工作.从上面讨论可知,本模型对于残缺的处理是非常准确的,满足了要求(1),(5).另外算法第(二)步对成绩表的可约性作出了判断,这也满足了因为残缺而提出的要求(4).下面继续讨论其余四个要求三、对手的强弱对自己名次的影响排名向量满足~max A w w λ=,即~1max1,1,2,,.ni ijjj w a w i n λ===∑…如果i T 对k T 成绩不残缺,则~0ik ik a a =>,固定ik a ,令k w 变大,则~ik k a w 就会变大,从而引起i w 变大.这实际上是排名结果对每场比赛权重的反馈影响.这样的话,若i T 对k T 战线固定,i T 排名靠前,k T 也会因此受益.这就满足了要求(3).四、模型稳定性的分析不加证明地引用下面定理([1]103页).定理 则A 为n n ⨯复矩阵,1λ是A 的单特征根,B 是n n ⨯矩阵,则一定可以从A+e B (其中|ε|足够小)的特征根中找到一个特征根~λ满足~1()O λλε=+. 由名词的约定6中解释~A 的最大特征根是单的,由上述定理可知,只要判断矩阵的变动微小,主特征根的变动是微小的,进一步容易证明线性方程组~max (A )0E w λ-=的满足111n i w ==∑的解的变动是微小的,即主特征向量的变动是微小的,排名是稳定的,满足了要求(2).五、关于可依赖程度的分析很明显本模型是容忍不一致现象的,即满足要求(6).当A 是一个残缺的不一致矩阵时,由它得到的排名向量设为w ,由名词约定(1)我们认为这既是真实实力向量,令1,,1,,./ijij i j a i j n w w δ=-=…(3.5) 则由(2.2)式可知/1i j w w ≥时,2/~N(0,).//ij i jij ij i j i j a w w w w w w σδ-= (3.6)为计算方便,我们进一步假定/1i j w w ≥时,22/iji jw w σσ=为常数, (3.7)令 22/1/100,i j i j ij ij ij ij w w w w a a i j h δδ>>≠≠>=+∑∑. (3.8)则h 可看作A 的前后矛盾程度,再由(3.6),(3.7)可知22/~r h x σ, (3.9)其中 1(1)22n i i m n n r --=-∑, (3.10) i m 为第i 行零的个数.那么对某个固定0A ,可以通过(3.10)求出0r ,通过(3.8)求出0h ,设随机变量022/~r h x σ,则查2x 表可得到022()h ha P σσ=>(3.11) 称a 为0A 的可依赖程度.则一个判断矩阵0A 的可依赖程度为a 就表示,如果与0A 相同的几个队在同样的比赛程序(队编号相同,残缺元素相同)下踢大量赛季的比赛(假定各队水平不长进),判断矩阵为0A 的这次的前后矛盾程度0h 比大约a ⨯100%的赛季的比赛前后矛盾程度h 要小.2σ的值可以用统计的方法估出,在本模型中我们只是简单地取2σ=12.a 临界值的确定可以很灵活地由比赛组织者决定,也可以通过大量好的和坏的比赛成绩比较给出一个值.这样,我们的模型就满足了要求(7).§4 模型运行结果的分析我们在计算机上实现了上述模型,并对表1中的数据进行了排名,结果是令人满意的,运算时间小于1秒,得到的结果是:排名顺序(由强到弱):731921081265114,,,,,,,,,,,.T T T T T T T T T T T T数据可依赖程度为65%;7T 踢了9场比赛,全部获胜,4T 踢了9场比赛全部输掉,所以7T 第一而4T 最末是显然的.下面考虑一对水平接近的队3T 和1T .在3T ,1T 与其它队的比赛中,只有945,,T T T 的比赛中,1T 成绩比3T 稍好,而在与其余6个队的比赛中,3T 成绩都优于1T ,而且在3T 与1T 比赛时3T 在净胜球方面占了上风,因此将3T 排在1T 前面是合适的.数据可依赖程度为65%说明表1中所给数据还是不错的,当然优于算法中取2σ=12是先验的,这个指标暂时还不是准确的.模型有缺点及改进方向通过与现行的一些排名方法比较,上述模型的优势是很明显的;1)它存在反馈机制,并且具有稳定性,保证了排名的公平和令人信服;2)能较准确地处理残缺,不一致等性质差的数据,对比赛程序没有严格的要求;3)灵活机动,这包括了它提供了对比赛成绩表进行取舍的参考指标,以及它适合任意N 个队任何对抗型比赛的排名;4)满足保序性.模型主要的一个缺点就是算法复杂,必须用到计算机,而且对指导教练制定战略造成了困难,这是无法改进的,但这同时也使球队的战术水平在比赛中的地位上升,有利于刺激竞争.另外我们还基于另一种思路建立了一个便于手算的模型,优于算法简单,效果没有本模型好,本文中省略.在从成绩表构造判断矩阵时用到的方法也不是最好的,它只是为了简单和较合乎常识,这一步在整个模型里引入的误差最大.稍微复杂一点的方法是根据成绩通过查表或专家咨询获得实力对比的值.另外一个不足之处是在某些残缺元素过多的情况下排名的稳定性和可靠性较低,而可依赖程度这个指标并没有考虑这些情况.如比较下面两个判断矩阵,它们的差别就不大.11102110000112011⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭与11021100001110112⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭. 但排名结果分别为4321,,,T T T T 和2134,,,T T T T 结构变化很大.这种情况可以也只能对比赛程序作一些要求,以避免这种几乎可约的情形,本模型并没有作这种工作.还有就是像§4所说的,可依赖程度的计算中取2σ=12是没有多少道理的,这可以通过用统计的方法估出2σ来解决.不基于本模型的不足,模型的改进余地也是很大的.它只使用了层次分析法中单一准则一个层次的排序方法,可以考虑使用多个准则和递阶层次,比如将净胜局数,净胜球数,射门次数,犯规次数作为四个准则,两个层次.甚至能将观众反应等许多细小因素考虑在内,使排名更加反应球队实力.参考文献[1]王莲芬,许树柏,层次分析法引论,中国人民大学出版社,北京,1990。
【经典】建模-组合优化模型-排序问题
(X,t) (X/{i,j},zij(t))
f (X ,t,i, j) ai aj f [X /i, j, zij(t)]
zij (t ) max[zi(t) aj,0] bj max(t ai aj bi bj, bi bj aj, bj)
zji (t ) max( t ai aj bi bj, bi bj ai, bi)
ai f (X / i,t ai bi) 当t ai时
f (X ,t,i)
ai f (X / i,bi)
当t ai时
zi(t) max( t ai,0) bi f ( X , t, i) ai f [ X / i, zi(t)]
X/i表示在集合X中去掉工件i后剩下的工件集合
5
6
8
+2
+2
-5
9
5ቤተ መጻሕፍቲ ባይዱ
43
2
T
动态规划思想
动态规划是用来解决多阶段决策过程最优 化的一种数量方法。其特点在于,它可以 把一个n 维决策问题变换为几个一维最优 化问题,从而一个一个地去解决。
需指出:动态规划是求解某类问题的一种 方法,是考察问题的一种途径,而不是一 种算法。必须对具体问题进行具体分析, 运用动态规划的原理和方法,建立相应的 模型,然后再用动态规划方法去求解。
j2
j3
j4
j5
7
1
5
4
交货日期(d) 23
20
8
6
14
分析:
加工工件在机床A上有加工顺序问题,在机
床B上也有加工顺序问题。可以证明:最优 排序方案可以只在机床A、B上加工顺 序相同的排序中寻找。即使如此,所有
可能的方案仍有n!个,这是一个不小的数, 用穷举法是不现实的。
数学建模(工件加工排序)
完成时间 T i 0.9 2.1 3.8 6.3 8.8 11.5 14.3 17.5 20.8 24.4 28.4 33.1 总计:171.9
-5-
2) 分析:由于工件必须在它们要求的时间内完工,即某工件在任务开始起到该工件加工完
毕之间所用的总时间应少于该工件பைடு நூலகம்规定完工时间。 所以要使整个加工任务的工件总价值最 大,必须合理选择加工工件的种类及其加工的次序。 引入 0-1 变量,若选择 i 工件加工,则记 Y i =1.否则记 Y i =0; 工件的排序算法同问题 1) ,但约束条件有所不同。在本题中,12 种工件不一定都可以入选 到最优加工序列中(即目标排序中可能出现工件空缺) ,所以
Lingo 程序: (wenti(2).lg4 文件) model: !考虑完工时间和工件价值的排序问题; sets: gongjian/g1..g12/:shijian,endtime,gj_value; ! 属性为原始排序下各个工件的机床加工时间, 完工时间,工件价值; shunxu/s1..s12/:time,overtime,fin_value; ! 属性为重新排序后各个工件的机床加工时间,完 工时间,工件价值; links(shunxu,gongjian): note; endsets !目标函数; max=@sum(shunxu(I):fin_value(I)); !从新排序后各工件的机床加工时间(可能为零,即表示未选中工件); @for(shunxu(I): time(I)=@sum(gongjian(J):shijian(J)*note(I,J))); !从新排序后各工件的完工时间(可能为零,即表示未选中工件); @for(shunxu(I): overtime(I)=@sum(gongjian(J):endtime(J)*note(I,J)); ); !从新排序后各工件的工件价值(可能为零,即表示未选中工件); @for(shunxu(I):
九章排序
16
0
1
4
5
temp
i=4 j=1
21 0
25 1
16 25*
2
25* 3
49 08 4 5
16
i=4 j=0
21 0
16
25 1
25 2
25* 3
49 08 4 5
16 temp
i=4 j = -1
16 21 0
21
25
25*
49 08
16
1
2
3
4
5
temp
直接插入排序的算法
template <class Type> void dataList <Type> :: InsertSort ( ) { //按排序码 Key 非递减顺序对表进行排序 Element<Type> temp; int i, j; for ( i = 1; i < CurrentSize; i++ ) { if ( Vector[i] < Vector[i-1] ) { temp = Vector[i]; for ( j = i; j > 0; j-- ) //从后向前顺序比较 if ( temp < Vector[j-1] ) Vector[j] = Vector[j-1]; else break;
KCN i n(n 1) / 2 n 2 / 2, RMN (i 2) (n 4)(n 1) / 2 n 2 / 2
i 1 i 1 n 1 n 1
平均情况下排序的时间复杂度为 O(n2)。 直接插入排序是一种稳定的排序方法。
2.折半插入排序 (Binary Insertsort)
北京师范大学数据结构教学资料 第9章——排序
for (i = left+1; i <= right; i++) if (L[i] < L[i-1]) { temp = L[i]; j = i-1;
精选PPT
140-12
do { L[j+1] = L[j]; j--;
} while (j >= left && temp < L[j]); L[j+1] = temp; } }
140-7
各 趟 排 序 结 果 i=1
i=2
21 25 49 25* 16 08 012345
21 25 49 25* 16 08 012345
25 temp
21 25 49 25* 16 08 012345
精选PPT
49
temp
140-8
i=3 i=4 i=5
21 25 49 25* 16 08
int Partition (const int low, const int high); //快速排序划分
orting)
基本方法是:每步将一个待排序的元素,按其 排序码大小,插入到前面已经排好序的一组元 素的适当位置上, 直到元素全部插入为止。
16 temp
21 25 25*16 49 49 08
012345
精选PPT
16
temp
140-10
i=4 j=1
i=4 j=0
21 25 1625* 25* 49 08
16
012345
16 21 25
25
25*
49
08
012345
16 temp
i=4 j = -1
学生的综合成绩排名问题数学建模
三、问题的分析3.1问题一我们考察班级学生的综合成绩(包括考试课和考查课)排名问题,只需要对学生的平均绩点进行比较,其中考虑到每个学校计算平均绩点的方法不统一,为了认证我们的结果,我们利用Excel层次分析法对排名的公平性进行认证。
(是否有不考虑因素)3.2问题二3.3问题三3.4问题四对于奖学金的评定各院系或班级评定标准都或多或少的遇到了一些问题,造成学生参评热情不高,高校奖学金的评定一般存在以下问题四、模型的建立及求解4.1问题一模型的建立及求解4.1.1基本方法-绩点法绩点成绩与绩点对应表(表1)名称内容百分制90-100 80-89 70-79 60-69 60以下等级评价优秀良好中等及格不及格绩点 4 3 2 1 0每名同学的平均绩点的计算(公式1):每名同学平均绩点分 =()定的总学分数每学期专业教学计划规课程绩分数课程学分课程系数∑⨯⨯符号化公式:J平均=()MGXK∑••4.1.2问题一的改进优化-Excel 层次分析法问题简化:我们只计算班级前5排名情况,这样可以利用在平均绩点中前9名得成绩进行比较,足以保证前5名得公平性。
1-15阶正互反矩阵计算1000次得到的平均随机一致性指标(表二)层次分析图求出目标层的权数估计 用和积法计算判断矩阵将判断矩阵的每一列元素作归一化处理,其元素的一般项为∑=nijijij bb b 1()n j i ,2,1,=将每一列经归一化处理后的判断矩阵按行相加为:()n i ,2,1=求得Wi={1.2,0.8}t对向量W=( W 1, W 2…… W n )t 归一化处理:∑=niji b w 1∑=njii ww w 1()n i ,2,1=()tn w w w w ,,21=即为所求的特征向量的近似解。
W={0.6,0.4} tN<3不用考察判断矩阵一致性标准求出方案层对准则层的最大特征向量(同上),求得考试课之间绩点的层次表bij={18.5,5.285,7.4,3.363,5.285,7.4}Wi={0.324,1.135,0.810,1.783,1.135,0.810} W={0.054,0.189,0.135,0.297,0.189,0.135} 考察判断矩阵层次单排列的一致性标准 计算判断矩阵最大特征根λmax()∑=niinW BW 1max λBW={0.075,0.927,0.472,2.289,0.927,0.472}λmax =(0.138)/(6*0.054)+(1.691)/(6*0.189)+(0.863)/(6*0.135)+(4.175*0.297) /(6*0.297)+(1.691) /(6*0.189)+(0.863) /(6*0.135)=6.234判断矩阵一致性指标C.I.(Consistency Index)1..max --=n nI C λC.I.=(6.234-6)/(6-1)=0.0468随机一致性比率C.R.(Consistency Ratio)......I R I C R C =C.R.=0.0468/1.24=0.038<0.1考察判断矩阵层次单排列的一致性标准考查课之间绩点的层次表 bij={20,5,5,10,10,2.857}Wi={0.3,1.2,1.2,0.6,0.5,0.5}W={0.069,0.279,0.279,0.139,0.116,0.116} 考察判断矩阵一致性标准BW=max=(20*0.069)/(6*0.069)+(5*0.279)/(6*0.279)+(5*0.279)/(6*0.279)+(10*0.139)/(6*0. 139)+(10*0.116)/(6*0.116)+(2.857*0.116)/(6*0.116)求出方案层对指标层的最大特征向量(同上),求得每名同学考试课1的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考试课2的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考试课3的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考试课4的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考试课5的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考试课6的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考查课1的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考查课2的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考查课3的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考查课4的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考查课5的绩点层次表Wi=W=考察判断矩阵一致性标准每名同学考查课6的绩点层次表Wi=W=考察判断矩阵一致性标准利用层次单排序的计算结果,进一步综合出对更上一层次的优劣顺序,就是层次总排序的任务。
第9章习题答案
第9章习题答案第9章排序习题91.在各种排序方法中,哪些是稳定的?哪些是不稳定的?对不稳定的排序方法举出一个不稳定的例子。
解:排序方法直接插入排序折半插入排序二路插入排序表插入排序起泡排序直接选择排序希尔排序快速排序堆排序 2-路归并排序基数排序平均时间最坏情况辅助空间稳定性稳定稳定稳定稳定稳定不稳定不稳定 2不稳定排序举例 2,2,13,2,2,1(d=2,d=1) 2,2,1 2,1,1(大顶堆) O(n) O(n) O(n) O(n) O(n) O(n)O(n1.3222222O(n) O(n) O(n) O(n) O(n) O(n) O(n1.32222222O(1) O(1) O(n) O(1) O(1) O(1) O(1) ) 222) O(nlogO(nlogO(nlogn) n) n) O(n) O(log22n) 不稳定不稳定稳定稳定 O(nlogO(nlogn) n) O(1) O(n) O(d*(rd?n)) O(d*(rd?n)) O(rd) 2.若不考虑基数排序,则排序的两种基本操作是什么?解:关键字的比较和记录的移动。
3.外排序的基本操作是什么?解:生成有序归并段,归并。
4.分别采用堆排序、快速排序、起泡排序和归并排序,对初始状态为有序的表,则最省时间的是哪种排序方法?最费时间的是哪种排序方法?解:起泡排序,快速排序。
5.不受待排序初始序列的影响的排序算法是哪种?其时间复杂度是多少?解:简单选择排序,时间复杂度是O(n)。
6.直接插入排序设置监视哨的作用是什么?解:免去查找过程中每一步都要检测整个表是否查找完毕,提高了查找效率。
7.从平均时间性能而言,哪种排序方法最佳?解:快速排序。
8.设待排序的记录有10个,其关键字分别为{75,23,98,44,57,12,29,64,38,82}。
手工执行以下排序算法(按字典序比较关键字的大小),写出每一堂排序结束时的关键字的状态:(1)直接插入排序 (2)折半插入排序12第9章排序(3)起泡排序 (4)简单选择排序 (5)快速排序 (6)希尔排序 (7)2-路归并排序 (8)基数排序解:略9.已知记录序列R[1..n]中的关键字各不相同,可按如下所述实现计数排序:另设数组C[1..n],对每个记录R[i],统计序列中关键字比它小的记录个数存于C[i],则C[i]=0的记录必为关键字最小的记录,然后依C[i]值的大小对R中记录进行重新排列,试编写实现上述排序的算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
i 1 s
n 台机床按此排序维修完时,总的损失费为
w
i 1
n
n
ki
C ki
本题要寻找一种排序 (r1, r2, …, rn)满足
n wri Cri min wki Cki (k1 , k2 ,..., kn ) H i 1 i 1
§1
Akm1
A km1 Akm
按(2)排序 Akm 和Akm1的损失费
Akm2
wkm1 Ckm1 wkm1 tkm1 wkm Ckm1 wkm tkm1 wkm tkm
第九章 排序问题
当wkm1 tkm wkm tkm1 即 t km wkm tkm1 wkm1 时,
第九章 排序问题
用一台或一台以上的机器加工两个或两个以上的
零件(任务)时,确定加工顺序使效率最高。
—— 排序(Scheduling)问题 由于效率的度量方法的不同、引进不同的约束条
件和机器的数量、类型等,使之得到不少的排序模
型,也使排序问题有了更多的应用. 由于应用范围逐渐扩大,新的问题不断出现,因
B C J
0 2 456
1415
21
36 Go back
最优无耽搁排序
第九章 排序问题
§1 单机排序问题
单机排序问题是最简单的一类排序问题,同时也
是最重要的排序问题之一. 首先单机排序问题比较容
易求出解决方法,这些方法对于研究较复杂的排序问
题具有指导作用,可为处理复杂排序问题提供近似算
法;其次,单机排序问题大量存在于现实生活中,具
间平均逗留时间(或总逗留时间)最短, 或
1 Cj n (或
Cj )
如何排序?
这只是 Ex. 6 中 wj =1/n 和 wj = 1 的特例 所以,满足下列条件的排序(r1, r2,…, rn)
tr1 tr2 ... trn
为最优排序 .
§1
单机排序问题 以下讨论的排序问题都与工期有关,即每个任务
是无耽搁排序,然而也有一些不可中断排序问题的最
优排序是耽搁排序.
第九章 排序问题
Example 4 排序问题
1 rj
1:表示一台机器
w C
j
rj: 表示任务有不
j
同的到达时间
n = 2,t = (10,5),r = (0,1),w = (1,5) 该问题有两个可行排序,用 Gantt Charts 表示:
C
w jC j
j 1
n
( 如果 wj = 1 j = 1,2,…,n 即 为总完工时间)
第九章 排序问题
F w j Fj
j 1 n n
w
j 1 n j 1
n
j n n
wjC j
j 1
w w r w
j j 1 j j j 1
j
式中的第一项的分母和第二项都是常数,所以
而从事这一领域研究的人与日俱增,其内容也越来越
丰富,应用也越来越广泛.
第九章 排序问题
确定性排序 (Deterministic Scheduling) 所有数据在进行决策前都是已知的 随机性排序 (Stochastic Scheduling) 有的数据在进行决策前是未知的,是随机变量,
但它们的分布是已知的
第九章 排序问题
Definition 1 对于一个可行排序,如果有准备好被加
工的任务或工序,不准有空闲的处理机,称这种可行排
序为无耽搁排序(nondelay schedule);否则称为耽搁排 序(delay schedule)。 无耽搁排序相当于有工作可做就不能闲着. 对于 大多数排序问题,包括所有的可中断排序,最优排序
有广泛的实际背景,许多实际问题都可以归结为单机
排序问题 .
§1
单机排序问题
一、问题
Example 6
1
wjC j
问题 1 Cmax
如何排序?
设一个机修车间有 n台不同的机床要进行
大修, 它们的维修时间已知为 t1, t2, …, tn , 而机床 Ai 在
车间逗留的过程中每单位时间的损失费为 wi (i =1,…,n)
均有一个工期。工期 dj表示对任务 Tj限定的完工时间. 如果不按期完工,应受到一定的惩罚.
二、问题
1 Lmax
Lmax max C j d j
任务没有准备时间的最大延误的排序问题比较简 单,只需将任务按最早工期优先(Earliest Due Date first,简记 EDD)规则,就可以得到最优排序. 按照 这一规则,任务按 dj 不减的顺序进行排序.
n
j
Dj
其中 Dj = max { Cj – dj ,0 } 是任务 Tj 的误工时间 .
第九章 排序问题
(5) 加权误工任务数
加权误工任务数(weighted number of tardy tasks)是
U
w U
j 1 j
n
j
1 其中U j 0
Cj d j Cj d j
班机的机型和大小也是不同的.
飞机按时刻表降落和起飞,当飞机占有登机门时,
旅客上下飞机,飞机要接受加油、维护和装卸行李等 服务 . 由于天气和机场的原因,飞机不能起飞,登机
时间推迟. 调度人员如何制订一个登机门的分配方案,使机
场的利用率最高或晚点起飞的飞机最少.
登机门——机器, 飞机——零件, 机场的规定——约束条件
是对任务T j 误工的单位惩罚
第九章 排序问题
排序问题的三要素:
机器(处理机)、作业(任务)、目标函数
用三元组 描述一个排序模型
α:机器的数量和类型;β:作业的约束条件;
γ:优化的目标函数. 基本假设: (1)任务或作业和处理机都是有限的; (2)在任一时刻,任何处理机只能加工一个任务或一 道工序; (3)极小化单一目标函数.
—— A A,E —— D
8 7 7 2 3
F G H I J
D F E,G E,G B,C
2 2 8 8 15
由两名熟练工人进行装配,要求装完时间最早.
这是一个 P 2 prec Cmax 排序问题.
P1 P2 A D E F G 0 2 5 7 8 9 B C H I J 23
1516
31
第九章 排序问题
由
t3 t5 t1 t2 t4 3, 2, 1.4, 2.2, 1 w1 w2 w3 w4 w5
得最优排序为
( A5,A3,A2,A4,A1 )
j j
此时
w C
6 6 5 13 2 17 5 28 4 40 435
第九章 排序问题
在 Ex. 6 中,如果考虑各待维修的机床在机修车
nondelay schedule:
A 0 10 B 15 01
delay schedule:
B 6 A 16
Z1 = 10*1+15*5 = 85
Z2 = 6*5 + 16*1 = 46
第九章 排序问题
Example 5
工 序
阿克米自行车的装配问题
加工时间 工 序 紧前工序 加工时间
紧前工序
A B C D E
Cmax max C j
j
它等于最后一个被加工完任务的完工时间,小的 时间表长意味着处理机有高的利用率.
第九章 排序问题
(2) 平均加权流时间和加权总完工时间
任务的到 达时间
平均加权流时间(mean weighted flow time)是
F
w F
j 1 j
n
j
w
j 1
n
j
其中 Fj C j rj 是任务Tj 的流(周转)时间, 它等于任务在系统中等待时间和加工时间的和. 对平均加权流时间进行变形,可得极小化 F 相当于 极小化加权总完工时间(total weighted completion time )
1 1 7 7 14
I
27
最优耽搁排序
第九章 排序问题
工 序 紧前工序 加工时间 工 序 紧前工序 加工时间
A B C D E
P1
—— A A,E —— D
A B
7 6 6 1 2
I
F G H I J
D F
E,G E,G B,C
1 1 7 7 14
P2
D E F G
01 345 7
H
1213
C
18 20
的机床上加工,但每个零件在每个机床上的加工时间
可能不同 . 如何按排加工顺序才能以最短的时间加工
完所有的零件 .
这是一个流水线排序问题 .
第九章 排序问题
Example 2 进程调度
在计算机多道程序操作系统中,并发执行多个进 程,任何时刻CPU只能执行一个进程,进程的到达时 间是不同的,怎样调度这些进程才能使CPU的利用率
单机排序问题
设有两排序
(k1,…km , km1,…kn ) (k1,…km1, km ,…kn )
( 1)
( 2)
总损失费仅在
分析排序(1)与(2)的优劣
按(1)排序
Akm 和Akm1的损失费
Akm1
Akm A km1
km,km+1处有区别
A km2
wkm Ckm1 wkm tkm wkm1 Ckm1 wkm1 tkm wkm1 tkm1
最高或进程的平均周转时间最短?
事先不知道每个进程的到达时间和执行时间—— 在线排序 事先知道随机到达时间和执行时间的分布、数学 期望、方差,目标是极小化平均周转时间的数学期