多智能体优化(multi-agent optimization,MAO)方法是一种启发式优化方法,针对待求解的问题,由MAS中的具有相互作用的agent通过自组织方式完成对问题解空间的协同搜索(Xie and Liu,2009;Zheng and Wang,2015)。从内涵上来看,MAO是基于MAS的、主要针对组合优化问题的启发式优化方法,其中的每个agent各自独立地对自身所处环境进行判断并做出决策。一些研究者认为ACO和PSO等群智能优化算法也是MAO方法(Selvi and Umarani,2010)。
MAO已经在项目调度中得到应用,并逐渐形成了一定的框架(Adhau et al.,2013)。其中,以Confessore等(2007)、Homberger(2007)、Chen和Wang(2007)为代表的模拟市场方法(simulated market method)和以Jedrzejowicz和Ratajczak-Ropel(2007)为代表的基于优化的方法(optimization-based method)是两种不同的思路。在这两种思路中,agent所扮演的角色有明显差异:前者使用agent来封装项目的组件与功能,如任务、资源、协调者,单个agent不能完成整个项目调度问题的求解;后者用agent来封装问题求解器,单个agent可以完成项目调度问题的求解。
在模拟市场方法中,Confessore等(2007)针对分布式资源受限多项目调度问题(decentralized resource constrained multi-project scheduling problem,DRCMPSP)设计了一个基于市场控制机制的MAS,其中的agent代表着项目的任务、资源以及协调者,这些agent遵守共同的市场协议,通过组合拍卖方式实现资源的优化配置,其中的组合拍卖采用一种所谓的迭代加价方式,使得整个系统呈现出优化的特征。(www.xing528.com)
Homberger(2007)同样关注DRCMPSP问题,并在agent角色设计上参照了Confessore等(2007),分为调度agen(t负责一个项目的资源请求)和调解agen(t负责所有项目的资源分配)。差异在于,Homberger(2007)采用了完全不同的agent协商机制。这一机制包含两个阶段:初始化阶段和迭代改进阶段。在初始化阶段,每个调度agent各自计算自己所负责的项目的初始解。调解agent将共享资源的总量发送给各个调度agent,项目由各个调度agent来分布式地执行。在随后的迭代改进阶段中,调解agent根据调度agent的计算结果,重新分配共享资源,并根据所获得的信息,尝试减少所有项目的平均工期。整个协商过程就是调度agent对调解agent的请求及后者的响应。因为调解agent总是同时答复所有来自调度agent的请求,所以项目调度是分布式地同步进行的。迭代协商过程止于在改进阶段的最后一次迭代期间所有项目的平均工期不可能再减少,或者调度agent产生的进度计划数量已经达到预设上限。
基于优化的方法以Jedrzejowicz and Ratajczak-Ropel(2007)为代表,采用JABAT体系求解RCPSP。JABAT(JADE-Based A-Team Environment)是一个基于JADE平台的中间件,支持A-Team架构(Jędrzejowicz and Wierzbowska,2006)。JADE平台是符合FIPA规范(FIPA,2002)的MAS开发软件框架(Bellifemine et al.,2007);A-Team架构是由Talukdar等(1998)提出的用于求解优化问题的MAS。JABAT包含一个OptiAgent,是体系的核心组件,封装了具体的优化方法,可独立求解RCPSP。Jedrzejowicz和Ratajczak-Rope(l2007)为OptiAgent设计了可选的局域搜索启发式算法、优先树启发式算法、禁忌搜索算法等用于求解RCPSP。另一个重要的agent是SolutionManager,负责管理解的种群,采用一定的演化策略来处理OptiAgent生成的解,删除劣质解、保留优质解。换言之,影响JABAT体系有效性的两个重要因素——agent采用的优化算法以及种群的演化策略——分别由OptiAgent和SolutionManager来加以实现。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。