當前位置:首頁 » 操作系統 » 蟻群演算法的數學模型

蟻群演算法的數學模型

發布時間: 2024-04-27 08:58:39

Ⅰ 蟻群演算法及其應用實例

       蟻群演算法(ant colony optimization, ACO),又稱螞蟻演算法,是一種對自然界螞蟻的尋徑方式進行模擬而得到的一種仿生演算法,是一種用來在圖中尋找優化路徑的機率型演算法。
       螞蟻在運動過程中,可以在行走的路徑上留下信息素,後來的螞蟻可以感知到信息素的存在,信息素濃度越高的路徑越容易被後來的螞蟻選擇,從而形成一種正反饋現象。
       它能夠求出從原點出發,經過若干個給定的需求點,最終返回原點的最短路徑。這也就是著名的旅行商問題(Traveling Saleman Problem,TSP)。

       若螞蟻從A點出發到D點覓食,它可以隨機從ABD或ACD中選擇一條路。假設初始時為每條路分配一隻螞蟻,每個時間單位行走一步,則經過8個時間單位後,情形如下圖所示:ABD路線的螞蟻到達D點,ACD路線的螞蟻到達C點。

       那麼,再過8個時間單位,很容易可以得到下列情形:ABD路線的螞蟻回到A點,ACD路線的螞蟻到達D點。

α 代表信息素量對是否選擇當前路徑的影響程度,反映了蟻群在路徑搜索中隨機性因素作用的強度。
α 越大,螞蟻選擇以前走過的路徑的可能性越大,搜索的隨機性就會減弱。
α 過小,會導致蟻群搜索過早陷入局部最優,取值范圍通常為[1,4]。

β 反映了啟發式信息在指導蟻群搜索中的相對重要程度,蟻群尋優過程中先驗性、確定性因素作用的強度。
β 過大,雖然收斂速度加快,但是易陷入局部最優。
β 過小,蟻群易陷入純粹的隨機搜索,很難找到最優解。通常取[0,5]。

ρ 反映了信息素的蒸發程度,相反,1-ρ 表示信息素的保留水平
ρ 過大,信息素會發過快,容易導致最優路徑被排除。
ρ 過小,各路徑上信息素含量差別過小,以前搜索過的路徑被在此選擇的可能性過大,會影響演算法的隨機性和全局搜索能力。通常取[0.2,0.5]。

m過大,每條路徑上信息素趨於平均,正反饋作用減弱,從而導致收斂速度減慢。
m過小,可能導致一些從未搜索過的路徑信息素濃度減小為0,導致過早收斂,解的全局最優性降低

總信息量Q對演算法性能的影響有賴於αβρ的選取,以及演算法模型的選擇。
Q對ant-cycle模型蟻群演算法的性能沒有明顯影響,不必特別考慮,可任意選取。

Ⅱ 哪本python書立有蟻群演算法

簡介

蟻群演算法(ant colony optimization, ACO),又稱螞蟻演算法,是一種用來在圖中尋找優化路徑的機率型演算法。它由Marco Dorigo於1992年在他的博士論文中提出,其靈感來源於螞蟻在尋找食物過程中發現路徑的行為。蟻群演算法是一種模擬進化演算法,初步的研究表明該演算法具有許多優良的性質。針對PID控制器參數優化設計問題,將蟻群演算法設計的結果與遺傳演算法設計的結果進行了比較,數值模擬結果表明,蟻群演算法具有一種新的模擬進化優化方法的有效性和應用價值。
定義

各個螞蟻在沒有事先告訴他們食物在什麼地方的前提下開始尋找食物。當一隻找到食物以後,它會向環境釋放一種揮發性分泌物pheromone (稱為信息素,該物質隨著時間的推移會逐漸揮發消失,信息素濃度的大小表徵路徑的遠近)來實現的,吸引其他的螞蟻過來,這樣越來越多的螞蟻會找到食物。有些螞蟻並沒有像其它螞蟻一樣總重復同樣的路,他們會另闢蹊徑,如果另開辟的道路比原來的其他道路更短,那麼,漸漸地,更多的螞蟻被吸引到這條較短的路上來。最後,經過一段時間運行,可能會出現一條最短的路徑被大多數螞蟻重復著。

解決的問題

三維地形中,給出起點和重點,找到其最優路徑。

