登录论坛

查看完整版本 : [MATLAB工具箱] 新手请教优化的结果与边界约束值一样,请问是什么原因


展翅翱翔3568
2019-06-16, 12:47
各位前辈好,我近日做一优化问题,打算先由遗传算法工具箱优化后的结果,作为初值,带入到fmincon函数中,我指定的边界约束分别是:400《x(1)《1200, 0《x(2)《1800

遗传算法工具箱优化后,x(2)值是1798。942
fmincon函数优化后 x(1)值正好是1200,与边界约束一样了
代码如下:
function f = gao_youhua(x)
f=2*1200*600*cos(20)/(1200+2*x(1))/sin(65);
end

function [c,ceq]= gao_con(x)
c(1)=-sin(20)*x(1)-600*sin(20);
c(2)=-x(2)+cos(20)*x(1)+650*cos(20);
c(3)=sqrt((600+x(1)*sin(60))^2+(x(2)-(600+x(1))*cos(60))^2)-sqrt((600+x(1)*sin(20))^2+(x(2)-(600+x(1))*cos(20)))*3;
ceq=[];
end

劳烦请各位前辈指教,非常感谢!