CN113704995A - 基于非支配不等式的不相关并行机调度方法及其相关设备 - Google Patents

基于非支配不等式的不相关并行机调度方法及其相关设备 Download PDF

Info

Publication number
CN113704995A
CN113704995A CN202110989680.4A CN202110989680A CN113704995A CN 113704995 A CN113704995 A CN 113704995A CN 202110989680 A CN202110989680 A CN 202110989680A CN 113704995 A CN113704995 A CN 113704995A
Authority
CN
China
Prior art keywords
processed
time
inequality
variable
determining
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
Application number
CN202110989680.4A
Other languages
English (en)
Other versions
CN113704995B (zh
Inventor
王建江
刘进
喻东坡
马满好
祝江汉
喻婧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202110989680.4A priority Critical patent/CN113704995B/zh
Publication of CN113704995A publication Critical patent/CN113704995A/zh
Application granted granted Critical
Publication of CN113704995B publication Critical patent/CN113704995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供一种基于非支配不等式的不相关并行机调度方案,深入分析了时间窗口间复杂的相互交叠关系,改进模型线性松弛上界。设计了一种新的预处理算法,能成功调度更多的待处理对象。具体的,首先通过在模型中引入表示待处理对象是否调度到实施主体对应的时间窗口的第一变量和表示所述待处理对象分配到所述时间窗口对应的开始时间的第二变量,然后分析时间窗口之间的冲突和关系,在模型中加入与时间窗口交叠相关的非支配不等式,根据不同情况得到相应的调度方案并进行调度。得到了一个新的改进混合整数线性规划模型,避免了引入“大M”变量,具有更紧的线性松弛上界。避免了所有待处理对象之间引入0‑1变量,提高了调度方案的求解效率。

Description

基于非支配不等式的不相关并行机调度方法及其相关设备
技术领域
本公开涉及混合整数线性规划技术领域,尤其涉及一种基于非支配不等式的不相关并行机调度方法及其相关设备。
背景技术
对地观测卫星是响应用户需求,通过搭载的遥感器(有效载荷)对地球表面进行成像的一类卫星平台。由于观测需求的“爆发性”增长和资源的有限性,调度对于提高观测效率至关重要。通常,对地观测卫星在低轨运行,每天可以绕地球运转十几到几十个圈次。显然,卫星只有在飞越目标上空时才能成功观测,即目标必须在卫星可视范围内。因此,目标观测具有时间窗口约束。由于每天绕地运行多个轨道圈次,加上传感器灵活的机动能力和视场范围,卫星能够从多个相邻轨道对同一目标进行观测。因此,单个卫星观测单个目标可能存在多个时间窗口。由于轨道不同,不同卫星观测同一目标的时间窗口也不同。进一步,在两个连续观测目标之间,卫星需要进行一定转换操作,包括传感器关机、侧摆、姿态稳定和重新启动。因此,如果把每个卫星看作一台实施主体,每个目标看作一个待处理对象,则对地观测卫星调度问题可以被描述为具有多个时间窗口和转换时间的不相关并行机调度问题。
类似的问题同样存在于生产车间的实施主体调度和企业的人员排班,其中只能在实施主体或员工的工作时间窗口内分配待处理对象或待处理对象。此外,大部分情况下,实施主体和员工只在白天工作。另一个典型应用是具有多个时间窗口的团队定向问题,在睡眠时间和工作时间客户不能被访问。不同的是,上述问题中的时间窗口仅依赖于实施主体或待处理对象之一,而可见性是由卫星的轨道和目标位置共同决定的,所以时间窗口同时依赖于待处理对象和实施主体。
发明内容
有鉴于此,本公开的目的在于提出一种基于非支配不等式的不相关并行机调度方法及其相关设备。
基于上述目的,本公开提供了一种基于非支配不等式的不相关并行机调度方法,包括:
响应于确定第一变量为1,待处理对象在对应的时间窗口内被处理,响应于确定第一变量为0,令第二变量为0;根据所述第一变量和第二变量调度所述待处理对象,其中,所述第一变量表示所述待处理对象是否调度到实施主体对应的时间窗口,是则所述第一变量为1,否则所述第一变量为0,所述第二变量表示所述待处理对象分配到所述时间窗口对应的开始时间,每个所述待处理对象最多被调用一次;
响应于确定第一待处理对象的最晚可结束时间小于第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之前被处理;响应于确定所述第一待处理对象的最晚可结束时间大于所述第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之后被处理;
响应于确定第三变量为1,所述第一待处理对象在所述第二待处理对象前被处理;响应于确定第四变量为1,所述第一待处理对象在所述第二待处理对象后被处理;其中,所述第三变量和第四变量分别表示所述第一待处理对象和所述第二待处理对象的调度次序,所述第三变量和第四变量满足转换时间约束、一致性约束和域约束;
根据全部所述时间窗口的交叠信息,得到非支配不等式;
根据上述条件建立混合整数线性规划模型并求解,得到调度待处理对象总收益最大值的调度方案,并根据所述调度方案进行调度。
基于同一发明构思,本公开还提供了一种不相关并行机调度装置,包括:
第一处理模块,被配置为响应于确定第一变量为1,待处理对象在对应的时间窗口内被处理,响应于确定第一变量为0,令第二变量为0;根据所述第一变量和第二变量调度所述待处理对象,其中,所述第一变量表示所述待处理对象是否调度到实施主体对应的时间窗口,是则所述第一变量为1,否则所述第一变量为0,所述第二变量表示所述待处理对象分配到所述时间窗口对应的开始时间,每个所述待处理对象最多被调用一次;
第二处理模块,被配置为响应于确定第一待处理对象的最晚可结束时间小于第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之前被处理;响应于确定所述第一待处理对象的最晚可结束时间大于所述第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之后被处理;
第三处理模块,被配置为响应于确定第三变量为1,所述第一待处理对象在所述第二待处理对象前被处理;响应于确定第四变量为1,所述第一待处理对象在所述第二待处理对象后被处理;其中,所述第三变量和第四变量分别表示所述第一待处理对象和所述第二待处理对象的调度次序,所述第三变量和第四变量满足转换时间约束、一致性约束和域约束;
不等式生成模块,被配置为根据全部所述时间窗口的交叠信息,得到非支配不等式;
调度模块,被配置为根据上述条件建立混合整数线性规划模型并求解,得到调度待处理对象总收益最大值的调度方案,并根据所述调度方案进行调度。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
从上面所述可以看出,本公开提供的基于非支配不等式的不相关并行机调度方法及其相关设备,通过在模型中引入表示待处理对象是否调度到实施主体对应的时间窗口的第一变量和表示所述待处理对象分配到所述时间窗口对应的开始时间的第二变量,然后分析时间窗口之间的冲突和关系,根据不同情况的到相应的调度方案并根据调度方案进行调度,同时在模型中加入与时间窗口交叠相关的非支配不等式。得到了一个新的改进混合整数线性规划模型(MILP)模型,避免了引入“大M”变量,具有更紧的线性松弛上界。避免了所有待处理对象之间引入0-1变量,提高了调度方案的求解效率。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例的基于非支配不等式的不相关并行机调度方法流程图;
图2为本公开实施例的基于非支配不等式的不相关并行机调度方法预处理流程图;
图3(a)、图3(b)为本公开实施例的两个时间窗口的不同情况示意图;
图4(a)-(j)为本公开实施例的三个时间窗口的不同情况示意图;
图5为本公开实施例的非支配不等式寻找流程图;
图6为本公开实施例的不等式识别和添加示例示意图;
图7为本公开实施例的基于非支配不等式的不相关并行机调度装置结构示意图;
图8为本公开实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,现有的不相关并行机调度问题存在于生产生活的各个方面。申请人在实现本公开的过程中发现,现有的针对具有多个时间窗口的不相关并行机调度问题的解决方法非常有限。许多学者已经研究了具有时间窗口的不相关并行机调度问题,并将研究工作扩展到卫星调度领域。为了提高跟踪和数据中继卫星系统(TDRSS)天线的利用率,Rojanasoonthon和Bard研究了具有时间窗口的不相关并行机调度问题。首先,建立了一个混合整数线性规划模型,考虑该模型过于复杂,难以求解现实中的大规模问题。他们采用了两种启发式算法求解模型,首先是贪婪随机自适应搜索算法(GRASP),算法包含两个阶段。第一阶段,通过贪婪函数对待处理对象进行排序,按照顺序逐个调度每个待处理对象产生初始可行解。第二阶段通过待处理对象插入和交换邻域搜索局部最优解。然后,提出了一种类似动态规划的启发式算法,称为R-B算法。R-B启发式算法的基本思想是通过由待处理对象之间的优先关系构造无环有向图,然后搜索有向图的最长路径。考虑元启发式算法通常无法获得最优解,并且不能保证和评估解的最优性,Rojanasoonthon和Bard进一步试图求解该问题最优解。基于问题的特殊结构,将混合整数线性规划模型重构为独立子集主问题和多个最短路定价子问题,设计了分支定价求解算法。更全面地说,采用上述GRASP启发式算法求解定价子问题。他们的研究中,每个待处理对象具有多个时间窗口,但每个待处理对象在每台实施主体上最多只有一个或两个时间窗口,并没有考虑更多时间窗口的情况。
Chen研究了对地观测卫星调度问题,是一个具有时间窗口的不相关并行机调度问题的变体。研究中,每个待处理对象在每台实施主体上具有多个时间窗口。通过深入分析可行时间窗口之间的相互依赖关系,设计了一个新的混合整数线性规划模型,并通过改进的约束使模型线性松弛更加紧。然后,提出了一种预处理算法减小问题规模,便于算法求解。但在实际工作中,传统模型由于引入了“大M”参数,所以模型的线性松弛很难获得紧的上界。传统模型中,对于任何两个待处理对象i,j和任何一个实施主体k,都需要定义一个0-1变量
Figure BDA0003231846300000041
因此变量
Figure BDA0003231846300000042
的数量为n2m。因此,宽松的线性松弛上界和大量的0-1变量使得传统模型难以有效求解。
有鉴于此,本公开一个或多个实施例提供了一种不相关并行机调度方案,进一步深入分析了时间窗口间复杂的相互交叠关系,改进模型线性松弛上界。设计了一种新的预处理算法,能成功调度更多的待处理对象。具体的,首先通过在模型中引入表示待处理对象是否调度到实施主体对应的时间窗口的第一变量和表示所述待处理对象分配到所述时间窗口对应的开始时间的第二变量,然后分析时间窗口之间的冲突和关系,在模型中加入与时间窗口交叠相关的非支配不等式,根据不同情况的到相应的调度方案并根据调度方案进行调度。得到了一个新的改进混合整数线性规划模型(MILP)模型,避免了引入“大M”变量,具有更紧的线性松弛上界。避免了所有待处理对象之间引入0-1变量,提高了调度方案的求解效率。
以下,通过具体的实施例来详细说明本公开一个或多个实施例的技术方案。
参考图1,本说明书一个实施例的基于非支配不等式的不相关并行机调度方法,包括以下步骤:
步骤S101、响应于确定第一变量为1,待处理对象在对应的时间窗口内被处理,响应于确定第一变量为0,令第二变量为0;根据所述第一变量和第二变量调度所述待处理对象,其中,所述第一变量表示所述待处理对象是否调度到实施主体对应的时间窗口,是则所述第一变量为1,否则所述第一变量为0,所述第二变量表示所述待处理对象分配到所述时间窗口对应的开始时间,每个所述待处理对象最多被调用一次;
本实施例中,所述待处理对象和实施主体在不同的实施场景下可以是不同的,在机械零件加工的场景中,待处理对象可以是待加工的零件,实施主体可以是车床;在车辆路径问题中,待处理对象可以是车辆的路径,实施主体可以是车辆本身;在卫星调度的场景中,待处理对象可以是卫星的工作任务,实施主体可以是卫星本身。
步骤S102、响应于确定第一待处理对象的最晚可结束时间小于第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之前被处理;响应于确定所述第一待处理对象的最晚可结束时间大于所述第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之后被处理:
步骤S103、响应于确定第三变量为1,所述第一待处理对象在所述第二待处理对象前被处理;响应于确定第四变量为1,所述第一待处理对象在所述第二待处理对象后被处理;其中,所述第三变量和第四变量分别表示所述第一待处理对象和所述第二待处理对象的调度次序,所述第三变量和第四变量满足转换时间约束、一致性约束和域约束;
步骤S104、根据全部所述时间窗口的交叠信息,得到非支配不等式;
步骤S105、根据上述条件建立混合整数线性规划模型并求解,得到调度待处理对象总收益最大值的调度方案,并根据所述调度方案进行调度。
本步骤中,所述混合整数线性规划模型可以表示为:
Figure BDA0003231846300000051
其中,所述模型表示最大化调度待处理对象总收益,包含两个虚拟待处理对象,分别是{0,n+1},对应于开始待处理对象和终止待处理对象,J为所述待处理对象的集合,M为所述实施主体的集合,i,j∈J∪{0,n+1},k∈M,l∈TWjk,每个所述待处理对象j,j∈J的收益为wj
Figure BDA0003231846300000052
表示第一变量,是一个二进制变量,如果待处理对象j被调度到实施主体k上的第l个时间窗口,则
Figure BDA0003231846300000053
为1;否则
Figure BDA0003231846300000054
为0;对于每个所述待处理对象j和每台所述实施主体k,存在多个所述时间窗口,定义为
Figure BDA0003231846300000055
|TWjk|表示待处理对象j在实施主体k上时间窗口数量,
Figure BDA0003231846300000056
表示待处理对象j在实施主体k上的第l个时间窗口,并且
Figure BDA0003231846300000057
分别表示待处理对象j在实施主体k上最早可开始时间和最晚可结束时间,即在实施主体k上的第l个时间窗口两端的时间节点。
本实施例中,每个待处理对象应在其某一个时间窗口内调度;否则,无法被调度。此外,每个待处理对象应当一次被处理完成而不中断,因此本模型专注于非抢占调度,调度目标是最大化被处理待处理对象的总收益。
本实施例中,所述混合整数线性规划模型具体包括:
Figure BDA0003231846300000061
该约束保证每个待处理对象最多被调度一次。
Figure BDA0003231846300000062
该约束为第一变量
Figure BDA0003231846300000063
的域约束。
Figure BDA0003231846300000064
Figure BDA0003231846300000065
上述两个约束为时间窗口约束,对应于步骤S101的:所述响应于确定第一变量为1,所述待处理对象在对应的时间窗口内被处理,响应于确定第一变量为0,令第二变量为0。其中,tj,j∈J∪{0,n+1}为第二变量,是一个实变量,表示工件j分配到时间窗口
Figure BDA0003231846300000066
对应的开始时间,pj表示处理时间。
对于两个待处理对象i,j(第一待处理对象,第二待处理对象)在实施主体k上的两个时间窗口
Figure BDA0003231846300000067
Figure BDA0003231846300000068
如果
Figure BDA0003231846300000069
表示如果两个待处理对象都调度到实施主体k,即
Figure BDA00032318463000000610
Figure BDA00032318463000000611
则待处理对象j必须在待处理对象i之前被处理,因此得到:
Figure BDA00032318463000000612
该约束为转换时间约束,对应于步骤S102的:响应于确定第一待处理对象的最晚可结束时间小于第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之前被处理。其中,tj,j∈J∪{0,n+1}表示第二变量,pj表示处理时间,Δk表示每台实施主体k,k∈M的实施主体转换时间。
对于两个待处理对象i,j在实施主体k上的两个时间窗口
Figure BDA0003231846300000071
Figure BDA0003231846300000072
如果
Figure BDA0003231846300000073
表示如果两个待处理对象都调度到实施主体k,即
Figure BDA0003231846300000074
Figure BDA0003231846300000075
则待处理对象i必须在待处理对象j之前被处理,因此得到:
Figure BDA0003231846300000076
该约束为转换时间约束,对应于步骤S102的:响应于确定所述第一待处理对象的最晚可结束时间大于所述第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之后被处理。
如果两个待处理对象i,j都调度在实施主体k上,不能确认这两个待处理对象的被处理顺序。因此,需要引入辅助0-1变量:第三变量
Figure BDA0003231846300000077
和第四变量
Figure BDA0003231846300000078
如果待处理对象i在待处理对象j之前被处理,则第三变量
Figure BDA0003231846300000079
否则,如果待处理对象j在待处理对象i之前被处理,则第四变量
Figure BDA00032318463000000710
基于此,可以通过第三变量
Figure BDA00032318463000000711
和第四变量
Figure BDA00032318463000000712
定义转换时间约束如下:
Figure BDA00032318463000000713
Figure BDA00032318463000000714
另外,第一变量
Figure BDA00032318463000000715
(0-1变量)和第三变量
Figure BDA00032318463000000716
第四变量
Figure BDA00032318463000000717
(辅助0-1变量)还必须满足一致性约束:
Figure BDA00032318463000000718
Figure BDA00032318463000000719
Figure BDA00032318463000000720
Figure BDA00032318463000000721
同时,第三变量
Figure BDA00032318463000000722
第四变量
Figure BDA00032318463000000723
还需满足域约束:
Figure BDA0003231846300000081
Figure BDA0003231846300000082
可见,本实施例中,通过引入第二变量tj,j∈J∪{0,n+1}和辅助0-1变量
Figure BDA0003231846300000083
Figure BDA0003231846300000084
(第三变量、第四变量),本文得到了一个新的改进MILP模型:新模型避免了引入“大M”变量,具有更紧的线性松弛上界。通过分析时间窗口之间的冲突和关系,本实施例避免了所有待处理对象之间引入辅助0-1变量,引入了额外的更加复杂的五索引0-1变量:第三变量
Figure BDA0003231846300000085
和第四变量
Figure BDA0003231846300000086
但是,由于只在部分时间窗口之间引入,所以该方法对于提高求解效率是有效的,同时,通过加入非支配不等式,可以使得模型更容易求解。
下面,给出本公开的不相关并行机调度方法的一个具体的应用场景。算法通过C++调用CPLEX 12.8 API实现,编译器为Visual Studio 2017,运行在Intel(R)Core(TM)i7-5960 X CPU@3.00GHz(16processors)计算机,64Gb内存,操作系统为Windows 7。
为了评估本公开模型和算法的性能,通过仿真模拟创建了大量问题实例。本例中待处理对象为工件,执行主体为机器。机器数目分别为5、10、15和20台。此外,每个时间间隔中的时间窗口数量分别在[5,10]、[10,15]、[15,20]和[20,25]范围内服从均匀分布随机生成。根据机器的数量,工件数量分别设置为从小规模到大规模。因此,工件数最小为100,最大为1200。工件加工时间在[240,360]的范围内均匀分布,每台机器的转换时间在[180,300]范围内均匀分布随机生成。此外,调度周期设置为24小时。时间窗口的长度以秒为单位在区间[400,2000]内生成。通过不同数目的机器和工件组合,共产生了47个问题实例。表1给出了所有问题实例的详细参数。
表1:测试实例
Figure BDA0003231846300000091
表1中,列“Instance”表示每个实例的标识符。此外,列“|M|”、“|I|”、“|J|”、“|EJ|”和“|TW|”分别表示机器数目、每个间隔中的时间窗口数目、工件数目、有效工件(具有可用时间窗口)数目和时间窗口总数。
为了测试本实施例中的模型和算法的性能,将求解结果与Chen等的模型和算法性能进行了比较。比较结果如表2所示,其中“Objective”表示目标函数值,即被处理待处理对象的总收益。“Gap”表示可行解与最优解上界的距离,由(UB-Fea)/UB计算得到,其中UB表示最优解上界,Fea表示可行解目标函数值。求解时间设置为20分钟,如果20分钟内找到最优解,则在列“Time(s)”中显示求解时间。
如表2所示,本实施例的方法和Chen等的方法对于大部分实例都能求得最优解。具体而言,本实施例的方法求得最优解的实例数量大于Chen等的方法(39>34)。此外,针对两种方法都能求得最优解的实例(33个),大部分实例(21个)本实施例的方法求解时间小于Chen等的方法。主要原因是:1)本实施例的预处理算法使得更多工件被预调度,减小了问题求解规模;2)由于加入更多有效不等式,本实施例的模型线性松弛上界更紧,便于问题求解;
表2:本实施例的模型和求解算法的性能评估
Figure BDA0003231846300000101
作为一个可选的实施例,参考图2,对于前述实施例中的不相关并行机调度方法,在求解所述模型之前,还可以对所述时间窗口进行预处理。
对于不少于四个时间窗口的情况,还可以通过前向滚动时间窗口算法对所述时间窗口进行预处理,包括以下步骤:
S201、获取每台所述实施主体的时间节点信息;
S202、根据所述时间节点信息按照先后顺序访问所述实施主体上的时间节点,响应于确定已经访问的时间窗口数量小于或等于3,更新所述已经访问的时间窗口的结束时间,更新后的结束时间不超过当前时间节点,并调度剩余的待处理对象;
S203、响应于确定所述已经访问的时间窗口中的待处理对象能够被成功调度,预调度所述已经访问的时间窗口中的待处理对象,并将所述已经访问的时间窗口中的待处理对象在所有实施主体上的时间窗口删除;
S204、响应于确定所述已经访问的时间窗口数量大于3,按时间先后顺序对时间窗口结束时间在前的待处理对象进行预调度,每次成功预调度一个待处理对象后,更新所述已经访问的时间窗口中剩余待处理对象的时间窗口的开始时间,直到剩余未预调度的待处理对象时间窗口数小于或等于3时,调度剩余的待处理对象。
本实施例中,对于一个时间窗口,显然只有一种情况。对于任意两个时间窗口,存在两种情况,令ηk ij=pi+pjk,其中pi和pj表示待处理对象被处理时间,Δk表示转换时间待处理对象i、j的交叠的时间窗口为
Figure BDA0003231846300000111
参考图3(a),
Figure BDA0003231846300000112
如果
Figure BDA0003231846300000113
待处理对象i和j可以成功调度,得到第一变量
Figure BDA0003231846300000114
第二变量
Figure BDA0003231846300000115
参考图3(b),
Figure BDA0003231846300000116
如果
Figure BDA0003231846300000117
待处理对象i和j可以成功调度,得到第一变量
Figure BDA0003231846300000118
第二变量
Figure BDA0003231846300000119
Figure BDA00032318463000001110
如果
Figure BDA00032318463000001111
待处理对象i和j可以成功调度,得到第一变量
Figure BDA00032318463000001112
第二变量
Figure BDA00032318463000001113
对于任意三个时间窗口,对于三个待处理对象i、j和q的三个交叠的时间窗口
Figure BDA00032318463000001114
Figure BDA00032318463000001115
参考图4,有10种情况。为了消除对称性,对于所有情况令
Figure BDA00032318463000001116
定义ηk ijq=pi+pj+pq+2·Δk,其中pi、pj和pq分别表示待处理对象i、j和q的被处理时间。此外,ηk ij、ηk jq和ηk iq也分别定义为ηk ij=pi+pj+Δk、ηk jq=pj+pq+Δk和ηk iq=pi+pq+Δk。三个交叠时间窗口的预处理策略根据不同情况相应不同。
在本实施例中,参考下面前向滚动时间窗口算法流程。通过对多个时间窗口面对的不同情况进行预处理,能够减小问题规模和提高求解效率。
Figure BDA0003231846300000121
作为一个具体的示例,通过与Chen等的预处理策略比较,测试了本文预处理算法的性能。首先,表3中“Our preprocessing I”表示本实施例中提出的预处理算法,“Ourpreprocessing II”表示本实施例中预处理算法和Chen等的预处理算法的结合。表5列出了比较结果,其中“Num”是预处理中调度的待处理对象数目。“Objective”和“Time(s)”分别表示的是预调度待处理对象的总收益和预处理的求解时间。
通过表3中的结果,可以观察到本实施例的预处理策略I和II的预调度待处理对象的数目总是大于等于Chen等的预调度待处理对象数目。此外,对于大部分实例(47个中的34个),预调度待处理对象的数目大于Chen等的预处理待处理对象的数目,由粗体标记。因此,与Chen等的算法相比,本实施例的算法在预处理方面有了很大改进。此外,关于本实施例的预处理策略I和II,所有实例预调度待处理对象数目相同。因此,得出结论,本实施例的预处理算法II的求解时间小于预处理算法I,由粗体标记,两种算法组合在提高预处理算法效率方面发挥重要作用。
在一些实施例中,参考下面流程,也可以通过后向滚动时间窗口算法对所述时间窗口进行预处理,后向滚动时间窗口算法的步骤与前向滚动时间窗口算法类似,只不过访问时间节点的顺序是从后往前的倒序。因此,后向滚动时间窗口算法可以看作是前向滚动时间窗口算法的镜像,即时间窗口开始时间变为结束时间,结束时间变为开始时间。
Figure BDA0003231846300000131
作为一个可选的实施例,对于前述实施例中的步骤S104,所述根据全部所述时间窗口的交叠信息,得到非支配不等式,包括:
当交叠的时间窗口数量为两个时,令ηk ij=pi+pjk,其中pi和pj表示待处理对象i和待处理对象j的被处理时间,Δk表示转换时间,待处理对象i、j的交叠的时间窗口为
Figure BDA0003231846300000141
参考图3(a),响应于确定
Figure BDA0003231846300000142
得到不等式:
Figure BDA0003231846300000143
参考图3(b),响应于确定
Figure BDA0003231846300000144
得到不等式:
Figure BDA0003231846300000145
根据得到的不等式,寻找非支配不等式。
作为一个可选的实施例,对于前述实施例中的步骤S104,所述根据全部所述时间窗口的交叠信息,得到非支配不等式,还包括:
当交叠的时间窗口数量为三个时,令ηk ijq=pi+pj+pq+2·Δk,ηk ij=pi+pj+Δk,ηk jq=pj+pq+Δk,ηk iq=pi+pq+Δk,其中pi、pj和pq分别表示待处理对象i、j和q的被处理时间,Δk表示转换时间,待处理对象i、j和q的三个交叠的时间窗口为
Figure BDA0003231846300000146
Figure BDA0003231846300000147
φ(a,b,P)表示在时间区间[a,b]内,备选待处理对象集合P中最大可以调度的待处理对象数;本实施例中,对于三个待处理对象,P={i,j,q},φ(a,b,P)可以通过按照被处理时间从小到大的顺序逐个处理每个待处理对象,直到被处理时间超出时间区间[a,b]。
参考图4(a),响应于确定
Figure BDA0003231846300000148
Figure BDA0003231846300000149
得到不等式
Figure BDA00032318463000001410
参考图4(b),响应于确定
Figure BDA00032318463000001411
Figure BDA00032318463000001412
得到不等式
Figure BDA00032318463000001413
参考图4(c),响应于确定
Figure BDA00032318463000001414
Figure BDA00032318463000001415
得到不等式
Figure BDA00032318463000001416
否则,若
Figure BDA00032318463000001417
Figure BDA00032318463000001418
得到不等式
Figure BDA00032318463000001419
参考图4(d),响应于确定
Figure BDA00032318463000001420
Figure BDA00032318463000001421
得到不等式
Figure BDA00032318463000001422
否则,
Figure BDA00032318463000001423
Figure BDA00032318463000001424
得到不等式
Figure BDA00032318463000001425
Figure BDA0003231846300000151
Figure BDA0003231846300000152
Figure BDA0003231846300000153
Figure BDA0003231846300000154
Figure BDA0003231846300000155
Figure BDA0003231846300000156
Figure BDA0003231846300000157
Figure BDA0003231846300000158
Figure BDA0003231846300000159
Figure BDA00032318463000001510
Figure BDA00032318463000001511
Figure BDA00032318463000001512
Figure BDA00032318463000001513
Figure BDA00032318463000001514
得到不等式
Figure BDA00032318463000001515
参考图4(e),响应于确定
Figure BDA00032318463000001516
Figure BDA00032318463000001517
得到不等式
Figure BDA00032318463000001518
否则,若
Figure BDA00032318463000001519
Figure BDA00032318463000001520
得到不等式
Figure BDA00032318463000001521
参考图4(f),响应于确定
Figure BDA00032318463000001522
Figure BDA00032318463000001523
得到不等式
Figure BDA00032318463000001524
否则,若
Figure BDA00032318463000001525
Figure BDA00032318463000001526
得到不等式
Figure BDA00032318463000001527
参考图4(g),响应于确定
Figure BDA00032318463000001528
Figure BDA00032318463000001529
得到不等式
Figure BDA00032318463000001530
否则,若
Figure BDA00032318463000001531
Figure BDA00032318463000001532
Figure BDA00032318463000001533
得到不等式
Figure BDA00032318463000001534
参考图4(h),响应于确定
Figure BDA00032318463000001535
Figure BDA00032318463000001536
得到不等式
Figure BDA00032318463000001537
否则,若
Figure BDA00032318463000001538
Figure BDA00032318463000001539
得到不等式
Figure BDA00032318463000001540
参考图4(i),响应于确定
Figure BDA00032318463000001541
Figure BDA0003231846300000161
得到不等式
Figure BDA0003231846300000162
否则,若
Figure BDA0003231846300000163
Figure BDA0003231846300000164
得到不等式
Figure BDA0003231846300000165
Figure BDA0003231846300000166
Figure BDA0003231846300000167
Figure BDA0003231846300000168
Figure BDA0003231846300000169
得到不等式
Figure BDA00032318463000001610
Figure BDA00032318463000001611
Figure BDA00032318463000001612
得到不等式
Figure BDA00032318463000001613
Figure BDA00032318463000001614
Figure BDA00032318463000001615
Figure BDA00032318463000001616
Figure BDA00032318463000001617
得到不等式
Figure BDA00032318463000001618
Figure BDA00032318463000001619
Figure BDA00032318463000001620
得到不等式
Figure BDA00032318463000001621
Figure BDA00032318463000001622
Figure BDA00032318463000001623
Figure BDA00032318463000001624
Figure BDA00032318463000001625
Figure BDA00032318463000001626
Figure BDA00032318463000001627
得到不等式
Figure BDA00032318463000001628
Figure BDA00032318463000001629
Figure BDA00032318463000001630
Figure BDA00032318463000001631
Figure BDA00032318463000001632
得到不等式
Figure BDA00032318463000001633
Figure BDA00032318463000001634
Figure BDA00032318463000001635
Figure BDA00032318463000001636
Figure BDA00032318463000001637
得到不等式
Figure BDA00032318463000001638
参考图4(j),响应于确定
Figure BDA0003231846300000171
Figure BDA0003231846300000172
得到不等式
Figure BDA0003231846300000173
否则,若
Figure BDA0003231846300000174
Figure BDA0003231846300000175
Figure BDA0003231846300000176
得到不等式
Figure BDA0003231846300000177
Figure BDA0003231846300000178
Figure BDA0003231846300000179
Figure BDA00032318463000001710
Figure BDA00032318463000001711
得到不等式
Figure BDA00032318463000001712
Figure BDA00032318463000001713
Figure BDA00032318463000001714
Figure BDA00032318463000001715
Figure BDA00032318463000001716
得到不等式
Figure BDA00032318463000001717
根据得到的不等式,寻找非支配不等式。
作为一个可选的实施例,参考图5,对于前述实施例中的根据得到的不等式,寻找非支配不等式,具体包括:
S301、对每台实施主体按时间先后顺序访问每个时间节点;
S302、响应于确定当前时间节点t是某一时间间隔的第一个开始时间节点,记录该时间间隔的开始时间BeginTime和该时间间隔的第一个时间窗口
Figure BDA00032318463000001718
S303、响应于确定当前时间节点是某一时间窗口的结束时间节点,更新已经访问的时间窗口的集合,得到所述已经访问的时间窗口中的待处理对象在时间区间[BeginTime,t]上的有效不等式;
S304、将所述有效不等式与已存在的不等式集合中的不等式进行比较,响应于确定所述有效不等式是支配不等式,丢弃所述有效不等式;响应于确定所述有效不等式是非支配不等式,将所述有效不等式加入到所述不等式集合中;
S305、响应于确定所述不等式集合中存在被所述有效不等式支配或被共同支配的不等式,将被支配的不等式从所述不等式集合中移除;
S306、响应于确定所述当前时间节点t是某一时间间隔的最后一个时间窗口的结束时间节点,删除所述第一个时间窗口
Figure BDA00032318463000001719
的时间节点,并按照先后顺序从所述第一个时间节点开始继续访问剩余的时间节点;
S307、将所述不等式集合中所有的非支配不等式加入到所述模型。
本实施例中,提出了一种算法来寻找和识别有效不等式。类似与预处理算法,不等式识别和搜索算法也基于时间节点和滚动时间窗口的。其中,不等式支配的定义如下:
定义1:对于两个有效不等式
Figure BDA0003231846300000181
Figure BDA0003231846300000182
bi<=bj并且I=J,bi=bj不同时成立时,不等式
Figure BDA0003231846300000183
支配不等式
Figure BDA0003231846300000184
注意若不等式
Figure BDA0003231846300000185
支配
Figure BDA0003231846300000186
Figure BDA0003231846300000187
定义2:对于一个不等式e:
Figure BDA0003231846300000188
它被k个不等式(k>=2):
Figure BDA00032318463000001812
q=1,...,k共同支配,当
Figure BDA00032318463000001810
Figure BDA00032318463000001811
定义3:如果一个不等式e既不被另一个不等式支配,也不被其他k(k≥2)个不等式共同支配,则不等式e为非支配不等式;否则e是一个支配不等式。
本实施例中,为了防止约束过多,模型过于庞大,只加入非支配不等式。
作为一个具体的示例,参考图6,有5个待处理对象,每个待处理对象都与一个被处理时间窗口。交叠的5个时间窗口形成一个可行时间间隔。另外,5个待处理对象的被处理时间分别为6,6,8,5,4。为便于描述,每两个待处理对象之间的转换时间设为0。该假设不会影响算法工作流程。
表4详细描述了不等式的添加过程。不等式x1+x2+x4≤2由已存在不等式x1+x2≤1和隐含的不等式x4≤1共同支配,因此x1+x2+x4≤2被丢弃(第0轮,时间14)。得到的不等式x2+x3+x4≤2由已存在不等式x1+x2+x3+x4≤2支配(第1轮,时刻16)。进一步,不等式集合中的不等式x1+x2+x3+x4≤2由新得到的不等式x3+x4≤1和现有的不等式x1+x2≤1共同支配(第2轮,时间16)。因此,不等式x1+x2+x3+x4≤2从不等式集合中被移除。最后,只有非支配不等式x1+x2≤1和x3+x4≤1被添加到模型。
表4不等式识别和添加过程
Figure BDA0003231846300000191
本实施例中,通过加入非支配不等式,可以使得模型更容易求解。
作为对比,参考表5,本实施例中模型的不等式数目大于Chen等的模型中不等式数目。此外,由于忽略了受支配不等式,模型的不等式数目要远远小于包含所有不等式的模型。根据理论分析结果,模型的不等式数目应该几乎是原始模型的1/2(n2/4 vs n(n-1)/2)。但是,事实上,模型不等式数目要小得多(不到原始模型的1/4)。对于本实施例的模型、本实施例的模型与Chen等模型的结合和Chen等的模型,本实施例包含的不等式的模型,在大部分实例中表现最优,最优解距离更小,求解时间更短。这是因为更多的不等式使得模型更紧,便于问题求解。
表5:对于不同强化策略的性能评估
Figure BDA0003231846300000201
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种基于非支配不等式的不相关并行机调度装置。
参考图7,所述基于非支配不等式的不相关并行机调度装置,包括:
第一处理模块,被配置为响应于确定第一变量为1,待处理对象在对应的时间窗口内被处理,响应于确定第一变量为0,令第二变量为0;根据所述第一变量和第二变量调度所述待处理对象,其中,所述第一变量表示所述待处理对象是否调度到实施主体对应的时间窗口,是则所述第一变量为1,否则所述第一变量为0,所述第二变量表示所述待处理对象分配到所述时间窗口对应的开始时间,每个所述待处理对象最多被调用一次;
第二处理模块,被配置为响应于确定第一待处理对象的最晚可结束时间小于第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之前被处理;响应于确定所述第一待处理对象的最晚可结束时间大于所述第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之后被处理;
第三处理模块,被配置为响应于确定第三变量为1,所述第一待处理对象在所述第二待处理对象前被处理;响应于确定第四变量为1,所述第一待处理对象在所述第二待处理对象后被处理;其中,所述第三变量和第四变量分别表示所述第一待处理对象和所述第二待处理对象的调度次序,所述第三变量和第四变量满足转换时间约束、一致性约束和域约束;
不等式生成模块,被配置为根据全部所述时间窗口的交叠信息,得到非支配不等式;
调度模块,被配置为根据上述条件建立混合整数线性规划模型并求解,得到调度待处理对象总收益最大值的调度方案,并根据所述调度方案进行调度。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的基于非支配不等式的不相关并行机调度方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的基于非支配不等式的不相关并行机调度方法。
图8示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的基于非支配不等式的不相关并行机调度方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种基于非支配不等式的不相关并行机调度方法,包括:
响应于确定第一变量为1,待处理对象在对应的时间窗口内被处理,响应于确定第一变量为0,令第二变量为0;根据所述第一变量和第二变量调度所述待处理对象,其中,所述第一变量表示所述待处理对象是否调度到实施主体对应的时间窗口,是则所述第一变量为1,否则所述第一变量为0,所述第二变量表示所述待处理对象分配到所述时间窗口对应的开始时间,每个所述待处理对象最多被调用一次;
响应于确定第一待处理对象的最晚可结束时间小于第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之前被处理;响应于确定所述第一待处理对象的最晚可结束时间大于所述第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之后被处理;
响应于确定第三变量为1,所述第一待处理对象在所述第二待处理对象前被处理;响应于确定第四变量为1,所述第一待处理对象在所述第二待处理对象后被处理;其中,所述第三变量和第四变量分别表示所述第一待处理对象和所述第二待处理对象的调度次序,所述第三变量和第四变量满足转换时间约束、一致性约束和域约束;
根据全部所述时间窗口的交叠信息,得到非支配不等式;
根据上述条件建立混合整数线性规划模型并求解,得到调度待处理对象总收益最大值的调度方案,并根据所述调度方案进行调度。
2.根据权利要求1所述的基于非支配不等式的不相关并行机调度方法,其中,所述根据全部所述时间窗口的交叠信息,得到非支配不等式,包括:
响应于确定交叠的时间窗口数量为两个,令ηk ij=pi+pjk,其中pi和pj表示待处理对象i和待处理对象j的被处理时间,Δk表示转换时间,待处理对象i、j的交叠的时间窗口为
Figure FDA0003231846290000011
响应于确定
Figure FDA0003231846290000012
得到不等式:
Figure FDA0003231846290000013
响应于确定
Figure FDA0003231846290000014
得到不等式:
Figure FDA0003231846290000015
根据得到的不等式,寻找非支配不等式。
3.根据权利要求2所述的基于非支配不等式的不相关并行机调度方法,其中,所述根据全部所述时间窗口的交叠信息,得到非支配不等式,还包括:
响应于确定交叠的时间窗口数量为三个,令ηk ijq=pi+pj+pq+2·Δk,ηk ij=pi+pj+Δk,ηk jq=pj+pq+Δk,ηk iq=pi+pq+Δk,其中pi、pj和pq分别表示待处理对象i、j和q的被处理时间,Δk表示转换时间,待处理对象i、j和q的三个交叠的时间窗口为
Figure FDA0003231846290000016
Figure FDA0003231846290000017
φ(a,b,P)表示在时间区间[a,b]内,备选待处理对象集合P中最大可以调度的待处理对象数;
响应于确定
Figure FDA0003231846290000021
Figure FDA0003231846290000022
得到不等式
Figure FDA0003231846290000023
响应于确定
Figure FDA0003231846290000024
Figure FDA0003231846290000025
得到不等式
Figure FDA0003231846290000026
响应于确定
Figure FDA0003231846290000027
Figure FDA0003231846290000028
得到不等式
Figure FDA0003231846290000029
否则,若
Figure FDA00032318462900000210
Figure FDA00032318462900000211
得到不等式
Figure FDA00032318462900000212
响应于确定
Figure FDA00032318462900000213
Figure FDA00032318462900000214
得到不等式
Figure FDA00032318462900000215
否则,
Figure FDA00032318462900000216
Figure FDA00032318462900000217
得到不等式
Figure FDA00032318462900000218
Figure FDA00032318462900000219
Figure FDA00032318462900000220
Figure FDA00032318462900000221
Figure FDA00032318462900000222
Figure FDA00032318462900000223
Figure FDA00032318462900000224
Figure FDA00032318462900000225
Figure FDA00032318462900000226
Figure FDA00032318462900000227
Figure FDA00032318462900000228
Figure FDA00032318462900000229
Figure FDA00032318462900000230
Figure FDA00032318462900000231
Figure FDA00032318462900000232
得到不等式
Figure FDA00032318462900000233
响应于确定
Figure FDA00032318462900000234
Figure FDA00032318462900000235
得到不等式
Figure FDA00032318462900000236
否则,若
Figure FDA00032318462900000237
Figure FDA00032318462900000238
得到不等式
Figure FDA00032318462900000239
响应于确定
Figure FDA00032318462900000240
Figure FDA00032318462900000241
得到不等式
Figure FDA00032318462900000242
否则,若
Figure FDA0003231846290000031
Figure FDA0003231846290000032
得到不等式
Figure FDA0003231846290000033
响应于确定
Figure FDA0003231846290000034
Figure FDA0003231846290000035
得到不等式
Figure FDA0003231846290000036
否则,若
Figure FDA0003231846290000037
Figure FDA0003231846290000038
Figure FDA0003231846290000039
得到不等式
Figure FDA00032318462900000310
响应于确定
Figure FDA00032318462900000311
Figure FDA00032318462900000312
得到不等式
Figure FDA00032318462900000313
否则,若
Figure FDA00032318462900000314
Figure FDA00032318462900000315
得到不等式
Figure FDA00032318462900000316
响应于确定
Figure FDA00032318462900000317
Figure FDA00032318462900000318
得到不等式
Figure FDA00032318462900000319
否则,若
Figure FDA00032318462900000320
Figure FDA00032318462900000321
得到不等式
Figure FDA00032318462900000322
Figure FDA00032318462900000323
Figure FDA00032318462900000324
Figure FDA00032318462900000325
Figure FDA00032318462900000326
得到不等式
Figure FDA00032318462900000327
Figure FDA00032318462900000328
Figure FDA00032318462900000329
得到不等式
Figure FDA00032318462900000330
Figure FDA00032318462900000331
Figure FDA00032318462900000332
Figure FDA00032318462900000333
Figure FDA00032318462900000334
得到不等式
Figure FDA00032318462900000335
Figure FDA00032318462900000336
Figure FDA00032318462900000337
得到不等式
Figure FDA0003231846290000041
Figure FDA0003231846290000042
Figure FDA0003231846290000043
Figure FDA0003231846290000044
Figure FDA0003231846290000045
Figure FDA0003231846290000046
Figure FDA0003231846290000047
得到不等式
Figure FDA0003231846290000048
Figure FDA0003231846290000049
Figure FDA00032318462900000410
Figure FDA00032318462900000411
Figure FDA00032318462900000412
得到不等式
Figure FDA00032318462900000413
Figure FDA00032318462900000414
Figure FDA00032318462900000415
Figure FDA00032318462900000416
Figure FDA00032318462900000417
得到不等式
Figure FDA00032318462900000418
响应于确定
Figure FDA00032318462900000419
Figure FDA00032318462900000420
得到不等式
Figure FDA00032318462900000421
否则,若
Figure FDA00032318462900000422
Figure FDA00032318462900000423
Figure FDA00032318462900000424
得到不等式
Figure FDA00032318462900000425
Figure FDA00032318462900000426
Figure FDA00032318462900000427
Figure FDA00032318462900000428
Figure FDA00032318462900000429
得到不等式
Figure FDA00032318462900000430
Figure FDA00032318462900000431
Figure FDA00032318462900000432
Figure FDA00032318462900000433
Figure FDA00032318462900000434
得到不等式
Figure FDA00032318462900000435
根据得到的不等式,寻找非支配不等式。
4.根据权利要求2或3所述的基于非支配不等式的不相关并行机调度方法,其中,所述根据得到的不等式,寻找非支配不等式,包括:
对每台实施主体按时间先后顺序访问每个时间节点;
响应于确定当前时间节点t是某一时间间隔的第一个开始时间节点,记录该时间间隔的开始时间BeginTime和该时间间隔的第一个时间窗口
Figure FDA0003231846290000051
响应于确定当前时间节点是某一时间窗口的结束时间节点,更新已经访问的时间窗口的集合,得到所述已经访问的时间窗口中的待处理对象在时间区间[BeginTime,t]上的有效不等式;
将所述有效不等式与已存在的不等式集合中的不等式进行比较,响应于确定所述有效不等式是支配不等式,丢弃所述有效不等式;响应于确定所述有效不等式是非支配不等式,将所述有效不等式加入到所述不等式集合中;
响应于确定所述不等式集合中存在被所述有效不等式支配或被共同支配的不等式,将被支配的不等式从所述不等式集合中移除;
响应于确定所述当前时间节点t是某一时间间隔的最后一个时间窗口的结束时间节点,删除所述第一个时间窗口
Figure FDA0003231846290000052
的时间节点,并按照先后顺序从所述第一个时间节点开始继续访问剩余的时间节点;
将所述不等式集合中所有的非支配不等式加入到所述模型。
5.根据权利要求4所述的基于非支配不等式的不相关并行机调度方法,其中,所述混合整数线性规划模型表示为:
Figure FDA0003231846290000053
其中,所述模型包含两个虚拟待处理对象,分别是{0,n+1},对应于开始待处理对象和终止待处理对象,J为所述待处理对象的集合,M为所述实施主体的集合,i,j∈J∪{0,n+1},k∈M,l∈TWjk,每个所述待处理对象j,j∈J的收益为ωj
Figure FDA0003231846290000054
表示第一变量,如果待处理对象j被调度到实施主体k上的第l个时间窗口,则
Figure FDA0003231846290000055
否则
Figure FDA0003231846290000056
对于每个所述待处理对象j和每台所述实施主体k,存在多个所述时间窗口,定义为
Figure FDA0003231846290000057
|TWjk|表示待处理对象j在实施主体k上时间窗口数量,
Figure FDA0003231846290000058
表示待处理对象j在实施主体k上的第l个时间窗口,并且
Figure FDA0003231846290000059
分别表示待处理对象j在实施主体k上最早可开始时间和最晚可结束时间。
6.根据权利要求5所述的基于非支配不等式的不相关并行机调度方法,其中,所述响应于确定第一变量为1,所述待处理对象在对应的时间窗口内被处理,响应于确定第一变量为0,令第二变量为0表示时间窗口约束,包括:
Figure FDA0003231846290000061
Figure FDA0003231846290000062
其中,tj,j∈J∪{0,n+1}为第二变量,表示工件j分配到时间窗口
Figure FDA0003231846290000063
对应的开始时间,pj表示处理时间。
7.根据权利要求5所述的基于非支配不等式的不相关并行机调度方法,其中,所述响应于确定第一待处理对象的最晚可结束时间小于第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之前被处理,包括:
Figure FDA0003231846290000064
其中,tj,j∈J∪{0,n+1}表示第二变量,pj表示处理时间,Δk表示每台实施主体k,k∈M的实施主体转换时间;
所述响应于确定所述第一待处理对象的最晚可结束时间大于所述第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之后被处理,包括:
Figure FDA0003231846290000065
8.根据权利要求5所述的基于非支配不等式的不相关并行机调度方法,其中,所述所述第三变量和第四变量满足转换时间约束、一致性约束和域约束,包括转换时间约束:
Figure FDA0003231846290000066
Figure FDA0003231846290000067
其中,tj,j∈J∪{0,n+1}表示第二变量,pj表示处理时间,Δk表示每台实施主体k,k∈M的实施主体转换时间,
Figure FDA0003231846290000068
为所述第三变量,
Figure FDA0003231846290000069
为所述第四变量,响应于确定待处理对象i在待处理对象j之前被处理,
Figure FDA00032318462900000610
响应于确定待处理对象j在待处理对象i之前被处理,
Figure FDA00032318462900000611
一致性约束:
Figure FDA00032318462900000612
Figure FDA0003231846290000071
Figure FDA0003231846290000072
Figure FDA0003231846290000073
域约束:
Figure FDA0003231846290000074
Figure FDA0003231846290000075
9.一种基于非支配不等式的不相关并行机调度装置,包括:
第一处理模块,被配置为响应于确定第一变量为1,待处理对象在对应的时间窗口内被处理,响应于确定第一变量为0,令第二变量为0;根据所述第一变量和第二变量调度所述待处理对象,其中,所述第一变量表示所述待处理对象是否调度到实施主体对应的时间窗口,是则所述第一变量为1,否则所述第一变量为0,所述第二变量表示所述待处理对象分配到所述时间窗口对应的开始时间,每个所述待处理对象最多被调用一次;
第二处理模块,被配置为响应于确定第一待处理对象的最晚可结束时间小于第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之前被处理;响应于确定所述第一待处理对象的最晚可结束时间大于所述第二待处理对象的最早可开始时间与实施主体转换时间之和,所述第二待处理对象在所述第一待处理对象之后被处理;
第三处理模块,被配置为响应于确定第三变量为1,所述第一待处理对象在所述第二待处理对象前被处理;响应于确定第四变量为1,所述第一待处理对象在所述第二待处理对象后被处理;其中,所述第三变量和第四变量分别表示所述第一待处理对象和所述第二待处理对象的调度次序,所述第三变量和第四变量满足转换时间约束、一致性约束和域约束;
不等式生成模块,被配置为根据全部所述时间窗口的交叠信息,得到非支配不等式;
调度模块,被配置为根据上述条件建立混合整数线性规划模型并求解,得到调度待处理对象总收益最大值的调度方案,并根据所述调度方案进行调度。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
CN202110989680.4A 2021-08-26 2021-08-26 基于非支配不等式的不相关并行机调度方法及其相关设备 Active CN113704995B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110989680.4A CN113704995B (zh) 2021-08-26 2021-08-26 基于非支配不等式的不相关并行机调度方法及其相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110989680.4A CN113704995B (zh) 2021-08-26 2021-08-26 基于非支配不等式的不相关并行机调度方法及其相关设备

