導航:首頁 > 源碼編譯 > pso演算法用於物流選址問題

pso演算法用於物流選址問題

發布時間:2022-05-23 10:41:12

A. 一篇關於「論現代物流中心選址」的論文

一、物流配送中心選址的影響因素 (一)貨物分布和數量。這是配送中心配送的對象,如貨物來源和去向的分布情況、歷史和現在以及將來的預測和發展等。配送中心應該盡可能地與生產地和配送區域形成短距離優化。貨物數量是隨配送規模的增長而不斷增長的。貨物增長率越高,越是要求配送中心選址的合理性,從而減少輸送過程中不必要的浪費。 (二)運輸條件。物流配送中心的選址應接近交通運輸樞紐,使配送中心形成物流過程中的一個恰當的結點。在有條件的情況下,配送中心應盡可能靠近鐵路貨運站、港口及公路。 (三)用地條件。物流配送中心的佔地問題在土地日益昂貴的今天顯得越來越重要。是利用現有的土地,還是重新征地?地價如何?是否符合政府規劃要求等等,在建設配送中心時都要進行綜合考慮。 (四)商品流動。企業生產的消費品隨著人口的轉移而變化,應據此更好地為企業的配送系統定位。同時,工業產品市場也會轉移變化,為了確定原材料和半成品等商品的流動變化情況,在進行物流配送中心的選址時,應考慮有關商品流動的具體情況。 (五)其他因素。如勞動力、運輸與服務的方便程度、投資額的限制等。 二、物流配送中心選址方法 (一)定性分析法。定性分析法主要是根據選址影響因素和選址原則,依靠專家或管理人員豐富的經驗、知識及其綜合分析能力,確定配送中心的具體選址。主要有專家打分法、德爾菲法。定性方法的優點是注重歷史經驗,簡單易行。其缺點是容易犯經驗主義和主觀主義的錯誤,並且當可選地點較多時,不易做出理想的決策,導致決策的可靠性不高。 (二)定量分析法。定量的方法主要包括重心法、鮑莫爾-沃爾夫法、運輸規劃法、Cluster法、CFLP法、混合0-1整數規劃法、雙層規劃法、遺傳演算法等。定量方法選址的優點是能求出比較准確可信的解。其中,重心法是研究單個物流配送中心選址的常用方法,這種方法將物流系統中的需求點和資源點看成是分布在某一平面范圍內的物流系統,各點的需求量和資源量分別看成是物體的重量,物體系統的重心作為物流網點的最佳設置點。

B. pso的理論分析

當前對微粒群演算法開展的理論研究主要集中在微粒群演算法的原理方面,即微粒之間是如何相互作用的,為什麼微粒群演算法對於很多優化問題是有效的,而對於有些問題則效果不是很明顯。具體來說,這個問題的研究又分為三個方面,其一是單個微粒的運動軌跡;其二是收斂性問題;其三是整個微粒系統隨時間的演化和分布。
對簡化微粒行為的第一個分析由Kennedy給出,通過模擬給出了一系列設計選擇的情況下不同的微粒軌跡。對簡化微粒群演算法的第一個理論分析由Ozcan給出,作者在文中指出,在一個簡化的一維PSO系統中,微粒沿著一條由正弦波定義的路徑前進,隨機確定其幅度和頻率。但是,他們的分析僅限於沒有慣性權重的簡單PSO模型,並且假定Pid和Pgd保持不變。事實上,Pid和Pgd會頻繁變化,於是微粒軌跡由很多不同幅度和頻率的正弦波合成,整個軌跡看起來仍然是無序的。這使得他們的結論的有效性大打折扣。
對演算法穩定性質的第一個形式化分析由Clerc給出,但是該分析需要將隨機系數視作常數,從而將標准隨機PSO演算法簡化為一個確定型動態系統。這樣得到的系統是一個二階線性動態系統,其穩定性依賴於系統的極點或狀態矩陣的特徵根。van den Bergh對基於確定型版本的PSO演算法進行了類似的分析,並確定了在參數空間中保證穩定性的區域。在文獻[5]和[42]中也提出了關於收斂性和參數選擇的內容,但是作者承認他們並沒有考慮演算法的隨機特性,因此其結果有局限性。類似的還有對連續時間版本的PSO演算法所作的分析。
Blackwell針對球形對稱局部鄰域的函數,對PSO演算法中多樣性缺失的速度進行了理論分析和實驗驗證。Kennedy系統地研究了速度對PSO演算法的影響,有助於理解速度對演算法性能的貢獻。
Kadirkamanathan等採用李雅普諾夫穩定性分析和被動系統(Passive System)的概念,對微粒動力學的穩定性進行了分析。該分析中沒有假定所有參數均為非隨機的限制,得出了穩定的充分條件,並給出示例。模擬結果驗證了理論的預期,微粒動力學的穩定需要在慣性權重減小時,增大隨機參數的最大值。該分析是基於隨機微粒動力學的,將微粒動力學表達為一個非線性反饋控制系統。該系統有一個確定型線性部分和一個非線性部分,以及/或在反饋路徑上的時變增益。該文雖然考慮了隨機分量的影響,但是其穩定性分析是針對最優位置所進行的(群體最優和個體最優相同),其結論不能直接應用到非最優的微粒。
Clerc研究了處於停滯階段的微粒群演算法的迭代過程,對迭代過程中的各隨機系數進行了詳細的研究,給出了各隨機系數的概率密度函數。
Jiang將微粒群演算法中每一演化步驟時的微粒位置量視作一個隨機向量,考查了微粒群演算法中慣性權重ω和學習因子c1、c2等參數對演算法收斂性的影響,並採用隨機過程理論分析了標准微粒群演算法的隨機收斂性。
原始PSO演算法即使能夠收斂,也只能收斂到群體所搜索到的最好解,而不能保證該收斂解是最優解,甚至不能保證它是局部最優解。van den Bergh提出一種保證收斂的PSO演算法,其策略是對全局最優微粒採用一個新的更新方程,使其在全局最好位置附近產生一個隨機搜索,而其他微粒仍用原方程更新。該演算法能夠保證微粒群演算法收斂到局部最優解,其代價為收斂速度加快,在多模問題中性能不如標准PSO演算法。

