• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-02-12
  • 语言: Matlab
  • 标签: 果蝇  优化  

资源简介

果蝇优化算法的源程序,用于连续函数的优化,收敛精度较好

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%
% 果蝇优化算法求解极大值
%%%%%%%%%%%%%%%%%%%%%%


%清空
clc
clear

%随机初始果蝇群体位置
X_axis=10*rand();
Y_axis=10*rand();

%设置参数
maxgen=100; %迭代次数
sizepop=20; %种群规模

%种群寻优开始,利用嗅觉寻找食物
for i=1:sizepop
    
    %附与果蝇个体利用嗅觉搜寻食物之随机方向与距离
    X(i)=X_axis+2*rand()-1; 
    Y(i)=Y_axis+2*rand()-1; 
    
    %由于无法得知食物位置,因此先估计与原点之距离(Dist)再计算味道浓度判定值(S),此值为距离之倒数
    D(i)=(X(i)^2+Y(i)^2)^0.5;
    S(i)=1/D(i);
    
    %味道浓度判定值(S)代入味道浓度判定函数(或称为Fitness function)以求出该果蝇个体位置的味道浓度
    Smell(i)=3-S(i)^2; %************此处的味道函数为目标函数
    %*****************
    %Smell(i)=-5+S(i)^2;
end

%找出此果蝇群体中味道浓度最高的果蝇(求极大值)
[bestSmell bestindex]=max(Smell);
%***************
%找出此果蝇群体中味道浓度最低的果蝇(求极小值)
%[bestSmell bestindex]=min(Smell);

%保留最佳味道浓度值与xy坐标,此时果蝇群体利用视觉往该位置飞去
X_axis=X(bestinde

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2589  2012-01-02 16:18  FOA.m

----------- ---------  ---------- -----  ----

                 2589                    1


评论

共有 条评论