ROS路徑規劃 遺傳演算法

2021-09-20 15:38:23 字數 1280 閱讀 2850

注意:首先將ga下的src資料夾改名為ipath

在ga/src資料夾下執行命令

$ make
從ga/src/evaluateplanners/genetic_algorithm資料夾下開啟檔案evaluatega.cpp,配置如下引數

int numberofscenarios = 2; // the number of the scenarios (start and goal positions)

int numberofruns = 10; // how many times you want to repeat each scenario

// ga parameters

int numberofiterations = 15;

uint populationsize = 15;

int crossovertype = 1; // 1: one point, 2: two point, 3: modified.

float crossoverprobability = 0.9;

float mutationprobability = 0.01;

int mutationiterationnumber = 50;

float mininitialpathcost = 0;

int radius = 2;

在ga/src/evaluateplanners/genetic_algorithm資料夾下執行

$ make
從ga/src/evaluateplanners/genetic_algorithm/bin中開啟檔案mapfile,新增你想要使用的地圖(資料夾map_folder下),如:

map-w30-h30/w30-h30-obratio0.3-obsize5-nbr01.pgm

map-w50-h50/w50-h50-obratio0.1-obsize1-nbr01.pgm

在ga/src/evaluateplanners/genetic_algorithm/bin下執行終端:

$ ./main
結果將儲存在ga/src/evaluateplanners/genetic_algorithm/bin資料夾下gastatistics.xlsx中。

可在第五步前使用下面命令,將終端資料儲存在output.txt中。

script -f output.txt

python遺傳演算法 Python 遺傳演算法實現

關於遺傳演算法 遺傳演算法是仿照自然界中生物進化而產生的一類優化演算法。個人感覺遺傳演算法簡單粗暴,適應性廣。關於遺傳演算法的介紹網上有很多了,這裡按照我自己的理解簡單概括一下。編碼解碼,將待優化的引數編碼為dna序列,最簡單直接的為二進位制編碼 即有兩種鹼基的dna鏈 生成隨機初代 選擇,適應度 ...

遺傳演算法 python 簡書 遺傳演算法

優化的演算法有很多種,從最基本的梯度下降法到現在的一些啟發式演算法,如遺傳演算法 ga 差分演化演算法 de 粒子群演算法 pso 和人工蜂群演算法 abc 舉乙個例子,遺傳演算法和梯度下降 梯度下降和遺傳演算法都是優化演算法,而梯度下降只是其中最基礎的那乙個,它依靠梯度與方向導數的關係計算出最優值...

基於混沌遺傳演算法的無人機路徑規劃

摘要 提出了一種基於混沌遺傳演算法的無人機航跡路徑優化方法,屬於無人機航跡規劃技術領域。混沌遺傳演算法的基本思想是利用具有精緻內在規律的混沌序列來控制遺傳操作中的交叉和變異,以取代原有的在一定概率下完全隨機的交叉和變異操作,包括確定是否進行交叉或變異操作以及確定交叉或變異操作的具體位置等兩個方面,這...