🚅座右铭:行百里者,半于九十。
🏆代码获取方式:
CSDN Matlab武动乾坤—代码获取方式
更多Matlab路径规划仿真内容点击👇
①Matlab路径规划(进阶版)
⛳️关注CSDN Matlab武动乾坤,更多资源等你来!!
针对本问题,使用遗传算法求解最优路径需要按照特定规则初始化种群,并且根据问题所给的限定条件设计合适的适应度计算方法。下面的内容会详细说明这两个步骤,而算法中的其他操作,如选择、交叉、变异分别采用经典的轮盘赌、单点交叉和随机变异方法,这里不再赘述。
%%%%%%模拟退火遗传算法(SAGA)%%%%%%%%%%%
clear
%%%设置超参数
p_crs = 0.7; %交叉概率
p_mut = 0.1; %变异概率
ratio = 0.5; %选择操作中父辈的比例
pop_num = 5000; %种群规模
chrom_len = 7; %染色体长度,这里代表路线的点数
iteration = 40;
T0 = 100; %初始温度
A = 0.8; %退火速度
% 一个个体就是一条路线
[x,y]=popinit(pop_num,chrom_len); %产生初始种群
fit=saga_fitness(x,y, T0); %计算种群适应度
[bestx0,besty0,fit0]=best(x,y,fit);
d0 = 0; %初始路径长度
for j=1:1:size(bestx0,2)-1
d0 = d0 + sqrt((bestx0(1,j+1)-bestx0(1,j)).^2 + …
(besty0(1,j+1)-besty0(1,j)).^2); %该个体(即路线)的路径长度
end
for i=1:1:iteration %设置进化代数
[Parentx,Parenty]=select(x, y, fit, ratio); %选择
[Kidx,Kidy]=crossover(Parentx,Parenty,p_crs); %交叉
[Kidx,Kidy]=mutation(Kidx,Kidy,p_mut); %变异
x = [Parentx; Kidx]; % 得到新的种群
y = [Parentx; Kidy];
x(:,chrom_len)=1.5; % 保留终点
y(:,chrom_len)=8.9;
% plot(bestx,besty,‘r-’);
end
route_fit = [fit0, route_fit]; %加上初始种群中最优个体
route_x = [bestx0; route_x];
route_y = [bestx0; route_y];
d = [d0, d];
[final_fit,idx]=max(route_fit); %所有代中的的最佳路线
final_routex=route_x(idx,:);
final_routey=route_y(idx,:);
final_distance = min(d) %最佳路径长度
%画图,可视化路线、进化过程====
% start point
xs=0;
ys=0;
% Destination
xt=1.5;
yt=8.9;
%obstacle
xobs=[1.5 4.0 1.2];
yobs=[6.5 3.0 1.5];
robs=[1.5 1.0 0.8];
theta=linspace(0,2*pi,100);
max_area = 0;
for k=1:numel(xobs)
fill(xobs(k)+robs(k)*cos(theta),yobs(k)+robs(k)*sin(theta),[0.5 0.7 0.8]); % 后一个参数表示RGB值
text(xobs(k), yobs(k), num2str(k))
hold on;
end
plot(xs,ys,‘bs’,‘MarkerSize’,12,‘MarkerFaceColor’,‘y’);
plot(xt,yt,‘kp’,‘MarkerSize’,16,‘MarkerFaceColor’,‘g’);
grid on;
hold on;
%====================================
%%输入参数:种群——x,y横纵坐标
%%输出参数:种群中每个个体的适应度值
%%说明:
% 逐个计算种群中个体的适应度值,判断该个体所连成线路与圆形障碍物之间的关系,
% 将满足条件的路径的距离倒数作为适应度值
%====================================
function fitval=fitness(x,y)
%obstacle
xobs=[1.5 4.0 1.2];
yobs=[6.5 3.0 1.5];
robs=[1.5 1.0 0.8];
[n, xn] = size(x);
for i=1:1:n
cnt_line = 0; %记录穿过障碍物的线段数
1 matlab版本
2014a
2 参考文献
[1]王星童,吴林鸿,赵启宇,曾祥光.粒子群-快速模拟退火算法在路径规划中的应用[J].信息技术与信息化. 2021(06)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长