程序代碼:

numpy as npimport matplotlib.pyplot as plt%pylabcoordinates = np.array([[565.0,575.0],[25.0,185.0],[345.0,750.0],[945.0,685.0],[845.0,655.0],[880.0,660.0],[25.0,230.0],[525.0,1000.0],[580.0,1175.0],[650.0,1130.0],[1605.0,620.0],[1220.0,580.0],[1465.0,200.0],[1530.0, 5.0],[845.0,680.0],[725.0,370.0],[145.0,665.0],[415.0,635.0],[510.0,875.0],[560.0,365.0],[300.0,465.0],[520.0,585.0],[480.0,415.0],[835.0,625.0],[975.0,580.0],[1215.0,245.0],[1320.0,315.0],[1250.0,400.0],[660.0,180.0],[410.0,250.0],[420.0,555.0],[575.0,665.0],[1150.0,1160.0],[700.0,580.0],[685.0,595.0],[685.0,610.0],[770.0,610.0],[795.0,645.0],[720.0,635.0],[760.0,650.0],[475.0,960.0],[95.0,260.0],[875.0,920.0],[700.0,500.0],[555.0,815.0],[830.0,485.0],[1170.0, 65.0],[830.0,610.0],[605.0,625.0],[595.0,360.0],[1340.0,725.0],[1740.0,245.0]])def getdistmat(coordinates):num = coordinates.shape[0]distmat = np.zeros((52,52))for i in range(num):for j in range(i,num):distmat[i][j] = distmat[j][i]=np.linalg.norm(coordinates[i]-coordinates[j])return distmatdistmat = getdistmat(coordinates)numant = 40 #螞蟻個數numcity = coordinates.shape[0] #城市個數alpha = 1 #信息素重要程度因子beta = 5 #啟發函數重要程度因子rho = 0.1 #信息素的揮發速度Q = 1iter = 0itermax = 250etatable = 1.0/(distmat+np.diag([1e10]*numcity)) #啟發函數矩陣,表示螞蟻從城市i轉移到矩陣j的期望程度pheromonetable = np.ones((numcity,numcity)) # 信息素矩陣pathtable = np.zeros((numant,numcity)).astype(int) #路徑記錄表distmat = getdistmat(coordinates) #城市的距離矩陣lengthaver = np.zeros(itermax) #各代路徑的平均長度lengthbest = np.zeros(itermax) #各代及其之前遇到的最佳路徑長度pathbest = np.zeros((itermax,numcity)) # 各代及其之前遇到的最佳路徑長度while iter < itermax:# 隨機產生各個螞蟻的起點城市if numant <= numcity:#城市數比螞蟻數多pathtable[:,0] = np.random.permutation(range(0,numcity))[:numant]else: #螞蟻數比城市數多,需要補足pathtable[:numcity,0] = np.random.permutation(range(0,numcity))[:]pathtable[numcity:,0] = np.random.permutation(range(0,numcity))[:numant-numcity]length = np.zeros(numant) #計算各個螞蟻的路徑距離for i in range(numant):visiting = pathtable[i,0] # 當前所在的城市#visited = set() #已訪問過的城市,防止重復#visited.add(visiting) #增加元素unvisited = set(range(numcity))#未訪問的城市unvisited.remove(visiting) #刪除元素for j in range(1,numcity):#循環numcity-1次,訪問剩餘的numcity-1個城市#每次用輪盤法選擇下一個要訪問的城市listunvisited = list(unvisited)probtrans = np.zeros(len(listunvisited))for k in range(len(listunvisited)):probtrans[k] = np.power(pheromonetable[visiting][listunvisited[k]],alpha)*np.power(etatable[visiting][listunvisited[k]],alpha)cumsumprobtrans = (probtrans/sum(probtrans)).cumsum()cumsumprobtrans -= np.random.rand()k = listunvisited[find(cumsumprobtrans>0)[0]] #下一個要訪問的城市pathtable[i,j] = kunvisited.remove(k)#visited.add(k)length[i] += distmat[visiting][k]visiting = klength[i] += distmat[visiting][pathtable[i,0]] #螞蟻的路徑距離包括最後一個城市和第一個城市的距離#print length# 包含所有螞蟻的一個迭代結束後,統計本次迭代的若干統計參數lengthaver[iter] = length.mean()if iter == 0:lengthbest[iter] = length.min()pathbest[iter] = pathtable[length.argmin()].()else:if length.min() > lengthbest[iter-1]:lengthbest[iter] = lengthbest[iter-1]pathbest[iter] = pathbest[iter-1].()else:lengthbest[iter] = length.min()pathbest[iter] = pathtable[length.argmin()].()# 更新信息素changepheromonetable = np.zeros((numcity,numcity))for i in range(numant):for j in range(numcity-1):changepheromonetable[pathtable[i,j]][pathtable[i,j+1]] += Q/distmat[pathtable[i,j]][pathtable[i,j+1]]changepheromonetable[pathtable[i,j+1]][pathtable[i,0]] += Q/distmat[pathtable[i,j+1]][pathtable[i,0]]pheromonetable = (1-rho)*pheromonetable + changepheromonetableiter += 1 #迭代次數指示器+1#觀察程序執行進度,該功能是非必須的if (iter-1)%20==0:print iter-1# 做出平均路徑長度和最優路徑長度fig,axes = plt.subplots(nrows=2,ncols=1,figsize=(12,10))axes[0].plot(lengthaver,'k',marker = u'')axes[0].set_title('Average Length')axes[0].set_xlabel(u'iteration')axes[1].plot(lengthbest,'k',marker = u'')axes[1].set_title('Best Length')axes[1].set_xlabel(u'iteration')fig.savefig('Average_Best.png',dpi=500,bbox_inches='tight')plt.close()#作出找到的最優路徑圖bestpath = pathbest[-1]plt.plot(coordinates[:,0],coordinates[:,1],'r.',marker=u'$cdot$')plt.xlim([-100,2000])plt.ylim([-100,1500])for i in range(numcity-1):#m,n = bestpath[i],bestpath[i+1]print m,nplt.plot([coordinates[m][0],coordinates[n][0]],[coordinates[m][1],coordinates[n][1]],'k')plt.plot([coordinates[bestpath[0]][0],coordinates[n][0]],[coordinates[bestpath[0]][1],coordinates[n][1]],'b')ax=plt.gca()ax.set_title("Best Path")ax.set_xlabel('X axis')ax.set_ylabel('Y_axis')plt.savefig('Best Path.png',dpi=500,bbox_inches='tight')plt.close()

