作者:刘衍
【嵌牛导读】:遗传算法简介与其应用
【嵌牛鼻子】:遗传算法 优化算法 java
【嵌牛提问】:遗传算法的java实现?
【嵌牛正文】:
遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
一、 算法基础
算法主要流程如下图所示:
先对种群进行初始化,然后编码,交叉,变异。对产生的子代进行评估,选择其中较好的子代再进行交叉变异,直到子代个体形状达到预设条件或者到达迭代次数。
二、 算法应用
(1)利用100个半透明的三角形把火狐饿图标尽可能像地画出来

这些三角形的大小,形状,颜色,位置都是随机的。经过多达120000次地迭代,最终得出来比较好的解。迭代过程中的最优解如下图所示

(2)计算下面函数的最大值
我使用java来实现遗传算法
部分代码如下:





经过688次迭代,找到了当前的最优解。
三、 算法优缺点
网友评论