Publications (2)

Publication Number Publication Date
CN113704995A true CN113704995A (zh) 2021-11-26
CN113704995B CN113704995B (zh) 2022-07-05

Family

ID=78655380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110989680.4A Active CN113704995B (zh) 2021-08-26 2021-08-26 基于非支配不等式的不相关并行机调度方法及其相关设备

Country Status (1)

Country Link
CN (1) CN113704995B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116777063A (zh) * 2023-06-20 2023-09-19 广东工业大学 基于一刀切约束和分支定价算法的二维装箱方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929263A (zh) * 2012-11-16 2013-02-13 北京理工大学 一种混合流水车间调度方法
CN104808636A (zh) * 2015-04-28 2015-07-29 广东工业大学 柔性流水车间能耗优化调度方法
US20150331833A1 (en) * 2014-05-14 2015-11-19 International Business Machines Corporation Price-and-branch algorithm for mixed integer linear programming
CN107678411A (zh) * 2017-10-16 2018-02-09 华中科技大学 一种不相关并行机混合流水车间调度的建模方法
CN109634239A (zh) * 2017-10-16 2019-04-16 华中科技大学 一种用于混合流水车间节能调度的建模方法
CN109960544A (zh) * 2019-03-26 2019-07-02 中国人民解放军国防科技大学 基于数据驱动型敏捷卫星任务并行调度方法
CN110147933A (zh) * 2019-04-17 2019-08-20 华中科技大学 一种基于改进灰狼算法的数控切割下料车间调度排产方法
CN110162387A (zh) * 2019-04-09 2019-08-23 口口相传(北京)网络技术有限公司 线程调度方法、装置、计算机设备及计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929263A (zh) * 2012-11-16 2013-02-13 北京理工大学 一种混合流水车间调度方法
US20150331833A1 (en) * 2014-05-14 2015-11-19 International Business Machines Corporation Price-and-branch algorithm for mixed integer linear programming
CN104808636A (zh) * 2015-04-28 2015-07-29 广东工业大学 柔性流水车间能耗优化调度方法
CN107678411A (zh) * 2017-10-16 2018-02-09 华中科技大学 一种不相关并行机混合流水车间调度的建模方法
CN109634239A (zh) * 2017-10-16 2019-04-16 华中科技大学 一种用于混合流水车间节能调度的建模方法
CN109960544A (zh) * 2019-03-26 2019-07-02 中国人民解放军国防科技大学 基于数据驱动型敏捷卫星任务并行调度方法
CN110162387A (zh) * 2019-04-09 2019-08-23 口口相传(北京)网络技术有限公司 线程调度方法、装置、计算机设备及计算机可读存储介质
CN110147933A (zh) * 2019-04-17 2019-08-20 华中科技大学 一种基于改进灰狼算法的数控切割下料车间调度排产方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116777063A (zh) * 2023-06-20 2023-09-19 广东工业大学 基于一刀切约束和分支定价算法的二维装箱方法
CN116777063B (zh) * 2023-06-20 2024-02-27 广东工业大学 基于一刀切约束和分支定价算法的二维装箱方法

