matlab的Optimization工具中有遗传算法工具箱,可利用该界面工具求解规划问题。
界面定义:
@fun 目标函数(最后小化问题)
A*x<=b 不等式约束
Aeq * x = beq 等式约束
lb<=x<=ub 未知数范围 ,约束了每一个变量的范围
@nonlcon 非线性约束
[c,ceq] = con_fun(x) 其中 c代表c<=0 ceq代表 ceq=0
intcon 变量的输入是否为整数 (输入为一个矩阵)当输入[1 2]表示第一个变量和第二个变量为整数
目标函数格式:
function f = fun(x)
f=-5*sin(x(1)) * sin(x(2)) *sin(x(3)) *sin(x(4)) *sin(x(5))-...
sin(5*x(1)) *sin(5*x(2))*sin(5*x(3))*sin(5*x(4))* sin(5*x(5))+8;
end
目标函数和约束条件设置好后,点击s