有n个独立的作业{1,2,..,n},由m台相同的机器进行加工处理。作业i所需的处理时间为ti。现约定,任何作业可以在任何一台机器上加工处理,但未完工前不允许中断处理。任何作业不能拆分成更小的作业。多机调度问题要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成(n>m)。对于多级调度问题,使用以下哪种贪心策略比较合适()A、作业从小到大依次分配给空闲的机器B、作业从大到小依次分配给空闲的机器C、每个机器分配一样的作业数D、使用以上几种贪心策略都能找到最优解,所以都合适

题目

有n个独立的作业{1,2,..,n},由m台相同的机器进行加工处理。作业i所需的处理时间为ti。现约定,任何作业可以在任何一台机器上加工处理,但未完工前不允许中断处理。任何作业不能拆分成更小的作业。多机调度问题要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成(n>m)。对于多级调度问题,使用以下哪种贪心策略比较合适()

  • A、作业从小到大依次分配给空闲的机器
  • B、作业从大到小依次分配给空闲的机器
  • C、每个机器分配一样的作业数
  • D、使用以上几种贪心策略都能找到最优解,所以都合适

相似考题
参考答案和解析
正确答案:B
更多“有n个独立的作业{1,2,..,n},由m台相同的机器进行加工处理。作业i所需的处理时间为ti。现约定,任何作业可以在任何一台机器上加工处理,但未完工前不允许中断处理。任何作业不能拆分成更小的作业。多机调度问题要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成(nm)。对于多级调度问题,使用以下哪种贪心策略比较合适()A、作业从小到大依次分配给空闲的机器B、作业从大到小依次分配给空闲的机器C、每个机器分配一样的作业数D、使用以上几种贪心策略都能找到最优解,所以都合适”相关问题
  • 第1题:

    阅读下列算法说明和流程图,根据要求回答问题1~问题3。

    [说明]

    某机器上需要处理n个作业job1,job2,…,jobn,其中:

    (1)每个作业jobi(1≤i≤n)的编号为i,jobi有一个收益值P[i]和最后期限值d[i];

    (2)机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进行处理,一旦作业开始就不可中断,每个作业的最后期限值为单位时间的正整数倍;

    (3)job1~jobn的收益值呈非递增顺序排列,即p[1]≥p[2]≥…≥p[n];

    (4)如果作业jobi在其期限之内完成,则获得收益p[i];如果在其期限之后完成,则没有收益。

    为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图3-25是基于贪心策略求解该问题的流程图。

    (1)整型数组J[]有n个存储单元,变量k表示在期限之内完成的作业数,J[1..k]存储所有能够在期限内完成的作业编号,数组J[1..k)里的作业按其最后期限非递减排序,即d[J[1]]≤…≤d[J[k]]。

    (2)为了便于在数组J中加入作业,增加一个虚拟作业job0,并令d[0]=0,J[0]=0。

    (3)算法大致思想是:先将作业job1的编号1放入J[1],然后,依次对每个作业jobi(2≤i≤n)进行判定,看其能否插入到数组J中。若能,则将其编号插入到数组J的适当位置,并保证J中作业按其最后期限非递减排列;否则不插入。

    jobi能插入数组J的充要条件是:jobi和数组J中已有作业均能在其期限之内完成。

    (4)流程图中的主要变量说明如下。

    i:循环控制变量,表示作业的编号;

    k:表示在期限内完成的作业数;

    r:若jobi能插入数组J,则其在数组J中的位置为r+1;

    q:循环控制变量,用于移动数组J中的元素。

    请将图3-25中的(1)~(3)空缺处的内容填写完整。


    正确答案:这是一道考查贪心算法的流程图分析的试题。(1)空缺处表示第2个作业到第n个作业的主循环的条件判断由于i是循环控制变量因此(1)空缺处所填写的内容是i=h。 注意到题干中给出的关键信息“J[1..k)存储所有能够在期限内完成的作业编号数组J[1..k]里的作业按其最后期限非递减排序即”。换言之数组J中的作业J[i](1≤i≤k)是在其期限之前完成的作业且。由图3-25给出的算法流程图可知主循环内嵌套了两个循环第1个循环判断当前考虑的作业i应该插入到J中的什么位置用循环控制变量r表示当前考虑的J中的作业。使用虚拟作业J[0]允许作业较方便地插入到第1个位置。为了保证J中的作业期限按升序排序作业J[r]若比作业i的期限大则循环控制变量r要自减因此(2)空缺处所填写的内容是d[J[r]]>d[i]。 d[J[r]]与r的关系只有两种:d[J[r]]>r表示还可能在J[1]与J[r]之间插入作业“d[J[r]]=r表示不可以在J[1]~J[r]之间插入作业i。d[J[r]]r的情况不会存在因为J中若有r个作业那么最后一个作业的期限不可能小于r。当作业i大于等于作业J[r]的期限时此时找到了作业i插入的位置即r+1。第2个循环的作用是将作业J[r+1]……J[k]依次往后移动此处用插入排序算法的思想。最后把作业i插入到 J[r+1]处因此(3)空缺处所填写的内容是J[r+1]=i(或J[q+1]=i)。
    这是一道考查贪心算法的流程图分析的试题。(1)空缺处表示第2个作业到第n个作业的主循环的条件判断,由于i是循环控制变量,因此(1)空缺处所填写的内容是i=h。 注意到题干中给出的关键信息“J[1..k)存储所有能够在期限内完成的作业编号,数组J[1..k]里的作业按其最后期限非递减排序,即”。换言之,数组J中的作业J[i](1≤i≤k)是在其期限之前完成的作业,且。由图3-25给出的算法流程图可知,主循环内嵌套了两个循环,第1个循环判断当前考虑的作业i应该插入到J中的什么位置,用循环控制变量r表示当前考虑的J中的作业。使用虚拟作业J[0],允许作业较方便地插入到第1个位置。为了保证J中的作业期限按升序排序,作业J[r]若比作业i的期限大,则循环控制变量r要自减,因此(2)空缺处所填写的内容是d[J[r]]>d[i]。 d[J[r]]与r的关系只有两种:d[J[r]]>r,表示还可能在J[1]与J[r]之间插入作业“d[J[r]]=r,表示不可以在J[1]~J[r]之间插入作业i。d[J[r]]r的情况不会存在,因为J中若有r个作业,那么最后一个作业的期限不可能小于r。当作业i大于等于作业J[r]的期限时,此时找到了作业i插入的位置,即r+1。第2个循环的作用是将作业J[r+1]……J[k]依次往后移动,此处用插入排序算法的思想。最后把作业i插入到 J[r+1]处,因此(3)空缺处所填写的内容是J[r+1]=i(或J[q+1]=i)。

  • 第2题:

    阅读下列说明和图,回答问题1至问题3,将解答填入对应栏内。

    【说明】

    某机器上需要处理n个作业.job1,job2,…,jobn,其中:

    (1)每个作jobi(1≤i≤n)的编号为i,jobi有一个收益值p[i]和最后期限值d[i]小

    (2)机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进行处理,一旦作业开始就不可中断,每个作业的最后期限值为单位时间的正整数倍;

    (3)job1~jobn的收益值呈非递增顺序排列,即p[1)≥P[2]≥…[n):

    (4)如果作业jobi在其期限之内完成,则获得收益9[i];如果在其期限之后完成,则没有收益。

    为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图4*1是基于贪心策略求解该问题的流程图。

    (1)整型数组J[]有n个存储单元,变量k众表示在期限之内完成的作业J[1..k]存储所有能够在期限内完成的作业编号,数组J[1..k]里的作业按其最后期限非递减排序,即d[J[1]]≤…≤d[J[k]]。

    (2)为了便于在数组J中加入作业,增加一个虚拟作业Job0,并令d[0]=0,j[0]=0。

    (3)算法大致思想:先将作业.job1的编号1放入J[1],然后,依次对每个作业.jobi (2≤i≤n)进行判定,看其能否插入到数组J中。若能,则将其编号插入到数组J的适当位置,并保证J中作业按其最后期限非递减排列;否则不插入。

    jobi能插入数组J的充要条件是:jobi和数组J中已有作业均能在其期限之内完成。

    (4)流程图中的主要变量院明如下。

    i:循环控制变量,表示作业的编号;

    k:表示在期限内完成的作业数:

    r:若.jobi能插入数组J,则其在数组了中的位置为r+1:

    q:循环控制变量,用于移动数组J中的元素。

    请填充图4-1中的空缺(1)、(2)和(3)处。


    正确答案:(1)i<=n (2)d[J[r]]>d[i] (3)J[r+1]=i或J[q+1]=i
    (1)i<=n (2)d[J[r]]>d[i] (3)J[r+1]=i,或J[q+1]=i

  • 第3题:

    在进行批处理作业的调度时候,主要采用( )来完成调度。

    A.操作控制命令

    B.作业控制语言

    C.作业调度算法

    D.作业控制


    正确答案:B
    解析:操作系统为用户提供说明作业加工步骤的手段有两种:作业控制语言和操作控制命令。作业调度及调度算法其作用是使作业运行最大限度地发挥各种资源的利用率,并保持系统内各种活动的充分并行。主要采用作业控制语言进行批处理作业的调度。

  • 第4题:

    作业管理的主要任务包括作业输入、作业处理和作业输出,其中作业处理的工作是(15)。在操作系统中,对批处理作业的控制方式是(16)。若系统中有四个作业,它们的到达时间、运行时间、开始时间、完成时间和周转时间如下表所示,则该系统采用的作业调度算法是(17)。

    A.作业控制

    B.作业调度

    C.作业控制与作业调度

    D.作业控制,作业调度与作业后备


    正确答案:C
    解析:作业控制模块的功能是为每个作业建立一个作业控制块(JCB)用于记录与该作业有关的各种信息(包括用户名、作业名、状态标志等),并将作业控制块排列称为作业后备队列。作业调度程序则根据调度算法,从后备队列中选出若干个作业,为它们分配资源,建立相关进程,交由进程调度程序去调度执行。

  • 第5题:

    试题四(共15分)

    阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。

    【说明】

    用两台处理机A和B处理n个作业。设A和B处理第i个作业的时间分别为ai和bi。由于各个作业的特点和机器性能的关系,对某些作业,在A上处理时间长,而对某些作业在B上处理时间长。一台处理机在某个时刻只能处理一个作业,而且作业处理是不可中断的,每个作业只能被处理一次。现要找出一个最优调度方案,使得n个作业被这两台处理机处理完毕的时间(所有作业被处理的时间之和)最少。

    算法步骤:

    (1)确定候选解上界为R短的单台处理机处理所有作业的完成时间m,

    (2)用p(x,y,k)=1表示前k个作业可以在A用时不超过x且在B用时不超过y时间 内处理完成,则p(x,y,k)=p(x-ak,y,k-1)||p(x,y-bk,k-1)(||表示逻辑或操作)。

    (3)得到最短处理时问为min(max(x,y))。

    【C代码】

    下面是该算法的C语言实现。

    (1)常量和变量说明

    n: 作业数

    m: 候选解上界

    a: 数组,长度为n,记录n个作业在A上的处理时间,下标从0开始

    b: 数组,长度为n,记录n个作业在B上的处理时间,下标从0开始

    k: 循环变量

    p: 三维数组,长度为(m+1)*(m+1)*(n+1)

    temp: 临时变量

    max: 最短处理时间

    (2)C代码

    include<stdio.h>

    int n, m;

    int a[60], b[60], p[100][100][60];

    void read(){ /*输入n、a、b,求出m,代码略*/}

    void schedule(){ /*求解过程*/

    int x,y,k;

    for(x=0;x<=m;x++){

    for(y=0;y<m;y++){

    (1)

    for(k=1;k<n;k++)

    p[x][y][k]=0;

    }

    }

    for(k=1;k<n;k++){

    for(x=0;x<=m;x++){

    for(y=0;y<=m;y++){

    if(x - a[k-1]>=0) (2) ;

    if( (3) )p[x][y][k]=(p[x][y][k] ||p[x][y-b[k-1]][k-1]);

    }

    }

    }

    }

    void write(){ /*确定最优解并输出*/

    int x,y,temp,max=m;

    for(x=0;x<=m;x++){

    for(y=0;y<=m;y++){

    if( (4) ){

    temp=(5) ;

    if(temp< max)max = temp;

    }

    }

    }

    printf("\n%d\n",max),

    }

    void main(){read();schedule();write();}

    【问题1】 (9分)

    根据以上说明和C代码,填充C代码中的空(1)~(5)。

    【问题2】(2分)

    根据以上C代码,算法的时间复杂度为(6)(用O符号表示)。

    【问题3】(4分)

    考虑6个作业的实例,各个作业在两台处理机上的处理时间如表4-1所示。该实例的最优解为(7),最优解的值(即最短处理时间)为(8)。最优解用(x1,x2,x3,x4,x5,x6)表示,其中若第i个作业在A上赴理,则xi=l,否则xi=2。如(1,1,1,1,2,2)表示作业1,2,3和4在A上处理,作业5和6在B上处理。


    正确答案:
    【问题1)(9分)
    (1)p[x][y][0]=1
    (2)p[x][y][k]=p[x-a[k-1]][y][k-1]
    (3)y- b[k-1]>=0
    (4) p[x][y][n]==1或p[x][y][n]或p[x][y][n]!=0
    (5)(x>=y)?x:y
    【问题2】
    (6) O(m2n)
    【问题3】(4分)
    (7)(1,1,2,2,1,1)
    (8)15

  • 第6题:

    按照事先的加工要求,由单个作业员在多台机器上完成多种产品的生产。但是,插单的前提是必须保证前一张订单已经完成。此类作业宜采用哪种作业方式()

    • A、全工序自理的作业方法
    • B、多品种自理的作业方法
    • C、单人多机的作业方法
    • D、单一工序的单人操作

    正确答案:B

  • 第7题:

    有关作业管理的下述描述中,()是正确的。

    • A、系统现有空闲资源能满足被选作业的资源要求是选择作业进人主存的一个必要条件
    • B、作业与进程是一一对应的
    • C、作业调度选中一个作业后,与作业相关的进程就处于运行状态
    • D、在兼有批处理和分时的计算机系统中,往往把终端作业作为前台作业,把批处理作业作为后台作业
    • E、批处理作业是在输人井中等待处理的

    正确答案:A,D,E

  • 第8题:

    若n=4,在机器M1和M2上加工作业i所需的时间分别为ai和bi,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。


    正确答案: 步骤为:
    N1={1,3},N2={2,4};
    N1’={1,3},N2’={4,2};
    最优值为:38

  • 第9题:

    在作业成本法下通常难以找到合适的成本动因来将()作业所消耗的资源分配至产品。

    • A、车间管理
    • B、直接人工
    • C、质量检验
    • D、机器调试

    正确答案:A

  • 第10题:

    判断题
    单项作业机械化程度是用机器完成的作业量与适宜用机器完成的该项作业的总作业量之比。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第11题:

    问答题
    若n=4,在机器M1和M2上加工作业i所需的时间分别为ai和bi,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。

    正确答案: 步骤为:
    N1={1,3},N2={2,4};
    N1’={1,3},N2’={4,2};
    最优值为:38
    解析: 暂无解析

  • 第12题:

    单选题
    若操作系统中有n个作业Ji(i=1,2,…,n),分别需要Ti(i=1,2,…,n)的运行时间,采用()的作业调度算法可以使平局周转时间最短。
    A

    先来先服务

    B

    最短作业优先

    C

    响应比高者优先

    D

    优先级


    正确答案: C
    解析: 作业调度主要完成从后备状态到执行状态的转变,以及从执行状态到完成状态的转变。常用的作业调度算法主要有以下几种:
    (1)先来先服务(FCFS)。按作业到达的先后次序调度,它不利于短作业。
    (2)最短作业优先(SJF)。按作业的估计运行时间调度,估计运行时间短的作业优先调度。它不利于长作业,可能会使一个估计运行时间长的作业迟迟得不到服务。
    (3)响应比高者优先(HRN)。综合上述两者,既考虑作业估计运行时间,又考虑作业等待时间,响应比HKN=(估计运行时间+等待时间)/估计运行时间。
    (4)定时轮转法(按时间片)。适合作业不定的情况。
    (5)优先数法。根据作业的优先级别,优先级高者先调度。
    那么,怎样来衡量一个作业调度算法是否满足系统设计的要求呢对于批处理系统,由于主要用于计算,因而对于作业的周转时间要求较高,从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统和实时系统来说,平均响应时间又被用来衡量调度策略的优劣。
    (1)周转时间。作业i的周转时间Ti为Ti=Tei-Tsi。其中Tei为作业i的完成时间,Tsi为作业i的提交时间。对于被测定作业流所含有的n(n≥1)个作业来说,其平均周转时间为:
    一个作业的周转时间说明了该作业在系统内停留的时间,包含两部分,分别为等待时间和执行时间,即Ti=Twi+Tri。这里,Twi主要指作业i由后备状态到执行状态的等待时间,不包括作业进入执行状态后的等待时间;Tri为作业的执行时间。
    (2)带权周转时间。带权周转时间是作业周转时间与作业执行时间之比,即Wi=Ti/Tri。对于被测定作业流所含有的n(n≥1)个作业来说,其平均带权周转时间为:
    根据以上分析,从直观上来说,采用最短作业优先的调度算法,可使得系统在同一时间内处理的作业个数最多,从而吞吐量也就大于其他调度方式。

  • 第13题:

    一个有两个作业管理进程的批处理系统,作业调度采用最高响应比优先的算法,进程调度采用基于优先数(优先数大表示优先级别高)的算法。有以下作业序列:

    作业F的运行结束时间为(26)(假定在作业运行期间,除了有空闲的作业管理进程以外,系统不进行调度工作)。

    A.14:50

    B.15:30

    C.13:40

    D.13:10


    正确答案:A
    解析:本题考查的内容是作业调度中的最高响应比优先算法、进程调度中的基于优先数的调度算法的概念及其应用。所谓最高响应比优先算法,首先需要在调度时刻计算每个后备作业的响应比。即响应比=(作业等待时间+作业估计运行时间)/作业估计运行时间。实际上,比较不同作业响应比时起作用的是:作业等待时间/作业估计运行时间。在计算以后,挑选响应比最大的后备作业投入运行,这个算法是比较优秀的。大家都知道,数学上可以证明短作业优先的调度算法可以得到最小的作业平均响应时间(亦即可以得到最大的系统平均吞吐率)。但是,它不能排除有可能出现“无限等待”的现象,因为它允许短作业“加塞”,如果短作业源源不断地到来,将可能使长作业在不可预计的一段时间内得不到运行。而最高响应比优先的算法则保证在到达时间相近的一批作业中,估计运行时间小的作业(短作业)可以优先投入运行,在作业大小相仿时,到达时间早的作业可以先投入运行。即使是很长的作业,随着后备时间的延长,其响应比也不断增大,最终将会投入运行,从而避免出现“无限等待”的现象。所谓基于优先数的调度算法,则在调度时刻比较各个进程的优先数,挑选优先级别高的进程运行。本题中,10:00时,作业A到达,此时没有别的作业,自然投入运行。到10:20时,作业B到达,由于还空闲一个作业管理进程,作业B进入系统,进行进程调度。由于B的优先级别高,作业B投入运行,A在内存等待。到11:20时,B运行结束并退出,空出一个作业管理进程,系统开始作业调度。此时,作业C、D均已到达,由于C的响应比=(30+40)/40=1.75>D的响应比=(0+80)/80=1,作业C进入内存,在进行进程调度时,由于C的优先数为3,比作业A小,A投入运行。到11:50时,A剩下的30分运行时间结束,退出系统,这时作业E已经到达。此时,D的响应比=(30+80)/80=1.375>E的响应比=(10+30)/30=1.333,作业D进入内存,由于D的优先数为8,高于作业C,D投入运行。到13:10时,作业D运行结束。这时作业F也早已到达,在两个后备作业中,E的响应比=(90+30)/30=4,F的响应比=(70+70)/70=2,作业E进入运行,又由于E的优先数比C大,E投入运行。到13:40时,E运行结束,这时后备作业只有F,F进入内存,由于它的优先数为9,远大于C,于是投入运行,到14:50结束运行。最后只剩下C一个作业,于15:30运行结束。各作业运行结束时间表为A为11:50、B为11:20、C为15:30、D为13:10、E为13:40、F为14:50。

  • 第14题:

    一个有两个作业管理进程的批处理系统,作业调度采用基于优先数(优先数大表示优先级别高)的算法,进程调度采用短作业优先的算法(按剩余运行时间计算作业的长短)。有以下作业序列:

    作业F的运行结束时间为(23)(假定在作业运行期间,除了有空闲的作业管理进程以外,系统不进行调度工作)

    A.14:50

    B.15:30

    C.13:40

    D.13:10


    正确答案:C
    解析:本题考查短作业优先的进程调度算法及其应用。短作业优先是指首先计算每个进程所属的作业,估计所需运行时间的长短,本题中考虑的是扣除作业已经运行时间后的剩余时间,首先调度运行时间较短的进程投入运行。这种算法可以得到整体范围内最短的平均响应时间,但是有可能会产生“无限等待”现象,即在较短作业源源不断进入系统的情形,运行时间较长的进程有可能在一个不可预计的时间范围内得不到运行。所谓基于优先数的调度算法,则是在调度时刻比较各个进程(或作业)的优先数,挑选优先级别高的进程(或作业进入内存)运行。本题中,10:00时,作业A到达,此时没有别的作业,自然投入运行。到10:20时,作业B到达,由于还空闲一个作业管理进程,作业B进入系统,进行进程调度。此时,内存中有两个作业,作业A的剩余运行时间为30分钟,而B的运行时间为60分钟,按短作业优先的原则,A继续运行,直到10:50运行结束。这时,作业C已经到达,而且只有作业C到达,自然进入内存,由于C的估计运行时间只有40分钟,按照短作业优先的原则,C自然首先被调度运行,到了11:30分,作业C运行结束,空闲一个作业管理进程,系统又将进行作业调度。此时,只有作业D已经到达,自然被调度进入内存:内存中的作业B和作业D的估计运行时间分别为60分钟与80分钟,按照短作业优先的调度原则,作业B进入运行,直到12:30分作业B运行结束,再次进入作业调度。这时,作业E和F都已经到达,由于P的优先数为9,大于E,因此被调度进入内存:与D相比,P的估计运行时间(70分钟)较D(80分钟)为短,优先进入运行。到13:40分,作业P运行结束。现在只剩下作业E,自然进入内存。进入内存后作业D的估计运行时间80分钟,远大于作业E(30分钟),E先运行,至14:10分结束,D接着运行,至15:30运行结束。各作业的运行结束时间为:作业A—10:50作业B—12:30作业C—11:30作业D—15:30作业E—14:10作业F—13:40正确答案应该是C。

  • 第15题:

    若操作系统中有n个作业Ji(i=1,2,…,n),分别需要Ti(i=1,2,…,n)的运行时间,采用(23)的作业调度算法可以使平均周转时间最短。

    A.先来先服务(FCFS)

    B.最短作业优先(SJF)

    C.响应比高者优先(HRN)

    D.优先级


    正确答案:B
    解析:这是一道考查作业管理中作业调度算法性能衡量的试题。先来先服务(FCFS)调度算法是指按照用户作业到达的先后顺序进行调度处理。它优先考虑在系统中等待时间最长的作业,而不管要求运行时间的长短。最短作业优先(SJF)调度算法是指对短作业优先调度的算法。作业调度程序每次是从后备作业队列中选择一个作业投入运行。该算法对于长作业可能会有一个较长的延迟时间。响应比高者优先(HRN)调度算法是指调度时既考虑作业估计运行时间,又考虑作业等待时间,响应比是HRN=(估计运行时间+等待时间)/估计运行时间。优先级调度是指根据作业的优先级别,优先级高者首先调度。对于最短作业优先(SJF)调度算法可使系统在同一时间内处理的作业个数最多,即可以使平均周转时间最短。

  • 第16题:

    试题四(共15 分)

    阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。

    【说明】

    某机器上需要处理 n 个作业 job1, job2, …, jobn,其中:

    (1) 每个作业jobi(1≤i≤n)的编号为 i, jobi有一个收益值 p[i]和最后期限值 d[i];

    (2) 机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进行处理,

    一旦作业开始就不可中断,每个作业的最后期限值为单位时间的正整数倍;

    (3) job1~jobn 的收益值呈非递增顺序排列,即p[1]≥p[2]≥…≥p[n];

    (4) 如果作业jobi在其期限之内完成,则获得收益 p[i];如果在其期限之后完成,

    则没有收益。

    为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图 4-1 是基于贪

    心策略求解该问题的流程图。

    (1) 整型数组 J[]有 n 个存储单元,变量 k 表示在期限之内完成的作业数,J[1..k]存储所有能够在期限内完成的作业编号, 数组 J[1..k]里的作业按其最后期限非递减排序,即d[J[1]]≤ … ≤d[J[k]]。

    (2) 为了方便于在数组 J 中加入作业,增加一个虚拟作业 job0,并令d[0] = 0, J[0] = 0。

    (3) 算法大致思想:先将作业 job1 的编号 1 放入 J[1],然后,依次对每个作业 jobi (2≤i≤n)进行判定,看其能否插入到数组 J 中,若能,则将其编号插入到数组 J 的适当位置,并保证 J 中作业按其最后期限非递减排列,否则不插入。 jobi能插入数组 J 的充要条件是:jobi 和数组 J 中已有作业均能在其期限之内完成。

    (4) 流程图中的主要变量说明如下:

    i:循环控制变量,表示作业的编号;

    k:表示在期限内完成的作业数;

    r:若jobi能插入数组 J,则其在数组 J 中的位置为 r+1;

    q:循环控制变量,用于移动数组 J 中的元素。

    【问题 1】 (9 分)

    请填充图4-1 中的空缺(1)、(2)和(3)处。

    【问题 2】(4 分)

    假设有 6 个作业 job1, job2, …, job6;

    完成作业的收益数组 p=(p[1],p[2],p[3],p[4],p[5],p[6]) = (90,80,50,30,20,10);

    每个作业的处理期限数组 d=(d[1],d[2],d[3],d[4],d[5],d[6]) = (1,2,1,3,4,3)。

    请应用试题中描述的贪心策略算法,给出在期限之内处理的作业编号序列 (4)

    (按作业处理的顺序给出) ,得到的总收益为 (5) 。

    【问题 3】(2 分)

    对于本题的作业处理问题, 用图 4-1的贪心算法策略, 能否求得最高收益? (6) 。

    用贪心算法求解任意给定问题时,是否一定能得到最优解? (7) 。


    正确答案:

  • 第17题:

    下列作业中属于品种级作业的是(  )。

    A.机器加工、组装
    B.产品更新
    C.工厂保安
    D.生产前机器调试

    答案:B
    解析:
    选项A属于单位级作业;选项C属于生产维持级作业;选项D属于批次级作业。

  • 第18题:

    若操作系统中有n个作业Ji(i=1,2,…,n),分别需要Ti(i=1,2,…,n)的运行时间,采用()的作业调度算法可以使平局周转时间最短。

    • A、先来先服务
    • B、最短作业优先
    • C、响应比高者优先
    • D、优先级

    正确答案:B

  • 第19题:

    作业排序的影响因素主要包括哪些()

    • A、作业达到模式——静态或动态
    • B、加工中心机器的数量和种类
    • C、加工中心工人和机器的比例
    • D、零件的大小

    正确答案:A,B,C

  • 第20题:

    检查工序活动的结果,一旦发现问题,应采取的措施()

    • A、继续作业活动,在作业过程中解决问题
    • B、无视问题,继续作业活动
    • C、停止作业活动进行处理,直到符合要求
    • D、停止作业活动进行处理,不做任何处理

    正确答案:C

  • 第21题:

    单选题
    当使用作业成本法时,下列(   )部门活动应当使用机器工时数作为分配制造费用的成本动因。
    A

    工厂食堂

    B

    机器安装

    C

    原料处理

    D

    机器喷绘


    正确答案: B
    解析:

  • 第22题:

    单选题
    ()是确定工件在机器上加工顺序。
    A

    生产计划

    B

    生产作业计划

    C

    作业排序

    D

    节拍


    正确答案: C
    解析: 暂无解析

  • 第23题:

    单选题
    按照事先的加工要求,由单个作业员在多台机器上完成多种产品的生产。但是,插单的前提是必须保证前一张订单已经完成。此类作业宜采用哪种作业方式()
    A

    全工序自理的作业方法

    B

    多品种自理的作业方法

    C

    单人多机的作业方法

    D

    单一工序的单人操作


    正确答案: A
    解析: 暂无解析