【经济调度】基于蚁狮算法解决经济调度优化问题附matlab代码
1 简介
2 部分代码
%_________________________________________________________________________%
clc;
clear;
close all;
warning off;
% Change these details with respect to your problem%%%%%%%%%%%%%%
% This program solves the economic dispatch with Bmn coefficients by MOALO
% Algorithm
% The data matrix should have 5 columns of fuel cost coefficients and plant limits.
% 1.a ($/MW^2) 2. b $/MW 3. c ($) 4.lower lomit(MW) 5.Upper limit(MW)
%no of rows denote the no of plants(n)
data=[0.007 7 240 100 500
0.0095 10 200 50 200
0.009 8.5 220 80 300
0.009 11 200 50 150
0.008 10.5 220 50 200
0.0075 12 120 50 120];
% Loss coefficients it should be squarematrix of size nXn where n is the no
% of plants
B=1e-4*[0.14 0.17 0.15 0.19 0.26 0.22
0.17 0.6 0.13 0.16 0.15 0.2
0.15 0.13 0.65 0.17 0.24 0.19
0.19 0.16 0.17 0.71 0.3 0.25
0.26 0.15 0.24 0.3 0.69 0.32
0.22 0.2 0.19 0.25 0.32 0.85
];
% Demand (MW)
Pd=700;
ObjectiveFunction=@eldnba;
dim=length(data(:,1));;
lb=0;
ub=1;
obj_no=1;
if size(ub,2)==1
ub=ones(1,dim)*ub;
lb=ones(1,dim)*lb;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Initial parameters of the MODA algorithm
max_iter=100;
N=100;
ArchiveMaxSize=100;
Archive_X=zeros(100,dim);
Archive_F=ones(100,obj_no)*inf;
Archive_member_no=0;
r=(ub-lb)/2;
V_max=(ub(1)-lb(1))/10;
Elite_fitness=inf*ones(1,obj_no);
Elite_position=zeros(dim,1);
Ant_Position=initialization(N,dim,ub,lb);
fitness=zeros(N,2);
V=initialization(N,dim,ub,lb);
iter=0;
position_history=zeros(N,max_iter,dim);
for iter=1:max_iter
for i=1:N %Calculate all the objective values first
Particles_F(i,:)=ObjectiveFunction(Ant_Position(:,i)');
if dominates(Particles_F(i,:),Elite_fitness)
Elite_fitness=Particles_F(i,:);
Elite_position=Ant_Position(:,i);
end
end
[Archive_X, Archive_F, Archive_member_no]=UpdateArchive(Archive_X, Archive_F, Ant_Position, Particles_F, Archive_member_no);
if Archive_member_no>ArchiveMaxSize
Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
[Archive_X, Archive_F, Archive_mem_ranks, Archive_member_no]=HandleFullArchive(Archive_X, Archive_F, Archive_member_no, Archive_mem_ranks, ArchiveMaxSize);
else
Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
end
Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
% Chose the archive member in the least population area as arrtactor
% to improve coverage
index=RouletteWheelSelection(1./(Archive_mem_ranks+1e-20));
if index==-1
index=1;
end
Elite_fitness=Archive_F(index,:);
Elite_position=Archive_X(index,:)';
Random_antlion_fitness=Archive_F(1,:);
Random_antlion_position=Archive_X(1,:)';
for i=1:N
index=0;
neighbours_no=0;
RA=Random_walk_around_antlion(dim,max_iter,lb,ub, Random_antlion_position',iter);
[RE]=Random_walk_around_antlion(dim,max_iter,lb,ub, Elite_position',iter);
Ant_Position(:,i)=(RE(iter,:)'+RA(iter,:)')/2;
Flag4ub=Ant_Position(:,i)>ub';
Flag4lb=Ant_Position(:,i)<lb';
Ant_Position(:,i)=(Ant_Position(:,i).*(~(Flag4ub+Flag4lb)))+ub'.*Flag4ub+lb'.*Flag4lb;
end
display(['At the iteration ', num2str(iter), ' there are ', num2str(Archive_member_no), ' non-dominated solutions in the archive']);
K(iter)=Elite_fitness;
end
[F P Pl]=eldnba(Elite_position)
plot(K)
grid
title('Iteration vs Best Function Value');
xlabel('Iteration')
ylabel('Function Value')
3 仿真结果
4 参考文献
[1]彭暄惠, 陈才学, 熊志刚,等. 一种基于改进蚁狮算法的含电动汽车参与的微电网优化调度方法:.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
5 代码下载
【经济调度】基于蚁狮算法解决经济调度优化问题附matlab代码相关推荐
- 【智能优化算法-鲸鱼算法】基于鲸鱼算法求解多目标优化问题附matlab代码(NSWOA)
1 内容介绍 为了解决多目标优化的相关问题,鲸鱼优化算法结合多目标相关理论,并在算法中加入了非排序思路,提出了一种求解多目标问题的鲸鱼优化算法. 2 仿真代码 %% Non Sorted Whale ...
- 【智能优化算法】基于蜉蝣算法求解多目标优化问题附matlab代码
1 内容介绍 本文介绍了一种称为 Mayfly 算法 (MA) 的新方法来解决优化问题. 受蜉蝣飞行行为和交配过程的启发,该算法结合了群体智能和进化算法的主要优点.为了评估所提出算法的性能,使用了 3 ...
- 【智能优化算法】基于免疫算法求解单目标优化问题附matlab代码
1 简介 自Farmer在1986年提出免疫机理可以在机器学习等工程问题中得到应用之后,相关人员就一直在探索免疫机理在工程实际中的应用技术.而De Castro等完善了算法结构和算法模型后,更为人工免 ...
- 【智能优化算法-闪电算法】基于闪电算法求解多目标优化问题附matlab代码
1 内容介绍 闪电连接过程算法( Lightning Attachment Procedure Optimization,LAPO)是受自然界中闪电上迎先导与下行先导连接过程的启发,于2017年提出的 ...
- 【智能优化算法】基于黑猩猩算法求解多目标优化问题附matlab代码
1 内容介绍 tled attacker, barrier, chaser, and driver are employed for simulating the diverse intelligen ...
- 【智能优化算法】基于凌日算法求解单目标优化问题附matlab代码Transit Search Optimization Algorithm
- 【智能优化算法】基于矮猫鼬优化算法求解单目标优化问题附matlab代码
1 简介 基于矮猫鼬优化算法求解单目标优化问题 2 部分代码 %___________________________________________________________________ ...
- 【智能优化算法】基于粒子群结合NSGA2算法求解多目标优化问题附Matlab代码
1 内容介绍 为解决高度复杂的热电联合经济排放调度问题,本研究提出了一种将非支配排序遗传算法II和多目标粒子群优化算法相结合的协同混合元启发式算法,以经济地运行电力系统并减少环境污染的影响. .在迭代 ...
- 【智能优化算法-白鲸算法】基于白鲸优化算法求解多目标优化问题附matlab代码
1 内容介绍 在本文中,一种新的基于群体的元启发式算法灵感来自白鲸的行为鲸鱼,称为白鲸优化(BWO),是为了解决优化问题而提出的.三在 BWO 中建立了探索.开发和鲸落的阶段,对应于成对游泳.猎物和鲸 ...
最新文章
- java桌游设计,java毕业设计_springboot框架的桌游吧管理
- pyqt QGridLayout示例
- 《DSP using MATLAB》Problem 6.12
- php查询字段的总和,ThinkPHP 多表查询-如其字段A相同,则把字段B相加
- 要来了!国内安卓统一推送标准将于3月开启测试
- 计算机一级ftp协议传输,文件传输协议(FTP)必将消亡
- 拿下最佳论文、世界第一,这个团队过去一年真的牛
- 二进制转bcd码c语言程序,微机课设求助 BCD码转换为二进制
- archlinux i3wm通知管理
- 官网下载JAVA9,jdk9-jdk9下载 v9.0.4官方版下载-javaweb下载站
- XRecyclerView+Retrofit+RXjava+Fresco请求网络数据
- php open_basedir绕过,PHP绕过open_basedir列目录的研究
- 做好大型项目的五个关键
- win7无法打开计算机共享文件夹,Win7共享文件夹无法访问怎么办?Win7共享文件夹无法访问解决方法...
- 【HTTP】协议格式、请求
- 使用 Web3.js 进行 Matic 测试网上链操作
- 计算机专业知识技能名词,学习计算机知识必须知道的50个专业术语
- 美团java后台面经
- 一种自动反射消息类型的 Google Protobuf 网络传输方案
- java实现老鼠迷宫游戏