C. pso的離散演算法

很多優化問題涉及到離散或二值的變數,典型的例子包括調度問題或路由問題。而PSO演算法的更新公式和過程是面向連續空間並為其設計的,因此需要做一些修改使之適應離散空間的情況。編碼的修改可能很簡單,難點在於定義速度的意義和確定軌跡的變化。
Kennedy定義了第一個離散二進製版本的PSO演算法。微粒使用二進制字元串進行編碼。通過使用sigmoid函數,速度被限制在[0, 1]區間之內,並被解釋為「概率的變化」。Yang對該方法在量子空間進行了擴展。
Mohan提出了幾種二進制方法(直接方法、量子方法、正則方法、偏差向量方法以及混合方法),但是從有限的實驗中沒有得出什麼結論。Clerc對一些專用於某些約束優化問題如TSP問題的PSO演算法變種進行了試驗,結果顯示該方法比較有前途。Pang使用模糊矩陣來表示微粒的位置和速度,對PSO演算法的算符進行了重定義,並將其應用到TSP問題的求解。Pampara將PSO演算法與信號處理中的角調制技術結合起來,將高維二進制問題降維為一個在連續空間中定義的四維問題,並通過求解該四維問題來獲得原問題的解。Afshinmanesh重新定義了離散PSO演算法中的加法與乘法,並使用人工免疫系統中的陰性選擇來實現速度限制Vmax。
Hu提出了一種改進PSO演算法來處理排列問題。微粒被定義為一組特定值的排列,速度基於兩個微粒的相似度重新定義,微粒根據由它們的速度所定義的隨機率來變換到一個新的排列。引入了一個變異因子來防止當前的pBest陷入局部最小。在n皇後問題上的初步研究顯示改進的PSO演算法在解決約束滿意問題方面很有前途。
Migliore對原始的二進制PSO演算法進行了一些改進,提出了可變行為二進制微粒群演算法(VB-BPSO)和可變動態特性二進制微粒群演算法(VD-BPSO)。VB-BPSO演算法按照連續PSO演算法的速度更新公式的思想設計了一個新的速度更新公式,用來確定微粒位置向量每一位為1的概率。而VD-BPSO演算法則是根據一定規則在兩組不同參數確定的VB-BPSO演算法之間切換。Migliore應用該演算法設計出一種簡單魯棒的自適應無源天線。
Parsopoulos以標准函數為例測試微粒群優化演算法解決整數規劃問題的能力。Salman將任務分配問題抽象為整數規劃模型並提出基於微粒群優化演算法的解決方法。兩者對迭代產生的連續解均進行舍尾取整後評價其質量。但是PSO演算法生成的連續解與整數規劃問題的目標函數評價值之間存在多對一的映射,以整型變數表示的目標函數不能准確反映演算法中連續解的質量,而由此導致的冗餘解空間與相應的冗餘搜索降低了演算法的收斂效率。
高尚採用交叉策略和變異策略,將PSO演算法用來解決集合劃分問題。趙傳信重新定義了微粒群位置和速度的加法與乘法操作,並將PSO演算法應用到0/1背包問題求解中。EL-Gallad在PSO演算法中引入探索和勘探兩個運算元,用於求解排序問題。Firpi提出了BPSO演算法的一種保證收斂的版本(但是並未證明其保證收斂性),並將其應用到特徵選擇問題。
上述離散PSO演算法都是間接的優化策略,根據概率而非演算法本身確定二進制變數,未能充分利用PSO演算法的性能。在處理整數變數時,PSO演算法有時候很容易陷入局部最小。原始PSO演算法的思想是從個體和同伴的經驗進行學習,離散PSO演算法也應該借鑒該思想。高海兵基於傳統演算法的速度—位移更新操作,在分析微粒群優化機理的基礎上提出了廣義微粒群優化模型(GPSO),使其適用於解決離散及組合優化問題。GPSO 模型本質仍然符合微粒群優化機理,但是其微粒更新策略既可根據優化問題的特點設計,也可實現與已有方法的融合。基於類似的想法,Goldbarg將局部搜索和路徑重連過程定義為速度運算元,來求解TSP問題。

