基础知识
优化算法导论
https://vlight.me/2018/01/01/Introduction-to-Algorithms/
https://vlight.me/2018/05/14/Analysis-of-algorithms/
https://mealpy.readthedocs.io/en/latest/
https://github.com/MOEAFramework/MOEAFramework/blob/master/docs/listOfAlgorithms.md
启发式算法分类:
https://github.com/MOEAFramework/MOEAFramework/blob/master/docs/listOfAlgorithms.md
Multi-objective
Classical - NSGA-II, MOEA/D, GDE3, PAES, PESA2, SPEA2, VEGA
Epsilon-dominance - e-MOEA, e-NSGA-II
Reference point / vector - NSGA-III, U-NSGA-III, DBEA, RVEA
Particle swarm - OMOPSO, SMPSO
Indicator based - IBEA, SMS-EMOA
Other - AGE-MOEA-II, AMOSA, CMA-ES, MSOPS, RSO, Random
Single-objective - GA, ES, DE, SA, CMA-ES
线性回归 和 逻辑回归 和 支持向量机
https://vlight.me/2020/07/26/Machine-Learning-Models/
遗传算法
https://vlight.me/2018/06/10/Genetic-Algorithms/
https://www.tutorialspoint.com/genetic_algorithms/genetic_algorithms_quick_guide.htm
差分进化算法
https://vlight.me/2018/04/17/differential-evolution/
https://numerics.net/documentation/latest/reference/numerics.net.optimization.differentialevolutionstrategy
差分进化算法各算子的顺序和遗传算法不同, 具体为:
遗传算法顺序: **选择**(按照适应度选择父代,算法:轮盘赌、锦标赛选择) -> **交叉**(子代基因重组,比如单点交叉、均匀交叉)) -> **变异**(子代随机修改基因,如位翻转/高斯扰动) ->更新种群(如采用精英保留策略)
差分算法顺序: **变异 Mutation**(生成变异向量,增加全局搜索能力) -> **交叉 CrossOver** (将变异向量和目标向量交叉生成实验向量) -> **选择 Selection **(比较实验向量和目标向量的适应度, 选择最优解)
变异:差分进化中变异用来生成变异向量, 而GA中的变异是对子代基因微调.
交叉:差分进化中交叉是生成实验向量, 而GA中的交叉是基因重组.
选择:差分进化中选择是采用一对一贪婪选择, 而GA中选择通常是基于概率(轮盘赌)和全局排序(竞标赛).
类库
Java 类库
MOEAFramework: 集成了非常多算法
https://github.com/MOEAFramework/MOEAFramework/blob/master/docs/listOfAlgorithms.md
jmetal: 集成了非常多算法
https://github.com/jmetal/jmetal
jenetics: 主要是GA算法
https://jenetics.io/
https://jenetics.io/manual/manual-8.1.0.pdf
https://github.com/jenetics/jenetics
https://www.baeldung.com/jenetics
Python 类库
pymoo 集成了非常多算法 https://pymoo.org/
mealpy 集成了非常多算法 https://mealpy.readthedocs.io/
C# 类库
GeneticSharp: 只提供GA算法
https://diegogiacomelli.com.br/function-optimization-with-geneticsharp/
https://github.com/giacomelli/GeneticSharp
LibOptimization, 支持差分进化, 粒子群优化, 自适应JADE, 布谷鸟搜索 https://github.com/tomitomi3/LibOptimization