基于遗传算法和非线性规划的函数寻优算法

痴心易碎 提交于 2020-01-30 09:28:22

一.理论基础

1.非线性规划

1.非线性规划
研究一个n元函数在一组等式或不等式的约束条件下的极值问题,在信赖域法、稀疏拟牛顿法、并行计算、内点法和有限存储法等领域研究。
2.非线性规划函数
matlab中的fmincon
基本用法:x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub);其中,
fun是用M文件定义的函数f(x),代表了(非)线性目标函;x0是x的初始值;
A,b,Aeq,beq定义了线性约束 ,如果没有线性约束,则A=[],b=[],Aeq=[],beq=[];
lb和ub是变量x的下界和上界,如果下界和上界没有约束,则lb=[],ub=[],也可以写成lb的各分量都为 -inf,ub的各分量都为inf。
3.优缺点
经典非线性规划算法大多采用梯度下降的方法求解,局部搜索能力较强,但是全局搜索能力较弱。

2.遗传算法的思想

1.简介
适者生存”是自然界的一大规律,优胜劣汰,顾名思义,遗传算法可用来解决最优的问题。遗传算法就是一个优胜劣汰的过程,最终选择出最好的群体。非常适用于处理传统搜索算法难以解决的复杂和非线性优化问题。目前,遗传算法广泛应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
2.核心思想
就是对一定数量个体组成的生物种群进行选择、交叉、变异等遗传操作,最终求得最优解或近似最优解。在进行遗传操作时,几个重要的参数为:染色体长度L,种群大小M,交叉概率Pc,变异概率Pm,终止代数T。
3.优缺点
全局搜索能力强,但是局部搜索能力较弱,一般只能得到问题的次优解,而不是最优解。

二.理论实践

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!