D. pso的多目標優化

在多目標優化問題中,每個目標函數可以分別獨立進行優化,然後為每個目標找到最優值。但是,很少能找到對所有目標都是最優的完美解,因為目標之間經常是互相沖突的,只能找到Pareto最優解。
PSO演算法中的信息共享機制與其他基於種群的優化工具有很大的不同。在遺傳演算法(GA)中,染色體通過交叉互相交換信息,是一種雙向信息共享機制。但是在PSO演算法中,只有gBest(或nBest)給其他微粒提供信息,是一種單向信息共享機制。由於點吸引特性,傳統的PSO演算法不能同時定位構成Pareto前鋒的多個最優點。雖然通過對所有目標函數賦予不同的權重將其組合起來並進行多次運行,可以獲得多個最優解,但是還是希望有方法能夠一次同時找到一組Pareto最優解。
在PSO演算法中,一個微粒是一個獨立的智能體,基於其自身和同伴的經驗來搜索問題空間。前者為微粒更新公式中的認知部分,後者為社會部分,這二者在引導微粒的搜索方面都有關鍵的作用。因此,選擇適當的社會和認知引導者(gBest和pBest)就是MO-PSO演算法的關鍵點。認知引導者的選擇和傳統PSO演算法應遵循相同的規則,唯一的區別在於引導者應按照Pareto支配性來確定。社會引導者的選擇包括兩個步驟。第一步是建立一個從中選取引導者的候選池。在傳統PSO演算法中,引導者從鄰居的pBest之中選取。而在MO-PSO演算法中更常用的方法是使用一個外部池來存儲更多的Pareto最優解。第二步就是選擇引導者。gBest的選擇應滿足如下兩個標准:首先,它應該能為微粒提供有效的引導來獲得更好的收斂速度;第二,它還需要沿Pareo前鋒來提供平衡的搜索,以維持種群的多樣性。文獻中通常使用兩種典型的方法:(1)輪盤選擇模式,該方式按照某種標准進行隨機選擇,其目的是維持種群的多樣性;(2)數量標准:按照某種不涉及隨機選擇的過程來確定社會引導者。
Moore最早研究了PSO演算法在多目標優化中的應用,強調了個體和群體搜索二者的重要性,但是沒有採用任何維持多樣性的方法。Coello在非劣最優概念的基礎上應用了一個外部「容器」來記錄已找到的非支配向量,並用這些解來指導其它微粒的飛行。Fieldsend採用一種稱為支配樹的數據結構來對最優微粒進行排序。Parsopoulos應用了權重聚合的方法。Hu應用了動態鄰域,並在此基礎上利用擴展記憶,按詞典順序依次優化各個目標。Ray使用聚集機制來維持多樣性,並用一個多水平篩來處理約束。Lu使用了動態種群策略。Bartz-Beielstein採用歸檔技術來提高演算法性能。Li在PSO演算法中採用NSGA-II演算法中的主要機制,在局部最優微粒及其後代微粒之間確定局部最優微粒;並此基礎上又提出一種新的演算法,在適應值函數中使用最大最小策略來確定Pareto支配性。張利彪使用多個目標函數下各最優位置的均值來指導微粒飛行。Pulido使用多個子種群並採用聚類技術來求解多目標規劃問題。Mahfouf採用加權聚合方法來計算微粒的適應值,並據此確定引導微粒的搜索。Salazar-Lechuga使用適應值共享技術來引導微粒的搜索。Gong提出微粒角度的概念,並使用最小微粒角度和微粒密度來確定局部最優和全局最優微粒。基於AER模型,Zhang提出一種新的智能PSO模型,來將種群驅向Pareto最優解集。Ho提出一種新的適應值分配機制,並使用壽命(Age)變數來保存和選擇最優歷史記錄。Huang將CLPSO演算法應用到多目標規劃中。Ho提出另一種基於Pareto的與尺度無關的適應值函數,並使用一種基於正交試驗設計的智能運動機制(IMM)來確定微粒的下一步運動。Branke系統研究了多種個體最優微粒的選擇方法對MOPSO演算法性能的影響。張勇考慮儲備集更新策略在多目標PSO演算法中的關鍵作用,提出一種兩階段儲備集更新策略。
原萍提出一種分布式PSO演算法—分割域多目標PSO演算法(DRMPSO),並將其應用到基站優化問題。向量評價PSO演算法(VEPSO)是一種受向量評價遺傳演算法(VEGA)的啟發提出的一種演算法,在VEPSO演算法中,每個種群僅使用多個目標函數之一來進行評價,同時各種群之間互相交互經驗。將每個種群分配到一台網路PC上,即可直接使VEPSO演算法並行化,以加速收斂。Vlachogiannis應用並行VEPSO演算法來確定發電機對輸電系統的貢獻。熊盛武利用PSO演算法的信息傳遞機制,在PSO演算法中引入多目標演化演算法常用的歸檔技術,並採用環境選擇和配對選擇策略,使得整個群體在保持適當的選擇壓力的情況下收斂於Pareto最優解集。
由於適應值的計算非常消耗計算資源,為了減少計算量,需要減少適應值評價的次數。Reyes-Sierra採用適應值繼承和估計技術來實現該目標,並比較了十五種適應值繼承技術和四種估計技術應用於多目標PSO演算法時的效果。
保持MOPSO中的多樣性的方法主要有兩種:sigma方法和ε-支配方法。Villalobos-Arias在目標函數空間中引入條塊劃分來形成聚類,從而保持多樣性。