Also Published As

Publication number Publication date
CN113704995B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
US11894680B2 (en) Integrated solution techniques for security constrained unit commitment problem
CN109948944B (zh) 一种卫星任务调度方法及系统
CN110189416A (zh) 检修现场的远程指导方法及系统
Rebai et al. Earliness–tardiness minimization on a single machine to schedule preventive maintenance tasks: metaheuristic and exact methods
CN113704995B (zh) 基于非支配不等式的不相关并行机调度方法及其相关设备
Lamiri et al. Operating room planning with random surgery times
CN112241330A (zh) 结合rpa和ai的流程处理方法、装置、设备及存储介质
CN103020304A (zh) 一种数据处理方法及设备
US10984345B2 (en) Management of power sources and jobs in an integrated power system
Wu et al. Mixed integer programming in production planning with backlogging and setup carryover: modeling and algorithms
CN113962059A (zh) 不相关并行机调度方法及其相关设备
CN115220899A (zh) 模型训练任务的调度方法、装置及电子设备
CN111158800A (zh) 基于映射关系构建任务dag的方法及装置
CN113554574A (zh) 一种压缩感知图像恢复方法、装置、设备及介质
CN112559891A (zh) 路线推荐方法、装置、电子设备和存储介质
CN112463340A (zh) 基于tensorflow的多任务弹性调度方法及系统
CN116151424B (zh) 一种多园区下料车间方法
CN115375193B (zh) 双目标生产调度优化方法、装置、设备及可读存储介质
CN104732415A (zh) 返利系统、充值返利方法及充值返利平台
CN111190711A (zh) Bdd结合启发式a*搜索的多机器人任务分配方法
CN112559641B (zh) 拉链表的处理方法及装置、可读存储介质、电子设备
CN113313348B (zh) 卫星任务规划方法、装置、存储介质和电子设备
Vembu et al. Heuristics for operator allocation and sequencing in product-line-cells with manually operated machines
CN111950869A (zh) 改进航天测控网调度问题初始解的迭代求解方法及系统
CN114185619B (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