這幾天會跟大家介紹如何使用基因演算法來解決旅行銷售員問題~
(終於要認真實作啦XDDDD)
旅行銷售員問題(Traveling Salesman Problems)
情境
一個旅行業務員要必需到各個城市去擴展業務
而每一個城市間都有不一樣的距離
而要找出一條路線可以滿足
每一個城市都只去過一次
且花費最少的成本
n個城市,1,2,3,....,n
那用正常的邏輯去思考
如果6座城市要去拜訪,
則可能的路徑就有6!,
答案就非常多種了~
那這次所使用到的套件就是使用R語言的mcga
如果對於ga
不熟悉的朋友
記得回到之前的文章去了解歐~~
【Day20】GA with you - R Package GA R套件GA
library(GA)
A<-c(0,25,25,10,35)
B<-c(25,0,25,35,25)
C<-c(25,25,0,30,15)
D<-c(10,35,30,0,20)
E<-c(35,25,15,20,0)
city<-rbind(A,B,C,D,E)
colnames(city)<-c('A','B','C','D','E')
data<-as.matrix(city)
所以我們設定的矩陣會像是
> data
A B C D E
A 0 25 25 10 35
B 25 0 25 35 25
C 25 25 0 30 15
D 10 35 30 0 20
E 35 25 15 20 0
今天所使用到的程式碼
Github
相關資料:
iT邦幫忙也有其他大大文章有提到
用基因遺傳演算法(Genetic Algorithm)解旅行推銷員問題(TSP)