CN110413238A - 一种基于优化回溯算法的3d打印任务调度方法 - Google Patents
一种基于优化回溯算法的3d打印任务调度方法 Download PDFInfo
- Publication number
- CN110413238A CN110413238A CN201910631319.7A CN201910631319A CN110413238A CN 110413238 A CN110413238 A CN 110413238A CN 201910631319 A CN201910631319 A CN 201910631319A CN 110413238 A CN110413238 A CN 110413238A
- Authority
- CN
- China
- Prior art keywords
- task
- scheduling
- printing
- node
- print out
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1296—Printer job scheduling or printer resource handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于优化回溯算法的3D打印任务调度方法,所述方法包括以下步骤:步骤1:建立调度模型,构建多个节点和多个分枝的解空间树,每一层的节点表示打印任务的编号,而每一层节点下的分支表示指定打印任务所选择的打印设备的编号;步骤2:将打印任务按照打印时长降序方式排序,将打印设备按照当前待打印总时长的降序方式排序;步骤3:使用贪心算法求得局部最优解,并作为可行界限值;步骤4:搜索从树的根节点开始,使用可行界限值裁剪无效的搜索,直到所有的节点搜索结束;该技术方案使得打印设备在最短时间内完成所有的3D打印任务,本发明针对3D打印任务调度问题减短了回溯算法的运行时间,达到了提高算法运行效率的效果。
Description
技术领域
本发明涉及一种调度方法,具体涉及一种基于优化回溯算法的3D打印任务调度方法,属于任务调度和回溯算法技术领域。
背景技术
在3D打印任务调度问题中,给定一个打印任务集合和一个打印设备集合。其中打印任务中指定了需要打印的模型,且每个打印任务指定的模型有且仅有一个,因此,一个打印任务只能在一台打印设备上完成打印。此外,每个打印任务在分配前都会预先设置好所分配打印设备的设备类型,为使得打印任务和打印设备之间可以进行随机分配,该方案规定,在同一个调度问题中,打印任务集合中的所有打印任务设置的设备类型与打印设备集合中所有打印设备的设备类型相同。本文选择所有打印任务的最终完工时间作为调度问题的性能指标,而对该性能指标产生影响的主要参数有两个:每个打印任务的完工时间、每个打印设备当前待打印任务的总完工时间(简称,总工时)。其中,根据打印模型和设备类型的不同,每个打印任务所需的完工时间也不一样。
对于这种调度问题,传统的调度方法往往是以下两种:
贪心算法:贪心算法的关键在于贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。针对打印任务调度模型,该方案设计的贪心策略是将当前完工时间最长的打印任务安排到待打印任务总工时最短的打印设备上,以期达到局部最优的结果。但贪心算法不从整体最优上加以考虑,他所求出的是在某种意义上的局部最优解,即贪心算法求得的解只是一个近似最优解。此方法不宜单独作为求解3D打印任务调度问题的方法。
回溯算法:回溯算法采用了一种系统性与跳跃性相结合的深度优先搜索策略,它将问题的候选解按某种次序逐一枚举及检验,当发现当前候选解不可能构成解时,则回溯选择下一个候选解,而发现当前候选解仅仅在规模上不符合要求,则向前扩大解的规模。较之于逐个测试各个变量取值组合的穷举搜索法,回溯法无疑是高效的。对于众多的至今未找到多项式算法的NP完全问题,回溯法是目前较为有效的方法之一,特别是在问题规模不是太大的前提下,它可以解决众多的问题。针对3D打印任务调度模型设计的回溯算法的时间复杂度为O(mn),算法运行时间将呈指数形式增长,时间复杂度非常高。
发明内容
本发明正是针对现有技术中存在的问题,提供一种基于优化回溯算法的3D打印任务调度方法,该技术方案主要研究如何合理分配3D打印任务,使得打印设备在最短时间内完成所有的3D打印任务,以3D打印任务的打印工时和打印设备的待打印任务总工时为主要影响因素;本发明针对3D打印任务调度问题减短了回溯算法的运行时间,达到了提高算法运行效率的效果。
为了实现上述目的,本发明的技术方案如下,一种基于优化回溯算法的3D打印任务调度方法,其特征在于,所述方法包括以下步骤:
步骤1:建立调度模型,构建多个节点和多个分枝的解空间树,每一层的节点表示打印任务的编号,而每一层节点下的分支表示指定打印任务所选择的打印设备的编号;
步骤2:将打印任务按照打印时长降序方式排序,将打印设备按照当前待打印总时长的降序方式排序;
步骤3:使用贪心算法求得局部最优解,并作为可行界限值;
步骤4:搜索从树的根节点开始,使用可行界限值裁剪无效的搜索,直到所有的节点搜索结束。
作为本发明的一种改进,所述步骤1建立调度模型,具体如下,
将打印任务调度问题抽象为n个打印任务在m台打印设备上打印的调度问题,其中任务和设备的编号分别从1开始,并记任务i的完工时间为Ti(i=1,2,...,n),设备j的待打印任务总工时为Dj(j=1,2,...,m);由于任务i可以安排在m台设备中的任意一台设备进行打印,因此打印任务调度问题有多个解。每个调度问题的多个解构成该问题的解集合;
取其中的一个解为例进行阐述,可记任务集合中安排在设备j上的任务有k个,且任务编号为而设备在调度完成之后的总完工时间记为D'j,可推导出公式1。
打印任务调度模型的性能指标是所有设备的最大完工时间Tmax,在调度完成之后,该最大完工时间就是所有设备的总完工时间的最大值,即式2;
Tmax=max(D'j) (j=1,2,...,m) (2);
调度目标是使最大完工时间Tmax最小,即从调度问题的解集合中找出最优解。
作为本发明的一种改进,所述步骤3:使用贪心算法求得局部最优解,并作为可行界限值,具体如下,通过贪心算法求解打印任务调度模型,得到模型的一个近似最优解,并将该近似最优解作为回溯过程中剪枝的初始标准值Tbest。
作为本发明的一种改进,所述步骤4中的可行界限值(最大完工时间)Tbest初始化为其中,Ti(i=1,2,...,n)表示编号为i的打印任务的打印工时,Dj(j=1,2,...,m)表示编号为j的打印设备的待打印任务总工时。而且在回溯算法的搜索过程中,如果得到一个最大完工时间更小的解,需要将Tbest重置为该解的最大完工时间。
作为本发明的一种改进,所述步骤4具体如下,采用回溯算法进行求解,回溯算法将按照深度优先搜索的策略,从根节点出发开始对完全树进行搜索,每次搜索到树的任一结点,先判断该结点是否满足剪枝条件,如果满足,则跳过对以该结点为根结点的子树的搜索,并逐层向其祖先结点回溯;否则,继续按深度优先的策略对以该结点为根结点的M棵子树进行搜索。从根结点到未被剪枝的叶子结点所走的路径对应的编号组成一个解,因此,只有当根结点的所有子树都被搜索完才能得到该问题的所有解。
相对于现有技术,本发明的优点如下:
(1)基于3D打印机打印模型任务的特点建立了打印任务调度模型,采用了回溯算法对打印任务调度模型进行求解;
(2)基于假设法对回溯算法进行优化,以提高算法效,并遵循由简单到复杂的推理过程;
(3)考虑到优化后回溯算法依然存在效率问题,给出了一种以解的精确度换取效率的解决方案,在保证精度满足要求的情况下,将计算时间缩短75%。
附图说明
图1为贪心算法的求解流程图;
图2为回溯算法求解过程的完全树的示意图;(其中m为3、n为3)。
具体实施方式:
为了加深对本发明的理解,下面结合附图对本实施例做详细的说明。
实施例1:如图1所示,一种基于优化回溯算法的3D打印任务调度方法,所述方法包括以下步骤:
步骤1:建立调度模型,构建多个节点和多个分枝的解空间树,每一层的节点表示打印任务的编号,而每一层节点下的分支表示指定打印任务所选择的打印设备的编号;
步骤2:将打印任务按照打印时长降序方式排序,将打印设备按照当前待打印总时长的降序方式排序;
步骤3:使用贪心算法求得局部最优解,并作为可行界限值;
步骤4:搜索从树的根节点开始,使用可行界限值裁剪无效的搜索,直到所有的节点搜索结束。
所述步骤1建立调度模型,具体如下,
将打印任务调度问题抽象为n个打印任务在m台打印设备上打印的调度问题,其中任务和设备的编号分别从1开始,并记任务i的完工时间为Ti(i=1,2,...,n),设备j的待打印任务总工时为Dj(j=1,2,...,m);由于任务i可以安排在m台设备中的任意一台设备进行打印,因此打印任务调度问题有多个解。每个调度问题的多个解构成该问题的解集合;
取其中的一个解为例进行阐述,可记任务集合中安排在设备j上的任务有k个,且任务编号为而设备在调度完成之后的总完工时间记为D'j,可推导出公式1。
打印任务调度模型的性能指标是所有设备的最大完工时间Tmax,在调度完成之后,该最大完工时间就是所有设备的总完工时间的最大值,即式2;
Tmax=max(D'j) (j=1,2,...,m) (2);
调度目标是使最大完工时间Tmax最小,即从调度问题的解集合中找出最优解。
所述步骤3:使用贪心算法求得局部最优解,并作为可行界限值,具体如下,通过贪心算法求解打印任务调度模型,得到模型的一个近似最优解,并将该近似最优解作为回溯过程中剪枝的初始标准值Tbest。
所述步骤4中的可行界限值(最大完工时间)Tbest初始化为其中,Ti(i=1,2,...,n)表示编号为i的打印任务的打印工时,Dj(j=1,2,...,m)表示编号为j的打印设备的待打印任务总工时。而且在回溯算法的搜索过程中,如果得到一个最大完工时间更小的解,需要将Tbest重置为该解的最大完工时间。
所述步骤4具体如下,采用回溯算法进行求解,回溯算法将按照深度优先搜索的策略,从根节点出发开始对完全树进行搜索,每次搜索到树的任一结点,先判断该结点是否满足剪枝条件,如果满足,则跳过对以该结点为根结点的子树的搜索,并逐层向其祖先结点回溯;否则,继续按深度优先的策略对以该结点为根结点的M棵子树进行搜索。从根结点到未被剪枝的叶子结点所走的路径对应的编号组成一个解,因此,只有当根结点的所有子树都被搜索完才能得到该问题的所有解。
需要说明的是上述实施例仅仅是本发明的较佳实施例,并不是用来限定本发明的保护范围,在上述基础上作出的等同替换或者替代均属于本发明的保护范围,本发明的保护范围以权利要求书为准。
Claims (5)
1.一种基于优化回溯算法的3D打印任务调度方法,其特征在于,所述方法包括以下步骤:
步骤1:建立调度模型,构建多个节点和多个分枝的解空间树,每一层的节点表示打印任务的编号,而每一层节点下的分支表示指定打印任务所选择的打印设备的编号;
步骤2:将打印任务按照打印时长降序方式排序,将打印设备按照当前待打印总时长的降序方式排序;
步骤3:使用贪心算法求得局部最优解,并作为可行界限值;
步骤4:搜索从树的根节点开始,使用可行界限值裁剪无效的搜索,直到所有的节点搜索结束。
2.根据权利要求1所述的一种基于优化回溯算法的3D打印任务调度方法,其特征在于,所述步骤1建立调度模型,具体如下,
将打印任务调度问题抽象为n个打印任务在m台打印设备上打印的调度问题,其中任务和设备的编号分别从1开始,并记任务i的完工时间为Ti(i=1,2,...,n),设备j的待打印任务总工时为Dj(j=1,2,...,m)。由于任务i可以安排在m台设备中的任意一台设备进行打印,因此打印任务调度问题有多个解。每个调度问题的多个解构成该问题的解集合;
取其中的一个解为例进行阐述,可记任务集合中安排在设备j上的任务有k个,且任务编号为而设备在调度完成之后的总完工时间记为D'j,可推导出公式1。
打印任务调度模型的性能指标是所有设备的最大完工时间Tmax,在调度完成之后,该最大完工时间就是所有设备的总完工时间的最大值,即式2;
Tmax=max(D'j) (j=1,2,...,m) (2);
调度目标是使最大完工时间Tmax最小,即从调度问题的解集合中找出最优解。
3.根据权利要求3所述的一种基于优化回溯算法的3D打印任务调度方法,其特征在于,所述步骤3:使用贪心算法求得局部最优解,并作为可行界限值,具体如下,通过贪心算法求解打印任务调度模型,得到模型的一个近似最优解,并将该近似最优解作为回溯过程中剪枝的初始标准值Tbest。
4.根据权利要求1所述的一种基于优化回溯算法的3D打印任务调度方法,其特征在于,所述步骤4中的可行界限值(最大完工时间)Tbest初始化为其中,Ti(i=1,2,...,n)表示编号为i的打印任务的打印工时,Dj(j=1,2,...,m)表示编号为j的打印设备的待打印任务总工时,在回溯算法的搜索过程中,如果得到一个最大完工时间更小的解,需要将Tbest重置为该解的最大完工时间。
5.根据权利要求4所述的一种基于优化回溯算法的3D打印任务调度方法,其特征在于:所述步骤4具体如下,采用回溯算法进行求解,回溯算法将按照深度优先搜索的策略,从根节点出发开始对完全树进行搜索,每次搜索到树的任一结点,先判断该结点是否满足剪枝条件,如果满足,则跳过对以该结点为根结点的子树的搜索,并逐层向其祖先结点回溯;否则,继续按深度优先的策略对以该结点为根结点的M棵子树进行搜索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631319.7A CN110413238B (zh) | 2019-07-12 | 2019-07-12 | 一种基于优化回溯算法的3d打印任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631319.7A CN110413238B (zh) | 2019-07-12 | 2019-07-12 | 一种基于优化回溯算法的3d打印任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413238A true CN110413238A (zh) | 2019-11-05 |
CN110413238B CN110413238B (zh) | 2022-10-04 |
Family
ID=68361294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910631319.7A Active CN110413238B (zh) | 2019-07-12 | 2019-07-12 | 一种基于优化回溯算法的3d打印任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413238B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095618A (zh) * | 2021-03-01 | 2021-07-09 | 华中科技大学 | 一种it运维服务人员调度方法 |
CN116167593A (zh) * | 2023-04-21 | 2023-05-26 | 鲁东大学 | 用于零等待作业车间调度的工件加工时刻获取方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697335B1 (en) * | 2000-07-27 | 2004-02-24 | Lucent Technologies Inc. | Quality of service routing in information networks over paths having performance-dependent costs |
CN108924192A (zh) * | 2018-06-15 | 2018-11-30 | 中国人民解放军国防科技大学 | 数据中心网络下基于伪树结构的最优任务调度方法及系统 |
CN109471636A (zh) * | 2018-09-14 | 2019-03-15 | 上海交通大学 | 粗粒度可重构体系结构的算子映射方法及系统 |
-
2019
- 2019-07-12 CN CN201910631319.7A patent/CN110413238B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697335B1 (en) * | 2000-07-27 | 2004-02-24 | Lucent Technologies Inc. | Quality of service routing in information networks over paths having performance-dependent costs |
CN108924192A (zh) * | 2018-06-15 | 2018-11-30 | 中国人民解放军国防科技大学 | 数据中心网络下基于伪树结构的最优任务调度方法及系统 |
CN109471636A (zh) * | 2018-09-14 | 2019-03-15 | 上海交通大学 | 粗粒度可重构体系结构的算子映射方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095618A (zh) * | 2021-03-01 | 2021-07-09 | 华中科技大学 | 一种it运维服务人员调度方法 |
CN113095618B (zh) * | 2021-03-01 | 2024-04-02 | 华中科技大学 | 一种it运维服务人员调度方法 |
CN116167593A (zh) * | 2023-04-21 | 2023-05-26 | 鲁东大学 | 用于零等待作业车间调度的工件加工时刻获取方法及设备 |
CN116167593B (zh) * | 2023-04-21 | 2023-08-04 | 鲁东大学 | 用于零等待作业车间调度的工件加工时刻获取方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110413238B (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Swarup et al. | Unit commitment solution methodology using genetic algorithm | |
CN110413238A (zh) | 一种基于优化回溯算法的3d打印任务调度方法 | |
Cheng | Topological optimization of a reliable communication network | |
CN107679583A (zh) | 基于大数据获取故障解决方案的方法 | |
Bickford et al. | An efficient sampling design for forest inventory: the northeastern forest resurvey | |
CN103235743B (zh) | 一种基于分解和最优解跟随策略的多目标测试任务调度方法 | |
Shen et al. | Transfer learning for mixed-integer resource allocation problems in wireless networks | |
CN108573274A (zh) | 一种基于数据稳定性的选择性聚类集成方法 | |
CN105590143B (zh) | Pcb板组装工艺中多机流水生产线贴片机负荷均衡优化方法 | |
Crawford et al. | Dynamic selection of enumeration strategies for solving constraint satisfaction problems | |
CN102740394B (zh) | 中心计算的无线传感器网络2-不相交路径路由算法 | |
Xu et al. | Towards efficiency of QoS-driven semantic web service composition for large-scale service-oriented systems | |
JP2015530050A (ja) | 企画データの一致性を保証する方法及びそれに関連する装置 | |
CN108805382A (zh) | 一种基于层次分析筛选模型的百合花品种筛选方法 | |
CN104102694B (zh) | 树形节点排序方法和树形节点排序装置 | |
CN110446239A (zh) | 一种基于多重幻方的无线传感网络分簇方法及系统 | |
CN108021569A (zh) | Ac自动机的构建和中文多模式匹配方法及相关装置 | |
CN105072687A (zh) | 基于人工蜂群算法的wlan信道分配方法 | |
CN106488555A (zh) | 一种室内定位方法及装置 | |
CN102420812A (zh) | 一种支持分布并行处理的Web服务自动QoS组合方法 | |
Harabor et al. | Forward search in contraction hierarchies | |
CN107358046A (zh) | 考虑结构相关性的多寿命件更换策略搜索算法 | |
CN116112934A (zh) | 一种基于机器学习的端到端网络切片资源分配方法 | |
Lebbah et al. | Topological map for binary data. | |
CN106933844A (zh) | 面向大规模rdf数据的可达性查询索引的构建方法 |
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 |