CN109377111A - 基于改进模拟退火算法的作业调度方法和装置 - Google Patents
基于改进模拟退火算法的作业调度方法和装置 Download PDFInfo
- Publication number
- CN109377111A CN109377111A CN201811528380.0A CN201811528380A CN109377111A CN 109377111 A CN109377111 A CN 109377111A CN 201811528380 A CN201811528380 A CN 201811528380A CN 109377111 A CN109377111 A CN 109377111A
- Authority
- CN
- China
- Prior art keywords
- module
- machine
- scheduling scheme
- constraint
- total
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013178 mathematical model Methods 0.000 claims abstract description 46
- 238000013459 approach Methods 0.000 claims abstract description 15
- 238000003780 insertion Methods 0.000 claims description 59
- 230000037431 insertion Effects 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 20
- 238000002922 simulated annealing Methods 0.000 claims description 18
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 11
- 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 6
- 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 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000001816 cooling Methods 0.000 claims 1
- 230000009191 jumping Effects 0.000 abstract description 3
- 230000006872 improvement Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000000137 annealing Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 235000013399 edible fruits Nutrition 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005457 optimization 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
- 238000011161 development Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 101150091474 SEPTIN8 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- 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/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种基于改进模拟退火算法的作业调度方法和装置,本发明实施例中,通过构建作业调度的数学模型,并对数学模型设置至少一个约束,然后通过启发式算法对所述数学模型进行求解,获得初始调度方案,最后基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案。本发明实施例中设计了启发式算法进行初始调度方案的求解,提高了初始解的质量,减少了前期大量不必要的搜索;设计了改进模拟退火算法进行作业调度方案的求解,能够较好避免陷入早熟和重复计算,加大了跳出局部最优解的概率,同时提高了算法的性能。
Description
【技术领域】
本发明涉及工业制造技术领域,尤其涉及一种基于改进模拟退火算法的作业调度方法和装置。
【背景技术】
作业调度,即对生产过程进行管理和控制,是整个先进制造系统实现管理技术、运筹技术、优化技术、自动化与计算机技术发展的核心。车间调度问题是许多生产调度问题的简化模型,是最典型、最重要的调度问题之一,也是最困难的组合优化问题之一。
作业调度问题是影响工业生产效率的关键问题之一。然而,在当前的很多研究中,由于未考虑机器使用成本、算法计算量大以及约束条件不合理等因素的存在,导致求解效率和解的质量通常偏低。
【发明内容】
有鉴于此,本发明实施例提供了一种基于模拟退火算法的作业调度方法和装置,用以解决现有技术中求解效率和解的质量偏低的问题。
一方面,本发明实施例提供了一种基于模拟退火算法的作业调度方法,所述方法包括:
构建作业调度的数学模型,所述数学模型包含至少一个约束;
通过启发式算法对所述数学模型进行求解,获得初始调度方案;
基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数学模型包括:
其中,i=1,2,3,...,m,m是机器数量;k=1,2,3,...,n,n是位置数量;Cik表示第i个机器上第k个位置的作业的完工时间。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Ci,0=0
约束5:
约束6:
xikj∈{0,1}
其中,i=1,2,3,...,n,Mi表示第i个机器;
j=1,2,3,...,m,Jj表示第j个作业;
k=1,2,3,...,n,k表示第k个位置;
xikj=1表示作业j在机器i的第k个位置上加工,xikj=0表示作业j不在机器i的第k个位置上加工;
Cik表示第i个机器上第k个位置的作业的完工时间;
Pj表示作业j的作业长度;
ti表示机器i加工一单位作业产生的成本;
U表示给定的预算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,通过启发式算法对所述数学模型进行求解,获得初始调度方案,具体包括:
步骤a,将所有机器按其使用成本进行非减排序,组成机器集合;将所有作业按其作业长度进行非减排序,组成作业集合;进入步骤b
步骤b,将所有作业按顺序依次调度到所有机器上,进入步骤c;
步骤c,计算步骤c调度方案中消耗的总机器成本,并判断总机器成本是否满足给定预算,如果是,结束,否则,进入步骤d;
步骤d,对机器进行两两配对,进入步骤e;
步骤e,在配对的机器之间进行作业的循环插入操作,每次插入操作的同时计算出总机器成本,并判断总机器成本是否满足给定预算,如果是,终止循环插入操作并进入步骤g,否则,继续进行循环插入操作;如果循环插入操作的最终结果仍不满足给定预算,进入步骤f;
步骤f,更新机器集合,然后返回步骤d;
步骤g,将每台机器上的作业按其作业长度进行非减排序,结束。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案,具体包括:
步骤a,计算出初始调度方案中所有作业的总完工时间,设置初始温度、迭代次数、降温速率并维护一个计数器,进入步骤b;
步骤b,生成一个随机数,并判断该随机数是否小于第一预设阈值,如果是,进入步骤c,否则,进入步骤d;
步骤c,生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,进入步骤c1,否则,进入步骤c2;
步骤c1,通过单次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤c2,通过两次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e
步骤d,生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,进入步骤d1,否则,进入步骤d2;
步骤d1,通过单次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤d2,通过两次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤e,判断新调度方案的总加工成本是否满足给定的预算,如果是,则进入步骤f,否则,返回步骤b;
步骤f,判断新调度方案的总完工时间是否小于初始调度方案的总完工时间,如果是,进入步骤g,否则,进入步骤h;
步骤g,接受新的调度方案,且令计数器加1,进入步骤i;
步骤h,计算概率,然后生成一个随机数,判断随机数是否小于概率,如果是,进入步骤g,否则,进入步骤i;
步骤i,判断是否达到最大迭代次数,如果是,进入步骤j,否则,返回步骤b;
步骤j,判断温度是否达到温度下界,如果是,结束,否则,降低温度并返回步骤b。
另一方面,本发明实施例提供了一种基于模拟退火算法的作业调度装置,所述装置包括:
构建单元,用于构建作业调度的数学模型,所述数学模型包含至少一个约束;
第一求解单元,用于通过启发式算法对所述数学模型进行求解,获得初始调度方案;
第二求解单元,用于基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数学模型包括:
其中,i=1,2,3,...,m,m是机器数量;k=1,2,3,...,n,n是位置数量;Cik表示第i个机器上第k个位置的作业的完工时间。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Ci,0=0
约束5:
约束6:
xikj∈{0,1}
其中,i=1,2,3,...,n,Mi表示第i个机器;
j=1,2,3,...,m,Jj表示第j个作业;
k=1,2,3,...,n,k表示第k个位置;
xikj=1表示作业j在机器i的第k个位置上加工,xikj=0表示作业j不在机器i的第k个位置上加工;
Cik表示第i个机器上第k个位置的作业的完工时间;
Pj表示作业j的作业长度;
ti表示机器i加工一单位作业产生的成本;
U表示给定的预算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一求解单元包括:
第一排序模块,用于将所有机器按其使用成本进行非减排序,组成机器集合;以及,用于将所有作业按其作业长度进行非减排序,组成作业集合;触发调度模块;
调度模块,用于将所有作业按顺序依次调度到所有机器上,触发判断模块;
判断模块,用于计算调度模块对应调度方案中消耗的总机器成本,并判断总机器成本是否满足给定预算,如果是,结束,否则,触发配对模块;
配对模块,用于对机器进行两两配对,触发计算模块;
计算模块,用于在配对的机器之间进行作业的循环插入操作,每次插入操作的同时计算出总机器成本,并判断总机器成本是否满足给定预算,如果是,终止循环插入操作并出发第二排序模块,否则,继续进行循环插入操作;如果循环插入操作的最终结果仍不满足给定预算,触发更新模块;
更新模块,用于更新机器集合,然后重新触发配对模块;
第二排序模块,将每台机器上的作业按其作业长度进行非减排序,结束。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二求解单元包括:
第一计算模块,用于计算出初始调度方案中所有作业的总完工时间,设置初始温度、迭代次数、降温速率并维护一个计数器,触发第一判断模块;
第一判断模块,生成一个随机数,并判断该随机数是否小于第一预设阈值,如果是,触发第一处理模块,否则,触发第二处理模块;
第一处理模块,用于生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,触发第一交换邻域模块,否则,触发第二交换邻域模块;
第一交换邻域模块,用于通过单次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二交换邻域模块,用于通过两次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二处理模块,用于生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,触发第一插入邻域模块,否则,触发第二插入邻域模块;
第一插入邻域模块,用于通过单次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二插入邻域模块,用于通过两次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二判断模块,判断新调度方案的总加工成本是否满足给定的预算,如果是,则触发第三判断模块,否则,重新触发第一判断模块;
第三判断模块,用于判断新调度方案的总完工时间是否小于初始调度方案的总完工时间,如果是,触发接受模块,否则,触发第四判断模块;
接受模块,用于接受新的调度方案,且令计数器加1,触发第四判断模块;
第四判断模块,用于计算概率,然后生成一个随机数,判断随机数是否小于概率,如果是,重新触发接受模块,否则,触发第五判断模块;
第五判断模块,用于判断是否达到最大迭代次数,如果是,触发第六判断模块,否则,重新触发第一判断模块;
第六判断模块,用于判断温度是否达到温度下界,如果是,结束,否则,重新触发第一判断模块。
上述技术方案中的一个技术方案具有如下有益效果:
本发明实施例中,通过构建作业调度的数学模型,并对数学模型设置至少一个约束,然后通过启发式算法对所述数学模型进行求解,获得初始调度方案,最后基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案,可以在一定程度上降低运算量,同时还提升了求解效率及解的质量。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的基于模拟退火算法的作业调度方法的流程示意图;
图2是本发明实施例所提供的启发式算法求解数学模型的方法的流程示意图;
图3是本发明实施例所提供的改进模拟退火算法求解数学模型的方法的流程示意图;
图4是本发明实施例所提供的模拟退火算法的作业调度装置的结构框架图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述判断模块,但这些判断模块不应限于这些术语。这些术语仅用来将判断模块彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一判断模块也可以被称为第二判断模块,类似地,第二判断模块也可以被称为第一判断模块。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
为了方便理解本发明实施例的技术方案,下面对作业调度的相关技术做基本的介绍。
针对本发明的车间调度问题,可以简要描述为:一组速度相同的机器上加工不同的作业,此时不考虑加工完成后作业的配送问题;不同机器加工单位长度的作业所需要的成本也不相同;机器存在新旧的情况,若存在新老机器同时加工的情况,通常假设新机器使用成本更低;每台机器在同一时刻只能加工一个作业;每个作业只能分配到一台机器上加工,并且加工过程不可中断;作业之间没有优先关系;机器加工完所有作业产生的成本满足给定的预算。
模拟退火算法可以对车间调度问题进行求解,但是使用传统的模拟退火算法进行求解通常会出现以下问题;
1)车间调度过程中,通常不考虑生产过程中机器的使用成本,而减少机器使用成本也是生产型企业考虑的重要目标之一;
2)传统的模拟退火算法在求解车间调度问题时,初始解通过随机方式产生,故其质量难以保证,从而导致后续解在空间搜索时耗费大量时间;
3)传统的模拟退火算法在求解车间调度问题时,通常通过一次交换操作或插入操作来产生新的邻域,而通过一次变换产生的新解往往很难收敛于最优解;
4)传统的模拟退火算法在求解车间调度问题时,通常对已生成的邻域不做记录,会导致随后的搜索过程会产生重复的解,增加了计算成本。
针对现有技术中所存在的求解效率和求解质量偏低这一类问题,本发明实施例提供了相应的解决思路:通过构建作业调度的数学模型,并对数学模型设置至少一个约束,然后通过启发式算法对所述数学模型进行求解,获得初始调度方案,最后基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案。
在该思路的引导下,本发明实施例提供了以下可行的实施方案。
本发明实施例提供了一种基于模拟退火算法的作业调度方法,图1是本发明实施例所提供的基于模拟退火算法的作业调度方法的流程示意图,如图1所示,该方法包括:
S101,构建作业调度的数学模型,所述数学模型包含至少一个约束;
S102,通过启发式算法对所述数学模型进行求解,获得初始调度方案。
S103基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案。
其中,在本发明的实施例中,首先对作业调度问题进行建模,步骤S101中的数学模型包括:
其中,式(1)为目标函数,i=1,2,3,...,m,m是机器数量;k=1,2,3,...,n,n是位置数量;Cik表示第i个机器上第k个位置的作业的完工时间。
另外,基于以上目标函数,建立模型的约束条件如下:
约束1:
约束2:
约束3:
约束4:
Ci,0=0 (5)
约束5:
约束6:
xikj∈{0,1} (7)
约束(2)表示每个作业只能在一台机器的一个位置上加工,即仅能被加工一次;
约束(3)表示每台机器的每个位置上最多只能安排一个作业进行加工;
约束(4)表示机器i的第k个位置上的作业的完工时间;
约束(5)表示每台机器存在一个虚拟位置,在这个位置上的虚拟作业的完工时间为0。
式(6)表示加工完所有作业的总成本。
式(7)表示决策变量是一个0-1变量。
其中,其中,i=1,2,3,...,n,Mi表示第i个机器;
j=1,2,3,...,m,Jj表示第j个作业;
k=1,2,3,...,n,k表示第k个位置;
xikj=1表示作业j在机器i的第k个位置上加工,xikj=0表示作业j不在机器i的第k个位置上加工;
Cik表示第i个机器上第k个位置的作业的完工时间;
Pj表示作业j的作业长度;
ti表示机器i加工一单位作业产生的成本;
U表示给定的预算;
U表示给定的预算,U的可行取值范围是其中U表示所有作业都安排在单位加工费用最小的机器上时的总加工成本,表示所有作业都安排在单位加工费用最大的机器上时的总加工成本。
具体实施时,在步骤S102中,通过启发式规则的构建,设计了生成初始解的算法,相比于随机生成的初始解,通过启发式规则构建的初始解质量更高,结构更优,加速了算法的收敛,减少了大量不必要的搜索。
图2是本发明实施例所提供的启发式算法求解数学模型的方法的流程示意图,如图2所示,步骤S102具体包括如下步骤:
步骤a,将所有机器按其使用成本进行非减排序,组成机器集合;将所有作业按其作业长度进行非减排序,组成作业集合;进入步骤b;
步骤b,将所有作业按顺序依次调度到所有机器上,进入步骤c;
步骤c,计算步骤c调度方案中消耗的总机器成本,并判断总机器成本是否满足给定预算,如果是,结束,否则,进入步骤d;
步骤d,对机器进行两两配对,进入步骤e;
步骤e,在配对的机器之间进行作业的循环插入操作,每次插入操作的同时计算出总机器成本,并判断总机器成本是否满足给定预算,如果是,终止循环插入操作并进入步骤g,否则,继续进行循环插入操作;如果循环插入操作的最终结果仍不满足给定预算,进入步骤f;
步骤f,更新机器集合,然后返回步骤d;
步骤g,将每台机器上的作业按其作业长度进行非减排序,结束。
下面对启发式算法的步骤细节进行进一步的详细说明。
Step1
将所有机器按其使用成本ti非减排序,组成机器集合M={M1,M2,...,Mm};将所有作业按其作业长度pi非减排序,组成机器集合J={J1,J2,...,Jn};进入Step2。
Step2
将作业按次序依次调度到这m台机器上。即,(J1→M1,J2→M2,…,Jm→Mm,Jm+1→M1,Jm+2→M2...),进入Step3。
Step3
计算Step2的调度方案所消耗的总机器成本,并判断总机器成本是否满足给定预算,如果是,Step2的调度方案即为初始调度方案,否则,进入Step4。
Step4
将机器进行配对。当m为偶数时,当m为奇数时,进入Step5。
Step5
当m为偶数时,假设k=m,m-1,...,m/2+1;当m为偶数时,假设k=m,m-1,...,(m-1)/2+2;每次从一台机器Mk上到加工长度最短的作业,插入到与之配对的机器上,如果从第m到第m/2+1或(m-1)/2+2台机器上均已取出各自最短的作业并插入到与之配对的机器上,再依次取出各台机器上第二短的作业进行插入操作,依次循环插入操作;每次插入操作的同时计算出总机器成本,并判断总机器成本是否满足给定预算,如果是,终止循环插入操作并进入Step7,否则,继续进行循环插入操作;如果循环插入操作的最终结果仍不满足给定预算,进入Step6。
Step6
当m为偶数时,更新M={M1,M2,...,Mm/2};当m为奇数时,更新M={M1,M2,...,M(m-1)/2+2};然后,返回Step4。
Step7
将每台机器上的作业按其作业长度进行非减排序,生成最终的初始调度方案。
下面,详细说明基于模拟退火算法对数学模型的求解方法。
模拟退火算法,最早的思想是由N.Metropolis等人于1953年提出。1983年,S.Kirkpatrick等成功地将退火思想引入到组合优化领域。它是基于Monte-Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。
传统模拟退火算法在对车间调度问题求解时,会在演化中出现停滞不前和陷入局部最优解的情况。针对该问题,本发明基于当前解已经历的改进次数来选择每一次邻域生成过程中交换和插入的操作次数。
对此本发明实施例提出以下三种设计:
1)操作次数概率设计
其中,p1表示邻域生成过程仅允许单次交换或插入操作的概率,1-p1表示邻域生成过程允许两次交换或插入操作的概率,x表示初始解已经经历过的改进次数。可以看出,若改进次数越多,则邻域生成采用单次操作的概率越小,且该概率与改进次数之间满足凸减关系。这样设计可以保证在解的更新前期,让当前解逐步向最优解靠近;在解的更新后期,当前解向最优解的搜索减慢时,以较大的概率改变解的结构,提高跳出局部最优的概率。
2)禁忌表的设计
在每个温度的搜索过程中,构造一个短期循环记忆表-禁忌表,禁忌表中存放刚刚进行过的f个邻居的移动(f<k),这种移动即解的一次邻域变化,禁忌表中的移动称为禁忌移动。对于进入禁忌表中的移动,在该温度下的剩余的迭代次数内是禁止的,以避免回到原来的解(有可能是通过接受劣解的方式),从而避免陷入循环,直到进入下一个温度后禁忌解除。这样设计避免了相同解的重复计算,加快了算法的搜索速度。
3)Metropolis准则——以概率接受新状态
本发明技术方案采用经典的Metropolis准则来接受部分劣解,从而试图跳出局部最优解。
由式(9)与式(10)可以看出,算法在高温下更容易接受劣解,这与在不同温度下的热运动的影响完全一致。这样设计提高跳出局部最优的概率。
图3是本发明实施例所提供的改进模拟退火算法求解数学模型的方法的流程示意图,如图3所示,步骤S103具体包括如下步骤:
步骤a,计算出初始调度方案中所有作业的总完工时间,设置初始温度、迭代次数、降温速率并维护一个计数器,进入步骤b;
步骤b,生成一个随机数,并判断该随机数是否小于第一预设阈值,如果是,进入步骤c,否则,进入步骤d;
步骤c,生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,进入步骤c1,否则,进入步骤c2;
步骤c1,通过单次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤c2,通过两次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e
步骤d,生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,进入步骤d1,否则,进入步骤d2;
步骤d1,通过单次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤d2,通过两次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤e,判断新调度方案的总加工成本是否满足给定的预算,如果是,则进入步骤f,否则,返回步骤b;
步骤f,判断新调度方案的总完工时间是否小于初始调度方案的总完工时间,如果是,进入步骤g,否则,进入步骤h;
步骤g,接受新的调度方案,且令计数器加1,进入步骤i;
步骤h,计算概率,然后生成一个随机数,判断随机数是否小于概率,如果是,进入步骤g,否则,进入步骤i;
步骤i,判断是否达到最大迭代次数,如果是,进入步骤j,否则,返回步骤b;
步骤j,判断温度是否达到温度下界,如果是,结束,否则,降低温度并返回步骤b。
下面对改进模拟退火算法的步骤细节进行进一步的详细说明。
Step1
记录初始解中所有作业的总完工时间进入Step2。
Step2
随机生成一个充分大的初始温度Tinit,并将该温度赋值给当前温度,即t=Tinit;然后设置温度下界Tmin,每个温度下的迭代次数t=n2,生成降温速率0>θ>1;维护一个计数器x,x用来记录解的更新次数;进入Step3。
Step3
如果t>Tmin,进入Step4,否则,停止算法并计算所有作业的总完工时间
Step4
生成一个随机数β1~U[0,1],如果β1<p0,进入Step5,否则,进入Step6。
Step5
生成一个随机数β2~U[0,1],如果β2<p1,则随机生成两个整数α1~U[1,n]和α2~U[1,n]。交换作业和作业的位置,得到新的调度方案s’,并判断成本约束,重新计算所有作业的总完工时如果β2>p1,则重复两次上述交换操作,得到新的调度方案s’;并判断新的调度方案s’是否满足成本约束,如果满足,重新计算所有作业的总完工时间进入Step7,否则,重新返回Step4。
Step6
生成一个随机数β3~U[0,1],如果β3<p1,随机生成三个整数α3~U[1,n]、α4~U[1,n]和α5~U[1,n],如果机器上没有作业,则将作业插入到机器上,否则,将作业插入到作业之前,得到新的调度方案s’,并判断成本约束,重新计算所有作业的总完工时间如果β3>p1,则重复两次上述插入操作,得到新的调度方案s’;判断新的调度方案s’是否满足成本约束,如果满足,重新计算所有作业的总完工时间进入Step7,否则,重新返回Step4。
Step7
令如果更新调度方案,令s=s’,x=x+1,否则,生成一个随机数λ~U[0,1],如果并且满足成本约束,令s=s’,x=x+1;进入Step8。
Sept8
令k=k-1,如果k>0,进入Step4,否则,进入Step9。
Step9
令k=n2,t=θt,进入Step3。
求解完毕后,继续进行车间作业调度。本发明实施例对具体的调度方式不做限定。
本发明实施例能够较好避免陷入早熟的现象,具有全局搜索能力,还能够记录已经产生过的解,避免重复的计算,减少算法的运行时间,提高算法的性能。
本发明实施例通过设计生成初始解的启发式算法,提高了初始解的质量,减少了前期大量不必要的搜索。
本发明实施例可以根据当前解已经更新过的次数,动态地决定某一邻域生成过程中采用插入或交换操作的次数。前期以大概率接受单次操作,可以向最优解快速收敛,且不破坏解的结构。后期以大概率接受两次操作,可以防止算法停滞在当前经历过多次改进并趋于稳定的解,通过小规模地调整解的结构,跳出局部最优,提高解的质量。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
需要说明的是,S101~S103的执行主体可以为基于改进模拟退火算法的作业调度装置,该装置可以位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,本发明实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本发明实施例对此不进行限定。
本发明实施例进一步给出了一种改进模拟退火算法的作业调度装置,如图4所示,图4是本发明实施例所提供的模拟退火算法的作业调度装置的结构框架图,所述装置包括:
构建单元410,用于构建作业调度的数学模型,所述数学模型包含至少一个约束;
第一求解单元420,用于通过启发式算法对所述数学模型进行求解,获得初始调度方案;
第二求解单元430,用于基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述数学模型包括:
其中,i=1,2,3,...,m,m是机器数量;k=1,2,3,...,n,n是位置数量;Cik表示第i个机器上第k个位置的作业的完工时间。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Ci,0=0
约束5:
约束6:
xikj∈{0,1}
其中,i=1,2,3,...,n,Mi表示第i个机器;
j=1,2,3,...,m,Jj表示第j个作业;
k=1,2,3,...,n,k表示第k个位置;
xikj=1表示作业j在机器i的第k个位置上加工,xikj=0表示作业j不在机器i的第k个位置上加工;
Cik表示第i个机器上第k个位置的作业的完工时间;
Pj表示作业j的作业长度;
ti表示机器i加工一单位作业产生的成本;
U表示给定的预算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一求解单元420包括:
第一排序模块,用于将所有机器按其使用成本进行非减排序,组成机器集合;以及,用于将所有作业按其作业长度进行非减排序,组成作业集合;触发调度模块;
调度模块,用于将所有作业按顺序依次调度到所有机器上,触发判断模块;
判断模块,用于计算调度模块对应调度方案中消耗的总机器成本,并判断总机器成本是否满足给定预算,如果是,结束,否则,触发配对模块;
配对模块,用于对机器进行两两配对,触发计算模块;
计算模块,用于在配对的机器之间进行作业的循环插入操作,每次插入操作的同时计算出总机器成本,并判断总机器成本是否满足给定预算,如果是,终止循环插入操作并出发第二排序模块,否则,继续进行循环插入操作;如果循环插入操作的最终结果仍不满足给定预算,触发更新模块;
更新模块,用于更新机器集合,然后重新触发配对模块;
第二排序模块,将每台机器上的作业按其作业长度进行非减排序,结束。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二求解单元430包括:
第一计算模块,用于计算出初始调度方案中所有作业的总完工时间,设置初始温度、迭代次数、降温速率并维护一个计数器,触发第一判断模块;
第一判断模块,生成一个随机数,并判断该随机数是否小于第一预设阈值,如果是,触发第一处理模块,否则,触发第二处理模块;
第一处理模块,用于生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,触发第一交换邻域模块,否则,触发第二交换邻域模块;
第一交换邻域模块,用于通过单次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二交换邻域模块,用于通过两次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二处理模块,用于生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,触发第一插入邻域模块,否则,触发第二插入邻域模块;
第一插入邻域模块,用于通过单次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二插入邻域模块,用于通过两次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二判断模块,判断新调度方案的总加工成本是否满足给定的预算,如果是,则触发第三判断模块,否则,重新触发第一判断模块;
第三判断模块,用于判断新调度方案的总完工时间是否小于初始调度方案的总完工时间,如果是,触发接受模块,否则,触发第四判断模块;
接受模块,用于接受新的调度方案,且令计数器加1,触发第四判断模块;
第四判断模块,用于计算概率,然后生成一个随机数,判断随机数是否小于概率,如果是,重新触发接受模块,否则,触发第五判断模块;
第五判断模块,用于判断是否达到最大迭代次数,如果是,触发第六判断模块,否则,重新触发第一判断模块;
第六判断模块,用于判断温度是否达到温度下界,如果是,结束,否则,重新触发第一判断模块。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种基于模拟退火算法的作业调度方法,其特征在于,所述方法包括:
构建作业调度的数学模型,所述数学模型包含至少一个约束;
通过启发式算法对所述数学模型进行求解,获得初始调度方案;
基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案。
2.如权利要求1所述的方法,其特征在于,所述数学模型包括:
其中,i=1,2,3,...,m,m是机器数量;k=1,2,3,...,n,n是位置数量;Cik表示第i个机器上第k个位置的作业的完工时间。
3.如权利要求1所述的方法,其特征在于,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Ci,0=0
约束5:
约束6:
xikj∈{0,1}
其中,i=1,2,3,...,n,Mi表示第i个机器;
j=1,2,3,...,m,Jj表示第j个作业;
k=1,2,3,...,n,k表示第k个位置;
xikj=1表示作业j在机器i的第k个位置上加工,xikj=0表示作业j不在机器i的第k个位置上加工;
Cik表示第i个机器上第k个位置的作业的完工时间;
Pj表示作业j的作业长度;
ti表示机器i加工一单位作业产生的成本;
U表示给定的预算。
4.如权利要求1所述的方法,其特征在于,通过启发式算法对所述数学模型进行求解,获得初始调度方案,具体包括:
步骤a,将所有机器按其使用成本进行非减排序,组成机器集合;将所有作业按其作业长度进行非减排序,组成作业集合;进入步骤b;
步骤b,将所有作业按顺序依次调度到所有机器上,进入步骤c;
步骤c,计算步骤c调度方案中消耗的总机器成本,并判断总机器成本是否满足给定预算,如果是,结束,否则,进入步骤d;
步骤d,对机器进行两两配对,进入步骤e;
步骤e,在配对的机器之间进行作业的循环插入操作,每次插入操作的同时计算出总机器成本,并判断总机器成本是否满足给定预算,如果是,终止循环插入操作并进入步骤g,否则,继续进行循环插入操作;如果循环插入操作的最终结果仍不满足给定预算,进入步骤f;
步骤f,更新机器集合,然后返回步骤d;
步骤g,将每台机器上的作业按其作业长度进行非减排序,结束。
5.如权利要求1所述的方法,其特征在于,基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案,具体包括:
步骤a,计算出初始调度方案中所有作业的总完工时间,设置初始温度、迭代次数、降温速率并维护一个计数器,进入步骤b;
步骤b,生成一个随机数,并判断该随机数是否小于第一预设阈值,如果是,进入步骤c,否则,进入步骤d;
步骤c,生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,进入步骤c1,否则,进入步骤c2;
步骤c1,通过单次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤c2,通过两次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e
步骤d,生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,进入步骤d1,否则,进入步骤d2;
步骤d1,通过单次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤d2,通过两次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,进入步骤e;
步骤e,判断新调度方案的总加工成本是否满足给定的预算,如果是,则进入步骤f,否则,返回步骤b;
步骤f,判断新调度方案的总完工时间是否小于初始调度方案的总完工时间,如果是,进入步骤g,否则,进入步骤h;
步骤g,接受新的调度方案,且令计数器加1,进入步骤i;
步骤h,计算概率,然后生成一个随机数,判断随机数是否小于概率,如果是,进入步骤g,否则,进入步骤i;
步骤i,判断是否达到最大迭代次数,如果是,进入步骤j,否则,返回步骤b;
步骤j,判断温度是否达到温度下界,如果是,结束,否则,降低温度并返回步骤b。
6.一种基于模拟退火算法的作业调度装置,其特征在于,所述装置包括:
构建单元,用于构建作业调度的数学模型,所述数学模型包含至少一个约束;
第一求解单元,用于通过启发式算法对所述数学模型进行求解,获得初始调度方案;
第二求解单元,用于基于改进模拟退火算法和所述初始调度方案对所述数学模型进行求解,获得最终作业调度方案。
7.如权利要求6所述的装置,其特征在于,所述数学模型包括:
其中,i=1,2,3,...,m,m是机器数量;k=1,2,3,...,n,n是位置数量;Cik表示第i个机器上第k个位置的作业的完工时间。
8.如权利要求6所述的装置,其特征在于,所述约束条件包括以下约束中的至少一个:
约束1:
约束2:
约束3:
约束4:
Ci,0=0
约束5:
约束6:
xikj∈{0,1}
其中,i=1,2,3,...,n,Mi表示第i个机器;
j=1,2,3,...,m,Jj表示第j个作业;
k=1,2,3,...,n,k表示第k个位置;
xikj=1表示作业j在机器i的第k个位置上加工,xikj=0表示作业j不在机器i的第k个位置上加工;
Cik表示第i个机器上第k个位置的作业的完工时间;
Pj表示作业j的作业长度;
ti表示机器i加工一单位作业产生的成本;
U表示给定的预算。
9.如权利要求6所述的装置,其特征在于,所述第一求解单元包括:
第一排序模块,用于将所有机器按其使用成本进行非减排序,组成机器集合;以及,用于将所有作业按其作业长度进行非减排序,组成作业集合;触发调度模块;
调度模块,用于将所有作业按顺序依次调度到所有机器上,触发判断模块;
判断模块,用于计算调度模块对应调度方案中消耗的总机器成本,并判断总机器成本是否满足给定预算,如果是,结束,否则,触发配对模块;
配对模块,用于对机器进行两两配对,触发计算模块;
计算模块,用于在配对的机器之间进行作业的循环插入操作,每次插入操作的同时计算出总机器成本,并判断总机器成本是否满足给定预算,如果是,终止循环插入操作并出发第二排序模块,否则,继续进行循环插入操作;如果循环插入操作的最终结果仍不满足给定预算,触发更新模块;
更新模块,用于更新机器集合,然后重新触发配对模块;
第二排序模块,将每台机器上的作业按其作业长度进行非减排序,结束。
10.如权利要求6所述的装置,其特征在于,所述第二求解单元包括:
第一计算模块,用于计算出初始调度方案中所有作业的总完工时间,设置初始温度、迭代次数、降温速率并维护一个计数器,触发第一判断模块;
第一判断模块,生成一个随机数,并判断该随机数是否小于第一预设阈值,如果是,触发第一处理模块,否则,触发第二处理模块;
第一处理模块,用于生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,触发第一交换邻域模块,否则,触发第二交换邻域模块;
第一交换邻域模块,用于通过单次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二交换邻域模块,用于通过两次交换邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二处理模块,用于生成一个随机数,并判断该随机数是否小于第二预设阈值,如果是,触发第一插入邻域模块,否则,触发第二插入邻域模块;
第一插入邻域模块,用于通过单次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二插入邻域模块,用于通过两次插入邻域操作产生新调度方案,计算出新调度方案中所有作业的总完工时间,触发第二判断模块;
第二判断模块,判断新调度方案的总加工成本是否满足给定的预算,如果是,则触发第三判断模块,否则,重新触发第一判断模块;
第三判断模块,用于判断新调度方案的总完工时间是否小于初始调度方案的总完工时间,如果是,触发接受模块,否则,触发第四判断模块;
接受模块,用于接受新的调度方案,且令计数器加1,触发第四判断模块;
第四判断模块,用于计算概率,然后生成一个随机数,判断随机数是否小于概率,如果是,重新触发接受模块,否则,触发第五判断模块;
第五判断模块,用于判断是否达到最大迭代次数,如果是,触发第六判断模块,否则,重新触发第一判断模块;
第六判断模块,用于判断温度是否达到温度下界,如果是,结束,否则,重新触发第一判断模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528380.0A CN109377111B (zh) | 2018-12-13 | 2018-12-13 | 基于改进模拟退火算法的作业调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528380.0A CN109377111B (zh) | 2018-12-13 | 2018-12-13 | 基于改进模拟退火算法的作业调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109377111A true CN109377111A (zh) | 2019-02-22 |
CN109377111B CN109377111B (zh) | 2020-11-24 |
Family
ID=65374535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811528380.0A Active CN109377111B (zh) | 2018-12-13 | 2018-12-13 | 基于改进模拟退火算法的作业调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109377111B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961221A (zh) * | 2019-03-20 | 2019-07-02 | 合肥工业大学 | 一种直接配送时间依赖于机器地理位置的平行机调度方法 |
CN113821315A (zh) * | 2021-05-20 | 2021-12-21 | 中国工商银行股份有限公司 | 作业调度方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120095582A1 (en) * | 2010-10-15 | 2012-04-19 | Taiwan Semiconductor Manufacturing Company, Ltd. | Chamber match using important variables filtered by dynamic multivariate analysis |
CN103870647A (zh) * | 2014-03-14 | 2014-06-18 | 西安工业大学 | 一种基于遗传算法的作业车间调度建模的方法 |
CN104360660A (zh) * | 2014-11-19 | 2015-02-18 | 广东工业大学 | 基于蚁群算法的铝型材车挤压车间能耗优化调度方法 |
CN105809344A (zh) * | 2016-03-07 | 2016-07-27 | 浙江财经大学 | 一种基于超启发式算法的零空闲流水车间作业调度方法 |
-
2018
- 2018-12-13 CN CN201811528380.0A patent/CN109377111B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120095582A1 (en) * | 2010-10-15 | 2012-04-19 | Taiwan Semiconductor Manufacturing Company, Ltd. | Chamber match using important variables filtered by dynamic multivariate analysis |
CN103870647A (zh) * | 2014-03-14 | 2014-06-18 | 西安工业大学 | 一种基于遗传算法的作业车间调度建模的方法 |
CN104360660A (zh) * | 2014-11-19 | 2015-02-18 | 广东工业大学 | 基于蚁群算法的铝型材车挤压车间能耗优化调度方法 |
CN105809344A (zh) * | 2016-03-07 | 2016-07-27 | 浙江财经大学 | 一种基于超启发式算法的零空闲流水车间作业调度方法 |
Non-Patent Citations (2)
Title |
---|
刘洋: "DF公司设施布置方法研究与系统设计", 《中国优秀硕士学位论文全文数据库(电子期刊)经济与管理科学辑》 * |
刘燚: "基于模拟退火遗传算法的车间动态调度研究", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961221A (zh) * | 2019-03-20 | 2019-07-02 | 合肥工业大学 | 一种直接配送时间依赖于机器地理位置的平行机调度方法 |
CN113821315A (zh) * | 2021-05-20 | 2021-12-21 | 中国工商银行股份有限公司 | 作业调度方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109377111B (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Ensemble strategies for population-based optimization algorithms–A survey | |
Shen et al. | Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems | |
Shahvari et al. | Hybrid flow shop batching and scheduling with a bi-criteria objective | |
Wang et al. | An estimation of distribution algorithm-based memetic algorithm for the distributed assembly permutation flow-shop scheduling problem | |
Kheiri et al. | A sequence-based selection hyper-heuristic utilising a hidden Markov model | |
TWI633504B (zh) | 基於樹狀搜尋的排程方法與使用此方法的電子裝置 | |
Wang et al. | A NSGA-II algorithm hybridizing local simulated-annealing operators for a bi-criteria robust job-shop scheduling problem under scenarios | |
Costa et al. | A parallel tabu search for solving the primal buffer allocation problem in serial production systems | |
CN112528591B (zh) | 一种基于联合蒙特卡洛树搜索的pcb板自动布线方法 | |
Liu et al. | Generative adversarial construction of parallel portfolios | |
CN113962186A (zh) | 芯片布局方法、装置、终端设备及计算机可读存储介质 | |
CN111612528A (zh) | 用户分类模型的确定方法、装置、设备及存储介质 | |
Manavizadeh et al. | A multi-objective mixed-model assembly line sequencing problem in order to minimize total costs in a Make-To-Order environment, considering order priority | |
CN110147274A (zh) | 多目标云任务均衡调度方法、服务器及存储介质 | |
Xi et al. | A new method for solving buffer allocation problem in large unbalanced production lines | |
CN115578023A (zh) | 一种装配车间调度方法、装置、设备和存储介质 | |
CN109298930A (zh) | 一种基于多目标优化的云工作流调度方法及装置 | |
CN109377111A (zh) | 基于改进模拟退火算法的作业调度方法和装置 | |
Shi et al. | A new bifuzzy optimization method for remanufacturing scheduling using extended discrete particle swarm optimization algorithm | |
Bhatnagar et al. | Stochastic algorithms for discrete parameter simulation optimization | |
Chyu et al. | Optimizing fuzzy makespan and tardiness for unrelated parallel machine scheduling with archived metaheuristics | |
Zhang et al. | A Hybrid Differential Evolution and Tree Search Algorithm for the Job Shop Scheduling Problem. | |
CN109507970A (zh) | 基于粒子群算法的生产调度方法和装置 | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
Zhou et al. | Supervised-learning congestion predictor for routability-driven global routing |
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 |