最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

【路徑規(guī)劃】基于改進(jìn)粒子群實(shí)現(xiàn)機(jī)器人柵格地圖路徑規(guī)劃

2021-08-16 00:13 作者:Matlab工程師  | 我要投稿


1 研究背景


粒子群算法的發(fā)展過程。粒子群優(yōu)化算法(Partical Swarm Optimization PSO),粒子群中的每一個(gè)粒子都代表一個(gè)問題的可能解,通過粒子個(gè)體的簡單行為,群體內(nèi)的信息交互實(shí)現(xiàn)問題求解的智能性。由于PSO操作簡單、收斂速度快,因此在函數(shù)優(yōu)化、 圖像處理、大地測量等眾多領(lǐng)域都得到了廣泛的應(yīng)用。 隨著應(yīng)用范圍的擴(kuò)大,PSO算法存在早熟收斂、維數(shù)災(zāi)難、易于陷入局部極值等問題需要解決,主要有以下幾種發(fā)展方向。

1、基本思想

??粒子群算法通過設(shè)計(jì)一種無質(zhì)量的粒子來模擬鳥群中的鳥,粒子僅具有兩個(gè)屬性:速度和位置,速度代表移動(dòng)的快慢,位置代表移動(dòng)的方向。每個(gè)粒子在搜索空間中單獨(dú)的搜尋最優(yōu)解,并將其記為當(dāng)前個(gè)體極值,并將個(gè)體極值與整個(gè)粒子群里的其他粒子共享,找到最優(yōu)的那個(gè)個(gè)體極值作為整個(gè)粒子群的當(dāng)前全局最優(yōu)解,粒子群中的所有粒子根據(jù)自己找到的當(dāng)前個(gè)體極值和整個(gè)粒子群共享的當(dāng)前全局最優(yōu)解來調(diào)整自己的速度和位置。下面的動(dòng)圖很形象地展示了PSO算法的過程:

2、更新規(guī)則

??PSO初始化為一群隨機(jī)粒子(隨機(jī)解)。然后通過迭代找到最優(yōu)解。在每一次的迭代中,粒子通過跟蹤兩個(gè)“極值”(pbest,gbest)來更新自己。在找到這兩個(gè)最優(yōu)值后,粒子通過下面的公式來更新自己的速度和位置。

公式(1)的第一部分稱為【記憶項(xiàng)】,表示上次速度大小和方向的影響;公式(1)的第二部分稱為【自身認(rèn)知項(xiàng)】,是從當(dāng)前點(diǎn)指向粒子自身最好點(diǎn)的一個(gè)矢量,表示粒子的動(dòng)作來源于自己經(jīng)驗(yàn)的部分;公式(1)的第三部分稱為【群體認(rèn)知項(xiàng)】,是一個(gè)從當(dāng)前點(diǎn)指向種群最好點(diǎn)的矢量,反映了粒子間的協(xié)同合作和知識(shí)共享。粒子就是通過自己的經(jīng)驗(yàn)和同伴中最好的經(jīng)驗(yàn)來決定下一步的運(yùn)動(dòng)。以上面兩個(gè)公式為基礎(chǔ),形成了PSO的標(biāo)準(zhǔn)形式。

公式(2)和 公式(3)被視為標(biāo)準(zhǔn)PSO算法

3、PSO算法的流程和偽代

clc; close all clear load('data4.mat') S=(S_coo(2)-0.5)*num_shange+(S_coo(1)+0.5);%起點(diǎn)對(duì)應(yīng)的編號(hào) E=(E_coo(2)-0.5)*num_shange+(E_coo(1)+0.5);%終點(diǎn)對(duì)應(yīng)的編號(hào) PopSize=20;%種群大小 OldBestFitness=0;%舊的最優(yōu)適應(yīng)度值 gen=0;%迭代次數(shù) maxgen =200;%最大迭代次數(shù) c1=0.5;%認(rèn)知系數(shù) c2=0.7;%社會(huì)學(xué)習(xí)系數(shù) c3=0.2;%反向因子 w=0.96;%慣性系數(shù) %% %初始化路徑 w_min=0.5; w_max=1; Group=ones(num_point,PopSize); ?%種群初始化 flag=1; %最優(yōu)解 figure(3) hold on for i=1:num_shange ? ?for j=1:num_shange ? ? ? ?if sign(i,j)==1 ? ? ? ? ? ?y=[i-1,i-1,i,i]; ? ? ? ? ? ?x=[j-1,j,j,j-1]; ? ? ? ? ? ?h=fill(x,y,'k'); ? ? ? ? ? ?set(h,'facealpha',0.5) ? ? ? ?end ? ? ? ?s=(num2str((i-1)*num_shange+j)); ? ? ? ?text(j-0.95,i-0.5,s,'fontsize',6) ? ?end end axis([0 num_shange 0 num_shange])%限制圖的邊界 plot(S_coo(2),S_coo(1), 'p','markersize', 10,'markerfacecolor','b','MarkerEdgeColor', 'm')%畫起點(diǎn) plot(E_coo(2),E_coo(1),'o','markersize', 10,'markerfacecolor','g','MarkerEdgeColor', 'c')%畫終點(diǎn) set(gca,'YDir','reverse');%圖像翻轉(zhuǎn) for i=1:num_shange ? ?plot([0 num_shange],[i-1 i-1],'k-'); ? ?plot([i i],[0 num_shange],'k-');%畫網(wǎng)格線 end for i=2:index1 ? ?Q1=[mod(route_lin(i-1)-1,num_shange)+1-0.5,ceil(route_lin(i-1)/num_shange)-0.5]; ? ?Q2=[mod(route_lin(i)-1,num_shange)+1-0.5,ceil(route_lin(i)/num_shange)-0.5]; ? ?plot([Q1(1),Q2(1)],[Q1(2),Q2(2)],'r','LineWidth',3) end title('改進(jìn)后的粒子群算法-最優(yōu)路線'); %進(jìn)化曲線 figure(4); plot(BestFitness); xlabel('迭代次數(shù)') ylabel('適應(yīng)度值') grid on; title('改進(jìn)后的進(jìn)化曲線'); disp('改進(jìn)后的粒子群算法-最優(yōu)路線方案:') disp(num2str(route_lin)) disp(['起點(diǎn)到終點(diǎn)的距離:',num2str(BestFitness(end))]); figure(5); plot(BestFitness*100); xlabel('迭代次數(shù)') ylabel('適應(yīng)度值') grid on; title('改進(jìn)后的最佳個(gè)體適應(yīng)度值變化趨勢');



【路徑規(guī)劃】基于改進(jìn)粒子群實(shí)現(xiàn)機(jī)器人柵格地圖路徑規(guī)劃的評(píng)論 (共 條)

分享到微博請遵守國家法律
福清市| 平阴县| 荣成市| 富平县| 三台县| 曲沃县| 清河县| 芮城县| 东丰县| 潞城市| 贺州市| 彩票| 平江县| 比如县| 巨鹿县| 杭锦后旗| 西峡县| 石狮市| 徐水县| 宁夏| 富蕴县| 平和县| 休宁县| 乐东| 饶平县| 大冶市| 凌海市| 陇西县| 太保市| 南阳市| 三明市| 依安县| 靖边县| 三穗县| 娱乐| 乌拉特后旗| 镇康县| 温州市| 增城市| 读书| 万年县|