发明内容
针对现有技术存在的问题,本发明提供了一种基于解空间转化的双行车调度方法、系统及应用。
本发明是这样实现的,一种基于解空间转化的双行车调度方法包括:
步骤一,获取任务列表,选出最靠前的两个任务;
步骤二,将行车与任务进行关联,确保每个行车都有自己的任务需要执行;
步骤三,产生分支树,深度遍历所有叶子节点,形成对应数量的调度链。每一条调度链都是一个备选的调度计划;
步骤四,计算出每一条调度链的花费的总时间、第一任务完成时间,这两个标注用于衡量调度链的优劣;
步骤四,计算出每一条调度链的花费的总时间、第一任务完成时间,这两个标注用于衡量调度链的优劣;
步骤六,取出最佳调度链的链首,作为当前时刻的主副分配计划;
步骤七,根据主副分配计划产生相对应的调度方案;
步骤八,主副行车执行调度计划,在任一行车完成调度计划时,返回到步骤一。
进一步,所述步骤二将行车与任务进行关联中,将任务在逻辑上划分为不同阶段,在任务的某一阶段指定某行车为主行车,另一行车为副行车,每次的主副分配的有效期都维持一个阶段。
进一步,所述步骤二将行车与任务进行关联中:
a) 若两个任务都已被执行,保持先前关联;
b) 若有一个任务未被执行,则将其分配给空闲的行车;
c) 若两个任务都未执行,按照任务抓取点和行车位置在轨道上同侧的原则分配任务。
进一步,所述步骤五中的筛选标准包括:
应当先完成的任务被先完成;
完成两个任务的总时间最少;
先完成的任务花费的时间最少。
进一步,所述步骤五根据筛选标准选出总评分最高的调度链中,用Y表示各个方案的最终得分:
;
其中,w1与w2是权重参数,用于衡量先完成的任务所耗费的时间和总耗费时间的重要性,默认为10。
进一步,所述步骤七根据主副分配计划产生相对应的调度方案包括:
a) 主行车进行阶段任务计划。
b) 副行车的阶段任务计划若与主行车有冲突,则尽可能向目标点移动,或者避让。
本发明的另一目的在于提供一种基于解空间转化的双行车调度系统,所述基于解空间转化的双行车调度系统包括:
任务获取模块,用于获取任务列表,选出最靠前的两个任务;
任务获取模块,用于获取任务列表,选出最靠前的两个任务;
主副分配模块,用于在任务的某一阶段指定某行车为主行车,另一行车为副行车;
遍历解空间模块,用于采用二叉树结构来记录不同的主副分配方案;
遍历解空间模块,用于采用二叉树结构来记录不同的主副分配方案;
结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
本发明简单、直观、高效、可解释性强,搜索时间极短。
在厂房内实际生产时,经常有需要改变任务排程的情况出现。本发明因为搜索时间短,故而可以应用于实时决策。常见群体算法和强化学习算法也是在经过缩小的解空间中搜索,但是解空间依然非常庞大,可能达到百万、千万甚至上亿的级别,搜寻时间较长,难以实时进行决策调度。
本发明并不指定在解空间中的检索策略,所以本发明与遗传算法、蚁群算法等检索策略并不冲突,而是互补关系。如果将一个搬运任务划分为更多更加精细的阶段,可以配合遗传算法借用启发式信息搜索最优解。
第二,技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
首先,炼钢车间的行车可以根据智能化调度算法自动运行,而不需要人工操作,人工成本得到了降低,安全系数得到了提高。
其次,根据智能调度算法所得出的调度方案比人工调度效率更高。
最后,机器几乎不存在失误的情况,系统稳健度更高。
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
(1)本发明的技术方案转化后的预期收益和商业价值为:用机器代替人工进行行车调度,预计可以提高工作效率,降低人员成本。
(2)本发明的技术方案填补了国内外业内技术空白:尽管我国智能制造走在世界前列,但是目前炼钢车间的行车调度问题依然以人工经验决策为主,智能化程度低。
(3)本发明的技术方案克服了技术偏见:神经网络相关的算法,如深度强化学习算法Deep Q Network,虽然效果往往出众,但是可解释性不强。本发明方案采用了一种基于推理和分析的、可解释性强的调度算法。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供的基于解空间转化的双行车调度方法包括:
S101,获取任务列表,选出最靠前的两个任务;
S102,将行车与任务进行关联;
S103,产生分支树,深度遍历所有叶子节点,形成对应数量的调度链;
S104,计算出每一条调度链的花费的总时间、第一任务完成时间;
S105,根据筛选标准选出总评分最高的调度链;
S106,取出最佳调度链的链首,作为主副分配计划;
S107,根据主副分配计划产生相对应的调度方案;
S108,主副行车执行调度计划,在任一行车完成调度计划时,返回到步骤S101。
本发明实施例中的步骤S102将行车与任务进行关联中,将任务在逻辑上划分为不同阶段,在任务的某一阶段指定某行车为主行车,另一行车为副行车,每次的主副分配的有效期都维持一个阶段。
本发明实施例中的步骤S102将行车与任务进行关联中:
a) 若两个任务都已被执行,保持先前关联;
b) 若有一个任务未被执行,则将其分配给空闲的行车;
c) 若两个任务都未执行,按照任务抓取点和行车位置在轨道上同侧的原则分配任务。
本发明实施例中的步骤S105中的筛选标准包括:
应当先完成的任务被先完成;
完成两个任务的总时间最少;
先完成的任务花费的时间最少。
本发明实施例中的步骤S105根据筛选标准选出总评分最高的调度链中,用Y表示各个方案的最终得分:
;
其中,w1与w2是权重参数,用于衡量先完成的任务所耗费的时间和总耗费时间的重要性,默认为10。
本发明实施例中的步骤S107根据主副分配计划产生相对应的调度方案包括:
a) 主行车进行阶段任务计划。
b) 副行车的阶段任务计划若与主行车有冲突,则尽可能向目标点移动,或者避让。
二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
本发明提供的计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
步骤一,获取任务列表,选出最靠前的两个任务;
步骤二,将行车与任务进行关联;
步骤三,产生分支树,深度遍历所有叶子节点,形成对应数量的调度链;
步骤四,计算出每一条调度链的花费的总时间、第一任务完成时间;
步骤五,根据筛选标准选出总评分最高的调度链;
步骤六,取出最佳调度链的链首,作为主副分配计划;
步骤七,根据主副分配计划产生相对应的调度方案;
步骤八,主副行车执行调度计划,在任一行车完成调度计划时,返回到步骤一。
本发明提供的计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
步骤一,获取任务列表,选出最靠前的两个任务;
步骤二,将行车与任务进行关联;
步骤三,产生分支树,深度遍历所有叶子节点,形成对应数量的调度链;
步骤四,计算出每一条调度链的花费的总时间、第一任务完成时间;
步骤五,根据筛选标准选出总评分最高的调度链;
步骤六,取出最佳调度链的链首,作为主副分配计划;
步骤七,根据主副分配计划产生相对应的调度方案;
步骤八,主副行车执行调度计划,在任一行车完成调度计划时,返回到步骤一。
本发明提供的信息数据处理终端,所述信息数据处理终端用于实现所述的基于解空间转化的双行车调度方法。
三、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
行车调度的解空间非常庞大,本发明意图将庞大的解空间转化为一个非常精简的解集合,并在内部搜寻最佳解法,通过自定义的转换规则将解转换为行车可执行的调度方案。
由于是在解空间内进行遍历搜索,所得解距离真实最优解是非常接近的。而人工决策很大程度上依赖个人经验,还会存在失误。
1、主副分配
首先应该注意到,双行车在共同执行任务的情况下,应当不存在互相避让的情况,而只有都工作或者一个工作一个避让的情况。可以在任务的某一阶段指定某行车为主行车,另一行车为副行车。
主行车执行自己的任务,在任务冲突的情况下,副行车需要避让,否则也要执行自身的任务。只要在执行任务的每一个瞬间都能确定主副分配,也就有了明确的调度策略。
数字“1”表示该行车被设定为主行车,数字“0”表示该行车被设定为副行车。在第一次进行主副分配时,有两种情况:即0号行车为副行车,1号行车为主行车,用“01”表示,或者即0号行车为主行车,1号行车为副行车,用“10”表示。
记录在每一个叶子节点里的0-1序列也就是整个流程的分配方案。可以通过层次遍历的方法获取所有叶子节点。
2、任务阶段划
其实,并没有必要在每一瞬间都进行主副分配。可以将任务在逻辑上划分为不同阶段,每次的主副分配的有效期都可以维持一个阶段。因为从逻辑上看,阶段是组成任务的最小单元,是能被继续拆分的整体。
在基础版本中,任务被分成四个阶段,即:
(1)向抓取点移动
(2)抓取
(3)向释放点移动
(4)释放
在每一个任务的生命周期内,只有在每个阶段执行前才需要考虑调度的问题。
3、方案转化
方案转化规则是可以根据不同需求自定义的。基本版的方案为:主行车执行下一个阶段的任务,副行车的阶段任务若不与主行车冲突,则可执行。若冲突,则执行配合操作。
配合操作即是在保证不会发生冲突的情况下,尽可能向着目标点移动,必要时需要进行避让。
4、遍历解空间
仅在各阶段开始前进行主副分配,解空间将会发生坍塌式的收缩。主副分配仅有两个分支,故可采用二叉树结构来记录不同的主副分配方案。
最多的情况下,会生成深度为9的二叉树,对应一个根节点和8次决策。即存在至少一条分支,4次主副分配都会产生冲突,只有一辆行车可以执行自身任务。
最少的情况下,会生成深度为2的二叉树,对应一个根节点和一次决策。即两辆行车都已经完成至最终阶段,仅需再做一次主副分配即可顺利完成任务。
此二叉树的每一条叶子节点就是一个完整的调度方案。用合适的标准进行筛选,即可得到最优的调度方案。
5、阶段用时预计
任务的总完成时间是衡量调度策略好坏的重要标准。而调度是在执行前完成的,故需要有一个模块,用来预计行车执行自身任务每个阶段所需时间。
这个模块预估的准确性将直接影响最终解的性能。所需要预估的时间包括:
Tmi:第i号行车移动的时间
Tdi:第i号行车吊机下降时间
Tci:第i号夹取等待时间
Tui:第i号行车吊机回升时间
T0:0号任务(需要先完成的任务)的完成所需时间
T1:1号任务的完成所需时间
T:两辆行车任务的总完成时间:
6、方案筛选标准
为了从决策树中筛选出最优的方案,需要指定一些列筛选标准。这些筛选标准往往不能同时满足,可以选用适合度最高的分支。
具体筛选标准如下:
① 应当先完成的任务被先完成。
② 完成两个任务的总时间最少。
③ 先完成的任务花费的时间最少。
其中第一条标准是企业中的硬性要求,因为排程的顺序与完成顺序必须是相一致的。
需要注意的是,可能找不到同时满足三个条件的调度方案。必须要有一个新的标准对所有方案的优秀程度进行衡量,用Y表示各个方案的最终得分,C表示符合的筛选条件的编号。
其中,,w1与w2是权重参数,用于衡量先完成的任务所耗费的时间和总耗费时间的重要性,默认为10。在调度结束之前,参数默认值是多少都没问题,只要保持不变就不影响调度。如果数值一样则意味着规则①与规则③的重要性相同。
注:表中数据均属于模拟数据,仅用于展示计算过程和结果特点
可以选用评分Y值最高的调度编码作为最佳调度方案。取其根节点的分支作为当前阶段的调度分配方案。
如表所示,第4个方案,即调度编码为“10100110”的调度方案被认为是最佳调度方案。取其根节点分配方案“10”,将0号行车设为主行车,1号行车设为副行车。
显而易见,满足的筛选条件越多的调度方案,其评分也就越高。
本发明基础方案版本下的解空间非常小,至多只有22×4=256种解,搜索时间极短。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。