logo资料库

基于优先级的调度模型.docx

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
库房订单调度算法研究 1. 研究背景 在当前制造业的发展中,信息化已经几乎贯穿整个制造行业,并 发挥着越来越重要的作用。本文研究的某企业的备品备件库的订单调 度算法,其订单特点为种类多、需求变动频繁、实时性强,在此背景 下,同时具有很多订单的时候,计划与调度要具有敏捷性,能够解决 订单的计划与调度的实时性,高效率的安排这些订单并满足订单需求。 本文针对这一问题,对多订单的调度做出研究,并提出相应的调度算 法。 2. 库房订单的调度系统 2.1 问题描述 某企业的库房中的备品备件支撑整个企业的日常生产,如何保证 库房中的备品备件有效的支撑企业的日常生产,成为一个亟待解决的 问题。在日常的调度中,当库房中的备品备件消耗后要及时补充相应 物品,保证日后的需求;当需要备品备件的多个订单提交时,要及时 相应订单,保证及时高效的完成所有订单需求。根据以上需求,我们 将库房的订单调度模型抽象成两部分:订单入库和订单出库,通过相 关的调度算法,及时响应各种订单信息。 2.2 基于先来先服务的入库订单调度算法 在日常的库房维护中,库房管理员会根据日常的订单以及用户的 反馈采购相应的备品备件。当库房管理员采购来备品备件准备放入库 房,调度模型即生成一个入库的订单,并记录备品备件的名称、数量、 价格、采购时间等相关的属性。该入库订单提交给库房调度系统,系
统根据先来先服务的调度算法,根据订单的提交顺序依次处理,将备 品备件放在库房的相应位置,并做好记录,在系统数据库中更新相关 信息。 基于先来先服务的入库订单调度算法表示如下: 步骤 1:对采购的备品备件生成相应的入库订单,病根据订单的 实际情况对备品备件的名称、数量、价格、采购时间的等相关属性进 行赋值,然后将订单放入入库订单的等待队列中。 步骤 2:对入库订单队列中所有的订单,库房调度系统根据其提 交的时间顺序依次进行处理,处理完毕后将该订单从入库订单队列中 提出,并在系统中更新相关的数据记录。 步骤 3:若队列中仍有订单等待,转向步骤 2,否则,转向步骤 4. 步骤 4:订单全部完成,调度算法结束 2.3 基于优先级的出库订单调度算法 当用户需要相应的备品备件时,其会向库房调度系统提交一个出 库订单,包含其所需要的备品备件。库房调度系统会根据其相应的调 度算法,及时相应该订单,满足用户的需求。在日常的使用中,常常 面临这种情况,同时提交了多个出库订单,如何及时相应多个订单, 满足他们的需求,这个库房调度系统必须解决的一个问题。 在订单调度系统中,最常见的调度模型为先来先服务和最短时间 优先服务两种模型。先来先服务调度模型实现最简单,谁先来先处理 水,但是效率较低;最短时间优先的模型是将事件最短的订单有限处
理,但是该模型对大订单不利,可能使得大订单长时间得到不解决。 本文提出一种按订单的优先级进行调度的模型。在每次调度前,调度 算法计算每个订单的优先级,并且每次都安排优先级最高的订单进行 处理。 (1)订单优先级的定义 在基于优先级的订单调度模型中,订单需要交付的时间记为 T1, 订单提交时间为 T2,订单中包含备件数量记为 n,每个备件的准备时 间为 Ti(i=1,2,……,n),订单的价值记为 V,当前时间记为 T。 定义 1:订单的紧迫系数 a,订单越临近交付时间,订单的紧迫 系数越高,计算公式为:a= 1−2 =1 定理 1:当紧迫系数 a 大于 0 时,值越小,就越紧迫,优先级就 越高。 证明:由紧迫系数的公式可得: 当 a<=0 时,订单的提交日期大于等于交付日期,订单过期。 当 a<1 时,订单的剩余时间小于订单的准备时间,时间紧迫,需 要加班加点完成。 当 a=1 时,订单的剩余时间刚好等于订单的准备时间,可以按计 划完成。 当 a>1 时,订单的剩余时间大于订单的准备时间,时间充裕。 定理 1 证明完毕。 定义 2 订单的优先级我们记为 Pn,定义订单的优先级计算公式
Pn=Lg( V+ =1 T1−T ) a 为: 由订单优先级的计算公式我们可以得知: ○1 当订单越紧迫时,订单的优先级越大; ○2 当订单的交付时间越临近,订单的优先级越大; ○3 当订单的备件准备时间越大,订单的优先级越大; ○4 当订单的备件价值越大时,订单的优先级越大。 (2)基于订单优先级的调度算法 在订单等待队列中的订单 Di 的优先级为 Pi ,其属性分别如定义 1 和定义 2,基于优先级的订单调度算法表示如下: 步骤 1:对订单等待队列中的所有订单 Di ,根据订单的实际情 况对订单需要交付的时间、订单提交时间为 T2、订单中包含备件数 量、订单中每个备件的准备时间、订单的价值记以及当前时间等属性 进行赋值。 步骤 2:对队列中所有的订单,通过定义 1 计算其紧迫系数 a, 若 a<0,则表示订单已经过期,将其从订单队列中剔除。 步骤 3:对队列中的所有订单,通过定义 2 计算其优先级 Pn,选 取优先级最大的订单进行处理(若订单的优先级相同,选择等待时间 长进行处理),并从队列中剔除该订单。 步骤 4:若队列中仍有订单等待,转向步骤 2,否则,转向步骤 5.
步骤 5:订单全部完成,调度算法结束。 3. 结语 库房订单调度系统,根据库房的实际操作过程将整个过程分为入 库订单调度和出库订单调度两部分,并根据各自的特点选择的相应的 调度算法。订单入库调度算法,选择了先来先服务的调度算法,保证 所有的入库订单依次完成入库。订单出库的调度算法,对订单的优先 级进行了定义,使用基于优先级的调度算法,保证优先级高的订单能 够及时的相应,并且能够很大程度上避免了先来先服务和短订单优先 的算法的带来的弊端,保证了订单调度算法具有较好的性能,对实际 生产中的订单调度算法具有较好的参考价值。
分享到:
收藏