基于spt规则的双代理开放车间工件加工排序方法

文档序号:1771178 发布日期:2019-12-03 浏览:28次 >En<

阅读说明:本技术 基于spt规则的双代理开放车间工件加工排序方法 (The open workshop work pieces process sort method of dual-proxy based on SPT rule ) 是由 张妍 任涛 杨丹丹 董普庆 王柳婷 于 2019-09-11 设计创作,主要内容包括:本发明公布了一种基于SPT规则的双代理开放车间工件加工排序方法。首先确定开始处理时间,然后根据两个代理的最大完工时间确定出权重θ系数的取值范围,再根据SPT规则结合稠密排序得到两个代理的优先等级,选择开始时间小的工件先加工,在开始时间相同的情况下,先加工优先级高的工件,若优先级相同的工件中存在相同的开始时间,则优先加工处理时间短的工件,得出按照优先级排序后的两个代理的最大完工时间,并确定出权重θ系数和目标函数,最后根据目标函数求出极小化双代理的最大完工时间。本发明采用与优先级相结合的稠密排序,优化了双代理开放车间的排序,有利于缩短制造期限,提高生产效率。(The invention discloses a kind of, and the dual-proxy based on SPT rule opens workshop work pieces process sort method.Determination starts to process the time first, then the Maximal Makespan acted on behalf of according to two determines the value range of weight θ coefficient, dense sequence is combined to obtain the priority level of two agencies further according to SPT rule, the workpiece for selecting the time started small is first processed, in time started identical situation, the first high workpiece of processing priority, if there are at the beginning of identical in the identical workpiece of priority, then short workpiece of preferential working process time, obtain the Maximal Makespan according to two agencies after priority ranking, and determine weight θ coefficient and objective function, the Maximal Makespan of minimization dual-proxy is finally found out according to objective function.The present invention uses the dense sequence combined with priority, optimizes the sequence in the open workshop of dual-proxy, is conducive to shorten the manufacture time limit, improves production efficiency.)

基于SPT规则的双代理开放车间工件加工排序方法

技术领域

本发明涉及生产调度领域,具体地说是一种基于SPT规则的双代理开放车间工件加工排序方法。

背景技术

开放作业调度问题是在许多领域调度问题的简化模型,与实际关系密切。假设现在有两家厂商要在某开放车间装配线上加工,每个厂商都希望自己的产品能够尽快交货,那么作为开放车间工厂应该如何安排生产,才能最大可能的满足两个客户的要求?这就是一个非常典型的双代理的开放车间调度问题。

开放作业调度问题一般描述为:n个工件在m台机器上加工,每个工件在机器上的加工顺序是任意的,工件可以从任何一台机器上开始加工,在任何一台机器上结束加工。在任何时刻,每个工件最多只能被一个机器加工,且每台机器最多加工一个工件。工件开始加工后,在加工过程中不能被中断,直到工件加工完成,目标是找到一个调度使得某个调度准则最小。开放作业调度问题是学术界公认的复杂度及难度都极高的最优化组合问题,除了少数的具有特殊情况的问题,绝大多数的开放作业调度问题都是NP难问题(NP-hard)其中,NP是指非确定性多项式(non-deterministic polynomial,缩写NP)。所谓的非确定性是指,可用一定数量的运算去解决多项式时间内可解决的问题,通俗来说是其解的正确性能够被“容易检查”的问题。

发明内容

针对求解双代理开放车间极小化加权制造期的问题,本发明提供一种基于最短加工时间优先规则(SPT规则)的用于求解双代理开放车间的极小化加权制造期问题的稠密排序算法用于缩短制造期限,提高生产效率。

本发明提出了一种基于SPT规则的双代理开放车间工件加工排序方法,其技术方案为:

一种基于SPT规则的双代理开放车间工件加工排序方法,包括以下步骤:

步骤一:初始化所有工件加工工序的开始处理时间S(i,j)=0,其中i表示第i台机器,j表示工件j,初始化所有工件的加工状态flag(i,j)=0,其中flag(i,j)=0表示工件处于未加工状态,flag(i,j)=1表示工件处于已加工状态,初始化代理A与代理B的优先级为相等;