E. PSO演算法解決帶約束條件的優化問題

約束條件:
a11x1+a12x2+…+a1nxn≤b1
a21x1+a22x2+…+a2nxn≤b2
…………………………
am1x1+am2x2+…+amnxn≤bm
x1,x2,…,xn≥0 式中x1,x2,…,xn為企業生產的各種產品;b1,b2,…,bm為可供使用的各種投入要素的數量;
aij(i=1,2…m;j=1,2,… n)為第j種產品每生產1個單位所需要的第i種投入要素的數量;最後,非負值約束條件表示各種產品的產量必須是正值,負值是沒有意義的。

F. 數學建模選址與物流問題

摘要(很長): 有一本書叫《物流配送中心選址問題的理論方法與實踐》 還不錯 內容提要 本書從物流配送中心選址出發,通過建立相應的數學模型來研究問題的求解方法或演算法。共分四篇十二章,第一篇描述了物流、配送及配送中心的概念;第二篇對配送中心選址的基本理論和建模基礎做了詳細的闡述;第三篇比較全面地介紹了現有配送中心選址模型,並對其進行總結、歸納、分析比較其優缺點;第四篇作者在總結分析現有選址模型的基礎上,從不同角度,結合不同的應用,引入了幾種配送中心選址模型和演算法。 希望對樓主有所幫助 贊同0| 評論

B題一 潔具流水時間設計

我國是個淡水資源相當貧乏的國家,人均可利用淡水量不到世界平均數的四分之一。特別是近幾年來,由於環境污染導致降水量減少,不少省市出現大面積的乾旱。許多城市為了節能,紛紛採取提高水價、電價的方式來抑制能源消費。而另一方面,據有關資料報道,我國目前生產的各類潔具消耗的能源(主要是指用水量)比其它發達國家的同類產品要高出60%以上。
某潔具生產廠家打算開發一種男性用的全自動潔具,它的單位時間內流水量為常數v,為達到節能的目的,現有以下兩個控制放水時間的設計方案供採用。
方案一:使用者開始使用潔具時,受感應潔具以均勻水流開始放水,持續時間為T,然後自動停止放水。若使用時間不超過T-5秒,則只放水一次,否則,為保持清潔,在使用者離開後再放水一次,持續時間為10秒。
方案二:使用者開始使用潔具時,受感應潔具以均勻水流開始放水,持續時間為T,然後自動停止放水。若使用時間不超過T-5秒,則只放水一次,否則,為保持清潔,到2T時刻再開始第二次放水,持續時間也為T。但若使用時間超過2T-5秒,則到4T時刻再開始第三次放水,持續時間也是T……在設計時,為了使潔具的壽命盡可能延長,一般希望對每位使用者放水次數不超過2次。
該廠家隨機調查了100人次男性從開始使用到離開潔具為止的時間(單位:秒)見下表:

時間(秒) 12 13 14 15 16 17 18
人次 1 5 12 60 13 6 3

(1)請你根據以上數據,比較這兩種設計方案從節約能源的角度來看,哪一種更好?並為該廠家提供設計參數T(秒)的最優值,使這種潔具在相應設計方案下能達到最大限度節約水、電的目的;
(2)從既能保持清潔又能節約能源出發,你是否能提出更好的設計方案,請通過建立數學模型與前面的方案進行比較。

其實,家庭中的其他生活用水一樣可以用來沖洗馬桶,比方說經過最後一次漂洗,衣服洗干凈了,從洗衣機排出的水看上去還比較干凈,直接流進下水管還真有點可惜。還有像洗完臉、洗過菜的水,如果能再次利用就好了。業余發明家吳漢平研製了一套生活用水回用裝置,獲得了國家專利。他將廚房的洗滌槽、衛生間的面盆和坐便器水箱連接到一個儲水箱上。洗滌槽、面盆流出來的比較干凈的水進入儲水箱,供沖廁使用。

現在我來教你省水小秘方1.要用省水形馬桶,般審型馬桶加裝2段式沖水配件。2.水箱底下浮餅拆下 即成無段式控制出水。
3.小便池自動沖水器沖水時間調短。 4.用米水、洗衣水、洗碗水及洗澡水等清水來澆花、洗車,及擦洗地板。5.清理地毯法由濕式或蒸汽式改成乾燥粉沫式。6.將除濕機收集的水,及純水機、蒸餾水機等凈水設備的廢水回收再利用。
現在我說完了6項省水秘方,你是否想到比我更好的省水方法呢?你是否在省水呢?我想你應該在省水吧!

長期以來,人們普遍認為水是「取之不盡,用之不竭」的,不知道愛惜,而浪費揮霍。事實上,水資源日益緊缺,而我市的城市供水工作更是在嚴重缺水的邊緣艱難度日,自來水來之不易。

人不可一日無水,水是生命之源,珍惜水就是珍惜自己的生命!在此,我們介紹一些日常生活中的節水常識:

刷牙

浪費:不間斷放水,30秒,用水約6升。

節水:口杯接水,3口杯,用水0.6升。三口之家每日兩次,每月可節水486升。

洗衣

浪費:洗衣機不間斷地邊注水邊沖洗、排水的洗衣方式,每次需用水約165升。

節水:洗衣機採用洗滌—脫水—注水—脫水—注水—脫水方式洗滌,每次用水110升,每次可節水55升,每月洗4次,可節水220升。

另外,衣物集中洗滌,可減少洗衣次數;小件、少量衣物提倡手洗,可節約大量水;洗滌劑過量投放將浪費大量水。

洗浴

浪費:過長時間不間斷放水沖淋,會浪費大量水。

盆浴時放水過多,以至溢出,或盆浴時一邊打開水塞,一邊注水,浪費將十分驚人。

節水:間斷放水淋浴(比如腳踏式、感應式等)。搓洗時應及時關水。避免過長時間沖淋。

盆浴後的水可用於洗衣、洗車、沖洗廁所、拖地等。

炊事

浪費:水龍頭大開,長時間沖洗。燒開水時間過長,水蒸汽大量蒸發。用自來水沖淋蔬菜、水果。

節水:炊具食具上的油污,先用紙擦除,再洗滌,可節水。

控制水龍頭流量,改不間斷沖洗為間斷沖洗。

洗車

浪費:用水管沖洗,20分鍾,用水約240升。

節水:用水桶盛水洗車,需3桶水,用水約30升。使用洗滌水、洗衣水洗車。使用節水噴霧水槍沖洗。利用機械自動洗車,洗車水處理循環使用。

節水小方法:
節約用水,利在當代,功在千秋,這是經過討論同學們一起研究出一些生活節水小方法:
一、淘米水洗菜,再用清水清洗,不僅節約了水,還有效地清除了蔬菜上的殘存農葯;
二、洗衣水洗拖帕、帚地板、再沖廁所。第二道清洗衣物的洗衣水擦門窗及傢具、洗鞋襪等;
三、大、小便後沖洗廁所,盡量不開大水管沖洗,而充分利用使用過的「臟水」;
四、夏天給室內外地面灑水降溫,盡量不用清水,而用洗衣之後的洗衣水;
五、自行車、家用小轎車清潔時,不用水沖,改用濕布擦,太臟的地方,也宜用洗衣物過後的余水沖洗;
六、沖廁所:如果您使用節水型設備,每次可節水4一5kg;
七、家庭澆花,宜用淘米水、茶水、洗衣水等;
八、家庭洗滌手巾、小對象、瓜果等少量用水。宜用盆子盛水而不宜開水龍頭放水沖洗;
九、洗地板:用拖把擦洗,可比用水龍頭沖洗每次每戶可節水200kg以上;
十、水龍頭使用時間長有漏水現象,可用裝青黴素的小葯瓶的橡膠蓋剪一個與原來一樣的墊圈放進去,可以保證滴水不漏;
十一、將衛生間里水箱的浮球向下調整2厘米,每次沖洗可節省水近3kg;按家庭每天使用四次算,一年可節葯水4380kg。
十二、洗菜:一盆一盆地洗,不要開著水龍頭沖,一餐飯可節省50kg;
十三、淋浴:如果您關掉龍頭擦香皂,洗一次澡可節水60kg;
十四、手洗衣服:如果用洗衣盆洗、清衣服則每次洗、清衣比開著水龍頭節省水200kg;
十五、用洗衣機洗衣服:建議您滿桶再洗,若分開兩次洗,則多耗水120kg;
十六、洗車:用抹布擦洗比用水龍頭沖洗,至少每次可節水400kg;

G. 關於遺傳演算法的應用--物流中心選址問題

你想問什麼問題?能再具體點嗎?
我研究過遺傳演算法解決選址問題的。
msl1121說的不對,選址問題不是TSP問題。

編碼可以採用二進制編碼,即[0,1,1,0,0,0,1,1,1,0……],長度為n,其中1的個數為P。
具體可聯系:[email protected]

H. pso的演算法結構

