matlab遺傳算法工具箱實例


ycfun1.m:

%適應度函數
function y=ycfun1(x);%x為行向量
c1=[2 3 1];
c2=[3 1 0];
y=c1*x'+c2*x'.^2; 
y=-y; %因為非線性約束中求的是min,所以加“—”號

ycfun2.m:

%非線性約束
function [f,g]=ycfun2(x);%x為行向量
f=[x(1)+2*x(1)^2+x(2)+2*x(2)^2+x(3)-10
    x(1)+x(1)^2+x(2)+x(2)^2-x(3)-50
    2*x(1)+x(1)^2+2*x(2)+x(3)-40];
g=x(1)^2+x(3)-2

main.m:

clc,clear;
a=[-1 -2 0;-1 0 0];%線性約束
b=[-1;0];%線性約束
[x,y]=ga(@ycfun1,3,a,b,[],[],[],[],@ycfun2);
x,y=-y  %令y=-y,輸出x,y


免責聲明!

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



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