Ⅲ 遺傳演算法,蟻群演算法和粒子群演算法都是什麼演算法

遺傳演算法(Genetic Algorithm)是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。
蟻群演算法(ant colony optimization, ACO),又稱螞蟻演算法,是一種用來在圖中尋找優化路徑的機率型演算法。
粒子群演算法,也稱粒子群優化演算法(Particle Swarm Optimization),縮寫為 PSO, 是近年來由J. Kennedy和R. C. Eberhart等[1] 開發的一種新的進化演算法(Evolutionary Algorithm - EA)。PSO 演算法屬於進化演算法的一種,和模擬退火演算法相似,它也是從隨機解出發,通過迭代尋找最優解,它也是通過適應度來評價解的品質,但它比遺傳演算法規則更為簡單,它沒有遺傳演算法的「交叉」(Crossover) 和「變異」(Mutation) 操作,它通過追隨當前搜索到的最優值來尋找全局最優。

Ⅳ 蟻群演算法的內容

蟻群演算法又稱螞蟻演算法,是一種用來在圖中尋找優化路徑的機率型演算法。它由Marco Dorigo於1992年在他的博士論文中提出,其靈感來源於螞蟻在尋找食物過程中發現路徑的行為。蟻群演算法是一種模擬進化演算法,初步的研究表明該演算法具有許多優良的性質.針對PID控制器參數優化設計問題,將蟻群演算法設計的結果與遺傳演算法設計的結果進行了比較,數值模擬結果表明,蟻群演算法具有一種新的模擬進化優化方法的有效性和應用價值。

