CN115293449B - 一种面向带时间窗口与耦合约束任务的分配优化方法 - Google Patents

一种面向带时间窗口与耦合约束任务的分配优化方法 Download PDF

Info

Publication number
CN115293449B
CN115293449B CN202211013087.7A CN202211013087A CN115293449B CN 115293449 B CN115293449 B CN 115293449B CN 202211013087 A CN202211013087 A CN 202211013087A CN 115293449 B CN115293449 B CN 115293449B
Authority
CN
China
Prior art keywords
gene
task
time
tasks
agent
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.)
Active
Application number
CN202211013087.7A
Other languages
English (en)
Other versions
CN115293449A (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.)
China Academy of Space Technology CAST
Original Assignee
China Academy of Space Technology CAST
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 China Academy of Space Technology CAST filed Critical China Academy of Space Technology CAST
Priority to CN202211013087.7A priority Critical patent/CN115293449B/zh
Publication of CN115293449A publication Critical patent/CN115293449A/zh
Application granted granted Critical
Publication of CN115293449B publication Critical patent/CN115293449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Biology (AREA)
  • Development Economics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Genetics & Genomics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Physiology (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向带时间窗口与耦合约束任务的分配优化方法,首先进行预处理,构建每个任务的指派集、构建基因链结构,构建基因链是否为可投影基因链的判据准则,构建评价基因链上单个基因优劣的评价指标,构建将基因链修复为可投影基因链的修复方法,构建从可投影基因链到可行解的投影方法,构建基因链的变异方法,构建基因链的交叉方法,构建可行解的评价指标,设置种群规模、设置外环内环迭代终止条件、初始化候选基因链库;随后,开始外环迭代,根据外环迭代终止条件决定是否终止迭代并输出结果或继续一轮内环迭代;待内环迭代结束后,更新候选基因链库并发送选定的候选基因链包到其他智能体;在输出结果阶段,从候选基因链库中选择最好的基因链,将其投影为可行解作为最终分配优化结果。

Description

一种面向带时间窗口与耦合约束任务的分配优化方法
技术领域
本发明涉及信号处理技术领域,具体涉及一种面向带时间窗口与耦合约束任务的分配优化方法。
背景技术
常见的智能体包括人造卫星、无人机、无人车、机器人、智能电器、智能硬件、机电一体化传感器等。由多个智能体组成的系统称为多智能体系统。多智能体系统的优势之一在于,多个简单智能体能够通过协同共同完成一项复杂的工作,并且相比单智能体系统而言,系统实现的成本更低、鲁棒性更强,在某些场景下,甚至可以表现出远超单智能体系统的性能。
多智能体系统协同工作衍生出任务分配问题,即:如何合理将多个任务分配到多个智能体上,使多智能体系统从整体上达到更好的效能或消耗更小的代价。多智能体系统的任务分配是多智能体系统发挥的关键技术之一。
根据场景需求和约束不同,任务分配问题是多种多样的,其中难度较大的是带时间窗口广义分配问题,即给定多个任务和多个智能体,如何分配这些任务到智能体上,满足每个智能体同一时刻只能同时执行一个任务的硬性约束,同时尽可能满足场景所需求的软性约束,最终寻求一个优化的分配方案使系统整体评价效能最大化。带时间窗口广义分配问题是一个典型的NP难问题,目前尚无法通过多项式算法能够寻求到理论上的全局最优解。
发明内容
针对现有技术的不足,本发明提出一种面向带时间窗口与耦合约束任务的分配优化方法,通过对基因链结构的巧妙构造,将一部分耦合效应考虑在建模阶段的同时而保持基因链长度不变,相比常规传统方法,基因链长度缩短一半;构造了一种特殊的可投影判据和投影方法,通过对基因链进行甄别、投影和修复,解决了耦合效应下不可行解直接修复的难题,保证了任务切换时间和任务时长双重约束,同时保证了每一步迭代的有效性和可行性,从而极大提高了分配优化的速度;设计了候选基因链库的体系结构、候选基因链包的发送接收机制、外环迭代与内环迭代的优化架构,使得该分配优化方法能够被多个智能体以分布式协同的方式运行,分布式和并行化可以进一步提高分配优化的求解速度。
为了实现上述目的,本发明采用如下技术方案:
一种面向带时间窗口与耦合约束任务的分配优化方法,具有多个智能体,所述方法包括:
S1每个智能体进行预处理,根据给定任务和给定智能体的信息,为迭代优化构建信息环境与框架;
S2对每个智能体进行的外环迭代,并根据条件结束外环迭代或进入内环迭代;
S3当外环迭代结束后,每个智能体从候选基因链库中,选择投影可行解评价值最高的基因链,将其投影到可行解,选定该可行解作为最终分配优化结果;
其中,在内环迭代中,采用遗传算法框架进行迭代优化,当内环迭代结束后,更新候选基因链库并发送选定的候选基因链包到其他智能体重新进行外环迭代。
需要说明的是,在预处理中,记全部任务集合为T,记全部智能体集合为S,其中集合T中的任务及集合S中的智能体均具有独一无二的且可排序的编号,取值可以是任意符号或数字。
需要说明的是,预处理包括以下步骤:
S1.1遍历每一个任务t∈T并构建该任务的指派集Ot,其中指派集是指能够执行该任务的智能体组合的集合,其构建方法是:
S1.2按任务编号的排序顺序构建基因链结构,所构建基因链的长度等于任务数量,每个任务对应基因链上的一个基因,其中,任务t∈T所对应基因的取值空间为任务t指派集Ot
S1.3构建基因链是否为可投影基因链的判据准则;
S1.4构建评价基因链上单个基因优劣的评价指标,用于对基因产生评价值,评价值为非负浮点数:
S1.5构建将基因链修复为可投影基因链的修复方法,其中,对基因链的每个基因进行评价,得到每个基因的评价值;开始循环,根据步骤S1.1-S1.3判据准则判断当前基因链是否为可投影基因链,如果不是可投影基因链,则将当前基因链中非负评分中评分最低的基因取值置为None并开启下一次循环;循环直到当前基因链为可投影基因链时停止;
S1.6构建从可投影基因链到可行解的投影方法;
S1.7构造基因链的变异方法,其中,设定一个变异概率p,0<p<1为正数,遍历基因链的每个基因,以概率p选择该基因是否变异,如果不需变异则不做处理,否则,以均匀分布概率分布,以轮盘赌算法的方式从该基因对应任务的指派集中,选择一个集合元素作为新的基因;
S1.8构造基因链的交叉方法,其中,设定一个交叉概率q,0<q<1为正数,遍历每个基因位置,按照概率q对两条基因链相同位置的基因进行交换;
S1.9构建可行解的评价指标,得到可行解的非负的评价值,按任务进行分类汇总,汇总该可行解列表V的每一个列表元素,其中每一个列表元素是某一个智能体的可行解子列表,得到每一个任务t∈T的分配信息,分配信息包括,分到到的智能体及对应的时间窗口;
初始化评价值为U=0.0,遍历汇总的任务t∈T更新评价值,具体为
如果任务t分配到单个智能体s,则根据智能体s以及与任务t绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s,更新U=U+Ut-s
如果任务t分配到两个智能体s1,s2,则分别根据智能体s1以及与任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s1,再根据智能体s2以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s2,然后更新U=U+Ut-s1+Ut-s2
如果任务t分配到两个智能体s1,s2,则还需额外计算s1和s2两个智能体对任务t的对应时间窗口的重叠区间,重叠区间代表在该区间内任务可以同时被两个智能体执行,由此带来超额收益Uextra,更新U=U+Uextra
如果任务t没有分配到智能体,不更新评价值U;
更新完毕的评价值U就是可行解的评价值;
S1.10设置种群规模,设置外环内环迭代终止条件,初始化候选基因链库为空;结束预处理。
需要说明的是,所述S1.1的构建方法为:首先,初始化Ot为集合{None},其中None代表空组合,即表示任务不指派到任何智能体;接着,遍历S中的所有智能体,每个遍历中,判断当前被遍历的智能体s∈S对任务t是否存在可执行时间窗口,如果存在,则将编号s加入集合Ot;其中时间窗口是指能够执行指定任务的时间区间;然后,遍历S×S中成对智能体中的所有排序二元组,在每个遍历中,判断当前被遍历的排序二元组(s1,s2)对任务t是否存在重叠的时间窗口,如果存在,则将排序二元组(s1,s2)加入集合Ot,其中,排序二元组(s1,s2)是指对智能体s1和s2在一种选定排序系统下排序后的二元组,且对所有的排序二元组而言,排序系统是相同的,例如同为字典顺序的排序系统。
需要说明的是,构建基因链是否为可投影基因链的判据准则为:
设置标记变量P代表基因链的投影性,初始化P为可投影;
为每个智能体s∈S建立一个任务列表Ts,初始化为空列表;
遍历所有任务,对于每个遍历的任务t∈T所对应的基因,如果取值为None,则跳过无处理,如果取值为单个编号s,则将任务t添加到列表Ts,如果取值为排序二元组(s1,s2),则将任务t分别添加到列表Ts1和Ts2
遍历所有智能体的任务列表,对于每个被遍历的智能体s∈S:
按照时间窗口的起始时间,将列表Ts中的任务进行排序,记排序后Ts中任务数量为非负整数n,Ts中的任务按顺序分别记为t0,t1,…,tn-1
如果n≤1,跳过当前智能体s;
如果n≥2,则从k=2开始到k=n结束循环,每次k递增1为正整数,依次判断前k个任务的时间窗口是否可行,一旦判断为不可行,则立刻中断并跳出遍历所有智能体的任务列表的遍历过程,并且修改变量P为不可投影,否则继续循环和遍历过程;其中,对于前k个任务可行性的判断标准是,计算前k个任务的时间跨度spank,spank=wk.end-w1.start,即等于第k个任务的结束时间减去第1个任务时间窗口的起始时间,如果spank<MIN_OBSERVING_TIME×k+MIN_HAND_OVER_TIME×(k-1)则为不可行,否则为可行,其中,MIN_OBSERVING_TIME是任务的最短持续时长,MIN_HAND_OVER_TIME是任务切换所需的最短时长,MIN_OBSERVING_TIME和MIN_HAND_OVER_TIME是问题场景给定的参数均为正数,wk.end代表列表Ts第k个任务的结束时间,w1.start代表列表Ts第1个任务的起始时间;
采用经过遍历所有智能体的任务列表遍历后的标记P作为该基因链的可投影性。
需要说明的是,在所述S1.4中:
基因如果取值为None,则将0.0作为评价值;
基因如果取值为单个s,则根据智能体s以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s,作为评价值;
基因如果取值为排序二元组(s1,s2),则先根据智能体s1以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s1,再根据智能体s2以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s2,再根据时间窗口的重叠长度计算非负的超额收益Uextra,最终将Ut-s1+Ut-s2+Uextra作为评价值。
需要说明的是,所述S1.6包括:
初始化可行解为一个空列表V;为每个智能体s∈S建立一个任务列表Ts,初始化为空列表,再建立一个可行解子列表Vs,同样初始化为空列表;
遍历所有任务,对于每个遍历的任务t∈T所对应的基因,如果取值为None,则跳过无处理,如果取值为单个编号s,则将任务t添加到列表Ts,如果取值为排序二元组(s1,s2),则将任务t分别添加到列表Ts1和Ts2
遍历所有智能体,对于每个遍历的智能体s∈S,有如下操作
按照时间窗口的起始时间,将列表Ts中的任务进行排序,记排序后Ts中任务数量为非负整数n,Ts中的任务按顺序分别记为t0,t1,…,tn-1,其对应的可执行时间窗口分为记为w0,w1,…,wn-1,每个时间窗口wk的起始时间表示为wk.start,结束时间表示为wk.end,其中0≤k≤n-1为整数;同时创建一个变量LAST_END,初始化为LAST_END=w0.end;
遍历任务tk,范围0≤k≤n-1,做如下处理:
如果wk.end<LAST_END,跳过当前任务,否则,得到一个时间变量Timestart=MAX(wk.start,LAST_END),其中MAX()表示取较大值;
得到一个变量Timeend,如果wk.end+MIN_HAND_OVER_TIME<=wk+1.start,令Timeend=wk.end,否则如果wk+1.start-MIN_HAND_OVER_TIME-Timestart<MIN_OBSERVING_TIME,令Timeend=MIN(Timestart+MIN_OBSERVING_TIME,wk.end),否则,Timeend=MAX(wk+1.start-MIN_HAND_OVER_TIME,Timestart),其中,MIN()表示取较小值;
令last_end=Timeend+MIN_HAND_OVER_TIME;
按顺序判断排在tk后面的任务tm,m>k为正整数,如果tm的可执行时间窗口长度小于MIN_OBSERVING_TIM,则令LAST_END=wm.end+MIN_HAND_OVER_TIME,否则,跳出判断;
构造任务tk最终的可行的时间窗口Windowk,起始时间Windowk.start=Timestart,Windowk.end=Timeend
将三元组(s,tk,Windowk)添加到智能体s的可行解子列表Vs中;
对当前智能体s的所有任务完成遍历后,得到智能体s的可行解子列表Vs,将Vs添加进可行解列表V中;
对所有智能体完成遍历后,得到最终的可行解列表V。
需要说明的是,每个智能体进行的外环迭代具体包括:
S2.1根据接收到的其他智能体的基因链包,扩展自身的候选基因链库,扩展方法为,解析基因链包得到若干基因链,将尚未加入自身候选基因链库的基因链,加入自身的候选基因链库;
S2.2判断外环迭代终止条件是否满足,如果满足,则终止外环迭代,进入步骤S2.4否则,如果不满足外环终止条件,则按照遗传算法种群的设置数量,根据候选基因链库,随机选取基因链构成遗传算法的初始种群,完成种群初始化;
S2.3种群初始化完成后,开始进行内环迭代;
S2.4重复步骤2.1至2.4直到外环迭代满足终止条件。
需要说明的是,每个智能体进行的内环迭代具体包括:
S3.1判断内环迭代条件是否满足,如果满足,则结束内环迭代,随后从候选基因链库中,选出投影可行解评价值最高的m条基因链,打包成候选基因链包,发送给其他智能体,然后返回步骤S2,其中,m是根据需要设定的正整数;否则,如果不满足内环终止条件,继续进行下列步骤:
S3.2按照遗传算法标准框架,分别进行种群基因链的变异、进行种群基因链的交叉、进行种群基因链的修复;
S3.3将当代种群的每个基因链投影为可行解,并对每个可行解求解评价值,最后,根据评价值的大小,将可行解进行从大到小的排序,其中,当代种群由每次迭代初始基因链、经过交叉的基因链、经过变异的基因链三部分共同组成;
S3.4按照遗传算法标准框架,从当前种群基因链中,选择评价值最高前若干条基因链,作为下一代种群的初始基因链,基因链数量与种群数量相同;同时,将这些选定的基因链加入当前智能体的候选基因链库中;
S3.5重复S3.1至S3.5直到内环迭代满足终止条件。
本发明有益效果在于,本发明方法可以适用于面临摘要所述五种约束的多智能体多任务协同分配问题,方法能够以较短基因链实现高度耦合问题的快速、有效、可行的优化迭代,且具有分布式和并行化优点,运算负担可以分摊至每个智能体协同执行,进一步提升方法的速度。
附图说明
图1是本发明方法处理流程结构框图;
图2是重叠区间示意图,本发明中,任务需尽可能分配到时间窗口存在重叠区间的两个智能体协同执行;
图3是本实施例中任务协同分配的最终分配优化结果,用甘特图表示。
具体实施方式
以下将对本发明作进一步的描述,需要说明的是,以下实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
需要指出的是:
本发明的优化方法是一种多个智能体分配多个任务的优化方法且优化过程满足五种约束限制,约束一,任一智能体同一时刻只能执行一个任务;约束二,任一任务被任一智能体执行时至少需持续一定的任务的最短持续时长,记做MIN_OBSERVING_TIME,例如MIN_OBSERVING_TIME=10秒;约束三,同一智能体切换不同任务时需要一定的任务切换所需的最短时长,记作MIN_HAND_OVER_TIME,例如MIN_HAND_OVER_TIME=16秒;约束四,任一智能体面对任一任务,均有异构的时间窗口、优先级和权重限制;约束五,任一个任务需尽量优先分配给具有共同时段的两个耦合智能体同时执行。其特征还同时在于,该分配优化方法包括以下步骤:
每个智能体进行预处理,根据给定任务和给定智能体的信息,为迭代优化构建信息环境与框架;记全部任务集合为T,记全部智能体集合为S,其中集合T中的任务及集合S中的智能体均具有独一无二的且可排序的编号,取值可以是任意符号或数字;
例如,分配问题中如有3个智能体,编号分别是A101,A102,A103,则全部智能体集合S可构建为S={A101,A102,A103};分配问题中如有4个任务,编号分别时X1,X2,X3,X4,则全部任务集合T可构建为T={X1,X2,X3,X4}。
实施例
预处理包括以下步骤
1-1)遍历每一个任务t∈T并构建该任务的指派集Ot,其中指派集是指能够执行该任务的智能体组合的集合,其构建方法是:
1-1-1)首先,初始化Ot为集合{None},其中None代表空组合,即表示任务不指派到任何智能体;
1-1-2)接着,遍历S中的所有智能体,每个遍历中,判断当前被遍历的智能体s∈S对任务t是否存在可执行时间窗口,如果存在,则将编号s加入集合Ot;其中时间窗口是指能够执行指定任务的时间区间;
1-1-3)然后,遍历S×S中成对智能体中的所有排序二元组,在每个遍历中,判断当前被遍历的排序二元组(s1,s2)对任务t是否存在重叠的时间窗口,如果存在,则将排序二元组(s1,s2)加入集合Ot,其中,排序二元组(s1,s2)是指对智能体s1和s2在一种选定排序系统下排序后的二元组,且对所有的排序二元组而言,排序系统是相同的,例如同为字典顺序的排序系统;
例如,如果对于任务X1,仅有智能体A101存在可执行时间窗口,则按照步骤1-1),任务X1的指派集则为OX1={None,A101};如果对于任务X2,同时有智能体A101和A102存在可执行时间窗口,但两者的时间窗口不存在重叠,则任务X2的指派集则为OX2={None,A101,A102};如果对于任务X3,同时有智能体A102和A103存在可执行时间窗口,且两者的时间窗口存在重叠,则可以选定一种“编号由小到大排序”的排序系统,按照步骤1-1),构建出任务X3的指派集为OX3={None,A102,A103,(A102,A103)},其中排序二元组(A102,A103)因智能体A102和A103对任务X3存在重叠时间窗口而存在,A102排在二元组的第一个位置是因为,在选定的排序系统下,编号A102小于编号A103;如果对于任务X4,没有任何智能体有可执行时间窗口,则任务X4的指派集可以构建为OX4={None}。
1-2)按任务编号的排序顺序构建基因链结构,所构建基因链的长度等于任务数量,每个任务对应基因链上的一个基因,其中,任务t∈T所对应基因的取值空间为任务t指派集Ot
例如,如果沿袭刚才的例子,则基因链结构可以构建为G0G1G2G3,长度为4是因为任务数量为4,每个基因对应一个任务,在选定的排序系统下,基因G0、G1、G2、G3分别对应任务X1、X2、X3、X4的指派取值,取值空间为对应任务的指派集,例如,基因G2的取值空间为OX3={None,A102,A103,(A102,A103)},因为基因G2对应任务X3。
1-3)构建基因链是否为可投影基因链的判据准则,具体是:
1-3-1)设置标记变量P代表基因链的投影性,初始化P为可投影;
1-3-2)为每个智能体s∈S建立一个任务列表Ts,初始化为空列表;
1-3-3)遍历所有任务,对于每个遍历的任务t∈T所对应的基因,如果取值为None,则跳过无处理,如果取值为单个编号s,则将任务t添加到列表Ts,如果取值为排序二元组(s1,s2),则将任务t分别添加到列表Ts1和Ts2
1-3-4)遍历所有智能体的任务列表,对于每个被遍历的智能体s∈S:
1-3-4-1)按照时间窗口的起始时间,将列表Ts中的任务进行排序,记排序后Ts中任务数量为非负整数n,Ts中的任务按顺序分别记为t0,t1,…,tn-1
1-3-4-2)如果n≤1,跳过当前智能体s;
1-3-4-3)如果n≥2,则从k=2开始到k=n结束循环,每次k递增1为正整数,依次判断前k个任务的时间窗口是否可行,一旦判断为不可行,则立刻中断并跳出步骤1-3-4)的遍历过程,并且修改变量P为不可投影,否则继续循环和遍历过程;其中,对于前k个任务可行性的判断标准是,计算前k个任务的时间跨度spank,spank=wk.end-w1.start,即等于第k个任务的结束时间减去第1个任务时间窗口的起始时间,如果spank<MIN_OBSERVING_TIME×k+MIN_HAND_OVER_TIME×(k-1)则为不可行,否则为可行,其中,MIN_OBSERVING_TIME是任务的最短持续时长,MIN_HAND_OVER_TIME是任务切换所需的最短时长,MIN_OBSERVING_TIME和MIN_HAND_OVER_TIME是问题场景给定的参数均为正数,wk.end代表列表Ts第k个任务的结束时间,w1.start代表列表Ts第1个任务的起始时间;
1-3-5)采用经过步骤1-3-4)遍历后的标记P作为该基因链的可投影性;
例如,假设经过步骤1-3-4-1)处理后某智能体A101的任务按开始时刻排序的任务列表TA101=[X1,X2],则n=2,根据步骤1-3-4-3)可计算span2等于X2窗口终点减去X1窗口起点,那么如果span2<MIN_OBSERVING_TIME×2+MIN_HAND_OVER_TIME×(2-1),则可以立刻断定,基因链不具有投影可行性;反之,如果span2≥MIN_OBSERVING_TIME×2+MIN_HAND_OVER_TIME×(2-1),那么还需对k递增直到k等于n,顺序判断可行性(本例中n=2所以不需再递增),并且还要对所有智能体A102,A103进行类似判断,仅当所有智能体的对应任务列表均可行时,基因链才可被判定为可投影基因链。
1-4)构建评价基因链上单个基因优劣的评价指标,用于对基因产生评价值,评价值为非负浮点数,具体为:
1-4-1)基因如果取值为None,则将0.0作为评价值;
1-4-2)基因如果取值为单个s,则根据智能体s以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s,作为评价值;
1-4-3)基因如果取值为排序二元组(s1,s2),则先根据智能体s1以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s1,再根据智能体s2以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s2,再根据时间窗口的重叠长度计算非负的超额收益Uextra,最终将Ut-s1+Ut-s2+Uextra作为评价值;
例如,假设某一个位置的基因G2对应任务X3,基因取值为排序二元组(A102,A103),假如智能体A102和A103对任务X3的权重分别时1和2,时间窗口长度分别是13秒和15秒,重叠时间窗口长度为3秒,那么假设采取一种线性加权的加总计算方法(也可采用其他合理的计算方法),则可以计算出评价值为:UX3-A102+UX3-A103+Uextra=1×13+2×15+3=46。
1-5)构建将基因链修复为可投影基因链的修复方法,包括:
1-5-1)对基因链的每个基因进行评价,得到每个基因的评价值;
1-5-2)开始循环,根据步骤1-3)判据准则判断当前基因链是否为可投影基因链,如果不是可投影基因链,则将当前基因链中非负评分中评分最低的基因取值置为None并开启下一次循环;循环直到当前基因链为可投影基因链时停止;
1-6)构建从可投影基因链到可行解的投影方法,包括:
1-6-1)初始化可行解为一个空列表V;为每个智能体s∈S建立一个任务列表Ts,初始化为空列表,再建立一个可行解子列表Vs,同样初始化为空列表;
1-6-2)遍历所有任务,对于每个遍历的任务t∈T所对应的基因,如果取值为None,则跳过无处理,如果取值为单个编号s,则将任务t添加到列表Ts,如果取值为排序二元组(s1,s2),则将任务t分别添加到列表Ts1和Ts2
1-6-3)遍历所有智能体,对于每个遍历的智能体s∈S,有如下操作
1-6-3-1)按照时间窗口的起始时间,将列表Ts中的任务进行排序,记排序后Ts中任务数量为非负整数n,Ts中的任务按顺序分别记为t0,t1,…,tn-1,其对应的可执行时间窗口分为记为w0,w1,…,wn-1,每个时间窗口wk的起始时间表示为wk.start,结束时间表示为wk.end,其中0≤k≤n-1为整数;同时创建一个变量LAST_END,初始化为LAST_END=w0.end;
1-6-3-2)遍历任务tk,范围0≤k≤n-1,做如下处理:
1-6-3-2-1)如果wk.end<LAST_END,跳过当前任务,否则,得到一个时间变量Timestart=MAX(wk.start,LAST_END),其中MAX()表示取较大值;
1-6-3-2-2)得到一个变量Timeend,如果wk.end+MIN_HAND_OVER_TIME<=wk+ 1.start,令Timeend=wk.end,否则如果wk+1.start-MIN_HAND_OVER_TIME-Timestart<MIN_OBSERVING_TIME,令Timeend=MIN(Timestart+MIN_OBSERVING_TIME,wk.end),否则,Timeend=MAX(wk+1.start-MIN_HAND_OVER_TIME,Timestart),其中,MIN()表示取较小值;
1-6-3-2-3)令last_end=Timeend+MIN_HAND_OVER_TIME;
1-6-3-2-4)按顺序判断排在tk后面的任务tm,m>k为正整数,如果tm的可执行时间窗口长度小于MIN_OBSERVING_TIM,则令LAST_END=wm.end+MIN_HAND_OVER_TIME,否则,跳出判断;
1-6-3-2-5)构造任务tk最终的可行的时间窗口Windowk,起始时间Windowk.start=Timestart,Windowk.end=Timeend
1-6-3-2-6)将三元组(s,tk,Windowk)添加到智能体s的可行解子列表Vs中;
1-6-3-4)对当前智能体s的所有任务完成遍历后,得到智能体s的可行解子列表Vs,将Vs添加进可行解列表V中;
1-6-4)对所有智能体完成遍历后,得到最终的可行解列表V;
1-7)构造基因链的变异方法,具体为,设定一个变异概率p,0<p<1为正数,遍历基因链的每个基因,以概率p选择该基因是否变异,如果不需变异则不做处理,否则,以均匀分布概率分布,以轮盘赌算法的方式从该基因对应任务的指派集中,选择一个集合元素作为新的基因;
1-8)构造基因链的交叉方法,具体为,设定一个交叉概率q,0<q<1为正数,遍历每个基因位置,按照概率q对两条基因链相同位置的基因进行交换;
1-9)构建可行解的评价指标,得到可行解的非负的评价值,具体为:
1-9-1)按任务进行分类汇总,汇总该可行解列表V的每一个列表元素,其中每一个列表元素是某一个智能体的可行解子列表,得到每一个任务t∈T的分配信息,分配信息包括,分到到的智能体及对应的时间窗口;
1-9-2)初始化评价值为U=0.0,遍历汇总的任务t∈T更新评价值,具体为
1-9-2-1)如果任务t分配到单个智能体s,则根据智能体s以及与任务t绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s,更新U=U+Ut-s
1-9-2-2)如果任务t分配到两个智能体s1,s2,则分别根据智能体s1以及与任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s1,再根据智能体s2以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s2,然后更新U=U+Ut-s1+Ut-s2
1-9-2-3)如果任务t分配到两个智能体s1,s2,则还需额外计算s1和s2两个智能体对任务t的对应时间窗口的重叠区间,重叠区间代表在该区间内任务可以同时被两个智能体执行,由此带来超额收益Uextra,更新U=U+Uextra
1-9-2-4)如果任务t没有分配到智能体,不更新评价值U;
1-9-3)更新完毕的评价值U就是可行解的评价值;
1-10)设置种群规模,设置外环内环迭代终止条件,初始化候选基因链库为空;结束预处理,开始步骤2)的外环迭代过程;
2)每个智能体进行的外环迭代具体包括:
2-1)根据接收到的其他智能体的基因链包,扩展自身的候选基因链库,扩展方法为,解析基因链包得到若干基因链,将尚未加入自身候选基因链库的基因链,加入自身的候选基因链库;
2-2)判断外环迭代终止条件是否满足,如果满足,则终止外环迭代,进入步骤4);否则,如果不满足外环终止条件,则按照遗传算法种群的设置数量,根据候选基因链库,随机选取基因链构成遗传算法的初始种群,完成种群初始化;
2-3)种群初始化完成后,开始步骤3)进行内环迭代;
2-4)重复步骤2-1)至2-4)直到外环迭代满足终止条件;
3)每个智能体进行的内环迭代具体包括:
3-1)判断内环迭代条件是否满足,如果满足,则结束内环迭代,随后从候选基因链库中,选出投影可行解评价值最高的m条基因链,打包成候选基因链包,发送给其他智能体,然后返回步骤2,其中,m是根据需要设定的正整数;否则,如果不满足内环终止条件,继续进行下列步骤
3-2)按照遗传算法标准框架,按照步骤1-7)进行种群基因链的变异,按照步骤1-8)进行种群基因链的交叉,按照步骤1-5)进行种群基因链的修复;
3-3)按照步骤1-6),将当代种群的每个基因链投影为可行解,对每个可行解,按照步骤1-9)得到可行解的评价值,最后,根据评价值的大小,将可行解进行从大到小的排序,其中,当代种群由每次迭代初始基因链、经过交叉的基因链、经过变异的基因链三部分共同组成;
3-4)按照遗传算法标准框架,从当前种群基因链中,选择评价值最高前若干条基因链,作为下一代种群的初始基因链,基因链数量与种群数量相同;同时,将这些选定的基因链加入当前智能体的候选基因链库中;
3-5)重复步骤3-1)至3-5)直到内环迭代满足终止条件;
4)当外环迭代结束后,每个智能体从候选基因链库中,选择投影可行解评价值最高的基因链,将其投影到可行解,选定该可行解作为最终分配优化结果
实施例2
以下,将给出一个完整的实施例,进一步陈述本发明的效果。
假设给定的条件是:有20个智能体(编号0,1,2,……,19),需要分配30个任务(编号0,1,2,3,……,29),任一个智能体(编号s)对每个任务(t)的时间窗口为都有一个共同的时间基准,为格林尼治时间的2022年5月10日12点0时0分0秒,在此时间基准上,偏移量的时间窗口假设给定为:[3t+1.4×(s+t)%20,6+3t+t2%30+1.4×(s+t)%20]秒(其中,%代表求余运算),权重均为1,MIN_OBSERVING_TIME=10秒,MIN_HAND_OVER_TIME=16秒,则按照本发明方法,最后分配优化结果的可行解为(表达在时间基准中,也就是说,时间均为相对的时间偏移量):
[[(11,1,(19.8,26.8)),(11,8888,(26.8,57.8)),(11,16,(57.8,72.6)),(11,8888,(72.6,88.6)),(11,23,(88.6,113.6))],[(10,3,(27.2,40.4)),(10,8888,(40.4,56.4)),(10,16,(56.4,78.4)),(10,8888,(78.4,100.4)),(10,26,(100.4,122.4))],[(3,10,(48.2,64.2)),(3,8888,(64.2,81.8)),(3,24,(81.8,93.8))],[(8,2,(20.0,30.0)),(8,8888,(30.0,49.2)),(8,15,(49.2,70.2)),(8,8888,(70.2,102.0)),(8,27,(102.0,117.0))],[(13,7,(21.0,46.0)),(13,8888,(46.0,87.0)),(13,22,(87.0,97.0))],[(7,3,(23.0,33.4)),(7,8888,(33.4,49.4)),(7,9,(49.4,76.4)),(7,8888,(76.4,96.2)),(7,26,(96.2,118.2))],[(0,18,(79.2,109.2))],[(2,18,(54.0,82.0)),(2,8888,(82.0,98.0)),(2,28,(98.0,108.0))],[(14,7,(22.4,47.4)),(14,8888,(47.4,66.4)),(14,17,(66.4,91.4))],[(19,9,(38.2,64.6)),(19,8888,(64.6,80.6)),(19,25,(80.6,111.6))],[(9,2,(21.4,31.4)),(9,8888,(31.4,47.8)),(9,8,(47.8,57.8)),(9,8888,(57.8,81.4)),(9,22,(81.4,91.4))],[(18,6,(23.6,35.6)),(18,8888,(35.6,79.2)),(18,25,(79.2,110.2))],[(6,8,(43.6,53.6)),(6,8888,(53.6,103.6)),(6,28,(103.6,113.6))],[(16,6,(20.8,31.200000000000003)),(16,8888,(31.200000000000003,47.2)),(16,12,(47.2,77.2)),(16,8888,(77.2,95.6)),(16,23,(95.6,120.6))],[(5,0,(7.0,13.0)),(5,8888,(13.0,51.0)),(5,10,(51.0,67.0)),(5,8888,(67.0,84.6)),(5,24,(84.6,96.6))],[(4,4,(23.2,45.2)),(4,8888,(45.2,62.8)),(4,13,(62.8,80.4)),(4,8888,(80.4,96.4)),(4,27,(96.4,111.4))],[(12,4,(34.4,47.6)),(12,8888,(47.6,63.6)),(12,17,(63.6,88.6))],[(15,5,(15.0,43.0)),(15,8888,(43.0,59.0)),(15,15,(59.0,69.4)),(15,8888,(69.4,85.4)),(15,21,(85.4,112.4))],[(17,5,(17.8,32.6)),(17,8888,(32.6,48.6)),(17,12,(48.6,72.2)),(17,8888,(72.2,88.2)),(17,21,(88.2,115.2))],[(1,13,(58.6,83.6))]]
上述结果用图表示,则如图3所示,表达在格林尼治时间系统中,绝对时间。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。

