【优化算法】吉萨金字塔建造优化算法(GPC)【含Matlab源码 1438期】
一、获取代码方式
获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
获取代码方式2:
完整代码已上传我的资源:【优化算法】吉萨金字塔建造优化算法(GPC)【含Matlab源码 1438期】
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、部分源代码
% Giza Pyramids Construction (GPC) Algorithm
%
%
% -------------------------------------------------clc;
clear;
close all;%% Problem Definition
CostFunction=@(x) Sphere(x); % Cost FunctionnVar=30; % Number of Decision VariablesVarSize=[1 nVar]; % Decision Variables Matrix SizeVarMin=-5.12; % Decision Variables Lower Bound
VarMax= 5.12; % Decision Variables Upper Bound%% Giza Pyramids Construction (GPC) ParametersMaxIteration=1000; % Maximum Number of Iterations (Days of work)nPop=20; % Number of workersG = 9.8; % Gravity
Tetha = 14; % Angle of Ramp
MuMin = 1; % Minimum Friction
MuMax = 10; % Maximum Friction
pSS= 0.5; % Substitution Probability%% Initialization
% Empty Stones Structure
stone.Position=[];
stone.Cost=[];% Initialize Population Array
pop=repmat(stone,nPop,1);% Initialize Best Solution Ever Found
best_worker.Cost=inf;% Create Initial Stones
for i=1:nPoppop(i).Position=unifrnd(VarMin,VarMax,VarSize);pop(i).Cost=CostFunction(pop(i).Position);if pop(i).Cost<=best_worker.Costbest_worker=pop(i); % as Pharaoh's special agentend
end% Array to Hold Best Cost Values
BestCost=zeros(MaxIteration,1);%% Giza Pyramids Construction (GPC) Algorithm Main Loop
for it=1:MaxIterationnewpop=repmat(stone,nPop,1);for i=1:nPopnewpop(i).Cost = inf;V0= rand(1,1); % Initial Velocity Mu= MuMin+(MuMax-MuMin)*rand(1,1); % Frictiond = (V0^2)/((2*G)*(sind(Tetha)+(Mu*cosd(Tetha)))); % Stone Destinationx = (V0^2)/((2*G)*(sind(Tetha))); % Worker Movementepsilon=unifrnd(-((VarMax-VarMin)/2),((VarMax-VarMin)/2),VarSize); % Epsilonnewsol.Position = (pop(i).Position+d).*(x*epsilon); % Position of Stone and Worker% newsol.Position = (pop(i).Position+d)+(x*epsilon); % Note: In some cases or some problems use this instead of the previous line to get better resultsnewsol.Position=max(newsol.Position,VarMin);newsol.Position=min(newsol.Position,VarMax);% Substitutionz=zeros(size(pop(i).Position));k0=randi([1 numel(pop(i).Position)]);for k=1:numel(pop(i).Position)if k==k0 || rand<=pSSz(k)=newsol.Position(k);elsez(k)=pop(i).Position(k);endendnewsol.Position=z;newsol.Cost=CostFunction(newsol.Position);if newsol.Cost <= newpop(i).Costnewpop(i) = newsol;if newpop(i).Cost<=best_worker.Costbest_worker=newpop(i);endendend% Mergepop=[pop newpop]; %#ok% Sort[~, SortOrder]=sort([pop.Cost]);pop=pop(SortOrder);% Truncatepop=pop(1:nPop);% Store Best Cost Ever FoundBestCost(it)=pop(1).Cost;% Show Iteration Informationdisp(['It:' num2str(it) ', Cost => ' num2str(BestCost(it))]);
endfigure;
%plot(BestCost,'LineWidth',2);
semilogy(BestCost,'LineWidth',2);
xlabel('Iteration');
ylabel('Best Cost');
%grid on;
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
【优化算法】吉萨金字塔建造优化算法(GPC)【含Matlab源码 1438期】相关推荐
- 【微电网优化】基于matlab粒子群算法求解综合能源系统优化问题【含Matlab源码 1969期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[微电网优化]基于matlab粒子群算法求解综合能源系统优化问题[含Matlab源码 1969期] 点击上面蓝色字体,直接付费下载,即可. ...
- 【优化布局】基于matlab免疫算法求解充电站最优布局【含Matlab源码 2539期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[生产调度]基于matlab免疫算法求解生产调度零等待问题[含Matlab源码 1178期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...
- 【数字信号去噪】基于matlab粒子群算法优化VMD分解分量选择数字信号降噪【含Matlab源码 1979期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数字信号去噪]基于matlab粒子群算法优化VMD分解分量选择数字信号降噪[含Matlab源码 1979期] 点击上面蓝色字体,直接付费 ...
- 【优化布局】免疫算法求解充电站最优布局【含Matlab源码 2539期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[生产调度]基于matlab免疫算法求解生产调度零等待问题[含Matlab源码 1178期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...
- 【雷达通信】基于matlab NCP算法SAR回波生成和成像【含Matlab源码 1185期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab NCP算法SAR回波生成和成像[含Matlab源码 1185期] 点击上面蓝色字体,直接付费下载,即可. 获 ...
- 【配送路径规划】蚁群算法求解配送路径最短问题【含Matlab源码 2222期】
⛄一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简 ...
- 【配送路径规划】基于matlab蚁群算法求解配送路径最短问题【含Matlab源码 2222期】
⛄一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简 ...
- 【PSO三维路径规划】基于matlab粒子群算法融合鸡群算法多无人机三维路径规划【含Matlab源码 1792期】
一.无人机简介 无人机的航迹规划是指在综合考虑无人机飞行油耗.威胁.飞行区域以及自身物理条件限制等因素的前提下, 为飞行器在飞行区域内规划出从初始点到目标点最优或者满意的飞行航迹, 其本质是一个多约束 ...
- 【栅格地图路径规划】基于matlab D星和D星_Lite算法机器人栅格地图路径规划【含Matlab源码 2530期】
⛄一.简介 "D*算法"的名称源自 Dynamic A Star,最初由Anthony Stentz于"Optimal and Efficient Path Planni ...
- 【PSO三维路径规划】基于matlab粒子群算法无人机山地三维路径规划【含Matlab源码 1405期】
⛄一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水 ...
最新文章
- android 各种控件颜色值的设置(使用Drawable,Color)
- 怎样写出无法维护的代码
- mysql 编码 windows_修改mysql默认编码的方法(windows环境)
- 898. 子数组按位或操作
- E	速度即转发(牛客挑战赛48)(树套树)
- MySQL高可用--MGR入门(4)异常恢复
- Matplotlib 中文用户指南 7.1 交互式导航
- LeetCode Reorganize String
- Unity 通过修改图片透明度实现淡出效果
- 职称论文发表格式要求
- Layui环境下form表单提交;jquery.form.js;lay-verify,lay-filter;
- sketch插件开发
- 将web网站转为App
- 2019.8.7 金华正睿集训总结Day11(ACM)
- 山东大学计算机学院 论坛,计算机学院承办计算机学科发展高峰论坛_山东大学...
- Pandas Dataframe 每隔n行取1行
- 电磁兼容(EMC)的标准与测试内容
- Shenango NSDI 2019Achieving High CPU efficiency for Latency-sensitive Datacenter workloads
- VMware扩展磁盘空间
- 阿里面试回来,想和程序员谈一谈