解決NP問題 旅行商問題的一點思路之三

2021-05-27 18:13:00 字數 884 閱讀 1290

關於在第二篇的遺傳演算法中,我是針對雜交出來的多個染色體進行選擇的,其實我經常想,偉大的大自然,選擇了優秀的基因,當然,他會讓每個基因都會經過選擇,不合適的毫不留情的剔除,說點本次文章以外的東西,我們人類很偉大,我們都這麼覺得,我們發明了很多東西,有著先進的醫學,用來**各種病人,其實,這就是人為干預的自然選擇,就好比,我們現在都是大腦發達,四肢卻毫無力道,甚至見了一條狗我們都得給狗讓道。

幻想在遠古時代,我們的祖先拿著木棍,石塊來追逐兇猛的野生動物,那個時候是大自然選擇了我們祖先,凡是體內雜交到了不良的基因,你會在茫茫的大地上捕獵中喪失自己的性命,毫不留情的,但是大自然卻忽略了我們的團結協作,從而是一些捕獵不到食物的人也能夠生存,但是,他們生存下去就是攜帶這不良的基因,或許是應該被淘汰的基因,隨著繁衍下去,自己的基因也會繁衍下去,這對於人類究竟是退步還是進步?

就拿中國來說,我們人口眾多,但是為什麼國力不強盛?按照概率來算,我們中國人很多人也繼承了優良的基因,為什麼我們就沒有乙個拿得出手的東西(除了人口),是環境沒有讓他表達吧!我們知道,生物的性狀是有兩方面決定的,乙個是基因,乙個是環境!

那麼對於我們這個優化,我們也從兩方面入手,對於基因我們有乙個模板,就是給出的那個完全圖,我們的染色體都是雜交這個模板,我們這點無法改變,我們就重點放在了我們的環境中。

我們在第二篇中是說到了乙個選擇到這個基因的概率,這個是1/2(1/n!),這個分母是n!,我們知道,這個不是p內的時間,是屬於np的,那我們捨棄這個,我們將只是選擇乙個染色體,就是說,我們不停地雜交乙個染色體,知道它符合我們的條件,這樣,我們就捨棄了乙個限制條件,改變了我們的環境,當然,還有乙個怎麼不選擇到這個邊的概率,這個其實是約等於2的n次方除以n的n次方,關於這個式子的證明是不是np,我會給出證明過程的,但是我還要翻翻數學書!這樣我們改變我們的選擇條件,去除了乙個np的式子!

好了,今天優化到這裡!

解決NP問題 旅行商問題的一點思路之二

常規演算法 我們排列出來所有的路徑,然後我們在選擇出來所需的路徑,這個我們假設有n個地點,再加上這個圖是乙個完全圖,就代表每個節點都是含有n 1條邊,我們擺列所有的路徑,這個是n!這個在 計算機程式設計藝術 卷一中有過證明,這個約等於2的根號下n次方!不是多項式時間內可以解決的。貪心演算法 我們還是...

暴力法解決旅行商問題

找出一條n個給定的城市間的最短路徑,使得我們在回到出發的城市之前,都經過了每個城市有且僅有一次。下圖表示4個城市及其路徑的一張圖。按照暴力法可以將所有的路線列出來,然後找出最佳的路線。a b c d a distance 2 8 1 7 18 a b d c a distance 2 3 1 5 1...

SCIP求解器解決旅行商問題

tsp旅行商問題是運籌學領域乙個經典問題,乙個旅行商訪問所有的城市,每個城市僅訪問一次,總路程最短。問題的模型如圖 目標函式 總路程最短 決策變數xij 若經過以ij為節點的邊,則xij 1,否則為0 約束2 子迴路約束,對任意乙個v的子集,去掉v子集和空集,邊的數量小於等於點的數量減去1,比如三個...