CN109507970A - 基于粒子群算法的生产调度方法和装置 - Google Patents
基于粒子群算法的生产调度方法和装置 Download PDFInfo
- Publication number
- CN109507970A CN109507970A CN201811526889.1A CN201811526889A CN109507970A CN 109507970 A CN109507970 A CN 109507970A CN 201811526889 A CN201811526889 A CN 201811526889A CN 109507970 A CN109507970 A CN 109507970A
- Authority
- CN
- China
- Prior art keywords
- workpiece
- constraint
- machine
- indicate
- particle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000002245 particle Substances 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 48
- 238000013178 mathematical model Methods 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 24
- 238000012937 correction Methods 0.000 claims description 7
- 238000005553 drilling Methods 0.000 claims description 7
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 claims description 6
- 238000004148 unit process Methods 0.000 claims description 6
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract 1
- 108090000623 proteins and genes Proteins 0.000 abstract 1
- 230000006870 function Effects 0.000 description 19
- 230000007246 mechanism Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 244000144992 flock Species 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32252—Scheduling production, machining, job shop
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明实施例提供了一种基于粒子群算法的生产调度方法和装置,首先通过构建生产调度的数学模型,该数学模型包含至少一个约束,然后基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案。本发明实施例中设计了简化粒子群算法进行求解,简化了传统粒子群算法求解工件位置的计算流程,能够以较大的概率继承优秀个体的基因,也能以一定概率进行变异,从而避免陷入早熟的现象,同时还可以对不满足约束条件的解进行修正,保证最终输出结果是可行解。
Description
【技术领域】
本发明涉及工业制造技术领域,尤其涉及一种基于粒子群算法的生产调度方法和装置。
【背景技术】
生产调度,即对生产过程进行作业计划,是整个先进制造系统实现管理技术、运筹技术、优化技术、自动化与计算机技术发展的核心。车间调度问题是许多生产调度问题的简化模型,是最典型、最重要的调度问题之一,也是最困难的组合优化问题之一。
生产调度问题是影响工业生产效率的关键问题之一。然而,在当前的很多研究中,由于工件加工时间模糊、计算涉及参数较多以及约束条件不合理等因素的存在,导致求解效率和解的质量通常偏低。
【发明内容】
有鉴于此,本发明实施例提供了一种基于粒子群算法的生产调度方法和装置,用以解决现有技术中求解效率和解的质量偏低的问题。
一方面,本发明实施例提供了一种基于粒子群算法的生产调度方法,所述方法包括:
构建生产调度的数学模型,所述数学模型包含至少一个约束;
基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数学模型包括:
其中,j=1,2,3,...,m,m是机器数量,j表示第j个机器;k=1,2,3,...,n,n是位置数量,k表示第k个位置;Cjk表示第j个机器上第k个位置的工件的完工时间。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Cj,0=0
约束5:
约束6:
TC≤U
约束7:
xjki∈{0,1}
其中,i=1,2,3,...,n,i表示第i个工件;
j=1,2,3,...,m,j表示第j个机器;
k=1,2,3,...,n,k表示第k个位置;
xjki=1表示工件i在机器j的第k个位置上加工,xjki=0表示工件i不在机器j的第k个位置上加工;
Cjk表示第j个机器上第k个位置的工件的完工时间;
表示第i个工件的模糊加工时间,
βj表示第j台机器的单位时间加工成本;
sj表示第j台机器的单位加工速度;
TC表示加工完所有工件的总成本;
U表示给定的预算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案,具体包括:
步骤a,对种群进行初始化;
步骤b,随机生成初始种群;
步骤c,对工件的加工时间进行去模糊化计算;
步骤d,计算粒子对应的目标函数值及总加工成本;
步骤e,更新粒子的局部最优值和工件的位置,以及全局最优值和工件的位置;
步骤f,判断是否达到最大迭代次数,如果是,进入步骤h,否则,进入步骤i;
步骤h,判断总加工成本是否不超过给定的预算,如果是,结束,否则,进入步骤j;
步骤i,更新每个粒子上工件的位置,然后返回步骤c;
步骤j,对总加工成本结果进行修正,然后返回步骤h。
另一方面,本发明实施例提供了一种基于粒子群算法的生产调度装置,所述装置包括:
构建单元,用于构建生产调度的数学模型,所述数学模型包含至少一个约束;
求解单元,用于基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数学模型包括:
其中,j=1,2,3,...,m,m是机器数量,j表示第j个机器;k=1,2,3,...,n,n是位置数量,k表示第k个位置;Cjk表示第j个机器上第k个位置的工件的完工时间。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Cj,0=0
约束5:
约束6:
TC≤U
约束7:
xjki∈{0,1}
其中,i=1,2,3,...,n,i表示第i个工件;
j=1,2,3,...,m,j表示第j个机器;
k=1,2,3,...,n,k表示第k个位置;
xjki=1表示工件i在机器j的第k个位置上加工,xjki=0表示工件i不在机器j的第k个位置上加工;
Cjk表示第j个机器上第k个位置的工件的完工时间;
表示第i个工件的模糊加工时间,
βj表示第j台机器的单位时间加工成本;
sj表示第j台机器的单位加工速度;
TC表示加工完所有工件的总成本;
U表示给定的预算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述求解单元包括:
初始化模块,用于对种群进行初始化;
生成模块,用于随机生成初始种群;
第一计算模块,用于对工件的加工时间进行去模糊化计算;
第二计算模块,用于计算粒子对应的目标函数值及总加工成本;
第一更新模块,用于更新粒子的局部最优值和工件的位置,以及全局最优值和工件的位置;
第一判断模块,判断是否达到最大迭代次数,如果是,触发第二判断模块,否则,触发第二更新模块;
第二判断模块,用于判断总加工成本是否不超过给定的预算,如果是,结束,否则,触发修正模块;
第二更新模块,用于更新每个粒子上工件的位置,然后重新触发第一计算模块;
修正模块,用于对总加工成本结果进行修正,然后重新触发第二判断模块。
上述技术方案中的一个技术方案具有如下有益效果:
本发明实施例中,通过构建生产调度的数学模型,并对数学模型设置至少一个约束,然后基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案,可以在一定程度上降低运算量,同时还提升了求解效率及解的质量。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的基于粒子群算法的生产调度方法的流程示意图;
图2是本发明实施例所提供的基于粒子群算法求解数学模型的方法的流程示意图;
图3是本发明实施例所提供的基于粒子群算法的生产调度装置的结构框架图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述判断模块,但这些判断模块不应限于这些术语。这些术语仅用来将分类信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一判断模块也可以被称为第二判断模块,类似地,第二判断模块也可以被称为第一判断模块。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在......时”或“当......时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
为了方便理解本发明实施例的技术方案,下面对生产调度的相关技术做基本的介绍。
针对工件具有模糊加工时间的车间调度问题,可以简要描述为:一组工件(n)、一组机器(m),工件的加工时间不确定,在这里用三角模糊数表示,即每台机器j对应一个加工速度sj以及相应的单位加工成本βj,1≤j≤m。每台机器在同一时刻只能加工一个工件;每个工件只能分配到一台机器上加工,并且加工过程不可中断;工件之间没有优先关系。
粒子群算法可以对车间调度问题进行求解,但是使用传统的粒子群算法进行求解通常会出现以下问题;
1)车间调度过程中,通常考虑的是工件具有明确的加工时间,但是在实际生产过程中,工件的加工时间通常是不确定的;
2)传统的粒子群算法在求解车间调度问题时,要计算每个工件位置移动的速率,计算过程涉及的参数较多,且结果受参数影响较大;
3)传统的粒子群算法在设计惩罚函数时,无法很好的保存具有良好目标函数值的粒子。若惩罚系数过大,可能会出现将不满足预算约束条件,但是其目标函数值接近最优值的粒子剔除;若惩罚系数过小,则可能会出现不满足预算约束的粒子的目标函数值优于满足预算约束的粒子的目标函数值的情况;
4)传统的粒子群算法没有考虑最终的输出方案是否满足预算约束,最终输出的结果有可能会出现总加工成本大于预算的情况。
针对现有技术中所存在的求解效率和求解质量偏低这一类问题,本发明实施例提供了相应的解决思路:通过构建生产调度的数学模型,并对数学模型设置至少一个约束,然后基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案。
在该思路的引导下,本发明实施例提供了以下可行的实施方案。
本发明实施例提供了一种基于粒子群算法的生产调度方法,图1是本发明实施例所提供的基于粒子群算法的生产调度方法的流程示意图,如图1所示,该方法包括:
S101,构建生产调度的数学模型,所述数学模型包含至少一个约束;
S102,基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案。
其中,在本发明的实施例中,首先对生产调度问题进行建模,该数学模型如下:
式(1)是目标函数,表达的是最小化所有工件的完工时间之和,其中,j=1,2,3,...,m,m是机器数量,j表示第j个机器;k=1,2,3,...,n,n是位置数量,k表示第k个位置;Cjk表示第j个机器上第k个位置的工件的完工时间。
另外,基于以上目标函数,建立模型的约束条件如下:
约束1:
约束2:
约束3:
约束4:
Cj,0=0 (5)
约束5:
约束6:
TC≤U (7)
约束7:
xjki∈{0,1} (8)
式(2)表示每个工件只能在一台机器的一个位置上加工,即仅能被加工一次;
式(3)表示每台机器的每个位置上最多只能安排一个工件进行加工;
式(4)表示机器j的第k个位置上的作业的完工时间;
式(5)表示每台机器存在一个虚拟位置,在这个位置上的虚拟工件的完工时间为0。
式(6)表示加工完所有工件的总成本。
式(7)表示总加工成本不能超过给定的预算范围
式(8)表示决策变量是一个0-1变量。
其中,i=1,2,3,...,n,i表示第i个工件;
j=1,2,3,...,m,j表示第j个机器;
k=1,2,3,...,n,k表示第k个位置;
xjki是决策变量,xjki=1表示工件i在机器j的第k个位置上加工,xjki=0表示工件i不在机器j的第k个位置上加工;
Cjk表示第j个机器上第k个位置的工件的完工时间;
表示第i个工件的模糊加工时间,
βj表示第j台机器的单位时间加工成本;
sj表示第j台机器的单位加工速度;
TC表示加工完所有工件的总成本;
U表示给定的预算,U的可行取值范围是其中, U表示所有工件都安排在单位加工费用最小的机器上时的总加工成本,表示所有工件都安排在单位加工费用最大的机器上时的总加工成本,当给定的预算U<U时,则程序不可行。
下面,详细说明基于粒子群算法对数学模型的求解方法。
粒子群算法,也称粒子群优化算法或鸟群觅食算法,是近年来由J.Kennedy和R.C.Eberhart等开发的一种新的进化算法,它是从随机解出发,通过迭代寻找最优解。
传统粒子群算法在对车间调度问题求解时首先要计算每个工件位置的移动速率,然后再利用该速率根据位置函数来改变工件的位置。而工件位置的移动速率在计算过程中涉及的参数过多,且求解结果受参数影响较大。而通过本发明的数学模型和约束条件可以看出,本发明采用的简化粒子群算法,从根本上简化了工件位置变化的机制,摒弃了求解速率的步骤,从而使得求解难度大大降低。
粒子群算法中,惩罚函数的特性和惩罚系数的大小决定着粒子的目标函数值。如果惩罚函数对不满足预算约束的粒子的惩罚力度过小,对于不满足预算的粒子起不到惩罚的作用。如果惩罚力度过大,则会增大剔除掉具有优良质量的不满足预算的粒子。针对该问题,本发明采用的简化粒子群算法中设计了一个平衡上述两种情况的惩罚函数。
传统粒子群算法没有考虑到最终结果的可行性。而在现实的生产过程中,决策者需要同时兼顾效率和成本两者之间的关系,总是希望能在给定的预算范围内得到满意的结果。但由于存在预算约束,则会出现最终输出的结果不是可行解的情况。针对这种情况,本发明提出了一个修正的机制,使得最终的输出结果满足预算要求。
图2是本发明实施例所提供的基于粒子群算法求解数学模型的方法的流程示意图,如图2所示,步骤S102中的求解算法的流程包括如下步骤:
步骤a,对种群进行初始化;
步骤b,随机生成初始种群;
步骤c,对工件的加工时间进行去模糊化计算;
步骤d,计算粒子对应的目标函数值及总加工成本;
步骤e,更新粒子的局部最优值和工件的位置,以及全局最优值和工件的位置;
步骤f,判断是否达到最大迭代次数,如果是,进入步骤h,否则,进入步骤i;
步骤h,判断总加工成本是否不超过给定的预算,如果是,结束,否则,进入步骤j;
步骤i,更新每个粒子上工件的位置,然后返回步骤c;
步骤j,对总加工成本结果进行修正,然后返回步骤h。
下面对求解算法的步骤细节进行进一步的详细说明。
Step1
初始化:种群规模N,惩罚系数r,工件位置变化系数Cw、Cp、Cg,终止代数T,进入Step2。
Step2
随机生成初始种群:随机生成N个粒子(方案),每个粒子的长度为n,分别对应相应的工件,第i(1≤i≤n)个长度上的数值表示工件的当前位置(所分配的机器),进入Step3。
Step3
去模糊化并计算目标函数值:对于工件i的模糊加工时间去模糊化后的加工时间为然后利用惩罚函数计算粒子k对应的目标函数值:
其中,r是惩罚系数;进入Step4。
Step4
更新每个粒子的局部最优值及工件的位置:对于每个粒子,让其当前的目标函数值与其历史最好的目标函数值pbest进行比较。若当前的目标函数值优于pbest,更新pbest以及每个工件的位置;进入Step5。
Step5
更新全局最优值及相应工件的位置:对于每个粒子,让其当前的目标函数值与全局最优目标函数值gbest进行比较。如果其适应度值优于gbest,则更新gbest以及其每个工件的位置;进入Step6。
Step6
更新每个粒子上工件的位置:在第t代,粒子i的第j个工件的位置通过以下机制进行更新:
其中,是一个0到1之间的浮点随机数,x表示0到m之间的随机整数;对于第t代的第i个粒子的第j个工件,其对应的位置不变的概率为Cw;移动到其当前最好位置的概率为Cp-Cw;移动到全局最优位置的概率为Cg-Cp;移动到任意位置的概率为1-Cg;其中0<Cw<Cp<Cg<1;进入Step7。
Step7
判断是否满足终止条件,若满足,结束迭代过程,继续Step9;若不满足则回到Step3。
Step8
判断是否满足预算约束:判断最优方案(最优粒子)的总加工成本TC是否满足预算约束;如果TC≤U,则输出最终的总完工时间,结束程序;否则,继续Step9。
Step9
对机器按βj/sj不增排序,其中1≤j≤m;继续Step10。
Step10
选出工件移出方:选出当前单位加工费用最高,且所分配的工件数大于等于1的机器pro,(1≤pro≤m-1),作为工件移出方,移出其当前的第一个工件,该机器上的作业数并减去1,程序如下所示:
pro=min{j|nj≥1,1≤j≤m-1}
npro=npro-1
其中,pro表示选出当前分配的工件数大于等于1且单位加工费用最高的机器作为工件移出方;npro表示移出方上的工件数减1;继续Step11。
Step11
选出工件接受方:选出总完工时间最小的机器acc,(pro+1≤acc≤m),作为工件接受方,把移出方的工件添加到接受方的最后,并且接受方上的工件数加1,程序如下所示:
nacc=nacc+1
其中,acc表示选出当前总完工时间最小且单位加工费用小于移出方的机器作为工件接收方;nacc表示接收方上的工件数加1;继续Step12。
Step12
重新计算总加工成本TC。如果TC≤U,结束程序,输出最终的总完工时间。否则,转到Step10。
求解完毕后,继续进行车间生产调度。本发明实施例对具体的调度方式不做限定。
本发明实施例针对车间调度中工件的加工时间不确定的情况进行了去模糊化处理,使车间模糊调度问题更便于量化和计算,设计的惩罚机制能够在较好保留优秀粒子的同时,对于不满足约束条件的粒子,也能进行很好的取舍。
本发明实施例所设计的工件位置变化机制在计算时,既能够以较大的概率继承优秀的粒子的特性,也能够以一定的概率进行突变,从而避免限于局部最优解。另外,工件位置变化机制不需要计算每个工件的变化速率,避免了计算过程中涉及参数过多的情况,使得算法更便于实施。
本发明实施例所设计的修正机制在计算时,针对最终的输出结果不是可行解的情况下进行修正,使得最终输出的结果一定是可行的,避免了得到不可行解的情况。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
需要说明的是,S101~S102的执行主体可以为基于粒子群算法的生产调度装置,该装置可以位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,本发明实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本发明实施例对此不进行限定。
本发明实施例进一步给出了一种基于粒子群算法的生产调度装置,如图3所示,图3是本发明实施例所提供的基于粒子群算法的生产调度装置的结构框架图,所述装置包括:
构建单元310,用于构建生产调度的数学模型,所述数学模型包含至少一个约束;
求解单元320,用于基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数学模型包括:
其中,j=1,2,3,...,m,m是机器数量,j表示第j个机器;k=1,2,3,...,n,n是位置数量,k表示第k个位置;Cjk表示第j个机器上第k个位置的工件的完工时间。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Cj,0=0
约束5:
约束6:
TC≤U
约束7:
xjki∈{0,1}
其中,i=1,2,3,...,n,i表示第i个工件;
j=1,2,3,...,m,j表示第j个机器;
k=1,2,3,...,n,k表示第k个位置;
xjki=1表示工件i在机器j的第k个位置上加工,xjki=0表示工件i不在机器j的第k个位置上加工;
Cjk表示第j个机器上第k个位置的工件的完工时间;
表示第i个工件的模糊加工时间,
βj表示第j台机器的单位时间加工成本;
sj表示第j台机器的单位加工速度;
TC表示加工完所有工件的总成本;
U表示给定的预算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述求解单元320包括:
初始化模块,用于对种群进行初始化;
生成模块,用于随机生成初始种群;
第一计算模块,用于对工件的加工时间进行去模糊化计算;
第二计算模块,用于计算粒子对应的目标函数值及总加工成本;
第一更新模块,用于更新粒子的局部最优值和工件的位置,以及全局最优值和工件的位置;
第一判断模块,判断是否达到最大迭代次数,如果是,触发第二判断模块,否则,触发第二更新模块;
第二判断模块,用于判断总加工成本是否不超过给定的预算,如果是,结束,否则,触发修正模块;
第二更新模块,用于更新每个粒子上工件的位置,然后重新触发第一计算模块;
修正模块,用于对总加工成本结果进行修正,然后重新触发第二判断模块。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种基于粒子群算法的生产调度方法,其特征在于,所述方法包括:
构建生产调度的数学模型,所述数学模型包含至少一个约束;
基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案。
2.如权利要求1所述的方法,其特征在于,所述数学模型包括:
其中,j=1,2,3,...,m,m是机器数量,j表示第j个机器;k=1,2,3,...,n,n是位置数量,k表示第k个位置;Cjk表示第j个机器上第k个位置的工件的完工时间。
3.如权利要求1所述的方法,其特征在于,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Cj,0=0
约束5:
约束6:
TC≤U
约束7:
xjki∈{0,1}
其中,i=1,2,3,...,n,i表示第i个工件;
j=1,2,3,...,m,j表示第j个机器;
k=1,2,3,...,n,k表示第k个位置;
xjki=1表示工件i在机器j的第k个位置上加工,xjki=0表示工件i不在机器j的第k个位置上加工;
Cjk表示第j个机器上第k个位置的工件的完工时间;
表示第i个工件的模糊加工时间,
βj表示第j台机器的单位时间加工成本;
sj表示第j台机器的单位加工速度;
TC表示加工完所有工件的总成本;
U表示给定的预算。
4.如权利要求1所述的方法,其特征在于,所述基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案,具体包括:
步骤a,对种群进行初始化;
步骤b,随机生成初始种群;
步骤c,对工件的加工时间进行去模糊化计算;
步骤d,计算粒子对应的目标函数值及总加工成本;
步骤e,更新粒子的局部最优值和工件的位置,以及全局最优值和工件的位置;
步骤f,判断是否达到最大迭代次数,如果是,进入步骤h,否则,进入步骤i;
步骤h,判断总加工成本是否不超过给定的预算,如果是,结束,否则,进入步骤j;
步骤i,更新每个粒子上工件的位置,然后返回步骤c;
步骤j,对总加工成本结果进行修正,然后返回步骤h。
5.一种基于粒子群算法的生产调度装置,其特征在于,所述装置包括:
构建单元,用于构建生产调度的数学模型,所述数学模型包含至少一个约束;
求解单元,用于基于简化粒子群算法对所述数学模型进行求解,获得最优生产调度方案。
6.如权利要求5所述的装置,其特征在于,所述数学模型包括:
其中,j=1,2,3,...,m,m是机器数量,j表示第j个机器;k=1,2,3,…,n,n是位置数量,k表示第k个位置;Cjk表示第j个机器上第k个位置的工件的完工时间。
7.如权利要求5所述的装置,其特征在于,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Cj,0=0
约束5:
约束6:
TC≤U
约束7:
xjki∈{0,1}
其中,i=1,2,3,...,n,i表示第i个工件;
j=1,2,3,...,m,j表示第j个机器;
k=1,2,3,...,n,k表示第k个位置;
xjki=1表示工件i在机器j的第k个位置上加工,xjki=0表示工件i不在机器j的第k个位置上加工;
Cjk表示第j个机器上第k个位置的工件的完工时间;
表示第i个工件的模糊加工时间,
βj表示第j台机器的单位时间加工成本;
sj表示第j台机器的单位加工速度;
TC表示加工完所有工件的总成本;
U表示给定的预算。
8.如权利要求5所述的装置,其特征在于,所述求解单元包括:
初始化模块,用于对种群进行初始化;
生成模块,用于随机生成初始种群;
第一计算模块,用于对工件的加工时间进行去模糊化计算;
第二计算模块,用于计算粒子对应的目标函数值及总加工成本;
第一更新模块,用于更新粒子的局部最优值和工件的位置,以及全局最优值和工件的位置;
第一判断模块,判断是否达到最大迭代次数,如果是,触发第二判断模块,否则,触发第二更新模块;
第二判断模块,用于判断总加工成本是否不超过给定的预算,如果是,结束,否则,触发修正模块;
第二更新模块,用于更新每个粒子上工件的位置,然后重新触发第一计算模块;
修正模块,用于对总加工成本结果进行修正,然后重新触发第二判断模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526889.1A CN109507970B (zh) | 2018-12-13 | 2018-12-13 | 基于粒子群算法的生产调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526889.1A CN109507970B (zh) | 2018-12-13 | 2018-12-13 | 基于粒子群算法的生产调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109507970A true CN109507970A (zh) | 2019-03-22 |
CN109507970B CN109507970B (zh) | 2020-07-07 |
Family
ID=65752466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811526889.1A Active CN109507970B (zh) | 2018-12-13 | 2018-12-13 | 基于粒子群算法的生产调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109507970B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257922A (zh) * | 2020-10-21 | 2021-01-22 | 福州大学 | 一种柔性作业车间调度优化方法 |
CN112907057A (zh) * | 2021-02-06 | 2021-06-04 | 北京理工大学 | 基于改进mopso算法的生产调度优化方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859100A (zh) * | 2010-06-18 | 2010-10-13 | 杭州电子科技大学 | 一种基于模糊交货期流水生产排程的改进微粒群优化方法 |
CN102393634A (zh) * | 2011-11-28 | 2012-03-28 | 浙江工业大学 | 一种基于pso-ga混合优化算法的单目标多生产线调度控制方法 |
CN103809506A (zh) * | 2014-01-26 | 2014-05-21 | 西安理工大学 | 基于一维粒子群算法获得零件加工最优调度方案的方法 |
US20140277599A1 (en) * | 2013-03-13 | 2014-09-18 | Oracle International Corporation | Innovative Approach to Distributed Energy Resource Scheduling |
CN104914835A (zh) * | 2015-05-22 | 2015-09-16 | 齐鲁工业大学 | 一种柔性作业车间调度多目标的方法 |
CN105550751A (zh) * | 2015-12-15 | 2016-05-04 | 重庆大学 | 利用优先级策略混合遗传算法的炼钢连铸生产调度方法 |
CN106228265A (zh) * | 2016-07-18 | 2016-12-14 | 中山大学 | 基于改进粒子群优化的总拖期运输计划调度算法 |
CN107730029A (zh) * | 2017-09-22 | 2018-02-23 | 齐鲁工业大学 | 基于量子行为粒子群算法的生产制造过程优化方法和装置 |
-
2018
- 2018-12-13 CN CN201811526889.1A patent/CN109507970B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859100A (zh) * | 2010-06-18 | 2010-10-13 | 杭州电子科技大学 | 一种基于模糊交货期流水生产排程的改进微粒群优化方法 |
CN102393634A (zh) * | 2011-11-28 | 2012-03-28 | 浙江工业大学 | 一种基于pso-ga混合优化算法的单目标多生产线调度控制方法 |
US20140277599A1 (en) * | 2013-03-13 | 2014-09-18 | Oracle International Corporation | Innovative Approach to Distributed Energy Resource Scheduling |
CN103809506A (zh) * | 2014-01-26 | 2014-05-21 | 西安理工大学 | 基于一维粒子群算法获得零件加工最优调度方案的方法 |
CN104914835A (zh) * | 2015-05-22 | 2015-09-16 | 齐鲁工业大学 | 一种柔性作业车间调度多目标的方法 |
CN105550751A (zh) * | 2015-12-15 | 2016-05-04 | 重庆大学 | 利用优先级策略混合遗传算法的炼钢连铸生产调度方法 |
CN106228265A (zh) * | 2016-07-18 | 2016-12-14 | 中山大学 | 基于改进粒子群优化的总拖期运输计划调度算法 |
CN107730029A (zh) * | 2017-09-22 | 2018-02-23 | 齐鲁工业大学 | 基于量子行为粒子群算法的生产制造过程优化方法和装置 |
Non-Patent Citations (2)
Title |
---|
林仁: "离散制造企业资源弹性约束下作业车间调度问题研究", 《中国博士学位论文全文数据库(电子期刊)经济与管理科学辑》 * |
耿佳灿: "基于混合智能优化算法的模糊流水车间调度若干研究", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257922A (zh) * | 2020-10-21 | 2021-01-22 | 福州大学 | 一种柔性作业车间调度优化方法 |
CN112257922B (zh) * | 2020-10-21 | 2022-06-14 | 福州大学 | 一种柔性作业车间调度优化方法 |
CN112907057A (zh) * | 2021-02-06 | 2021-06-04 | 北京理工大学 | 基于改进mopso算法的生产调度优化方法及系统 |
CN112907057B (zh) * | 2021-02-06 | 2022-11-11 | 北京理工大学 | 基于改进mopso算法的生产调度优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109507970B (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112286677B (zh) | 一种面向资源受限边缘云的物联网应用优化部署方法 | |
CN109544998B (zh) | 一种基于分布估计算法的航班时隙分配多目标优化方法 | |
CN109948066B (zh) | 一种基于异构信息网络的兴趣点推荐方法 | |
CN107679750A (zh) | 一种基于自适应系数遗传算法的云制造服务资源匹配方法 | |
CN108415763A (zh) | 一种边缘计算系统的分配方法 | |
CN117039895B (zh) | 一种用于储能辅助黑启动的风功率预测方法及系统 | |
CN116402002B (zh) | 一种用于芯片布局问题的多目标分层强化学习方法 | |
TW201923667A (zh) | 基於樹狀搜尋的排程方法與使用此方法的電子裝置 | |
CN109507970A (zh) | 基于粒子群算法的生产调度方法和装置 | |
CN104092567A (zh) | 确定用户的影响力排序的方法与装置 | |
CN109636006B (zh) | 一种多行设施布局方法 | |
CN111694664A (zh) | 一种边缘服务器的计算卸载分配方法 | |
CN110414569A (zh) | 聚类实现方法及装置 | |
CN108256924A (zh) | 一种产品销售预测装置 | |
CN109298930A (zh) | 一种基于多目标优化的云工作流调度方法及装置 | |
CN111343602B (zh) | 基于进化算法的联合布局与任务调度优化方法 | |
CN113778654B (zh) | 基于粒子群优化算法的并行任务调度方法 | |
CN110888728A (zh) | 一种Kettle集群服务器的任务调度方法 | |
CN109377111A (zh) | 基于改进模拟退火算法的作业调度方法和装置 | |
CN109379747A (zh) | 无线网络多控制器部署和资源分配方法和装置 | |
CN113139639A (zh) | 一种基于mombi面向智慧城市应用多目标计算迁移方法和装置 | |
CN109978211A (zh) | 航班进离港率的预测方法和装置 | |
CN112819215A (zh) | 推荐策略训练方法、装置、电子设备及可读存储介质 | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
CN108767854A (zh) | 购电方案优化方法、装置以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |