元启发式算法
元启发式算法(MetaHeuristic Algorigthm)是启发式算法的改进,它是随机算法与局部搜索算法相结合的产物。
元启发式算法能够在一定程度上在全局进行搜索,找到最优解的近似解。元启发式算法的核心是Exploration和Exploitation。其中,Exploration即尽量探索整个搜索空间,由于最优解可能存在在整个搜索空间的任何位置。而Exploitation即尽可能的利用到有效的信息,在大部分的情况下优解之间往往存在着一定的相关性,利用这些相关性来逐步调整,从初解慢慢搜索到优解。总的来说,元启发式算法希望在Exploration和Exploitation之间尽可能的平衡。
**算法种类:**模拟退火算法(Simulated Annealing)、禁忌搜索算法(Tabu Search)、遗传算法(Genetic Algorithms )、进化策略(Evolution Strategies)、差分进化算法(Differential Evolution )、蚁群算法(Ant Colony Optimization )、粒子群算法(Particle Swarm Optimization )。
反向调度
JSP中的调度可以向前或向后(反向)构建。
反向调度是一类具有交货期条件的调度问题,有些实例可以通过向后的方向比通过向前的方向更简单地求解到最优。
过程:1、通过反转所有操作的优先约束的方向来构造;
2、以构造向前调度的相同方式将作业分配给机器;
3、将调度向后转到前面,使调度满足原来的优先级约束;
可行的调度分类
可以分为半活动调度、活动调度和非延迟调度。
半活动调度:指在不改变操作顺序的情况下,任何操作都不能提前开始;更改机器上的加工顺序,使至少一个工序可以提前加工
活动调度:如果没有操作时,可以在不延迟另一个操作或不违反优先级约束的情况下,通过更改机器上的加工顺序,使至少一个工序可以提前加工,必然导致其他工序完成时间推迟。
**非延迟调度:**没有机器在可以开始处理操作时保持空闲,即存在一个工件等待加工时,不存在可用的处于空闲的机器。
三种调度的解空间大小:半活动调度>活动调度>非延迟调度;
主动调度的解空间能保证包含最优调度;
非延迟调度的解空间是最小的解空间,它可能不包含最优调度。