神經網路
思維學普遍認為,人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。
邏輯性的思維是指根據邏輯規則進行推理的過程;它先將信息化成概念,並用符號表示,然後,根據符號運算按串列模式進行邏輯推理;這一過程可以寫成串列的指令,讓計算機執行。然而,直觀性的思維是將分布式存儲的信息綜合起來,結果是忽然間產生想法或解決問題的辦法。這種思維方式的根本之點在於以下兩點:1.信息是通過神經元上的興奮模式分布儲在網路上;2.信息處理是通過神經元之間同時相互作用的動態過程來完成的。
人工神經網路就是模擬人思維的第二種方式。這是一個非線性動力學系統,其特色在於信息的分布式存儲和並行協同處理。雖然單個神經元的結構極其簡單,功能有限,但大量神經元構成的網路系統所能實現的行為卻是極其豐富多彩的。
神經網路的研究內容相當廣泛,反映了多學科交叉技術領域的特點。目前,主要的研究工作集中在以下幾個方面:
(1)生物原型研究。從生理學、心理學、解剖學、腦科學、病理學等生物科學方面研究神經細胞、神經網路、神經系統的生物原型結構及其功能機理。
(2)建立理論模型。根據生物原型的研究,建立神經元、神經網路的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。
(3)網路模型與演算法研究。在理論模型研究的基礎上構作具體的神經網路模型,以實現計算機饃擬或准備製作硬體,包括網路學習演算法的研究。這方面的工作也稱為技術模型研究。
(4)人工神經網路應用系統。在網路模型與演算法研究的基礎上,利用人工神經網路組成實際的應用系統,例如,完成某種信號處理或模式識別的功能、構作專家系統、製成機器人等等。
縱觀當代新興科學技術的發展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學技術領域的進程中歷經了崎嶇不平的道路。我們也會看到,探索人腦功能和神經網路的研究將伴隨著重重困難的克服而日新月異。
遺傳演算法,是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法,它最初由美國Michigan大學J.Holland教授於1975年首先提出來的,並出版了頗有影響的專著《Adaptation in Natural and Artificial Systems》,GA這個名稱才逐漸為人所知,J.Holland教授所提出的GA通常為簡單遺傳演算法(SGA)。

Ⅳ 蟻群演算法及其應用的目錄

第1章緒論
1.1螞蟻的基本習性
1.1.1螞蟻的信息系統
1.1.2蟻群社會的遺傳與進化
1.2蟻群覓食行為與覓食策略
1.2.1螞蟻的覓食行為
1.2.2螞蟻的覓食策略
1.3人工蟻群演算法的基本思想
1.3.1人工蟻與真實螞蟻的異同
1.3.2人工蟻群演算法的實現過程
1.4蟻群優化演算法的意義及應用
1.4.1蟻群優化演算法的意義
l.4.2蟻群演算法的應用
1.5蟻群演算法的展望
第2章螞蟻系統——蟻群演算法的原型
2.1螞蟻系統模型的建立
2.2蟻量系統和蟻密系統的模型
2.3蟻周系統模型
第3章改進的蟻群優化演算法
3.1帶精英策略的螞蟻系統
3.2基於優化排序的螞蟻系統
3.3蟻群系統
3.3.1蟻群系統狀態轉移規則
3.3.2蟻群系統全局更新規則
3.3.3蟻群系統局部更新規則
3.3.4候選集合策略
3.4最大一最小螞蟻系統
3.4.1信息素軌跡更新
3.4.2信息素軌跡的限制
3.4.3信息素軌跡的初始化
3.4.4信息素軌跡的平滑化
3.5最優一最差螞蟻系統
3.5.1最優一最差螞蟻系統的基本思想
3.5.2最優一最差螞蟻系統的工作過程
第4章蟻群優化演算法的模擬研究
4.1螞蟻系統三類模型的模擬研究
4.1.1三類模型性能的比較
4.2.2基於統計的參數優化
4.2基於蟻群系統模型的模擬研究
4.2.1局部優化演算法的有效性
4.2.2蟻群系統與其他啟發演算法的比較
4.3最大一最小螞蟻系統的模擬研究
4.3.1信息素軌跡初始化研究
4.3.2信息素軌跡量下限的作用
4.3.3蟻群演算法的對比
4.4最優一最差螞蟻系統的模擬研究
4.4.1參數ε的設置
4.4.2幾種改進的蟻群演算法比較
第5章蟻群演算法與遺傳、模擬退火演算法的對比
5.1遺傳演算法
5.1.1遺傳演算法與自然選擇
5.1.2遺傳演算法的基本步驟
5.1.3旅行商問題的遺傳演算法實現
5.2模擬退火演算法
5.2.1物理退火過程和Metroplis准則
5.2.2模擬退火法的基本原理
5.3蟻群演算法與遺傳演算法、模擬退火演算法的比較
5.3.1三種演算法的優化質量比較
5.3.2三種演算法收斂速度比較
5.3.3三種演算法的特點與比較分析
第6章蟻群演算法與遺傳、免疫演算法的融合
6.1遺傳演算法與螞蟻演算法融合的GAAA演算法
6.1.1遺傳演算法與螞蟻演算法融合的基本思想
……
第7章自適應蟻群演算法
第8章並行蟻群演算法
第9章蟻群演算法的收斂性與蟻群行為模型
第10章蟻群演算法在優化問題中的應用
附錄
參考文獻