對微粒群演算法結構的改進方案有很多種,對其可分類為:採用多個子種群;改進微粒學習對象的選取策略;修改微粒更新迭代公式;修改速度更新策略;修改速度限制方法、位置限制方法和動態確定搜索空間;與其他搜索技術相結合;以及針對多模問題所作的改進。
第一類方案是採用多個子種群。柯晶考慮優化問題對收斂速度和尋優精度的雙重要求並借鑒多群體進化演算法的思想,將尋優微粒分成兩組,一組微粒採用壓縮因子的局部模式PSO演算法,另一組微粒採用慣性權重的全局模式PSO演算法,兩組微粒之間採用環形拓撲結構。對於高維優化問題,PSO演算法需要的微粒個數很多,導致計算復雜度常常很高,並且很難得到好的解。因此,出現了一種協作微粒群演算法(Cooperative ParticleSwarm Optimizer, CPSO-H),將輸入向量拆分成多個子向量,並對每個子向量使用一個微粒群來進行優化。雖然CPSO-H演算法使用一維群體來分別搜索每一維,但是這些搜索結果被一個全局群體集成起來之後,在多模問題上的性能與原始PSO演算法相比有很大的改進。Chow使用多個互相交互的子群,並引入相鄰群參考速度。馮奇峰提出將搜索區域分區,使用多個子群並通過微粒間的距離來保持多樣性。陳國初將微粒分成飛行方向不同的兩個分群,其中一分群朝最優微粒飛行,另一分群微粒朝相反方向飛行;飛行時,每一微粒不僅受到微粒本身飛行經驗和本分群最優微粒的影響,還受到全群最優微粒的影響。Niu在PSO演算法中引入主—從子群模式,提出一種多種群協作PSO演算法。Seo提出一種多組PSO演算法(Multigrouped PSO),使用N組微粒來同時搜索多模問題的N個峰。Selleri使用多個獨立的子群,在微粒速度的更新方程中添加了一些新項,分別使得微粒向子群歷史最優位置運動,或者遠離其他子群的重心。王俊年借鑒遞階編碼的思想,構造出一種多種群協同進化PSO演算法。高鷹借鑒生態學中環境和種群競爭的關系,提出一種基於種群密度的多種群PSO演算法。
第二類方案是改進微粒學習對象的選取策略。Al-kazemi提出多階段PSO演算法,將微粒按不同階段的臨時搜索目標分組,這些臨時目標允許微粒向著或背著它自己或全局最好位置移動。Ting對每個微粒的pBest進行操作,每一維從其他隨機確定的維度學習,之後如果新的pBest更好則替換原pBest;該文還比較了多種不同學習方式對應的PSO演算法的性能。Liang提出一種新穎的學習策略CLPSO,利用所有其他微粒的歷史最優信息來更新微粒的速度;每個微粒可以向不同的微粒學習,並且微粒的每一維可以向不同的微粒學習。該策略能夠保持群體的多樣性,防止早熟收斂,可以提高PSO演算法在多模問題上的性能;通過實驗將該演算法與其它幾種PSO演算法的變種進行比較,實驗結果表明該演算法在解決多模復雜問題時效果很好。Zhao在PSO演算法中使用適應值最好的n個值來代替速度更新公式中的gBest。Abdelbar提出一種模糊度量,從而使得每個鄰域中有多個適應值最好的微粒可以影響其它微粒。Wang也採用多個適應值最好的微粒信息來更新微粒速度,並提出一種模糊規則來自適應地確定參數。崔志華提出一種動態調整的改進PSO演算法,在運行過程中動態調整極限位置,使得每個微粒的極限位置在其所經歷的最好位置與整體最好位置所形成的動態圓中分布。與原始PSO演算法相反,有一類方法是遠離最差位置而非飛向最優位置。Yang提出在演算法中記錄最差位置而非最優位置,所有微粒都遠離這些最差位置。與此類似,Leontitsis在微粒群演算法中引入排斥子的概念,在使用個體最優位置和群體最優位置信息的同時,在演算法中記錄當前的個體最差位置和群體最差位置,並利用它們將微粒排斥到最優位置,從而讓微粒群更快地到達最優位置。孟建良提出一種改進的PSO演算法,在進化的初期,微粒以較大的概率向種群中其他微粒的個體最優學習;在進化後期,微粒以較大的概率向當前全局最優個體學習。Yang在PSO演算法中引入輪盤選擇技術來確定gBest,使得所有個體在進化早期都有機會引領搜索方向,從而避免早熟。
第三類方案是修改微粒更新公式。Hendtlass在速度更新方程中給每個微粒添加了記憶能力。He在速度更新方程中引入被動聚集機制。曾建潮通過對PSO演算法的速度進化迭代方程進行修正,提出一種保證全局收斂的隨機PSO演算法。Zeng在PSO演算法中引入加速度項,使得PSO演算法從一個二階隨機系統變為一個三階隨機系統,並使用PID控制器來控制演算法的演化。為了改進PSO演算法的全局搜索能力,Ho提出一種新的微粒速度和位置更新公式,並引入壽命(Age)變數。
第四類方案是修改速度更新策略。Liu認為過於頻繁的速度更新會弱化微粒的局部開采能力並減慢收斂,因此提出一種鬆弛速度更新(RVU)策略,僅當微粒使用原速度不能進一步提高適應值時才更新速度,並通過試驗證明該策略可以大大減小計算量並加速收斂。羅建宏對同步模式和非同步模式的PSO演算法進行了對比研究,試驗結果表明非同步模式收斂速度顯著提高,同時尋優效果更好。Yang在微粒的更新規則中引入感情心理模型。Liu採用一個最小速度閾值來控制微粒的速度,並使用一個模糊邏輯控制器來自適應地調節該最小速度閾值。張利彪提出了對PSO演算法增加更新概率,對一定比例的微粒並不按照原更新公式更新,而是再次隨機初始化。Dioan利用遺傳演算法(GA)來演化PSO演算法的結構,即微粒群中各微粒更新的順序和頻率。
第五類方案是修改速度限制方法、位置限制方法和動態確定搜索空間。Stacey提出一種重新隨機化速度的速度限制和一種重新隨機化位置的位置限制。Liu在[76]的基礎上,在PSO演算法中引入動量因子,來將微粒位置限制在可行范圍內。陳炳瑞提出一種根據微粒群的最佳適應值動態壓縮微粒群的搜索空間與微粒群飛行速度范圍的改進PSO演算法。
第六類方案是通過將PSO演算法與一些其他的搜索技術進行結合來提高PSO演算法的性能,主要目的有二,其一是提高種群多樣性,避免早熟;其二是提高演算法局部搜索能力。這些混合演算法包括將各種遺傳運算元如選擇、交叉、變異引入PSO演算法,來增加種群的多樣性並提高逃離局部最小的能力。Krink通過解決微粒間的沖突和聚集來增強種群多樣性,提出一種空間擴展PSO演算法(Spatial ExtensionPSO,SEPSO);但是SEPSO演算法的參數比較難以調節,為此Monson提出一種自適應調節參數的方法。用以提高種群多樣性的其他方法或模型還包括「吸引—排斥」、捕食—被捕食模型、耗散模型、自組織模型、生命周期模型(LifeCycle model)、貝葉斯優化模型、避免沖突機制、擁擠迴避(Crowd Avoidance)、層次化公平競爭(HFC)、外部記憶、梯度下降技術、線性搜索、單純形法運算元、爬山法、勞動分工、主成分分析技術、卡爾曼濾波、遺傳演算法、隨機搜索演算法、模擬退火、禁忌搜索、蟻群演算法(ACO)、人工免疫演算法、混沌演算法、微分演化、遺傳規劃等。還有人將PSO演算法在量子空間進行了擴展。Zhao將多主體系統(MAS)與PSO演算法集成起來,提出MAPSO演算法。Medasani借鑒概率C均值和概率論中的思想對PSO演算法進行擴展,提出一種概率PSO演算法,讓演算法分勘探和開發兩個階段運行。
第七類方案專門針對多模問題,希望能夠找到多個較優解。為了能使PSO演算法一次獲得待優化問題的多個較優解,Parsopoulos使用了偏轉(Deflection)、拉伸(Stretching)和排斥(Repulsion)等技術,通過防止微粒運動到之前已經發現的最小區域,來找到盡可能多的最小點。但是這種方法會在檢測到的局部最優點兩端產生一些新的局部最優點,可能會導致優化演算法陷入這些局部最小點。為此,Jin提出一種新的函數變換形式,可以避免該缺點。基於類似思想,熊勇提出一種旋轉曲面變換方法。
保持種群多樣性最簡單的方法,是在多樣性過小的時候,重置某些微粒或整個微粒群。Lvbjerg在PSO演算法中採用自組織臨界性作為一種度量,來描述微粒群中微粒相互之間的接近程度,來確定是否需要重新初始化微粒的位置。Clerc提出了一種「Re-Hope」方法,當搜索空間變得相當小但是仍未找到解時(No-Hope),重置微粒群。Fu提出一種帶C-Pg變異的PSO演算法,微粒按照一定概率飛向擾動點而非Pg。赫然提出了一種自適應逃逸微粒群演算法,限制微粒在搜索空間內的飛行速度並給出速度的自適應策略。
另一種變種是小生境PSO演算法,同時使用多個子種群來定位和跟蹤多個最優解。Brits還研究了一種通過調整適應值計算方式的方法來同時找到多個最優解。Li在PSO演算法中引入適應值共享技術來求解多模問題。Zhang在PSO演算法中採用順序生境(SequentialNiching)技術。在小生境PSO演算法的基礎上,還可以使用向量點積運算來確定各個小生境中的候選解及其邊界,並使該過程並行化,以獲得更好的結果。但是,各種小生境PSO演算法存在一個共同的問題,即需要確定一個小生境半徑,且演算法性能對該參數很敏感。為解決該問題,Bird提出一種自適應確定niching參數的方法。
Hendtlass在PSO演算法中引入短程力的概念,並基於此提出一種WoSP演算法,可以同時確定多個最優點。劉宇提出一種多模態PSO演算法,用聚類演算法對微粒進行聚類,動態地將種群劃分成幾個類,並且使用微粒所屬類的最優微粒而非整個種群的最好微粒來更新微粒的速度,從而可以同時得到多個近似最優解。Li在PSO演算法中引入物種的概念,但是由於其使用的物種間距是固定的,該方法只適用於均勻分布的多模問題;為此,Yuan對該演算法進行擴展,採用多尺度搜索方法對物種間距加以自適應的調整。
此外,也有研究者將PSO演算法的思想引入其他演算法中,如將PSO演算法中微粒的運動規則嵌入到進化規劃中,用PSO演算法中的運動規則來替代演化演算法中交叉運算元的功能。