步骤二:定义矩阵H=(O(i,j)m*n),所述矩阵H表示m台机器加工n个工件的加工工序的集合,O(i,j)表示工件的加工工序,根据SPT规则结合优先级与稠密排序在所述矩阵H中找到最小的S(i,j)对应的工件的加工工序,若所述最小的S(i,j)对应的工件为两件及两件以上,选择优先级高的工件的加工工序,记为O(i,j)';

步骤三:更新与所述O(i,j)'具有相同工件和相同机器的工序的开始处理时间S(i,j),并将所述O(i,j)'对应的flag(i,j)置为1;

步骤四:不断重复步骤二和步骤三,直到所述矩阵H中所有工序的flag(i,j)=1,得出代理A加工的总工件nA在各机器上的加工工序,得出代理B加工的总工件nB在各机器上的加工工序;

步骤五:在代理A加工nA个工件的nA个完工时间中找出最大完工时间,记为CmaxA,在代理B加工nB个工件的nB个完工时间中找出最大完工时间,记为CmaxB,定义权重系数θ为区间[0,2*(CmaxB/CmaxA)]内的随机数,加工的工件数n满足关系n=nA+nB

步骤六:在所述矩阵H中找到代理A加工的nA个工件,并对所述nA个工件在矩阵H对应的每行求和为XA,对所述nA个工件在矩阵H对应的每列求和为YA,比较XA和YA的大小,取XA和YA中的最大值赋给LBA,LBA表示代理A加工的nA个工件的下界值,在矩阵H中找到代理B加工的nB个工件,并对所述nB个工件在矩阵H对应的每行求和为XB,对所述nB个工件在矩阵H对应的每列求和为YB,比较XB和YB的大小,取XB和YB中的最大值赋给LBB,LBB表示代理B加工的nB个工件的下界值;

步骤七:通过比较θ与LBB/LBA的比值的大小关系,判断代理A与代理B的优先级高低,若θ>LBB/LBA,则表示代理B的优先级高,若θ≤LBB/LBA,则表示代理A的优先级高;

步骤八:再次初始化矩阵H中的所有工件的加工状态flag(i,j)=0,在判断代理A和代理B优先级的前提下不断重复步骤二和步骤三,直到矩阵H中的所有工件的加工状态flag(i,j)=1,得到在判断优先级的前提下代理A加工的nA个工件在各机器上的加工顺序,以及在判断优先级的前提下代理B加工的nB个工件在各机器上的加工顺序;

步骤九:找出在判断优先级的前提下代理A加工nA个工件的nA个完工时间中的最大完工时间,并更新CmaxA的值,找出在判断优先级的前提下代理B加工nB个工件的nB个完工时间中的最大完工时间,并更新CmaxB的值,根据公式(1)求出目标函数F,即可根据所述目标函数求得极小化代理A和代理B的最大完工时间;

F=min(CmaxA+θCmaxB) (1)

式中,θ表示权重系数,取值范围为区间[0,2*(CmaxB/CmaxA)]内的随机数。

所述的步骤二中的根据SPT规则结合优先级与稠密排序在所述矩阵H中找到最小的S(i,j)对应的工件的加工工序,具体表述为:若存在两个或两个以上有相同开始时间的工序,则选择优先级高的代理中的工序;若所述优先级高的代理中再有两个或两个以上有相同优先级别的工序,则选择处理时间较短的工序;若所述处理时间较短的工序再有两个或两个以上相同处理时间的工序,则按照工序在矩阵H中的顺序进行加工,工件加工时按照稠密排序的规则进行加工,加工完成后标记flag(i,j)=1。

所述的步骤三更新与所述O(i,j)'具有相同工件和相同机器的工序的开始处理时间S(i,j),具体表述为:定义C(i,j)=S(i,j)+P(i,j),C(i,j)表示工件加工工序的完工时间,S(i,j)表示工件加工工序的开始处理时间,P(i,j)表示工件加工工序的处理时间,对于与工件的加工工序O(i,j)'具有相同工件和相同机器的工序,如果S(i,j)<C(i,j),则令C(i,j)=S(i,j),如果S(i,j)≥C(i,j),则S(i,j)值不变。

