m云计算任务调度优化matlab仿真,输出成本,时间,负荷优化结果,对比ACO,PSO,WOA三种优化算法

简介: m云计算任务调度优化matlab仿真,输出成本,时间,负荷优化结果,对比ACO,PSO,WOA三种优化算法

1.算法描述

   鲸鱼算法(Whale Optimization Algorithm,WOA)[1]。鲸鱼优化算法(WOA)是 2016 年由澳大利亚格里菲斯大学的 Mirjalili 等提出的一种新的群体智能优化算法,因算法简练易于实现,且对目标函数条件要求宽松,参数控制较少等种种优点受到一批又一批学者的亲睐,且经过不断的改进WOA已应用于许多领域。WOA算法设计的既精妙又富有特色,它源于对自然界中座头鲸群体狩猎行为的模拟, 通过鲸鱼群体搜索、包围、追捕和攻击猎物等过程实现优时化搜索的目的。在原始的WOA中,提供了包围猎物,螺旋气泡、寻找猎物的数学模型。

image.png

   WOA算法的初始阶段中,座头鲸并不知道食物所在的位置,他们都是通过群体合作来获得食物的位置信息,因此,距离食物最近的鲸鱼相当于当前的一个局部最优解,其他鲸鱼个体都会朝这个位置靠近,从而逐步包围食物,因此使用下列的数学模型表示:

image.png

2.2气泡攻击

本阶段模仿座头鲸进行气泡攻击,通过收缩包围和螺旋更新位置来设计鲸鱼捕食吐出气泡的行为,从而达到鲸鱼局部寻优的目的。

(1)螺旋更新位置

座头鲸个体首先计算与当前最优鲸鱼的距离,然后再以螺旋方式游走,在进行食物的搜索时候,螺旋游走方式的数学模型为:

image.png

2.3寻觅食物阶段

   座头鲸通过控制|A|向量游走获取食物,当|A|>1的时候,座头鲸个体向着参考座头鲸的位置靠近,鲸鱼个体朝着随机选取的座头鲸更新位置,这种方式保证了座头鲸个体能够进行全局搜索,获得全局最优解,其数学模型表示如下:

4.png
5.png

优化目标函数概述:

优化目标函数做如下的设计:

image.png

即成本,时间,负荷

7.png
8.png

2.仿真效果预览
matlab2022a仿真如下:

9.png
10.png
11.png
12.png

3.MATLAB核心程序

Iters        = 200; %迭代次数
D            = M*N; %搜索空间维数
woa_idx      = zeros(1,D);
woa_get      = inf; 
 
%初始化种群的个体
for i=1:Num
    for j=1:D
        xwoa(i,j)=randn; %随机初始化位置
    end
end 
 
 
for t=1:Iters
    t
    for i=1:Num
        %目标函数更新
        [pa(i),pa1(i),pa2(i),pa3(i)]  = fitness(xwoa(i,:));
        Fitout                        = pa(i);
        %更新
        if Fitout < woa_get  
            woa_get = Fitout; 
            woa_idx = xwoa(i,:);
        end
    end
    %调整参数
    c1 = 2-t*((1)/300); 
    c2 =-1+t*((-1)/300);
    %位置更新
    for i=1:Num
        r1         = rand();
        r2         = rand();
        K1         = 2*c1*r1-c1;  
        K2         = 2*r2;             
        l          =(c2-1)*rand + 1;  
        rand_flag  = rand();   
        
        for j=1:D
            if rand_flag<0.5   
               if abs(K1)>=1
                  RLidx    = floor(Num*rand()+1);
                  X_rand   = xwoa(RLidx, :);
                  D_X_rand = abs(K2*X_rand(j)-xwoa(i,j)); 
                  xwoa(i,j)= X_rand(j)-K1*D_X_rand;     
               else
                  D_Leader = abs(K2*woa_idx(j)-xwoa(i,j)); 
                  xwoa(i,j)= woa_idx(j)-K1*D_Leader;    
               end
            else
                distLeader = abs(woa_idx(j)-xwoa(i,j));
                xwoa(i,j)  = distLeader*exp(6*l).*cos(l.*2*pi)+woa_idx(j);
            end
        end
    end
    [pb,pb1,pb2,pb3]  = fitness(woa_idx);
    Pbest(t)  = pb;
    Pbest1(t) = pb1;
    Pbest2(t) = pb2;
    Pbest3(t) = pb3;
end
 
 
 
figure;
subplot(221);
plot(Pbest,'b');
legend('加权收敛目标');
grid on
%输出三个指标的收敛曲线
subplot(222);
plot(Pbest1,'b');
legend('归一化成本值');
grid on
subplot(223);
plot(Pbest2,'b');
legend('归一化时间值');
grid on
subplot(224);
plot(Pbest3,'b');
legend('归一化负荷值');
grid on
 
 
%输出调度结果
[aij,fobj,fobj1,fobj2,fobj3] = fitness_results(woa_idx);
 
