论文部分内容阅读
作业车间调度问题(Job-shop scheduling,JSP)是生产制造类企业中的一个常见问题,由于其固有的计算复杂性,对于较大规模的问题,很难找到一个有效的求解算法。已有许多研究表明,遗传算法对JSP问题的有效求解具有极大的潜力。而交叉算子是遗传算法中最主要的遗传操作算子,因此对于交叉算子的研究在很大程度上体现了遗传算法的研究进展。交叉操作对于保证遗传算法寻优过程能否收敛到全局最优,以及提高寻优过程的收敛速度都起着重要作用。交叉机制的优劣直接决定着算法的效率。多父辈交叉操作在近年来逐渐引起了研究者的注意。通常认为,多父辈交叉操作有可能在产生子代个体的过程中综合更多(相对于两父辈而言)父代个体的信息,因而可能获得更好的解空间搜索效率和寻优质量。本文针对JSP问题自身的求解难点和遗传算法的特点两个角度,分析目前遗传调度算子存在的问题,提出一种多父辈POX(Multi-parents Precedence Operation Crossover,MPOX)交叉算子,利用染色体的适值来划分种群,将优良种群作为参与交叉的第三个父辈,提高了产生优良解的速度。并提出一种等位逆转替换EPRR(Equal position Reverse or Replacevariation)变异算子,改变单一变异的传统模式,采用两两变异方式,既保留了部分优良模式,又增强了继续优化的潜能。本文提出了一种双阀值控制的遗传算法,改变了传统算法的模式,通过适当的调整变异的时间和概率而提高交叉的性能,在变异的同时增强了交叉的作用,从而提高整个算法的效率。利用标准的MT基准测试用例进行验证,都能得到最优解,可以证明本算法可行。针对某工厂的实际问题,本文设计并实现了一个作业车间调度系统,并应用改进的算法对实际问题进行求解,得到的结果是可行的和有效的。