本发明的有益效果:

本发明针对双代理开放车间排序问题,采用与优先级相结合的稠密排序,优化了双代理开放车间的排序,通过求解设计出的目标函数得出极小化双代理的最大完工时间,有利于缩短制造期限,提高生产效率。

附图说明

图1为本发明实施例中的基于SPT规则的双代理开放车间工件加工排序方法的流程图。

图2为本发明实施例中的基于SPT规则的双代理开放车间调度排序甘特图。

图3为本发明实施例中的基于SPT规则结合优先级的双代理开放车间调度排序甘特图。

图4为本发明实施例中的随机排序下的双代理开放车间调度排序甘特图。

具体实施方式

下面是结合附图对本发明的技术方案进行详细说明。

如图1本发明实施例中的基于SPT规则的双代理开放车间工件加工排序方法的流程图所示,一种基于SPT规则的双代理开放车间工件加工排序方法,包括以下步骤:

步骤一:初始化所有工件加工工序的开始处理时间S(i,j)=0,其中i表示第i台机器,j表示工件j,初始化所有工件的加工状态flag(i,j)=0,其中flag(i,j)=0表示工件处于未加工状态,flag(i,j)=1表示工件处于已加工状态,初始化代理A与代理B的优先级为相等;

步骤二:定义矩阵H=(O(i,j)m*n),所述矩阵H表示未按照优先级排序时的m台机器加工n个工件的加工工序的集合,O(i,j)表示工件的加工工序,根据SPT规则结合稠密排序在所述矩阵H中找到最小的S(i,j)对应的工件的加工工序,若所述最小的S(i,j)对应的工件为两件及两件以上,选择优先级高的工件的加工工序,记为O(i,j)';

SPT规则结合优先级与稠密排序,具体表述为:若存在两个或两个以上有相同开始时间的工序,则选择优先级高的代理中的工序;若所述优先级高的代理中再有两个或两个以上有相同优先级别的工序,则选择处理时间较短的工序;若所述处理时间较短的工序再有两个或两个以上相同处理时间的工序,则按照工序在矩阵H中的顺序进行加工,工件加工时按照稠密排序的规则进行加工,加工完成后标记flag(i,j)=1。

步骤三:更新与所述O(i,j)'具有相同工件和相同机器的工序的开始处理时间S(i,j),(即O(i,j)'在矩阵H中的所在行和所在列涉及到的工序),并将所述O(i,j)'对应的flag(i,j)置为1,具体表述为:定义C(i,j)=S(i,j)+P(i,j),C(i,j)表示工件加工工序的完工时间,S(i,j)表示工件加工工序的开始处理时间,P(i,j)表示工件加工工序的处理时间,对于与工件的加工工序O(i,j)'具有相同工件和相同机器的工序,如果S(i,j)<C(i,j),则令C(i,j)=S(i,j),如果S(i,j)≥C(i,j),则S(i,j)值不变。

步骤四:不断重复步骤二和步骤三,直到所述矩阵H中所有工序的flag(i,j)=1,得出代理A加工的总工件nA在各机器上的加工工序,得出代理B加工的总工件nB在各机器上的加工工序;

具体参数设计如表1所示,表中Jobj(A)表示属于代理A的工件j;Jobj(B)表示属于代理B的工件j;Machine i表示机器i;表中数据表示工件在机器上的加工时间,如表中第一行第二列的数据表示属于代理A的工件2在机器1上的加工时间是1。

表1具体案例参数表

步骤五:在代理A加工nA个工件的nA个完工时间中找出最大完工时间,记为CmaxA,在代理B加工nB个工件的nB个完工时间中找出最大完工时间,记为CmaxB,定义权重系数θ为区间[0,2*(CmaxB/CmaxA)]内的随机数,在此区间范围内取随机数为θ赋值,加工的工件数n满足关系n=nA+nB

根据表1给出的具体参数求θ的取值范围,首先使用SPT规则将工件排序,计算得到CmaxA=15,CmaxB=21,权重系数θ为区间[0,2*(21/15)]内的随机数,为方便计算,令θ=1。基于SPT规则的双代理开放车间调度排序甘特图如图2所示,图中Mi代表机器i,Ji代表工件i,图中具体的数值对应各工件在各机器上的加工时间。