Claims (8)

1.一种面向带时间窗口与耦合约束任务的分配优化方法,具有多个智能体,其特征在于,所述方法包括:
S1每个智能体进行预处理,根据给定任务和给定智能体的信息,为迭代优化构建信息环境与框架;
S2对每个智能体进行的外环迭代,并根据条件结束外环迭代或进入内环迭代;
S3当外环迭代结束后,每个智能体从候选基因链库中,选择投影可行解评价值最高的基因链,将其投影到可行解,选定该可行解作为最终分配优化结果;
其中,在内环迭代中,采用遗传算法框架进行迭代优化,当内环迭代结束后,更新候选基因链库并发送选定的候选基因链包到其他智能体重新进行外环迭代;
每个智能体进行的所述内环迭代具体包括:
S3.1判断内环迭代条件是否满足,如果满足,则结束内环迭代,随后从候选基因链库中,选出投影可行解评价值最高的m条基因链,打包成候选基因链包,发送给其他智能体,然后返回步骤S2,其中,m是根据需要设定的正整数;否则,如果不满足内环终止条件,继续进行下列步骤:
S3.2按照遗传算法标准框架,分别进行种群基因链的变异、进行种群基因链的交叉、进行种群基因链的修复;
S3.3将当代种群的每个基因链投影为可行解,并对每个可行解求解评价值,最后,根据评价值的大小,将可行解进行从大到小的排序,其中,当代种群由每次迭代初始基因链、经过交叉的基因链、经过变异的基因链三部分共同组成;
S3.4按照遗传算法标准框架,从当前种群基因链中,选择评价值最高前若干条基因链,作为下一代种群的初始基因链,基因链数量与种群数量相同;同时,将这些选定的基因链加入当前智能体的候选基因链库中;
S3.5重复S3.1至S3.5直到内环迭代满足终止条件。
2.根据权利要求1所述的面向带时间窗口与耦合约束任务的分配优化方法,其特征在于,在预处理中,记全部任务集合为T,记全部智能体集合为S,其中集合T中的任务及集合S中的智能体均具有独一无二的且可排序的编号,取值是任意符号或数字。
3.根据权利要求1或2所述的面向带时间窗口与耦合约束任务的分配优化方法,其特征在于,预处理包括以下步骤:
S1.1遍历每一个任务t∈T并构建该任务的指派集Ot,其中指派集是指能够执行该任务的智能体组合的集合;
S1.2按任务编号的排序顺序构建基因链结构,所构建基因链的长度等于任务数量,每个任务对应基因链上的一个基因,其中,任务t∈T所对应基因的取值空间为任务t指派集Ot
S1.3构建基因链是否为可投影基因链的判据准则;
S1.4构建评价基因链上单个基因优劣的评价指标,用于对基因产生评价值,评价值为非负浮点数;
S1.5构建将基因链修复为可投影基因链的修复方法,其中,对基因链的每个基因进行评价,得到每个基因的评价值;开始循环,根据步骤S1.1-S1.3判据准则判断当前基因链是否为可投影基因链,如果不是可投影基因链,则将当前基因链中非负评分中评分最低的基因取值置为None并开启下一次循环;循环直到当前基因链为可投影基因链时停止;
S1.6构建从可投影基因链到可行解的投影方法;
S1.7构造基因链的变异方法,其中,设定一个变异概率p,0<p<1为正数,遍历基因链的每个基因,以概率p选择该基因是否变异,如果不需变异则不做处理,否则,以均匀分布概率分布,以轮盘赌算法的方式从该基因对应任务的指派集中,选择一个集合元素作为新的基因;
S1.8构造基因链的交叉方法,其中,设定一个交叉概率q,0<q<1为正数,遍历每个基因位置,按照概率q对两条基因链相同位置的基因进行交换;
S1.9构建可行解的评价指标,得到可行解的非负的评价值,按任务进行分类汇总,汇总该可行解列表V的每一个列表元素,其中每一个列表元素是某一个智能体的可行解子列表,得到每一个任务t∈T的分配信息,分配信息包括,分到到的智能体及对应的时间窗口;
初始化评价值为U=0.0,遍历汇总的任务t∈T更新评价值,具体为
如果任务t分配到单个智能体s,则根据智能体s以及与任务t绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s,更新U=U+Ut-s
如果任务t分配到两个智能体s1,s2,则分别根据智能体s1以及与任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益
Figure QLYQS_1
再根据智能体s2以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益/>
Figure QLYQS_2
然后更新
Figure QLYQS_3
如果任务t分配到两个智能体s1,s2,则还需额外计算s1和s2两个智能体对任务t的对应时间窗口的重叠区间,重叠区间代表在该区间内任务可以同时被两个智能体执行,由此带来超额收益Uextra,更新U=U+Uextra
如果任务t没有分配到智能体,不更新评价值U;
更新完毕的评价值U就是可行解的评价值;
S1.10设置种群规模,设置外环内环迭代终止条件,初始化候选基因链库为空;结束预处理。
4.根据权利要求3所述的面向带时间窗口与耦合约束任务的分配优化方法,其特征在于,所述S1.1的构建方法为:首先,初始化Ot为集合{None},其中None代表空组合,即表示任务不指派到任何智能体;接着,遍历S中的所有智能体,每个遍历中,判断当前被遍历的智能体s∈S对任务t是否存在可执行时间窗口,如果存在,则将编号s加入集合Ot;其中时间窗口是指能够执行指定任务的时间区间;然后,遍历S×S中成对智能体中的所有排序二元组,在每个遍历中,判断当前被遍历的排序二元组(s1,s2)对任务t是否存在重叠的时间窗口,如果存在,则将排序二元组(s1,s2)加入集合Ot,其中,排序二元组(s1,s2)是指对智能体s1和s2在一种选定排序系统下排序后的二元组,且对所有的排序二元组而言,排序系统是相同的。
5.根据权利要求3所述的面向带时间窗口与耦合约束任务的分配优化方法,其特征在于,构建基因链是否为可投影基因链的判据准则为:
设置标记变量P代表基因链的投影性,初始化P为可投影;
为每个智能体s∈S建立一个任务列表Ts,初始化为空列表;
遍历所有任务,对于每个遍历的任务t∈T所对应的基因,如果取值为None,则跳过无处理,如果取值为单个编号s,则将任务t添加到列表Ts,如果取值为排序二元组(s1,s2),则将任务t分别添加到列表Ts1和Ts2
遍历所有智能体的任务列表,对于每个被遍历的智能体s∈S:
按照时间窗口的起始时间,将列表Ts中的任务进行排序,记排序后Ts中任务数量为非负整数n,Ts中的任务按顺序分别记为t0,t1,…,tn-1
如果n≤1,跳过当前智能体s;
如果n≥2,则从k=2开始到k=n结束循环,每次k递增1为正整数,依次判断前k个任务的时间窗口是否可行,一旦判断为不可行,则立刻中断并跳出遍历所有智能体的任务列表的遍历过程,并且修改变量P为不可投影,否则继续循环和遍历过程;其中,对于前k个任务可行性的判断标准是,计算前k个任务的时间跨度spank,spank=wk.end-w1.start,即等于第k个任务的结束时间减去第1个任务时间窗口的起始时间,如果spank<MIN_OBSERVING_TIME×k+MIN_HAND_OVER_TIME×(k-1)则为不可行,否则为可行,其中,MIN_OBSERVING_TIME是任务的最短持续时长,MIN_HAND_OVER_TIME是任务切换所需的最短时长,MIN_OBSERVING_TIME和MIN_HAND_OVER_TIME是问题场景给定的参数均为正数,wk.end代表列表Ts第k个任务的结束时间,w1.start代表列表Ts第1个任务的起始时间;
采用经过遍历所有智能体的任务列表遍历后的标记P作为该基因链的可投影性。
6.根据权利要求3所述的面向带时间窗口与耦合约束任务的分配优化方法,其特征在于,在所述S1.4中:
基因如果取值为None,则将0.0作为评价值;
基因如果取值为单个s,则根据智能体s以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s,作为评价值;
基因如果取值为排序二元组(s1,s2),则先根据智能体s1以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s1,再根据智能体s2以及与基因对应任务t∈T绑定的权重值、时间窗口等属性,计算出非负的执行收益Ut-s2,再根据时间窗口的重叠长度计算非负的超额收益Uextra,最终将Ut-s1+Ut-s2+Uextra作为评价值。
7.根据权利要求3所述的面向带时间窗口与耦合约束任务的分配优化方法,其特征在于,所述S1.6包括:
初始化可行解为一个空列表V;为每个智能体s∈S建立一个任务列表Ts,初始化为空列表,再建立一个可行解子列表Vs,同样初始化为空列表;
遍历所有智能体,对于每个遍历的智能体s∈S,有如下操作
按照时间窗口的起始时间,将列表T s中的任务进行排序,记排序后Ts中任务数量为非负整数n,Ts中的任务按顺序分别记为t0,t1,…,tn-1,其对应的可执行时间窗口分为记为w0,w1,…,wn-1,每个时间窗口wk的起始时间表示为wk.start,结束时间表示为wk.end,其中0≤k≤n-1为整数;同时创建一个变量LAST_END,初始化为LAST_END=w0.end;
遍历任务tk,范围0≤k≤n-1,做如下处理:
如果wk.end<LAST_END,跳过当前任务,否则,得到一个时间变量Timestart=MAX(wk.start,LAST_END),其中MAX()表示取较大值;
得到一个变量Timeend,如果wk.end+MIN_HAND_OVER_TIME<=wk+1.start,令
Timeend=wk.end,否则如果wk+1.start-MIN_HAND_OVER_TIME-Timestart
<MIN_OBSERVING_TIME,令Timeend=MIN(Timestart+MIN_OBSERVING_TIME,wk.end),否则,Timeend=MAX(wk+1.start-MIN_HAND_OVER_TIME,Timestart),其中,MIN()表示取较小值;
令last_end=Timeend+MIN_HAND_OVER_TIME;
按顺序判断排在tk后面的任务tm,m>k为正整数,如果tm的可执行时间窗口长度小于MIN_OBSERVING_TIM,则令LAST_END=wm.end+MIN_HAND_OVER_TIME,否则,跳出判断;
构造任务tk最终的可行的时间窗口Windowk,起始时间Windowk.start=Timestart,Windowk.end=Timeend
将三元组(s,tk,Windowk)添加到智能体s的可行解子列表Vs中;
对当前智能体s的所有任务完成遍历后,得到智能体s的可行解子列表Vs,将Vs添加进可行解列表V中;
对所有智能体完成遍历后,得到最终的可行解列表V。
8.根据权利要求1所述的面向带时间窗口与耦合约束任务的分配优化方法,其特征在于,每个智能体进行的外环迭代具体包括:
S2.1根据接收到的其他智能体的基因链包,扩展自身的候选基因链库,扩展方法为,解析基因链包得到若干基因链,将尚未加入自身候选基因链库的基因链,加入自身的候选基因链库;
S2.2判断外环迭代终止条件是否满足,如果满足,则终止外环迭代,进入步骤S2.4否则,如果不满足外环终止条件,则按照遗传算法种群的设置数量,根据候选基因链库,随机选取基因链构成遗传算法的初始种群,完成种群初始化;
S2.3种群初始化完成后,开始进行内环迭代;
S2.4重复步骤2.1至2.4直到外环迭代满足终止条件。
CN202211013087.7A 2022-08-23 2022-08-23 一种面向带时间窗口与耦合约束任务的分配优化方法 Active CN115293449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211013087.7A CN115293449B (zh) 2022-08-23 2022-08-23 一种面向带时间窗口与耦合约束任务的分配优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211013087.7A CN115293449B (zh) 2022-08-23 2022-08-23 一种面向带时间窗口与耦合约束任务的分配优化方法