Ⅵ 蟻群演算法的相關研究

跟著螞蟻的蹤跡,你找到了什麼?通過上面的原理敘述和實際操作,我們不難發現螞蟻之所以具有智能行為,完全歸功於它的簡單行為規則,而這些規則綜合起來具有下面兩個方面的特點:
1、多樣性
2、正反饋
多樣性保證了螞蟻在覓食的時候不至走進死胡同而無限循環,正反饋機制則保證了相對優良的信息能夠被保存下來。我們可以把多樣性看成是一種創造能力,而正反饋是一種學習強化能力。正反饋的力量也可以比喻成權威的意見,而多樣性是打破權威體現的創造性,正是這兩點小心翼翼的巧妙結合才使得智能行為涌現出來了。
引申來講,大自然的進化,社會的進步、人類的創新實際上都離不開這兩樣東西,多樣性保證了系統的創新能力,正反饋保證了優良特性能夠得到強化,兩者要恰到好處的結合。如果多樣性過剩,也就是系統過於活躍,這相當於螞蟻會過多的隨機運動,它就會陷入混沌狀態;而相反,多樣性不夠,正反饋機制過強,那麼系統就好比一潭死水。這在蟻群中來講就表現為,螞蟻的行為過於僵硬,當環境變化了,螞蟻群仍然不能適當的調整。
既然復雜性、智能行為是根據底層規則涌現的,既然底層規則具有多樣性和正反饋特點,那麼也許你會問這些規則是哪裡來的?多樣性和正反饋又是哪裡來的?我本人的意見:規則來源於大自然的進化。而大自然的進化根據剛才講的也體現為多樣性和正反饋的巧妙結合。而這樣的巧妙結合又是為什麼呢?為什麼在你眼前呈現的世界是如此栩栩如生呢?答案在於環境造就了這一切,之所以你看到栩栩如生的世界,是因為那些不能夠適應環境的多樣性與正反饋的結合都已經死掉了,被環境淘汰了! 蟻群演算法的由來:螞蟻是地球上最常見、數量最多的昆蟲種類之一,常常成群結隊地出現在人類的日常生活環境中。這些昆蟲的群體生物智能特徵,引起了一些學者的注意。義大利學者M.Dorigo,V.Maniezzo等人在觀察螞蟻的覓食習性時發現,螞蟻總能找到巢穴與食物源之間的最短路徑。經研究發現,螞蟻的這種群體協作功能是通過一種遺留在其來往路徑上的叫做信息素(Pheromone)的揮發性化學物質來進行通信和協調的。化學通信是螞蟻採取的基本信息交流方式之一,在螞蟻的生活習性中起著重要的作用。通過對螞蟻覓食行為的研究,他們發現,整個蟻群就是通過這種信息素進行相互協作,形成正反饋,從而使多個路徑上的螞蟻都逐漸聚集到最短的那條路徑上。
這樣,M.Dorigo等人於1991年首先提出了蟻群演算法。其主要特點就是:通過正反饋、分布式協作來尋找最優路徑。這是一種基於種群尋優的啟發式搜索演算法。它充分利用了生物蟻群能通過個體間簡單的信息傳遞,搜索從蟻巢至食物間最短路徑的集體尋優特徵,以及該過程與旅行商問題求解之間的相似性。得到了具有NP難度的旅行商問題的最優解答。同時,該演算法還被用於求解Job-Shop調度問題、二次指派問題以及多維背包問題等,顯示了其適用於組合優化類問題求解的優越特徵。
多年來世界各地研究工作者對蟻群演算法進行了精心研究和應用開發,該演算法現已被大量應用於數據分析、機器人協作問題求解、電力、通信、水利、采礦、化工、建築、交通等領域。
蟻群演算法之所以能引起相關領域研究者的注意,是因為這種求解模式能將問題求解的快速性、全局優化特徵以及有限時間內答案的合理性結合起來。其中,尋優的快速性是通過正反饋式的信息傳遞和積累來保證的。而演算法的早熟性收斂又可以通過其分布式計算特徵加以避免,同時,具有貪婪啟發式搜索特徵的蟻群系統又能在搜索過程的早期找到可以接受的問題解答。這種優越的問題分布式求解模式經過相關領域研究者的關注和努力,已經在最初的演算法模型基礎上得到了很大的改進和拓展。
經過一定時間,從食物源返回的螞蟻到達D點同樣也碰到障礙物,也需要進行選擇。此時A, B兩側的信息素濃度相同,它們仍然一半向左,一半向右。但是當A側的螞蟻已經完全繞過障礙物到達C點時,B側的螞蟻由於需走的路徑更長,還不能到達C點,圖3表示蟻群在障礙物前經過一段時間後的情形。
此時對於從蟻巢出發來到C點的螞蟻來說,由於A側的信息素濃度高,B側的信息素較低,就傾向於選擇A側的路徑。這樣的結果是A側的螞蟻越來越多,最終所有螞蟻都選擇這條較短的路徑,圖4 表示蟻群最終選擇的路徑
上述過程,很顯然是由螞蟻所留下的信息素的「正反饋」過程而導致的。螞蟻個體就是通過這種信息的交流來達到搜索食物的目的。蟻群演算法的基本思想也是從這個過程轉化而來的。
蟻群演算法的特點:
1)蟻群演算法是一種自組織的演算法。在系統論中,自組織和它組織是組織的兩個基本分類,其區別在於組織力或組織指令是來自於系統的內部還是來自於系統的外部,來自於系統內部的是自組織,來自於系統外部的是他組織。如果系統在獲得空間的、時間的或者功能結構的過程中,沒有外界的特定干預,我們便說系統是自組織的。在抽象意義上講,自組織就是在沒有外界作用下使得系統熵減小的過程(即是系統從無序到有序的變化過程)。蟻群演算法充分體現了這個過程,以螞蟻群體優化為例子說明。當演算法開始的初期,單個的人工螞蟻無序的尋找解,演算法經過一段時間的演化,人工螞蟻間通過信息激素的作用,自發的越來越趨向於尋找到接近最優解的一些解,這就是一個無序到有序的過程。
2)蟻群演算法是一種本質上並行的演算法。每隻螞蟻搜索的過程彼此獨立,僅通過信息激素進行通信。所以蟻群演算法則可以看作是一個分布式的多agent系統,它在問題空間的多點同時開始進行獨立的解搜索,不僅增加了演算法的可靠性,也使得演算法具有較強的全局搜索能力。
3)蟻群演算法是一種正反饋的演算法。從真實螞蟻的覓食過程中我們不難看出,螞蟻能夠最終找到最短路徑,直接依賴於最短路徑上信息激素的堆積,而信息激素的堆積卻是一個正反饋的過程。對蟻群演算法來說,初始時刻在環境中存在完全相同的信息激素,給予系統一個微小擾動,使得各個邊上的軌跡濃度不相同,螞蟻構造的解就存在了優劣,演算法採用的反饋方式是在較優的解經過的路徑留下更多的信息激素,而更多的信息激素又吸引了更多的螞蟻,這個正反饋的過程使得初始的不同得到不斷的擴大,同時又引導整個系統向最優解的方向進化。因此,正反饋是螞蟻演算法的重要特徵,它使得演算法演化過程得以進行。
4)蟻群演算法具有較強的魯棒性。相對於其它演算法,蟻群演算法對初始路線要求不高,即蟻群演算法的求解結果不依賴於初始路線的選擇,而且在搜索過程中不需要進行人工的調整。其次,蟻群演算法的參數數目少,設置簡單,易於蟻群演算法應用到其它組合優化問題的求解。
蟻群演算法的應用進展以蟻群演算法為代表的蟻群智能已成為當今分布式人工智慧研究的一個熱點,許多源於蜂群和蟻群模型設計的演算法己越來越多地被應用於企業的運轉模式的研究。美國五角大樓正在資助關於群智能系統的研究工作-群體戰略(Swarm Strategy),它的一個實戰用途是通過運用成群的空中無人駕駛飛行器和地面車輛來轉移敵人的注意力,讓自己的軍隊在敵人後方不被察覺地安全進行。英國電信公司和美國世界通信公司以電子螞蟻為基礎,對新的電信網路管理方法進行了試驗。群智能還被應用於工廠生產計劃的制定和運輸部門的後勤管理。美國太平洋西南航空公司採用了一種直接源於螞蟻行為研究成果的運輸管理軟體,結果每年至少節約了1000萬美元的費用開支。英國聯合利華公司己率先利用群智能技術改善其一家牙膏廠的運轉情況。美國通用汽車公司、法國液氣公司、荷蘭公路交通部和美國一些移民事務機構也都採用這種技術來改善其運轉的機能。鑒於群智能廣闊的應用前景,美國和歐盟均於近幾年開始出資資助基於群智能模擬的相關研究項目,並在一些院校開設群體智能的相關課程。國內,國家自然科學基金」十五」期間學科交叉類優先資助領域中的認知科學及其信息處理的研究內容中也明確列出了群智能領域的進化、自適應與現場認知主題。
蟻群優化演算法最初用於解決TSP問題,經過多年的發展,已經陸續滲透到其他領域中,比如圖著色問題、大規模集成電路設計、通訊網路中的路由問題以及負載平衡問題、車輛調度問題等。蟻群演算法在若干領域己獲得成功的應用,其中最成功的是在組合優化問題中的應用。
在網路路由處理中,網路的流量分布不斷變化,網路鏈路或結點也會隨機地失效或重新加入。蟻群的自身催化與正向反饋機制正好符合了這類問題的求解特點,因而,蟻群演算法在網路領域得到一定應用。蟻群覓食行為所呈現出的並行與分布特性使得演算法特別適合於並行化處理。因而,實現演算法的並行化執行對於大量復雜的實際應用問題的求解來說是極具潛力的。
在某群體中若存在眾多無智能的個體,它們通過相互之間的簡單合作所表現出來的智能行為即稱為集群智能(Swarm Intelligence)。互聯網上的交流,不過是更多的神經元連接(人腦)通過互聯網相互作用的結果,光纜和路由器不過是軸突和突觸的延伸。從自組織現象的角度上看,人腦的智能和蟻群也沒有本質上的區別,單個神經元沒有智能可言,單個螞蟻也沒有,但是通過連接形成的體系,是一個智能體。(作者: 李精靈 編選:中國電子商務研究中心)

