[matlab] 16.多约束非线性规划 ga工具箱解决 [带不等式约束]

时间:2024-02-23 07:08:57

下面举例说明如何运用GA工具箱求解多约束非线性规划问题:

function f =fitness(x)
f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
fitness.m
function [c,ceq]=constraint(x)
c(1)=1.5+x(1)*x(2)-x(1)-x(2);
c(2)=-x(1)*x(2)-10;
ceq=[];  %一定要有
constraint.m

注意integer variable indices 可以填  [1 2]代表x1 x2为整数规划 求整数解

 

非整数解

 

 

注意 根据需要 option进行调参

 

 

如果用多目标遗传GUI 工具箱 gamultiobj   

适应度函数可以写成  f(1) = xxxxx ; f(2)=xxxxx; 一直到 f(n)=xxxxx

 

 

2016A题 第三问

求飞机配置 x(1)是引导机f1 x(2)是f3轰炸D1 x(3)是f3轰炸D2数量上与x(1)一致

 

function f =fitness(x)
f(1)=2*x(1)+x(2);
f(2)=x(1);
fitness.m
function [c,ceq]=constraint(x)
c(1)=x(1)-8;
c(2)=x(1)+x(2)-97;
c(3)=-3*x(1)-6*x(2)/10+58;
ceq=[];
constraint.m