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

歡迎光臨散文網 會員登陸 & 注冊

【路徑規(guī)劃】基于蟻群算法三臂鑿巖機器人動態(tài)孔序規(guī)劃含Matlab源碼

2022-05-14 00:18 作者:Matlab工程師  | 我要投稿

1 簡介

蟻群算法模擬了自然界中螞蟻的覓食行為,螞蟻在尋找食物過程中會釋放信息素,同時能夠感知前面螞蟻在路徑上殘留的信息素濃度來引導自己運動,因而逐漸形成一種正反饋現(xiàn)象:路徑越短,殘留信息素濃度越高;越多的螞蟻經過該路徑,該路徑上的信息素濃度就越大,之后的螞蟻選擇這條路徑的概率就越大,螞蟻就是通過這種交流方式來找到食物,蟻群算法中的兩個關鍵部分就是路徑選擇概率和信息素更新,決定了蟻群算法的求解速度和解的質量。

2 部分代碼

%% 此函數(shù)根據相交的路徑計算相應交點的禁忌點% cTabu --- 各點的禁忌表% C --- 各點的坐標(n x 2)矩陣% D --- 各點的距離矩陣% table --- 為m只螞蟻對n個點進行規(guī)劃后的路徑表function [ cTabu ] = calCityTab( cTabu, C, D, table )% m --- 螞蟻數(shù)量% n --- 城市數(shù)量 ? ?m=size(table,1); ? ?n=size(table,2);% ? ? cTabu=zeros(n,n); ? ?for i=1:m ? ? ? ?for j=1:n-2 ? ? ? ? ? ?X1=C(table(i,j),:); ? ? ? ? ? ?Y1=C(table(i,j+1),:); ? ? ? ? ? ?for k=j+2:n-1 ? ? ? ? ? ? ? ?X2=C(table(i,k),:); ? ? ? ? ? ? ? ?Y2=C(table(i,k+1),:); ? ? ? ? ? ? ? ?[~,~,isIntersect]= node( X1,Y1,X2,Y2 ); ? ? ? ? ? ? ? ?if isIntersect ? ? ? ? ? ? ? ? ? ?% 如果規(guī)劃下的非相鄰的兩直線相交,則將線段較長的兩點相互加入其禁忌表中 ? ? ? ? ? ? ? ? ? ?if D(table(i,j),table(i,j+1)) > D(table(i,k),table(i,k+1)) ? ? ? ? ? ? ? ? ? ? ? ?% 如果cTabu對應的行中有table(i,j)數(shù)值,則返回1,否則返回0 ? ? ? ? ? ? ? ? ? ? ? ?if ~any(cTabu(table(i,j),:) == table(i,j+1)) ? ? ? ? ? ? ? ? ? ? ? ? ? ?index_1=find(cTabu(table(i,j),:)==0); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?cTabu(table(i,j),index_1(1))=table(i,j+1); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ? ? ? ? ? ? ?if ~any(cTabu(table(i,j+1),:) == table(i,j)) ? ? ? ? ? ? ? ? ? ? ? ? ? ?index_2=find(cTabu(table(i,j+1),:)==0); ? ? ? ? ? ? ? ? ? ? ? ? ? ?cTabu(table(i,j+1),index_2(1))=table(i,j); ? ? ? ? ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ? ? ?else ? ? ? ? ? ? ? ? ? ? ? ?if ~any(cTabu(table(i,k),:) == table(i,k+1)) ? ? ? ? ? ? ? ? ? ? ? ? ? ?index_1=find(cTabu(table(i,k),:)==0); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?cTabu(table(i,k),index_1(1))=table(i,k+1); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ? ? ? ? ?if ~any(cTabu(table(i,k+1),:) == table(i,k)) ? ? ? ? ? ? ? ? ? ? ? ? ? ?index_2=find(cTabu(table(i,k+1),:)==0); ? ? ? ? ? ? ? ? ? ? ? ? ? ?cTabu(table(i,k+1),index_2(1))=table(i,k); ? ? ? ? ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ? ? ?end ? ? ? ? ? ? ? ?end ? ? ? ? ? ?end ? ? ? ?end ? ?endend

3 仿真結果

4 參考文獻

[1]鄭勇. 基于蟻群算法的移動機器人動態(tài)路徑規(guī)劃[D]. 電子科技大學.

博主簡介:擅長智能優(yōu)化算法、神經網絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。

部分理論引用網絡文獻,若有侵權聯(lián)系博主刪除。





【路徑規(guī)劃】基于蟻群算法三臂鑿巖機器人動態(tài)孔序規(guī)劃含Matlab源碼的評論 (共 條)

分享到微博請遵守國家法律
武乡县| 格尔木市| 重庆市| 额尔古纳市| 宜宾市| 红桥区| 临泉县| 蓬安县| 孙吴县| 长顺县| 平泉县| 玛多县| 泰宁县| 莱西市| 满城县| 宝应县| 正镶白旗| 中方县| 汨罗市| 卫辉市| 永春县| 五台县| 郓城县| 凤城市| 河北省| 清涧县| 博兴县| 满洲里市| 奇台县| 肥城市| 保亭| 庄河市| 台州市| 云和县| 永善县| 库尔勒市| 克山县| 屏东县| 新余市| 正宁县| 连云港市|