用遗传算法优化双目标Job—shop作业计划问题
- 格式:pdf
- 大小:138.37 KB
- 文档页数:4
遗传算法在JobShop中的应⽤研究(part2:编码)1. 编码在上⼀篇博客中我们讨论了车间调度问题的编码,具体说就是根据⼯件的个数和每个⼯件的⼯序数来⽣成12122这样的数字排列,具体的说⼀个⼯件包含多少道⼯序,那么这个⼯件的编号就出现多少次。
从12122中我们可以看出总共有两个⼯件1和2,⼯件1下⾯有两道⼯序,⼯件2下⾯有三道⼯序,所以1出现了2次,2出现了3次。
此外,我们还提到了种群的概念,种群就是指随机⽣成多个⼯件号排列的集合,集合中排列的个数就是种群的⼤⼩。
⼤家思考⼀下如何编程实现初始种群的⽣成,⼤家看⼀下下⾯的python代码:1def InitPopulation(ps, I):2 gene = [j for j in xrange(I.n) for t in I[j]]3 population = []4for i in xrange(ps):5 shuffle(gene)6 population.append([j for j in gene])7return population第1⾏我们定义了⼀个⽣成初始种群的函数,叫作InitPopulation,这个函数接收两个参数,ps 和 I。
ps是个整型变量,它的值表⽰种群的⼤⼩,I是个list, ⾥⾯存放的是每个⼯件下每道⼯序使⽤的机器号和在该机器上加⼯的时间。
我们还是⽤上⼀篇博客的那⼀个两个⼯件,两台机器的例⼦来说明I=[[(1,3),(2,2)],[(2,5),(1,1)]]。
I 下⾯⼜分别有两个list, 它们是I[0]=[(1,3),(2,2)] 和I[1]=[(2,5),(1,1)]。
I.n 表⽰⼯件的个数,这⾥ I.n=2。
I.m 表⽰机器的个数,这⾥I.m=2。
第2⾏ gene表⽰染⾊体模版,所有的染⾊体通过这个模版产⽣。
就上⾯这个I⽽⾔,第⼆⾏执⾏完后gene的结果是1122,即按⼯件号由⼩到⼤排列,每个⼯件号出现的次数与这个⼯件包含的⼯序数相同。
一种使用再编码染色体求解Job-Shop问题的并行遗传算法赵宏立;庞小红;吴智铭【期刊名称】《机械科学与技术》【年(卷),期】2004(023)012【摘要】使用遗传算法求解Job-Shop问题的一个关键问题是编码.本文提出了一种求解Job-Shop问题的新遗传算法--RPGA(Re-encoding Parallel GA).此方法的编码方式将Job-Shop问题转换为一个TSP(Traveling Salesman Problem)问题,使得关于TSP问题的遗传算法的方法可以用于解决Job-Shop问题.这种编码方式可以满足Job-Shop问题对工件加工顺序的要求,避免在进化过程中产生非可行解.RPGA最重要的特点在于染色体的再编码过程,再编码过程根据各工序的开工时间先后对染色体的各基因重新赋值,使得编码空间和解空间一一对应.最后,本方法使用MPI并行编程技术实现了粗粒度的并行模型,在此模型上我们对Fisher和Thompson的10×10问题进行了求解实验.实验表明本方法有着良好的求解效率,也证明了对染色体再编码过程对此问题的重要性.【总页数】5页(P1421-1425)【作者】赵宏立;庞小红;吴智铭【作者单位】上海交通大学,自动化研究所,上海,200030;上海交通大学,自动化研究所,上海,200030;上海交通大学,自动化研究所,上海,200030【正文语种】中文【中图分类】TP18【相关文献】1.一种求解Job-shop调度问题的遗传局部搜索算法 [J], 朱传军;张超勇;管在林;刘琼2.一种求解Job-Shop调度问题的混合自适应变异粒子群算法 [J], 邓慈云;陈焕文;刘泽文;万杰3.一种用支持向量机求解 Job-shop 问题方法 [J], 李文超;杨宏兵;马涛锋4.一种求解Job-Shop调度问题的新型蚁群算法 [J], 李胜;周明;许洋5.使用链表求解Job-shop调度问题的算法 [J], 张淑丽因版权原因,仅展示原文概要,查看原文内容请购买。
改进遗传算法对实际Job Shop问题的解决
陶丽华;许之强
【期刊名称】《机械工程师》
【年(卷),期】2014(000)001
【摘要】针对标准遗传算法收敛速度慢以及易陷入局部最优的问题,采用基于工序的编码和活动解码方式,采用自适应策略设计交叉算子和变异算子,并将极值优化算法作为一种新的变异算子对标准遗传算法进行了改进,最后通过实验验证了改进后算法的有效性.
【总页数】4页(P127-130)
【作者】陶丽华;许之强
【作者单位】长春工业大学机电工程学院,长春130012;长春工业大学机电工程学院,长春130012
【正文语种】中文
【中图分类】TP301.6
【相关文献】
1.车间作业调度问题(job-shop)的一种改进遗传算法 [J], 冯伟东;刘伟;徐连香
2.求解Job-Shop问题的改进搜索范围自适应遗传算法 [J], 王书锋;梁燕;王策
3.时间不确定的job shop问题的一种改进遗传算法 [J], 刘胜辉;张晓欢
4.一种求解Job Shop调度问题的改进遗传算法 [J], 沈镇静;郑湃;李家霁
5.基于改进遗传算法的Job-shop调整时间指派问题研究 [J], 王海瑶
因版权原因,仅展示原文概要,查看原文内容请购买。
遗传算法在多目标优化问题中的应用研究一、引言多目标优化问题是计算机科学、数学、工程学等领域中的一个重要问题,它从多个目标函数的角度优化系统的性能。
由于多个目标函数之间往往存在着矛盾性,因此要在使各个目标函数达到最好的状态之间进行权衡和平衡,设计出一种优化算法并且有效地解决这个问题实在是非常困难的事情。
而在这个过程中,遗传算法不仅可以对多个目标函数的评估进行快速高效的计算,还可以实现在多个市场环境中进行搜索和优化,因此在多目标优化问题中的应用显得尤为重要。
本文主要探讨遗传算法在多目标优化问题中的应用研究,分别从遗传算法的基本原理、多目标优化问题的背景和遗传算法在多目标优化问题中的应用三个方面进行详细的阐述。
二、遗传算法的基本原理遗传算法是一种在进化计算中广泛被运用的算法,其主要思想是通过对一组染色体进行操作,实现对群体的进化和优化。
遗传算法从生物学中借鉴了许多理念,例如基因、染色体、遗传交叉、变异等,将这些基础理论运用在计算机领域中,最终实现优化和搜索的目的。
遗传算法的基本流程主要包括个体编码、适应度函数的设计、遗传运算和选择策略四个步骤。
1. 个体编码个体编码是将问题转化为适应于计算机操作的形式。
在遗传算法中,通常将问题转换为一组二进制码,称为“染色体”。
将染色体的编码与问题的目标紧密相关,才能更好地解决问题。
例如,如果我们想要优化的目标是一组系数,那么可以使用染色体的二进制编码。
2. 适应度函数的设计适应度函数在遗传算法中非常重要,它的主要作用是给每个染色体赋予一个适应值,以此反映出染色体适应问题的好坏程度。
适应度函数的构建是多目标优化问题的一个重要环节。
通过适当地设计适应度函数,可以使遗传算法更加有效地搜索解空间,在优化问题时取得良好的效果。
3. 遗传运算遗传运算是遗传算法的关键环节之一,它模拟了生物界中的遗传交叉和变异运动。
其中交叉运算通过对个体基因的交换实现群体结构的发展,并通过变异运算实现基因的多样性和新生代的产生。