Publications (2)

Publication Number Publication Date
CN115293449A CN115293449A (zh) 2022-11-04
CN115293449B true CN115293449B (zh) 2023-05-30

Family

ID=83831845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211013087.7A Active CN115293449B (zh) 2022-08-23 2022-08-23 一种面向带时间窗口与耦合约束任务的分配优化方法

Country Status (1)

Country Link
CN (1) CN115293449B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800071A (zh) * 2019-01-03 2019-05-24 华南理工大学 一种基于改进遗传算法的云计算任务调度方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107515618B (zh) * 2017-09-05 2020-07-07 北京理工大学 一种考虑时间窗口的异构无人机协同任务分配方法
CN108256694A (zh) * 2018-03-02 2018-07-06 我知盘中餐(厦门)电子商务有限公司 基于重复遗传算法的模糊时间序列预测系统、方法及装置
CN111311049B (zh) * 2019-12-04 2022-09-06 南京理工大学 多智能体协同任务分配方法
CN111176807B (zh) * 2019-12-09 2023-12-12 中国空间技术研究院 一种多星协同任务规划方法
CN113762811B (zh) * 2021-11-08 2022-02-08 武汉科技大学 一种考虑加班的无拖期Job Shop调度问题求解方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800071A (zh) * 2019-01-03 2019-05-24 华南理工大学 一种基于改进遗传算法的云计算任务调度方法

