matlab遗传算法求解多元参数关系的最优解问题

img


a范围(0.8—1),其中x1范围10-20,x2范围2-10,x3为从1-1000,步长1的情况下,
希望解决出对应x3情况下x1 x2 的值的情况,因为实际问题比这个复杂,现在是简化类比,希望给出较全的回答,matlab才刚刚上手的我

img


原问题如上图
以我认为是遗传算法里面的多元参数带限制问题,希望会的大家看看吧

a=1-|[(x1+x2+x3)-15x20^5]/((x1+x2+x3)+15x10^5)|^2 这样么?


f=@(x)1-abs((x(1)+x(2)+x(3)-15*10^5)/(x(1)+x(2)+x(3))+15*10^5)-x(4);
A=[];
b=[];
Aeq=[];
beq=[];
lb=[10,2,1,0.8];
ub=[20,10,1000,1];
nonlcon=[];
[x,fval]=ga(f,4,A,b,Aeq,beq,lb,ub,nonlcon);

遗传算法步长好像不太能固定,不过你可以通过选择交换的点位或者惩罚函数来修改option
https://zhuanlan.zhihu.com/p/405088153

我想想,朋友怎么肯定遗传算法解是最优解的呢?

img

img

img


img


是这一个类型吗