演化算法时间复杂度

来源:互联网 发布:淘宝上传没生产许可证 编辑:程序博客网 时间:2024/06/04 19:07

文章标题:On the Runtime of Randomized Local Search and Simple Evolutionary Algorithms for Dynamic Makespan Scheduling
会议:Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence (IJCAI 2015)
arXiv: 1504.06363

  1. 问题描述
    目标函数f(x)=max{i=1npi(1xi),i=1npixi}
    其中,
    n 为作业(job)的个数,pi 为工作 i 的耗时
    有两个机器 M1M2 ,对所有工作进行处理
    xi=0表示 作业 iM1 处理; xi=1 表示 作业 iM2 处理
    pi 为作业 i 的代价(时间)
    目的是 将所有作业分配到两个机器进行处理,两个机器同时运行,最小化最大运行时间。
    此问题为动态问题,即:每隔一定的时间(代数)对随机一项作业i的耗时改变(pi+1pi1
  2. 基准算法
    进化计算运行时分析的标准基准算法:Randomized Local Search (RLS) , (1+1) EA .
    具体来说:
    RLS : 随机改变一个变量
    (1+1) EA : 以几率 1/n 改变每一个变量 (n 为变量的个数)

    算法:
    这里写图片描述

  3. desired goal (期望目标):
    d(x)=(i=1npi(1xi))(i=1npixi)
    即:the discrepancy (差异) of the solution x

  4. 算法用时为达到期望目标的时间
    fuller machine — 负载较大的机器
    其作业数至少为:(P/2)/U(n/2)(L/U)=(n/2)R1
  5. 期望时间
    目标:d(x)UUpi的上限,L为下限;独立于初始解及作业时间的动态变化
    RLS:O(nmin{logn,logR})R=U/L
    (1+1)EA:O(n3/2)

[1] https://www.ijcai.org/Proceedings/15/Papers/526.pdf

原创粉丝点击