竹子有什么品质【车间调度】遗传算法的基本理论
本系列为⾃⼰学习调度相关知识的记录,如有误请指出,也欢迎调度⽅向的⼩伙伴加我好友共同交流。
物竞天择适者生存遗传算法的提出
遗传算法(genetic algorithm,GA)是由美国Michigan⼤学的John Holland教授在1975年⾸先提出的,它是⼀种模拟⽣物⾃然进化现象的优化算法。随后在1989年,Golgberg的著作对遗传算法做了更为全⾯⽽系统的总结,也由此奠定了遗传算法的基础。
绿茶的冲泡方法遗传算法的思想
遗传算法借⽤了⽣物遗传学的思想,以及⾃然界中的“物竞天择,适者⽣存”原则,将问题的解表⽰成“染⾊体”,通过模拟⾃然选择、交叉、变异等操作,实现个体适应度的提⾼,不断迭代,逐步寻最优解(或次优解)。遗传算法在求解问题时,从⼀组随机产⽣的初始种开始搜索。种中⼀个个体(individual)表⽰问题的⼀个解,称为染⾊体(chromosome)。种通过连续的迭代进⾏进化,每⼀次迭代操作产⽣⼀代(generation)。在每⼀代中⽤适应度函数(fitness function)或⽬标函数(objective function)对每个个体进⾏评价(evaluation),适应度值⾼的个体被选中的概率⾼。迭代过程的下⼀代称为⼦代(offspring),通过选择(selection)、交
宝宝辅食食谱
叉(crossover)、变异(mutation)等遗传算⼦产⽣⼦代。遗传算法有五个基本要素:编码和解码;种初始化⽅法;适应度函数;遗传算⼦(主要包括选择、交叉、变异等);遗传参数设置(种规模、遗传算⼦的概率等)等.
遗传算法流程图
下图为基本遗传算法流程图
遗传算法步骤
假设P表⽰种规模,t表⽰当前代,P(t)和C(t)表⽰第t代的⽗代和⼦代,那么基本的遗传算法执⾏步骤如下。
巧妙绝伦的意思
步骤1按照⼀定的初始化⽅法产⽣初始种P(t),t=0。
步骤2评价种P(t),计算每个个体的适应度值。
步骤3判断是否满⾜终⽌条件,如果满⾜则输出结果;否则转步骤4。
步骤4按照选择、交叉、变异等遗传算⼦产⽣⼦代C(t)。
步骤5P(t)=C(t),转步骤2,t=t+1。
遗传算法是⼀种通⽤的优化算法,其编码技术和遗传操作⽐较简单,优化过程不受限制性条件的约束,使它能够在复杂空间中进⾏全局优化搜索,并具有较强的鲁棒性。大岭山石洞森林公园
遗传算法 VS 传统优化⽅法
1. 遗传算法是对问题参数的编码即“染⾊体”进⾏操作,⽽⾮对参数本⾝进⾏操作的。进化过程中,只
是在评价个体适应度值时需要使
⽤问题的具体信息,⽽其他部分并不需要了解问题本⾝的信息,这使得遗传算法不受函数约束条件的限制(如连续或可微),设计简单且适应性⼴
2. 遗传算法的搜索过程是从问题的解的集合开始,⽽不是从单个解开始的,具有隐含并⾏搜索特性。可将搜索重点集中于性能⾼的部
分,从⽽可以提⾼搜索效率,并且减⼩了陷⼊局部极⼩的可能性,易得到全局最优解。
3. 遗传算法在问题解空间的整个搜索过程中是在概率指导下完成的、有⽅向的启发式搜索,与穷举或完全随机的搜索不同,因⽽具有较
⾼的效率。在初始阶段,等概率初始化保证了搜索点均匀地覆盖整个解空间;之后在适应度值的概率选择,以及交叉、变异等概率的指导下,搜索逐渐向适应度值⾼的区域集中,直到收敛到适应度值最⾼的区域为⽌。