步骤六:在所述矩阵H中找到代理A加工的nA个工件,并对所述nA个工件在矩阵H对应的每行求和为XA,对所述nA个工件在矩阵H对应的每列求和为YA,比较XA和YA的大小,取XA和YA中的最大值赋给LBA,LBA表示代理A加工的nA个工件的下界值,在矩阵H中找到代理B加工的nB个工件,并对所述nB个工件在矩阵H对应的每行求和为XB,对所述nB个工件在矩阵H对应的每列求和为YB,比较XB和YB的大小,取XB和YB中的最大值赋给LBB,LBB表示代理B加工的nB个工件的下界值;

步骤七:通过比较θ与LBB/LBA的比值的大小关系,判断代理A与代理B的优先级高低,若θ>LBB/LBA,则表示代理B的优先级高,若θ≤LBB/LBA,则表示代理A的优先级高;

表2具体案例下界计算过程

结合上述案例参数以及表2可得,LBB=18,LBA=11,则LBB/LBA=1.6,此时θ<1.6,则说明代理A优先级高,表中Mi代表机器i,Ji代表工件i,具体的数值对应各工件在各机器上的加工时间,其中“行求和”和“列求和”中对应的数据分别是计算下界过程中用到的数据,加粗的两个数分别对应LBA和LBB

步骤八:再次初始化矩阵H中的所有工件的加工状态flag(i,j)=0,在判断代理A和代理B优先级的前提下不断重复步骤二和步骤三,直到矩阵H中的所有工件的加工状态flag(i,j)=1,得到在判断优先级的前提下代理A加工的nA个工件在各机器上的加工顺序,以及在判断优先级的前提下代理B加工的nB个工件在各机器上的加工顺序;

步骤九:找出在判断优先级的前提下代理A加工nA个工件的nA个完工时间中的最大完工时间,并更新CmaxA的值,找出在判断优先级的前提下代理B加工nB个工件的nB个完工时间中的最大完工时间,并更新CmaxB的值,根据公式(1)求出目标函数F,即可根据所述目标函数求得极小化代理A和代理B的最大完工时间;

F=min(CmaxA+θCmaxB) (1)

式中,θ表示权重系数,取值范围为区间[0,2*(CmaxB/CmaxA)]内的随机数。

本实施例中结合图3可得,在代理A优先级高的前提下,得到代理A的最大完工时间为15,代理B的最大完工时间为21,则目标函数F=min(CmaxA+θCmaxB)=15+1*21=36,若按照随机排序的方式进行工件加工顺序的排序,随机排序下的双代理开放车间调度排序甘特图如图4所示,随机排序下,代理A的最大完工时间为19,代理B的最大完工时间为22,则目标函数F=min(CmaxA+θCmaxB)=19+1*22=41,由此可见结合优先级的稠密排序算法可以减小目标函数值,说明本发明是有效的。基于SPT规则结合优先级的双代理开放车间调度排序甘特图如图3所示,图中Mi代表机器i,Ji代表工件i,图中具体的数值对应各工件在各机器上的加工时间。

为了验证基于SPT规则的双代理开放车间工件加工排序方法是否有效,设计了一系列的数值仿真实验,实验测试的机器数分别为3/5/10;工件数分别为100/500/1500/2000时,各机器工件不同规模的组合。

该实验使用c语言进行仿真,工件在每台机器的加工时间由函数随机生成,区间为[1,10]。每种规模进行5次实验,记录代理A、代理B的下界值、θ值、CmaxA、CmaxB以及随机排序下的目标函数值和结合了本发明后的目标函数值,具体试验数据和试验结果如表3、表4、表5所示。

从表3、表4、表5的计算结果可以看出,利用结合优先级的稠密排序会优化双代理开放车间的排序,使得目标函数CmaxA+θCmaxB更小。

表3.仿真数据结果(机器数为3)

表4.仿真数据结果(机器数为5)

表5.仿真数据结果(机器数为10)

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:可编程控制器以及机器学习装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类