Ⅶ 群體智能的典型模型

群體智能的相關研究早已存在,到目前為止也取得了許多重要的結果。自1991年義大利學者Dorigo 提出蟻群優化(Ant Colony Optimization,ACO)理論開始,群體智能作為一個理論被正式提出,並逐漸吸引了大批學者的關注,從而掀起了研究高潮。1995年,Kennedy 等學者提出粒子群優化演算法(Particle Swarm Opti -mization,PSO ),此後群體智能研究迅速展開,但大部分工作都是圍繞ACO和PSO 進行的。
目前群智能研究主要包括智能蟻群演算法和粒子群演算法。智能蟻群演算法主要包括蟻群優化演算法、蟻群聚類演算法和多機器人協同合作系統。其中,蟻群優化演算法和粒子群優化演算法在求解實際問題時應用最為廣泛。

熱點內容
php交集 發布:2024-05-08 13:46:57 瀏覽:511
internet快速存儲 發布:2024-05-08 13:26:50 瀏覽:977
編程代碼基礎 發布:2024-05-08 13:23:40 瀏覽:611
安卓手機用哪個手機穩定器 發布:2024-05-08 13:22:51 瀏覽:598
個密碼演算法 發布:2024-05-08 13:18:27 瀏覽:383
編程四要素 發布:2024-05-08 13:13:21 瀏覽:300
手機扣扣如何設置密碼 發布:2024-05-08 13:04:35 瀏覽:238
sql注入攻擊與防禦 發布:2024-05-08 12:58:38 瀏覽:317
dw網頁設計如何連接伺服器 發布:2024-05-08 12:33:02 瀏覽:466
linux文件隱藏命令 發布:2024-05-08 12:29:38 瀏覽:749