Also Published As

Publication number Publication date
CN115293449A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
CN110632907B (zh) 一种分布式装配式置换流水车间调度优化方法及系统
CN104050390B (zh) 一种基于可变维粒子群膜算法的移动机器人路径规划方法
Coello et al. Use of an artificial immune system for job shop scheduling
Kim et al. A coevolutionary algorithm for balancing and sequencing in mixed model assembly lines
CN106990792B (zh) 混合引力搜索算法的多无人机协同时序耦合任务分配方法
Qiongbing et al. A new crossover mechanism for genetic algorithms with variable-length chromosomes for path optimization problems
Kim et al. A symbiotic evolutionary algorithm for the integration of process planning and job shop scheduling
CN112969144B (zh) 一种面向移动边缘计算的微服务预部署方法及系统
Adibi et al. A clustering-based modified variable neighborhood search algorithm for a dynamic job shop scheduling problem
Harris et al. A constructive algorithm for the Lovász local lemma on permutations
Zhang et al. An effective discrete artificial bee colony algorithm for flow shop scheduling problem with intermediate buffers
CN114417735A (zh) 一种跨区域联合作战中的多无人机协同任务规划方法
CN115293449B (zh) 一种面向带时间窗口与耦合约束任务的分配优化方法
Thamilselvan et al. Integration of genetic algorithm with tabu search for job shop scheduling with unordered subsequence exchange crossover
Lässig et al. Analysis of speedups in parallel evolutionary algorithms and (1+ λ) EAs for combinatorial optimization
Ge et al. An efficient artificial fish swarm model with estimation of distribution for flexible job shop scheduling
CN112506658A (zh) 一种服务链中动态资源分配和任务调度方法
CN117389300A (zh) 一种城市战争无人机编队侦察任务分配方法
Abbasian et al. Solving graph coloring problems using cultural algorithms
Gonçalves et al. A biased random-key genetic algorithm for job-shop scheduling
Zuo et al. Two heads are better than one: an AIS-and TS-based hybrid strategy for job shop scheduling problems
Jedrzejowicz et al. Population learning algorithm for the resource-constrained project scheduling
Bahmani et al. A 1.43-competitive online graph edge coloring algorithm in the random order arrival model
Chutima et al. Multi-objective sequencing problems of mixed-model assembly systems using memetic algorithms
CN104902573B (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