I. pso的優化求解

PSO演算法被廣泛應用於各種優化問題,並且已經成為優化領域中的一個有效演算法。除了普通函數優化之外,還包括如下方面。
混合整數非線性規劃
很多求解整數規劃的演算法是在採用實數域的演算法進行優化後,再將結果取整作為整數規劃的近似解。這種做法常常導致不滿足約束或遠離最優解。譚瑛提出一種在整數空間中直接進行進化計算的PSO演算法。劉釗針對混合整數非線性規劃中可行解產生代價較高的問題,建立了保證都是合法解的備用微粒庫,並提出微粒遷移策略,幫助微粒跳出局部最優。
雜訊和動態環境
動態系統的狀態會經常改變,甚至可能會連續變化。許多實際系統都會涉及到動態環境。例如,由於顧客的優先順序、意外的設備維護等導致的變化,調度系統中大多數計算時間都被用來進行重新調度。在實際應用中,這些系統狀態的變化就需要經常進行重新優化。
最初使用微粒群演算法跟蹤動態系統的工作由Carlisle提出,通過周期性地重置所有微粒的記憶來跟蹤動態系統。Eberhart也採用類似想法;之後Hu提出一種自適應PSO演算法,能夠自動跟蹤動態系統中的不同變化,並在拋物線benchmark函數上對不同的環境檢測和響應技術進行了實驗,其中使用的檢測方法是監控種群中最優微粒的行為。後來Carlisle使用搜索空間中的一個隨機點來確定環境是否發生變化,但是這需要集中控制,與PSO演算法的分布式處理模型不符。為此Cui提出TDPSO演算法,讓最優歷史位置的適應值隨著時間減小,從而不再需要集中控制。Blackwell在微粒的更新公式中添加了一項懲罰項,來保持微粒處於一個擴展的群中,以應對快速變化的動態環境,該方法中不需要檢測最優點是否發生變化。
Parsopoulos等的試驗表明,基本PSO演算法就可以有效而穩定地在雜訊環境中工作,且在很多情況下,雜訊的存在還可以幫助PSO演算法避免陷入局部最優。Parsopoulos還通過試驗研究了UPSO演算法在動態環境中的性能。Pugh提出一種抗雜訊的PSO演算法。Pan將假設檢驗和最優計算預算分配(OCBA)技術引入微粒群演算法,提出PSOOHT演算法,來解決雜訊環境下的函數優化問題。
上述工作的研究對象都是簡單的動態系統,所採用的實驗函數是簡單的單模函數,並且所涉及的變化都是簡單環境下的均勻變化(即固定步長)。而事實上,實際的動態系統經常是非線性的,並在復雜的多模搜索空間中非均勻變化。Li採用四個PSO模型,對一系列不同的動態環境進行了對比研究。
上述方法均是針對僅跟蹤單個最優點的情況,

J. pso的並行演算法

與大多數隨機優化演算法相似,當適應值評價函數的計算量比較大時,PSO演算法的計算量會很大。為了解決該問題,研究者提出了並行PSO演算法。與並行遺傳演算法類似,並行PSO演算法也可以有三種並行群體模型:主從並行模型、島嶼群體模型和鄰接模型。
Schutte採用同步實現方式,在計算完一代中所有點的適應值之後才進入下一代。這種並行方法雖然實現簡單,但常常會導致並行效率很差。故而有人提出非同步方式的並行演算法,可以在對數值精度影響不大的條件下提高PSO演算法的並行性能。這兩種方式採用的都是主從並行模型,其中非同步方式在求解上耦合性更高,更容易產生通信瓶頸。
Baskar提出一種兩個子種群並行演化的並發PSO演算法,其中一個子種群採用原始的PSO演算法,另一個子種群採用基於適應值距離比的PSO演算法(FDR-PSO);兩個子種群之間頻繁地進行信息交換。而El-Abd研究了在子種群中採用局部鄰域版本的協作PSO演算法,並研究了多種信息交換的方式及其對演算法性能的影響。黃芳提出一種基於島嶼群體模型的並行PSO演算法,並引入一種集中式遷移策略,提高了求解效率,同時改善了早收斂現象。
Li提出延遲交換信息的並行演算法屬於鄰接模型,該演算法可以提高速度,但可能使得解的質量變差。

閱讀全文

與pso演算法用於物流選址問題相關的資料

熱點內容
python基礎教程pdf下載 瀏覽:123
如何統計伺服器 瀏覽:742
蘋果和安卓怎麼贈送模組 瀏覽:803
伺服器倒計時怎麼弄 瀏覽:30
excel文件夾更新 瀏覽:433
億點連接app哪裡好 瀏覽:788
java掃碼支付 瀏覽:873
單片機行車記錄儀 瀏覽:391
oppo雲伺服器什麼意思 瀏覽:82
51單片機可以編譯多少公里 瀏覽:27
用什麼工具製作安卓應用 瀏覽:488
單片機數碼管的代碼 瀏覽:779
第一款安卓手機是什麼牌子 瀏覽:396
java非同步web 瀏覽:274
51單片機讀tf卡 瀏覽:940
linux下獲取文件 瀏覽:320
加密文件電腦顯示無屏幕截取許可權 瀏覽:356
虛榮安卓用什麼充值 瀏覽:754
阿里雲沒有伺服器如何備案 瀏覽:708
python用戶特性總結 瀏覽:731