基于GA遗传优化的flog任务调度算法matlab仿真
目录
1.算法仿真效果
2.MATLAB核心程序
3.算法涉及理论知识概要
4.完整MATLAB
1.算法仿真效果
matlab2022a仿真结果如下:
2.MATLAB核心程序
....................................................
%GA
MaxIt = 60; % 最大迭代次数
nPop = 50; % 人口规模
pc = 0.8; % 交叉百分比
nc = 2*round(pc*nPop/2); % 子代数量(也包括Parnets)
pm = 0.4; % 突变百分比
nm = round(pm*nPop); % 突变体数量
mu = 0.05; % 突变率
UseRandomSelection =true;
pause(0.01);
Best_Orchestration=[];
%初始化
for step=1:1S=CreatTask(S,1);for i=1:length(S)Tasks(i)=S{i}.Tasks;endempty_individual.Position = [];empty_individual.Cost = [];pop = repmat(empty_individual, nPop, 1);for i = 1:nPop%初始化位置pop(i).Position = randerr(SensorNum,FogNum)';%评价pop(i).Cost = NetworkModel(pop(i).Position,S,F,Tasks); end%排序填充Costs = [pop.Cost];[Costs, SortOrder] = sort(Costs,'descend');pop = pop(SortOrder);%存储最佳解决方案BestSol = pop(1);%保持最佳成本值的阵列BestCost = zeros(MaxIt, 1);%成本WorstCost = pop(end).Cost;for it = 1:MaxItit% Crossoverpopc = repmat(empty_individual, nc/2, 2);for k = 1:nc/2i1 = randi([1 nPop]);i2 = randi([1 nPop]);% Selectp1 = pop(i1);p2 = pop(i2);% Perform Crossover[popc(k, 1).Position, popc(k, 2).Position] =MyCrossOver(p1.Position, p2.Position);% Evaluate Offspringspopc(k, 1).Cost = NetworkModel(popc(k,1).Position,S,F);popc(k, 2).Cost = NetworkModel(popc(k,2).Position,S,F);endpopc = popc(:);
...........................................................................% Create Merged Populationpop = [poppopcpopm]; %#ok% Sort PopulationCosts = [pop.Cost];[Costs, SortOrder] = sort(Costs,'descend');pop = pop(SortOrder);% Update Worst CostWorstCost = max(WorstCost, pop(end).Cost);% Truncationpop = pop(1:nPop);Costs = Costs(1:nPop);BestSol = pop(1);BestCost(it) = BestSol.Cost;end%Results[cost_func,total_cost(step),make_span(step),total_distance(step)]=NetworkModel(BestSol.Position,S,F)[rx,cx] = size(BestSol.Position);Best_Nodes_For_Tasks = ChromosomeEncoding(BestSol.Position,rx,cx);Best_Orchestration(step,:)= Best_Nodes_For_Tasks;PlotFogCluser(F,S,Best_Nodes_For_Tasks,step);figure;plot(BestCost,'-bs',...'LineWidth',2,...'MarkerSize',8,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.0,0.9,0.0]);xlabel('Iteration');ylabel('Cost');title(['Cost function for task: ',num2str(step)])
end
A327
3.算法涉及理论知识概要
遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉,变异过程产生更适应环境的新一代“染色体”群。这样,一代一代地进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。
其主要步骤如下:
1.初始化
选择一个群体,即选择一个串或个体的集合bi,i=1,2,...n。这个初始的群体也就是问题假设解的集合。一般取n=30-160。
通常以随机方法产生串或个体的集合bi,i=1,2,...n。问题的最优解将通过这些初始假设解进化而求出。
2.选择
根据适者生存原则选择下一代的个体。在选择时,以适应度为选择原则。适应度准则体现了适者生存,不适应者淘汰的自然法则。
给出目标函数f,则f(bi)称为个体bi的适应度。以
为选中bi为下一代个体的次数。
显然.从式(3—86)可知:
(1)适应度较高的个体,繁殖下一代的数目较多。
(2)适应度较小的个体,繁殖下一代的数目较少;甚至被淘汰。
这样,就产生了对环境适应能力较强的后代。对于问题求解角度来讲,就是选择出和最优解较接近的中间解。
3.交叉
对于选中用于繁殖下一代的个体,随机地选择两个个体的相同位置,按交叉概率P。在选中的位置实行交换。这个过程反映了随机信息交换;目的在于产生新的基因组合,也即产生新的个体。交叉时,可实行单点交叉或多点交叉。
4.完整MATLAB
V
基于GA遗传优化的flog任务调度算法matlab仿真相关推荐
- 模糊聚类FCM算法和基于GA遗传优化的FCM聚类算法matlab仿真
目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 在各种糊聚类算法中 ,模糊C -均值聚类算法FCM (FuzzyC MeanClusteri ...
- 【MATLAB教程案例12】基于GA遗传优化算法的函数极值计算matlab仿真及其他应用
FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...
- m基于GA遗传优化算法的认知中继网络最优中继功率分配和最佳中继节点选择算法matlab仿真
目录 1.算法概述 2.仿真效果预览 3.核心MATLAB代码预览 4.完整MATLAB程序 1.算法概述 如图1表示一个潜伏式认知中继网络,在这个场景中有一对主用户和一对次级用户,主用户由一个发射器 ...
- m基于GA遗传优化+SA模拟退火的混合改进算法的多产品多机器生产优化matlab仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 这里,我们首先介绍一下改进算法的基本原理,按照前面说的,这里我们主要将GA和SA进行合并. 这里,我 ...
- m基于GA遗传优化算法的陆基制导系统地面站布设策略matlab仿真,并输出GDOP值
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 遗传算法的起源可追溯到20世纪60年代初期.1967年,美国密歇根大学J. Holland教授的学生 ...
- m基于GA遗传优化的GRNN广义回归神经网络销售数据预测算法matlab仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 随着市场经济的发展和全球化,国内外企业面临着越来越残酷的市场竞争,要想赢得竞争,赢得市场,从事商品销 ...
- 【ISAR成像定标方法(3)—基于SGP4模型的空间目标定标方法MATLAB仿真】
目录 前提介绍 基于SGP4模型的转速估计 基于SGP4模型的空间目标定标仿真实验 结语 前提介绍 本章内容简介:本文研究了使用双行轨道报和SGP4模型估计空间LEO目标位置信息,并根据几何关系推测目 ...
- 【图像分割】基于麻雀算法优化Kmeans实现图像分割附Matlab代码
1 内容介绍 提出一种基于K-Means聚类的麻雀算法,该算法利用麻雀算法鲁棒性较强且不易陷入局部最优值的特点,动态的确定了聚类的数目和中心,解决了K-Means聚类初始点选择不稳定的缺陷,在此两种算 ...
- 【预测模型-ELM预测】基于麻雀算法优化极限学习机预测附matlab代码
1 内容介绍 一种基于麻雀搜索算法优化极限学习机的风电功率预测方法,具体包括如下步骤:步骤1,确定影响风电功率的主导影响因子:步骤2,构建麻雀搜索算法优化核极限学习机预测模型,通过该模型对风电功率进行 ...
最新文章
- MongoDB获得短暂的
- mysql model only_full_group_by_MySql版本问题sql_mode=only_full_group_by的完美解决方案
- Gym 101221I [WF2014]Sensor Network (二分图匹配)
- impala和python_Impala和Hive之间有什么关系?
- C++入门指南及实战 第三步 基本变量
- Oracle发布更新使数据库性能优化达到75%
- 实例43:python
- php _invoke 闭包,PHP新特性之闭包、匿名函数
- latex subfigure_latex-图片插入
- 关于vmkd加速内核调试
- mysql中profile的使用
- django模型_Django模型
- linux firefox严重卡顿,Firefox火狐浏览器出现卡顿崩溃等问题的解决方法
- 顺序问题,母版页和内容页
- LeetCode844-比较含退格的字符串
- Linux 用着太爽啦!!!
- 【java】String.split方法limit详解
- 人工智能算法在自动驾驶中的应用
- ensp模拟器下简单ospf配置
- javascript制作省市联动等类似二级目录
热门文章
- python+停车管理系统 毕业设计-附源码271400
- 尝试cartographer中使用scan和odom来建图,失败(可能实验室的中继机器人odom有问题)总结
- QDialog的 透明背景 或者其他
- 葵花宝典(关于数据库面试题)
- 经典的SDR算法: 用半正定松弛法 ( Semidefinite Relaxation) 求解二次优化问题
- 网络运维工程师(Linux)这个职位发展前景怎么样?
- html 兼容ie11,前端开发中在IE11下出现的一些兼容性问题(持续汇总)
- cryp:x:未分类的记录
- [悦读] 《敏捷项目管理—快速交付创新产品》(第2版)读书笔记
- 运行maven项目,运行报错Caused by: java.lang.ClassCastException: java.Interger cannot be cast to java.String