遗传算法简单入门

 接了一个算法设计,要用遗传算法去解决物流运输中的车辆安排,没学过这种算法,百度了一下,还是有难度的,虽然有很多资料,但是对于初学者还是太难,而且没有实例,根本就不是太理解,今天,我就拼凑一下我看过和我理解的知识,写个入门级的实例呗。

    先来普及下,我认为比较简单的两个求最优化解的方法,一个叫模拟退火算法,一个就是现在要讲的遗传算法。

    什么叫遗传算法呢,copy一段过来。

   遗传算法 ( GA , Genetic Algorithm ) ,也称进化算法 。 遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。
    其中需要了解的生物知识:

    
种群(Population):
生物的进化以群体的形式进行,这样的一个群体称为种群。

  个体:组成种群的单个生物。

  基因 ( Gene ) :一个遗传因子。 

  染色体 ( Chromosome ) :包含一组的基因。

  生存竞争,适者生存:对环境适应度高的、牛B的个体参与繁殖的机会比较多,后代就会越来越多。适应度低的个体参与繁殖的机会比较少,后代就会越来越少。

  遗传与变异
:新个体会遗传父母双方各一部分的基因,同时有一定的概率发生基因变异。
 

    更多的知识就不讲了,有兴趣的百度,我下面讲下我对这个算法的理解:

    这个算法是用来求最优解的,对于一些问题,我们是无法通过有效的步骤来 求的其最好的解决方案,但我们可以知道它的方案有哪些,而这些方案就可以想象成不同的个体,每个个体的上面都有能够区分自己的基因,然后我们通过某种方法(函数)来淘汰哪些基因不好的个体。但在这个过程中,每个个体都有可能发生基因突变,遗传变异,进而进化。但随着时间的推移,根据达尔文理论,一定只有适者生存,而活下来的个体就是我们的最优解,上面所携带的基因就是我们的解决方案。

    下面举个简单的例子,如何求下面函数的最大值,数学超级超级好的请饶过。

    《遗传算法简单入门》

    怎么求呢?求导那些就不要告诉我啦,其实这个和数学建模有点像O(∩_∩)O~

    《遗传算法简单入门》

    

    《遗传算法简单入门》

    《遗传算法简单入门》

    

    《遗传算法简单入门》

    其实,这篇日志主要做的不是教会你遗传算法,而是补充说明一下网上没有简单实例的完整算法的不足,下面我就贴出我的算法,亲测有用,可以解决上面的问题。

    《遗传算法简单入门》

    

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

    《遗传算法简单入门》

《遗传算法简单入门》

《遗传算法简单入门》
://

    总结:遗传算法真的很有意思哦,来自于生物知识,而退火算法,来自于金属冶炼,我觉得这个世界太神奇了,好多东西都是相通的,不说了,我可以准备去上体育课了。

O(∩_∩)O~

          再次回来附上我觉得别人写得比较好相关日志,大家可以参考下。

    
1.遗传算法入门

   
  2.遗传算法入门到掌握

    原文作者:遗传算法
    原文地址: https://blog.csdn.net/u013288190/article/details/52663524
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