溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MatLab中二元函數(shù)如何優(yōu)化

發(fā)布時(shí)間:2021-12-28 17:27:47 來源:億速云 閱讀:429 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)MatLab中二元函數(shù)如何優(yōu)化的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

clc
clear 
close all
tic
figure(1);
fun_plot;
hold on
%% 參數(shù)設(shè)置
fishnum=100; %生成100只人工魚
MAXGEN=50; %最多迭代次數(shù)
try_number=100;%最多試探次數(shù)
visual=1; %感知距離
delta=0.618; %擁擠度因子
step=0.1; %步長
%% 初始化魚群
lb_ub=[-10,10,2;];
X=AF_init(fishnum,lb_ub);
LBUB=[];
for i=1:size(lb_ub,1)
    LBUB=[LBUB;repmat(lb_ub(i,1:2),lb_ub(i,3),1)];
end
gen=1;
BestY=-1*ones(1,MAXGEN); %每步中最優(yōu)的函數(shù)值
BestX=-1*ones(2,MAXGEN); %每步中最優(yōu)的自變量
besty=-100; %最優(yōu)函數(shù)值
Y=AF_foodconsistence(X);
while gen<=MAXGEN
    for i=1:fishnum
        %% 聚群行為      [Xi1,Yi1]=AF_swarm(X,i,visual,step,delta,try_number,LBUB,Y);     
         %% 追尾行為      [Xi2,Yi2]=AF_follow(X,i,visual,step,delta,try_number,LBUB,Y);    
        if Yi1>Yi2
            X(:,i)=Xi1;
            Y(1,i)=Yi1;
        else
            X(:,i)=Xi2;
            Y(1,i)=Yi2;
        end
    end
    [Ymax,index]=max(Y);
    figure(1);
    plot3(X(1,index),X(2,index),Y(index),'.','color',[gen/MAXGEN,0,0])
    if Ymax>besty
        besty=Ymax;
        bestx=X(:,index);
        BestY(gen)=Ymax;
        [BestX(:,gen)]=X(:,index);
    else
        BestY(gen)=BestY(gen-1);
        [BestX(:,gen)]=BestX(:,gen-1);
    end
    gen=gen+1;
end
plot3(bestx(1),bestx(2),AF_foodconsistence([bestx(1);bestx(2)]),'ro','MarkerSize',10)
xlabel('x')
ylabel('y')
title('魚群算法迭代過程中最優(yōu)坐標(biāo)移動(dòng)')
MatLab中二元函數(shù)如何優(yōu)化  
%% 優(yōu)化過程圖      
   
figure
plot(1:MAXGEN,BestY)
xlabel('迭代次數(shù)')
ylabel('優(yōu)化值')
title('魚群算法迭代過程')
disp(['最優(yōu)解X:',num2str(bestx','%1.5f')])
disp(['最優(yōu)解Y:',num2str(besty,'%1.5f')])
MatLab中二元函數(shù)如何優(yōu)化  
toc

感謝各位的閱讀!關(guān)于“MatLab中二元函數(shù)如何優(yōu)化”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI