机器学习经典GA算法运用Java代码实现
由于本人在硕士阶段学习了进化算法,那时候用matlab实现算法模型,并发表了一篇SCIE(GA+PSO+神经网络模型)。闲暇时间本人用Java重新写了一个简易版本
,算法过程都在注释中标明了。在本博客中使用遗传算法(GA)为例,用于函数优化(求最值,数学上这类情况可能遇到NP问题或NP难问题)。
不玩虚的,先上代码,用者自取
链接: /s/14BZxx_zAPpjuhbkzvUTEZw
提取码: thia
—》本人再次进行二次编辑,进行代码原图及实验结果展示
实验工具eclipse,JDK1.8,JFrame的jar包网盘里面有
参数设定(理论上迭代次数越多结果越精确)
执行过程(随便截取了一个过程)
执行结果
放到服务器上
代码引入工作空间后,可以达成jar包,放到虚拟机上,java -jar XXX.jar,结合nohup命令,记录执行结果。
一、 GA算法主要过程
(1)初始化种群
(2)编码并计算初始化种群适应度
(3)选择合适的种群交叉
(4)根据变异率进行种群的变异
(5)计算新种群的适应度,若达到要求或者达到最大迭代次数,算法结束;否则,返回步骤(3)继续运行。
二、GA算法的主要应用
(1)函数优化
(2)组合优化
(3)车间调度