✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,

代码获取、论文复现及科研仿真合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab完整代码及仿真定制内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

🔥 内容介绍

混合进化方法结合了从不同进化计算技术中提取的方法来构建单一优化方法。此类系统的设计代表了进化优化文献中的当前趋势。在混合算法中,目标是扩展集成方法的潜在优势并消除其主要缺点。在此实现中,提出了一种解决优化问题的混合方法。所提出的方法结合了(A)侵入性杂草优化方法的探索性特征,(B)估计分布算法的概率模型和(C)混合高斯-柯西分布的分散能力,以产生自己的搜索策略。有了这些机制,该方法根据概率模型和现有解的适应度值对值得特别关注的搜索区域进行优化策略。在所提出的方法中,种群中的每个个体在其自身位置周围生成新元素,并根据混合分布进行分散。新元素的数量取决于个体相对于整个种群的相对适应度值。在此过程之后,由(a)新元素和(b)原始个体从集合化合物中选择一组有前途的解决方案。根据选定的解决方案,建立一个概率模型,从中抽取一定数量的成员 (c)。然后,集合(a)、(b)和(c)中的所有个体被加入到一个组中,并根据它们的适应度值进行排名。最后,选择群体中最好的元素来替代原来的群体。重复该过程直到达到终止标准。为了测试我们方法的性能,我们与其他著名的元启发式方法进行了一些比较。比较包括分析统计框架内不同标准基准函数的优化结果。基于比较的结论展示了所提出方法的准确性、效率和稳健性。比较包括分析统计框架内不同标准基准函数的优化结果。基于比较的结论展示了所提出方法的准确性、效率和稳健性。比较包括分析统计框架内不同标准基准函数的优化结果。基于比较的结论展示了所提出方法的准确性、效率和稳健性。

📣 部分代码

function [BestFitt, BestCosts,BestSolu,GY] =IWO(CostFunction,nPop,nVar,MaxIt,VarMin,VarMax)
%    
VarSize = [1 nVar]; % Decision Variables Matrix Size
VarSize = [1 nVar]; % Decision Variables Matrix Size

%% IWO Parameters
nPop0 = 10;     % Initial Population Size
Smin = 0;       % Minimum Number of Seeds
Smax = 5;       % Maximum Number of Seeds

Exponent = 2;           % Variance Reduction Exponent
sigma_initial = 0.5;    % Initial Value of Standard Deviation
sigma_final = 0.001;  % Final Value of Standard Deviation

%% Initialization

% Empty Plant Structure
empty_plant.Position = [];
empty_plant.Cost = [];

pop = repmat(empty_plant, nPop0, 1);    % Initial Population Array


for i = 1:numel(pop)
    
    % Initialize Position
    pop(i).Position = unifrnd(VarMin, VarMax, VarSize);
    
    % Evaluation
    pop(i).Cost = CostFunction(pop(i).Position);
    
end

% Initialize Best Cost History
BestCosts = zeros(MaxIt, 1);

%---------------------------
GY=ones(1,(nPop*MaxIt)+1);
GY(1)=pop(1).Cost; %reference to compare
fcl=1;
%------------

%% IWO Main Loop

for it = 1:MaxIt
    
    % Update Standard Deviation
    sigma = ((MaxIt - it)/(MaxIt - 1))^Exponent * (sigma_initial - sigma_final) + sigma_final;
    
    % Get Best and Worst Cost Values
    Costs = [pop.Cost];
    BestCost = min(Costs);
    WorstCost = max(Costs);
    
    % Initialize Offsprings Population
    newpop = [];
    
    % Reproduction
    for i = 1:numel(pop)
        
        ratio = (pop(i).Cost - WorstCost)/(BestCost - WorstCost);
        S = floor(Smin + (Smax - Smin)*ratio);
        
        for j = 1:S
            
            % Initialize Offspring
            newsol = empty_plant;
            
            % Generate Random Location
            newsol.Position = pop(i).Position + sigma * randn(VarSize);
            
            % Apply Lower/Upper Bounds
            newsol.Position = max(newsol.Position, VarMin);
            newsol.Position = min(newsol.Position, VarMax);
            
            % Evaluate Offsring
            newsol.Cost = CostFunction(newsol.Position);

                    if newsol.Cost < GY(fcl)
                        GY(fcl+1)=newsol.Cost;%if beter update
                    else
                        if fcl>=1            
                        GY(fcl+1)=GY(fcl);%otherwise last better
                        end                        
                    end
                    fcl=fcl+1;%CallFnctio counter
            
            % Add Offpsring to the Population
            
            newpop = [newpop
                           newsol];  %#ok

            
        end
        
    end
    
    % Merge Populations
   
    pop = [pop
     newpop];
    
    % Sort Population
    [~, SortOrder]=sort([pop.Cost]);
    pop = pop(SortOrder);

    % Competitive Exclusion (Delete Extra Members)
    if numel(pop)>nPop
        pop = pop(1:nPop);
    end
    
    % Store Best Solution Ever Found
    BestSol = pop(1);
    
    % Store Best Cost History
    BestCosts(it) = BestSol.Cost;
    
    % Display Iteration Information
    disp(['Iteration ' num2str(it) ': Best Cost = ' num2str(BestCosts(it))]);
    
end


BestSolu=BestSol.Position;
BestFitt=BestCosts(it);
%% Results

end

⛳️ 运行结果

【智能优化算法】侵入性杂草优化算法附matlab代码_布局优化

【智能优化算法】侵入性杂草优化算法附matlab代码_布局优化_02

【智能优化算法】侵入性杂草优化算法附matlab代码_路径规划_03

🔗 参考文献

Cuevas, E., Rodríguez, A., Valdivia, A. et al. A hybrid evolutionary approach based on the invasive weed optimization and estimation distribution algorithms. Soft Computing (2019), In press.

https://link.springer.com/article/10.1007/s00500-019-03902-x

🎈 部分理论引用网络文献,若有侵权联系博主删除
🎁  关注我领取海量matlab电子书和数学建模资料

👇  私信完整代码、论文复现、期刊合作、论文辅导及科研仿真定制

1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面

卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

2.图像处理方面

图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

3 路径规划方面

旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

4 无人机应用方面

无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化

5 无线传感器定位及布局方面

传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

6 信号处理方面

信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

7 电力系统方面

微电网优化、无功优化、配电网重构、储能配置

8 元胞自动机方面

交通流 人群疏散 病毒扩散 晶体生长

9 雷达方面

卡尔曼滤波跟踪、航迹关联、航迹融合