发明名称 基于爬山算法与鲶鱼效应粒子群算法交替作用的资源受限项目调度控制方法
摘要 本发明结合爬山算法的局部搜索能力和改进鲶鱼效应粒子群的全局搜索能力,提出了基于爬山算法与鲶鱼效应粒子群算法交替作用的资源受限项目调度控制方法。该方法在改进鲶鱼效应粒子群算法的过程中引入爬山算法的思想,当改进鲶鱼效应粒子群算法中的粒子位置更新后,分别对粒子的各个维度进行适当扰动,从中选取适应度最好的位置作为粒子的攀登方向。两种算法协同作用,算法前期强调全局搜索,鲶鱼效应粒子群算法占主导作用,迭代后期粒子趋于稳定,更偏向于局部搜索,此时爬山算法占主导作用。本发明的优点是:采用本方法的调度控制器能根据生产活动时序以及人力、物力资源等外部约束条件自动控制项目调度,实现生产活动效率的最大化。
申请公布号 CN104268688A 申请公布日期 2015.01.07
申请号 CN201410499275.4 申请日期 2014.09.25
申请人 江南大学 发明人 纪志成;戴月明;吴逸庭;吴定会
分类号 G06Q10/06(2012.01)I;G06N3/00(2006.01)I 主分类号 G06Q10/06(2012.01)I
代理机构 无锡市大为专利商标事务所(普通合伙) 32104 代理人 曹祖良;韩凤
主权项 基于爬山算法与鲶鱼效应粒子群算法交替作用的资源受限项目调度控制方法,其特征是,包括以下步骤:步骤1、分析优化问题,构造适应度函数;步骤2、初始化参数,选取合适的粒子数m、最大进化代数T<sub>max</sub>和个体停滞进化阈值ε;步骤3、初始化种群,迭代次数t=0,随机产生种群个体的位置和速度,计算各个粒子的个体适应度;步骤4、当t≤T<sub>max</sub>时,转步骤5,否则转步骤10;步骤5、根据式(1)、式(2)更新粒子的位置和速度;v<sub>i</sub>(t+1)=ω*v<sub>i</sub>(t)+c<sub>1</sub>*rand<sub>1</sub>()*[pb<sub>i</sub>(t)‑x<sub>i</sub>(t)]                                   (1)+c<sub>2</sub>*rand<sub>2</sub>()*[gb(t)‑x<sub>i</sub>(t)]x<sub>i</sub>(t+1)=x<sub>i</sub>(t)+v<sub>i</sub>(t+1)                    (2)其中,i=1,2,…,m;v<sub>i</sub>(t)是第i个粒子在第t次迭代时的飞行速度;x<sub>i</sub>(t)是第i个粒子在第t次迭代时的位置;pb<sub>i</sub>(t)是第i个粒子在第t次迭代时的个体最优值;gb(t)是第t次迭代时的全局最优值;rand<sub>1</sub>()和rand<sub>2</sub>()都是在区间[0,1]内均匀分布的随机数;c<sub>1</sub>和c<sub>2</sub>是学习因子;ω是惯性权重;粒子更新采用如式(3)所示的吸收墙策略,其中v<sub>max</sub>表示算法搜索边界:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>v</mi><mi>max</mi></msub><mo>,</mo></mtd><mtd><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>></mo><msub><mi>v</mi><mi>max</mi></msub></mtd></mtr><mtr><mtd><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>,</mo></mtd><mtd><mo>-</mo><msub><mi>v</mi><mi>max</mi></msub><mo>&le;</mo><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&le;</mo><msub><mi>v</mi><mi>max</mi></msub></mtd></mtr><mtr><mtd><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mo>-</mo><msub><mi>v</mi><mi>max</mi></msub><mo>,</mo></mtd><mtd><msub><mi>v</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><mo>-</mo><msub><mi>v</mi><mi>max</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000576912520000011.GIF" wi="1261" he="292" /></maths>步骤6、对粒子的每一维独立扰动并计算适应度,从中选取适应度最优的位置更新为粒子的新位置,并更新各个粒子的个体最优值和全局最优值;步骤7、记录每个粒子的个体进化停滞数,当大于ε时,则初始化该粒子的位置和速度;步骤8、迭代次数t加1;步骤9、判断是否满足算法终止条件,满足则转步骤10,否则转步骤4;步骤10、输出最优解。
地址 214122 江苏省无锡市蠡湖大道1800号