%显示各个资源的三个指标的利用率
%处理能力利用率
for i = 1:M
    tmps = aij(:,i);
    indx = find(tmps==1);
    SE(i)= sum(Et(indx))/En(i);
end
%内存利用率
for i = 1:M
    tmps = aij(:,i);
    indx = find(tmps==1);
    SS(i)= sum(St(indx))/Sn(i);
end
%带宽利用率
for i = 1:M
    tmps = aij(:,i);
    indx = find(tmps==1);
    SC(i)= sum(Ct(indx))/Cn(i);
end
 
02_056m
相关文章
|
1天前
|
算法
基于GA遗传优化的混合发电系统优化配置算法matlab仿真
**摘要:** 该研究利用遗传算法(GA)对混合发电系统进行优化配置,旨在最小化风能、太阳能及电池储能的成本并提升系统性能。MATLAB 2022a用于实现这一算法。仿真结果展示了一系列图表,包括总成本随代数变化、最佳适应度随代数变化,以及不同数据的分布情况,如负荷、风速、太阳辐射、弃电、缺电和电池状态等。此外,代码示例展示了如何运用GA求解,并绘制了发电单元的功率输出和年变化。该系统原理基于GA的自然选择和遗传原理,通过染色体编码、初始种群生成、适应度函数、选择、交叉和变异操作来寻找最优容量配置,以平衡成本、效率和可靠性。
|
1天前
|
存储 算法
基于布谷鸟搜索的多目标优化matlab仿真
该程序运用布谷鸟搜索算法进行多目标优化,设置三个目标函数,生成三维优化曲面和收敛曲线。在MATLAB2022a中运行,显示了迭代过程中的优化结果图。算法基于布谷鸟的寄生繁殖和列维飞行行为,通过非支配排序和拥挤度计算处理多目标问题。迭代中,新解不断被评估、更新并加入帕累托前沿,最终输出帕累托前沿作为最优解集。
|
2天前
|
机器学习/深度学习 算法
基于鲸鱼优化的knn分类特征选择算法matlab仿真
**基于WOA的KNN特征选择算法摘要** 该研究提出了一种融合鲸鱼优化算法(WOA)与K近邻(KNN)分类器的特征选择方法,旨在提升KNN的分类精度。在MATLAB2022a中实现,WOA负责优化特征子集,通过模拟鲸鱼捕食行为的螺旋式和包围策略搜索最佳特征。KNN则用于评估特征子集的性能。算法流程包括WOA参数初始化、特征二进制编码、适应度函数定义(以分类准确率为基准)、WOA迭代搜索及最优解输出。该方法有效地结合了启发式搜索与机器学习,优化特征选择,提高分类性能。
|
1天前
|
机器学习/深度学习 算法 固态存储
m基于深度学习的卫星遥感图像轮船检测系统matlab仿真,带GUI操作界面
在MATLAB 2022a中,使用GoogLeNet对卫星遥感图像进行轮船检测,展示了高效的目标识别。GoogLeNet的Inception架构结合全局平均池化增强模型泛化性。核心代码将图像切块并分类,预测为轮船的部分被突出显示,体现了深度学习在复杂场景检测中的应用。
20 8
支路电气介数的matlab仿真,并对比HVDC,FACTS-TCSC,FACTS-UPFC
**摘要:** 研究了MATLAB中支路电气介数的仿真,对比了HVDC、FACTS-TCSC和FACTS-UPFC的影响。通过在不同线路应用这些模型,分析电气介数的分布。仿真结果显示,节点/支路的电气介数符合幂律分布,揭示关键节点和支路。使用MATLAB2022a进行计算,核心程序涉及电力系统图论分析。电气介数衡量支路在功率传输中的重要性,高介数支路对系统稳定至关重要。计算流程包括节点和支路介数的特定公式,并附有计算流程图。
|
17小时前
|
算法 计算机视觉
基于Chan-Vese算法的图像边缘提取matlab仿真
**算法预览展示了4幅图像,从边缘检测到最终分割,体现了在matlab2022a中应用的Chan-Vese水平集迭代过程。核心代码段用于更新水平集并显示迭代效果,最后生成分割结果及误差曲线。Chan-Vese模型(2001)是图像分割的经典方法,通过最小化能量函数自动检测平滑区域和清晰边界的图像分割,适用于复杂环境,广泛应用于医学影像和机器视觉。**
|
17小时前
|
算法
基于极大似然法和最小二乘法系统参数辨识matlab仿真,包含GUI界面
该程序对比了基于极大似然法和最小二乘法的系统参数辨识,输出辨识收敛曲线和误差。在MATLAB2022a中运行,显示了测试结果。核心代码涉及矩阵运算和循环,用于更新和计算系统参数。算法原理部分解释了辨识的目的是建立数学模型,并介绍了极大似然法(基于概率统计)和最小二乘法(基于误差平方和最小化)两种方法。
|
4天前
|
传感器 算法
ANC主动降噪理论及Matlab代码实现
ANC主动降噪理论及Matlab代码实现
|
1月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)