1. 程式人生 > >[matlab] 16.多約束非線性規劃 ga工具箱解決

[matlab] 16.多約束非線性規劃 ga工具箱解決

display pla onclick ide matlab 需要 解決 close indices

下面舉例說明如何運用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進行調參

[matlab] 16.多約束非線性規劃 ga工具箱解決