目录
- 1.准备工作
- 2.使用CEC2005测试集
- 3.自定义优化问题-无约束问题
- 4.自定义优化问题-有约束问题
- 5.代码实现
1.准备工作
一个CEC2005测试集
一个测试智能算法,比如麻雀搜索算法SSA
2.使用CEC2005测试集
以CEC2005测试集函数F7为例:
3.自定义优化问题-无约束问题
这里举例
m i n f ( x 1 , x 2 ) = s i n ( x 1 ) + x 2 2 minf(x_1,x_2)=sin(x_1)+x_2^2 minf(x1,x2)=sin(x1)+x22
首先编写目标函数fun.m:
编写脚本调用:
4.自定义优化问题-有约束问题
有约束问题一般采用罚函数法将约束问题转为无约束问题,其思想是当优化变量不满足约束时进行惩罚。
这里举例
{ min f ( x 1 , x 2 ) = s i n ( x 1 ) + x 2 2 s . t . x 1 + x 2 = 1 2 x 1 − x 2 > 0 \begin{cases}\min f(x_1,x_2)=sin(x_1)+x_2^2\\s.t.\\x_1+x_2=1 \\ 2x_1-x_2>0\end{cases} ⎩ ⎨ ⎧minf(x1,x2)=sin(x1)+x22s.t.x1+x2=12x1−x2>0
首先编写目标函数fun1.m:
编写脚本exp3.m调用:
5.代码实现
代码传送门