[matlab] 16.多約束非線性規划 ga工具箱解決 [帶不等式約束]


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM