當前位置:首頁 » 遺傳因素 » 遺傳演算法英文參考文獻

遺傳演算法英文參考文獻

發布時間: 2021-03-31 10:14:41

⑴ 《基於MATLAB遺傳演算法工具箱的設計》 畢業論文 怎麼寫啊

這題目起的有點大,你們導師沒給你個小標題?

⑵ 遺傳演算法第一次提出來是在什麼文獻中

遺傳演算法(Genetic Algorithm)。
我在維基網路上搜索了「Genetic Algorithm」這個詞條,裡面描述道:Genetic algorithms in particular became popular through the work of John Holland in the early 1970s, and particularly his book Adaptation in Natural and Artificial Systems (1975)。
也就是說遺傳演算法是19世紀70年代由John Henry Holland提出來的,此人著有《Adaptation in Natural and Artificial Systems》,此書最早在1975年出版,也成為了這個理論最早的文獻信息。後來此書有另一個版本:Holland, John (1992). Adaptation in Natural and Artificial Systems. Cambridge, MA: MIT Press. ISBN 978-0262581110.

⑶ 遺傳演算法的最優解 在論文中如何驗證

適應度越大,解越優。

判斷是否已得到近似全局最優解的方法就是遺傳演算法的終止條件。 在最大迭代次數范圍內可以選擇下列條件之一作為終止條件:

  1. 最大適應度值和平均適應度值變化不大、趨於穩定;

  2. 2. 相鄰GAP代種群的距離小於可接受值,參考「蔣勇,李宏.改進NSGA—II終止判斷准則[J].計算機模擬.2009. Vol.26 No.2」

⑷ 求一些關於遺傳演算法提高的資料

這么簡單還用問目前,高校對於碩博士論文,需要通過抄襲檢測系統的檢測才能算過關。對本科生來說,大部分學校也採取抽查的方式對本科論文進行檢測。抄襲過多,一經查出超過30%,後果嚴重。輕者延期畢業,重者取消學位。辛辛苦苦讀個大學,學位報銷了多不爽。但是,軟體畢竟是人工設置的一種機制,裡面內嵌了檢測演算法,我們只要摸清其中的機理,通過簡單的修改,就能成功通過檢測。本文是在網路收集的資料。整理了最重要的部分,供大家參考。論文抄襲檢測演算法:1.論文的段落與格式論文檢測基本都是整篇文章上傳,上傳後,論文檢測軟體首先進行部分劃分,上交的最終稿件格式對抄襲率有很大影響。不同段落的劃分可能造成幾十個字的小段落檢測不出來。因此,我們可以通過劃分多的小段落來降低抄襲率。2.資料庫論文檢測,多半是針對已發表的畢業論文,期刊文章,還有會議論文進行匹配的,有的資料庫也包含了網路的一些文章。這里給大家透露下,很多書籍是沒有包含在檢測資料庫中的。之前朋友從一本研究性的著作中摘抄了大量文字,也沒被查出來。就能看出,這個方法還是有效果的。3.章節變換很多同學改變了章節的順序,或者從不同的文章中抽取不同的章節拼接而成的文章,對抄襲檢測的結果影響幾乎為零。所以論文抄襲檢測大師建議大家不要以為抄襲了幾篇文章,或者幾十篇文章就能過關。4.標注參考文獻參考別人的文章和抄襲別人的文章在檢測軟體中是如何界定的。其實很簡單,我們的論文中加了參考文獻的引用符號,但是在抄襲檢測軟體中。都是統一看待,軟體的閥值一般設定為1%,例如一篇文章有5000字,文章的1%就是50字,如果抄襲了多於50,即使加了參考文獻,也會被判定為抄襲。5.字數匹配論文抄襲檢測系統相對比較嚴格,只要多於20單位的字數匹配一致,就被認定為抄襲,但是前提是滿足第4點,參考文獻的標注。論文抄襲修改方法:首先是詞語變化。文章中的專業詞彙可以保留,盡量變換同義詞;其次,改變文中的描述方式,例如倒裝句、被動句、主動句;打亂段落的順序,抄襲原文時分割段落,並重組。通過上述方法,能有效降低抄襲率。下面舉幾個例子,大家可以參考下:例句A:本文以設備利用率最大化為目標函數,採用整數編碼與實數編碼相結合的遺傳演算法,研究了HFS的構建問題。本文提出的染色體編碼方法及相應的遺傳操作方法可實現研究對象的全局隨機尋優。通過對car系列標准算例的研究,顯示了本文提出方法具有較高的計算重復性和計算效率。修改A:本文研究了HFS問題的構建,通過遺傳演算法並結合整數與實數編碼,目標函數為最大化設備利用率來求解。本文的染色體編碼方法與對應的遺傳演算法操作可有效提高演算法的全局搜索能力。通過對一些列基準算例的研究,驗證了本文演算法的有效性,並具有較高的計算重復性和較高的運算效率。例句B:由於房地產商品的地域性強,房地產開發企業在進行不同區域投資時,通常需要建立項目公司,此時就會面臨建立分公司還是子公司的選擇。子公司是一個獨立的法人,而分公司則不是獨立法人,它們在稅收利益方面存在差異。子公司是獨立法人,在設立區域被視為納稅人,通常要承擔與該區域其它公司一樣的全面納稅義務;分公司不是獨立的法人實體,在設立分公司的所在區域不被視為納稅人,只承擔有限的納稅義務,分公司發生的利潤與虧損要與總公司合並計算。修改B:房地產開發企業在不同區域進行投資時,由於此類商品的地域性強,因此需要建立項目公司。此時,企業需要選擇建立分公司還是子公司。主要的區別是子公司具有獨立的法人,分公司則不是獨立法人。其次,在稅收利益方面,由於分公司不是獨立的法人實體,在設立分公司的所在區域不被視為納稅人,只承擔納稅義務,總公司需要合並計算分公司的利潤與虧損;而子公司是獨立法人,在所在區域被視為法人實體,需要承擔與區域其他公司一樣的全面納稅義務。修改抄襲的方法不外乎這些,這里更建議同學們,先熟悉你所看的參考論文,關閉文檔,用自己的話寫出來,這樣就不會受參考文獻的太多影響。有同學這里就提出問題了,學校用的檢測系統是知網的學術不端檢測系統,不是淘寶幾元錢買的萬方數據檢測。其實,各個檢測系統的演算法區別並不大,只是資料庫有多有少,如果你沒有太多,什麼系統都不用怕。既然你抄了,得到檢測報告的同時,先好好修改自己的文章。抄了之後,改相擬度,可以這樣去頭去尾留中間,意同詞不同。一、查重原理1、知網學位論文檢測為整篇上傳,格式對檢測結果可能會造成影響,需要將最終交稿格式提交檢測,將影響降到最小,此影響為幾十字的小段可能檢測不出。對於3萬字元以上文字較多的論文是可以忽略的。對比資料庫為:中國學術期刊網路出版總庫,中國博士學位論文全文資料庫/中國優秀碩士學位論文全文資料庫,國重要會議論文全文資料庫,中國重要報紙全文資料庫,中國專利全文資料庫,個人比對庫,其他比對庫。部分書籍不在知網庫,檢測不到。2、上傳論文後,系統會自動檢測該論文的章節信息,如果有自動生成的目錄信息,那麼系統會將論文按章節分段檢測,否則會自動分段檢測。3、有部分同學反映說自己在段落中明明引用或者抄襲了其他文獻的段落或句子,為什麼沒有檢測出來,這是正常的。中國知網對該套檢測系統的靈敏度設置了一個閥值,該閥值為5%,以段落計,低於5%的抄襲或引用是檢測不出來的,這種情況常見於大段落中的小句或者小概念。舉個例子:假如檢測段落1有10000字,那麼引用單篇文獻500字以下,是不會被檢測出來的。實際上這里也告訴同學們一個修改的方法,就是對段落抄襲千萬不要選一篇文章來引用,盡可能多的選擇多篇文獻,一篇截取幾句,這樣是不會被檢測出來的。4、一篇論文的抄襲怎麼才會被檢測出來?知網論文檢測的條件是連續13個字相似或抄襲都會被紅字標注,但是必須滿足3裡面的前提條件:即你所引用或抄襲的A文獻文字總和在你的各個檢測段落中要達到5%。二、快速通過論文查重的七大方法方法一:外文文獻翻譯法查閱研究領域外文文獻,特別是高水平期刊的文獻,比如Science,Nature,WaterRes等,將其中的理論講解翻譯成中文,放在自己的論文中。優點:1、每個人語言習慣不同,翻譯成的漢語必然不同。因此即使是同一段文字,不同人翻譯了之後,也不會出現抄襲的情況。2、外文文獻的閱讀,可以提升自身英語水平,拓展專業領域視野。缺點:英文不好特別是專業英文不好的同學實施起來比較費勁。方法二:變化措辭法將別人論文里的文字,或按照意思重寫,或變換句式結構,更改主被動語態,或更換關鍵詞,或通過增減。當然如果卻屬於經典名句,還是按照經典的方法加以引用。優點:1.將文字修改之後,按照知網程序和演算法,只要不出現連續13個字重復,以及關鍵詞的重復,就不會被標紅。2.對論文的每字每句都了如指掌,爛熟於心,答辯時亦會如魚得水。缺點:逐字逐句的改,費時費力。方法三:減頭去尾,中間換語序將別人論文里的文字,頭尾換掉中間留下,留下的部分改成被動句,句式和結構就會發生改變,再自行修改下語病後,即可順利躲過查重。優點:方便快捷,可以一大段一大段的修改。缺點中文沒學好的,會很費勁,要想半天。方法四:轉換圖片法將別人論文里的文字,截成圖片,放在自己的論文里。因為知網查重系統目前只能查文字,而不能查圖片和表格,因此可以躲過查重。優點:比改句序更加方便快捷。缺點:用順手了容易出現整頁都是圖片的情況,會影響整個論文的字數統計。方法五:插入文檔法將某些參考引用來的文字通過word文檔的形式插入到論文中。優點:此法比方法四更甚一籌,因為該方法日後還可以在所插入的文檔里進行重新編輯,而圖片轉換法以後就不便於再修改了。缺點:還沒發現。方法六:插入空格法將文章中所有的字間插入空格,然後將空格字間距調到最小。因為查重的根據是以詞為基礎的,空格切斷了詞語,自然略過了查重系統。優點:從查重系統的原理出發,可靠性高。缺點:工作量極大,課可以考慮通過宏完成,但宏的編制需要研究。方法七:自己原創法自己動手寫論文,在寫作時,要麼不原文復制粘貼;要麼正確的加上引用。優點:基本上絕對不會擔心查重不通過,哪怕這個查重系統的閾值調的再低。缺點:如果說優缺點的話,就是寫完一篇畢業論文,可能會掉更多的腦細胞。呵呵。。。知網系統計算標准詳細說明:1.看了一下這個系統的介紹,有個疑問,這套系統對於文字復制鑒別還是不錯的,但對於其他方面的內容呢,比如數據,圖表,能檢出來嗎?檢不出來的話不還是沒什麼用嗎?學術不端的各種行為中,文字復制是最為普遍和嚴重的,目前本檢測系統對文字復制的檢測已經達到相當高的水平,對於圖表、公式、數據的抄襲和篡改等行為的檢測,目前正在研發當中,且取得了比較大的進展,歡迎各位繼續關注本檢測系統的進展並多提批評性及建設性意見和建議。2.按照這個系統39%以下的都是顯示黃色,那麼是否意味著在可容忍的限度內呢最近看到對上海大學某教師的國家社科基金課題被撤消的消息,原因是其發表的兩篇論文有抄襲行為,分別佔到25%和30%.請明示超過多少算是警戒線?百分比只是描述檢測文獻中重合文字所佔的比例大小程度,並不是指該文獻的抄襲嚴重程度。只能這么說,百分比越大,重合字數越多,存在抄襲的可能性越大。是否屬於抄襲及抄襲的嚴重程度需由專家審查後決定。3.如何防止學位論文學術不端行為檢測系統成為個人報復的平台?這也是我們在認真考慮的事情,目前這套檢測系統還只是在機構一級用戶使用。我們制定了一套嚴格的管理流程。同時,在技術上,我們也採取了多種手段來最大可能的防止惡意行為,包括一系列嚴格的身份認證,日誌記錄等。4.最小檢測單位是句子,那麼在每句話里改動一兩個字就檢測不出來了么?我們對句子也有相應的處理,有一個句子相似性的演算法。並不是句子完全一樣才判斷為相同。句子有句子級的相似演算法,段落有段落級的相似演算法,計算一篇文獻,一段話是否與其他文獻文字相似,是在此基礎上綜合得出的。5.如果是從相關書籍上摘下來的原話,但是此話已經被資料庫中的相關文獻也抄了進去,也就是說前面的文章也從相關書籍上摘了相同的話,但是我的論文中標注的這段話來自相關的書籍,這個算不算學術抄襲?檢測系統不下結論,是不是抄襲最後還有人工審查這一關,所以,如果是您描述的這種情況,專家會有相應判斷。我們的系統只是提供各種線索和依據,讓人能夠快速掌握檢測文獻的信息。6.知網檢測系統的權威性?學術不端文獻檢測系統並不下結論,即檢測系統並不對檢測文獻定性,只是將檢測文獻中與其他已發表文獻中的雷同部分陳列出來,列出客觀事實,而這篇檢測文獻是否屬於學術不端,需專家做最後的審查確認。一篇論文的抄襲怎麼才會被檢測出來?知網論文檢測的條件是連續13個字相似或抄襲都會被紅字標注,但是必須滿足3裡面的前提條件:即你所引用或抄襲的A文獻文字總和在你的各個檢測段落中要達到5%。論文查重修改的規律:1、如果是引用,在引用標號後,不要輕易使用句號,如果寫了句號,句號後面的就是剽竊了(盡管自已認為是引用),所以,引用沒有結束前,盡量使用分號。有些人將引用的上標放在了句號後面,這是不對的,應該在句號之前。2、可以將文字轉換為表格,將表格邊框隱藏。3、如果你看的外文的多,由外文自己翻譯過來引用的,個人認為,不需要章節附註,就可以當做自己的,因為查重的資料庫只是字元的匹配,無法做到中文和英文的匹配。4、查重是一個匹配的過程,是以句為單位,如果一句話重復了,就很容易判定重復了,所以:的確是經典的句子,就用上標的章節附註的方式,在參考文獻中表達出來,或者是用:原文章作者《名字》和引號的方式,將引用的內容框出來。引號內的東西,系統會識別為引用如果是一般的引用,就採用羅嗦法,將原句中省略的主語、謂語、等等添加全,反正哪怕多一個字,就是勝利,也可以採用橫刀法,將一些句子的成分,去除,用一些代詞替代。或者是用洋鬼子法,將原文中的洋名,是中文的,就直接用英文,是英文的直接用中文,或是哦中文的全姓名,就用中文的名,如果是中文的名,就找齊了,替換成中文的姓名。故意在一些縮寫的英文邊上,加上(注釋)(畫蛇添足法),總之,將每句話都可以變化一下,哪怕增加一個字或減少一個字,都是勝利了。特別注意標點符號,變化變化,將英文的復合句,變成兩個或多個單句,等等,自己靈活掌握。因為真正寫一篇論文,很罕見地都是自己的,幾乎不可能,但大量引用別人的東西,說明你的綜合能力強,你已經閱讀了大量的資料,這就是一個過程,一個學習、總結的過程。所有的一切,千萬別在版面上讓導師責難,這是最劃不來的。導師最討厭版面不規范的,因為他只負責內容,但又不忍心因為版面問題自己的弟子被轟出來。5、下面這一條我傻妞試過的,決對牛B:將別人的文字和部分你自己的文字,選中,復制(成為塊,長方形),另外在桌面建一個空文件,將內容,復制到文件中,存檔,關閉。將這個文件的圖標選中,復制,在你的正文中的位置上,直接黏貼,就變成了圖片了,不能編輯的。這個操作事實上是將內容的文件作為一個對象插入的,所以是圖片。這個操作事實上是將內容的文件作為一個對象插入的。所以是圖片。以上那些東西再次總結一下:查重是一個匹配的過程,是以句為單位,如果一句話重復了,就很容易判定重復了,所以:1)如果的確是經典的句子,就用上標的章節附註的方式,在參考文獻中表達出來。2)如果是一般的引用,就採用羅嗦法,將原句中省略的主語、謂語、等等添加全,反正哪怕多一個字,就是勝利。3)也可以採用橫刀法,將一些句子的成分,去除,用一些代詞替代。4)或者是用洋鬼子法,將原文中的洋名,是中文的,就直接用英文,是英文的直接用中文,或是中文的全姓名,就用中文的名,如果是中文的名,就找齊了,替換成中文的姓名。5)故意在一些縮寫的英文邊上,加上(注釋)(畫蛇添足法),總之,將每句話都可以變化一下,哪怕增加一個字或減少一個字,都是勝利了。6)如果是引用,在引用標號後,不要輕易使用句號,如果寫了句號,句號後面的就是剽竊了(盡管自已認為是引用),所以,引用沒有結束前,盡量使用分號。有些人將引用的上標放在了句號後面,這是不對的,應該在句號之前。7)可以將文字轉換為表格、表格基本是查重不了的,文字變成圖形、表格變成圖形,一目瞭然,絕對不會檢查出是重復剽竊了。論文查重修改學校的要求:1、論文題目:要求准確、簡練、醒目、新穎。 2、目錄:目錄是論文中主要段落的簡表。(短篇論文不必列目錄) 3、提要:是文章主要內容的摘錄,要求短、精、完整。字數少可幾十字,多不超過三百字為宜。 4、關鍵詞或主題詞:關鍵詞是從論文的題名、提要和正文中選取出來的,是對表述論文的中心內容有實質意義的詞彙。關鍵詞是用作機系統標引論文內容特徵的詞語,便於信息系統匯集,以供讀者檢索。每篇論文一般選取3-8個詞彙作為關鍵詞,另起一行,排在「提要」的左下方。 主題詞是經過規范化的詞,在確定主題詞時,要對論文進行主題,依照標引和組配規則轉換成主題詞表中的規范詞語。 5、論文正文: (1)引言:引言又稱前言、序言和導言,用在論文的開頭。引言一般要概括地寫出作者意圖,說明選題的目的和意義,並指出論文寫作的范圍。引言要短小精悍、緊扣主題。 〈2)論文正文:正文是論文的主體,正文應包括論點、論據、論證過程和結論。主體部分包括以下內容: a.提出-論點; b.分析問題-論據和論證; c.解決問題-論證與步驟; d.結論。 6、一篇論文的參考文獻是將論文在和寫作中可參考或引證的主要文獻資料,列於論文的末尾。參考文獻應另起一頁,標注方式按《GB7714-87文後參考文獻著錄規則》進行。 中文:標題--作者--出版物信息(版地、版者、版期):作者--標題--出版物信息所列參考文獻的要求是: (1)所列參考文獻應是正式出版物,以便讀者考證。 (2)所列舉的參考文獻要標明序號、著作或文章的標題、作者、出版物信息

⑸ 遺傳演算法的matlab代碼實現是什麼

遺傳演算法我懂,我的論文就是用著這個演算法,具體到你要遺傳演算法是做什麼?優化什麼的。。。我給你一個標准遺傳演算法程序供你參考:
該程序是遺傳演算法優化BP神經網路函數極值尋優:
%% 該代碼為基於神經網路遺傳演算法的系統極值尋優
%% 清空環境變數
clc
clear

%% 初始化遺傳演算法參數
%初始化參數
maxgen=100; %進化代數,即迭代次數
sizepop=20; %種群規模
pcross=[0.4]; %交叉概率選擇,0和1之間
pmutation=[0.2]; %變異概率選擇,0和1之間

lenchrom=[1 1]; %每個變數的字串長度,如果是浮點變數,則長度都為1
bound=[-5 5;-5 5]; %數據范圍

indivials=struct('fitness',zeros(1,sizepop), 'chrom',[]); %將種群信息定義為一個結構體
avgfitness=[]; %每一代種群的平均適應度
bestfitness=[]; %每一代種群的最佳適應度
bestchrom=[]; %適應度最好的染色體

%% 初始化種群計算適應度值
% 初始化種群
for i=1:sizepop
%隨機產生一個種群
indivials.chrom(i,:)=Code(lenchrom,bound);
x=indivials.chrom(i,:);
%計算適應度
indivials.fitness(i)=fun(x); %染色體的適應度
end
%找最好的染色體
[bestfitness bestindex]=min(indivials.fitness);
bestchrom=indivials.chrom(bestindex,:); %最好的染色體
avgfitness=sum(indivials.fitness)/sizepop; %染色體的平均適應度
% 記錄每一代進化中最好的適應度和平均適應度
trace=[avgfitness bestfitness];

%% 迭代尋優
% 進化開始
for i=1:maxgen
i
% 選擇
indivials=Select(indivials,sizepop);
avgfitness=sum(indivials.fitness)/sizepop;
%交叉
indivials.chrom=Cross(pcross,lenchrom,indivials.chrom,sizepop,bound);
% 變異
indivials.chrom=Mutation(pmutation,lenchrom,indivials.chrom,sizepop,[i maxgen],bound);

% 計算適應度
for j=1:sizepop
x=indivials.chrom(j,:); %解碼
indivials.fitness(j)=fun(x);
end

%找到最小和最大適應度的染色體及它們在種群中的位置
[newbestfitness,newbestindex]=min(indivials.fitness);
[worestfitness,worestindex]=max(indivials.fitness);
% 代替上一次進化中最好的染色體
if bestfitness>newbestfitness
bestfitness=newbestfitness;
bestchrom=indivials.chrom(newbestindex,:);
end
indivials.chrom(worestindex,:)=bestchrom;
indivials.fitness(worestindex)=bestfitness;

avgfitness=sum(indivials.fitness)/sizepop;

trace=[trace;avgfitness bestfitness]; %記錄每一代進化中最好的適應度和平均適應度
end
%進化結束

%% 結果分析
[r c]=size(trace);
plot([1:r]',trace(:,2),'r-');
title('適應度曲線','fontsize',12);
xlabel('進化代數','fontsize',12);ylabel('適應度','fontsize',12);
axis([0,100,0,1])
disp('適應度 變數');
x=bestchrom;
% 窗口顯示
disp([bestfitness x]);

⑹ 誰說遺傳演算法只能用來湊論文

描寫的作用主要有:(l)寫景襯託人物心情;(2)寫景點明時令、地點;(3)寫景表現物關系;(4)寫景表現人物性格。
進行景物描寫,應該注意以下幾點:
l、抓住景物特徵描寫。
2、要選好寫景的角度。
3、寫景應滲透人物的感情。應該有意識地把作者或人物的思想感情融入到周圍的自物景物,在所寫的景物上直接滲透作者的感情。
4、可以採用對比方法寫景。如《祝福》的開頭與結尾寫祝福時的景色氣氛,以樂景反襯祥林嫂的悲劇,更增強了作品對舊社會的批判力量。

⑺ 求一篇有關智能控制的中英文對照論文(專家控制,模糊控制,神經網路控制,遺傳演算法方面的都可以)三千字

橋哥,15分你就想搞個論文,還不想讓我們網路到。。我勒個去。你太邪惡了。

⑻ 遺傳演算法的參考文獻有哪些

到CNKI上搜一搜遺傳演算法,可以查閱到很多參考文獻,當然網路一下,也能在網路文庫、豆丁網等免費看到

⑼ 求基於遺傳演算法或粒子群演算法的用MATLAB編程解決的選址問題的源程序,網上論文附錄的程序都是萎的啊……

function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=acatsp(C,NC_max,m,Alpha,Beta,Rho,Q)
%%=========================================================================
% ACATSP.m
% Ant Colony Algorithm for Traveling Salesman Problem
% GreenSim團隊原創作品,轉載請註明
% Email:[email protected]
% GreenSim團隊主頁
% 歡迎訪問GreenSim——演算法模擬團隊
%%-------------------------------------------------------------------------
%% 主要符號說明
%% C n個城市的坐標,n×2的矩陣
%% NC_max 最大迭代次數
%% m 螞蟻個數
%% Alpha 表徵信息素重要程度的參數
%% Beta 表徵啟發式因子重要程度的參數
%% Rho 信息素蒸發系數
%% Q 信息素增加強度系數
%% R_best 各代最佳路線
%% L_best 各代最佳路線的長度
%%=========================================================================
%%第一步:變數初始化
n=size(C,1);%*表示問題的規模(城市個數)
D=zeros(n,n);%D表示完全圖的賦權鄰接矩陣
for i=1:n
for j=1:n
if i~=j
D(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;
else
D(i,j)=eps;
end
D(j,i)=D(i,j);
end
end
Eta=1./D;%Eta為啟發因子,這里設為距離的倒數
Tau=ones(n,n);%Tau為信息素矩陣
Tabu=zeros(m,n);%存儲並記錄路徑的生成
NC=1;%迭代計數器
R_best=zeros(NC_max,n);%各代最佳路線
L_best=inf.*ones(NC_max,1);%各代最佳路線的長度
L_ave=zeros(NC_max,1);%各代路線的平均長度
while NC<=NC_max%停止條件之一:達到最大迭代次數
%%第二步:將m只螞蟻放到n個城市上
Randpos=[];
for i=1:(ceil(m/n))
Randpos=[Randpos,randperm(n)];
end
Tabu(:,1)=(Randpos(1,1:m))';

%%第三步:m只螞蟻按概率函數選擇下一座城市,完成各自的周遊
for j=2:n
for i=1:m
visited=Tabu(i,1:(j-1));%已訪問的城市
J=zeros(1,(n-j+1));%待訪問的城市
P=J;%待訪問城市的選擇概率分布
Jc=1;
for k=1:n
if length(find(visited==k))==0
J(Jc)=k;
Jc=Jc+1;
end
end
%下面計算待選城市的概率分布
for k=1:length(J)
P(k)=(Tau(visited(end),J(k))^Alpha)*(Eta(visited(end),J(k))^Beta);
end
P=P/(sum(P));
%按概率原則選取下一個城市
Pcum=cumsum(P);
Select=find(Pcum>=rand);
to_visit=J(Select(1));
Tabu(i,j)=to_visit;
end
end
if NC>=2
Tabu(1,:)=R_best(NC-1,:);
end

%%第四步:記錄本次迭代最佳路線
L=zeros(m,1);
for i=1:m
R=Tabu(i,:);
for j=1:(n-1)
L(i)=L(i)+D(R(j),R(j+1));
end
L(i)=L(i)+D(R(1),R(n));
end
L_best(NC)=min(L);
pos=find(L==L_best(NC));
R_best(NC,:)=Tabu(pos(1),:);
L_ave(NC)=mean(L);
NC=NC+1

%%第五步:更新信息素
Delta_Tau=zeros(n,n);
for i=1:m
for j=1:(n-1)
Delta_Tau(Tabu(i,j),Tabu(i,j+1))=Delta_Tau(Tabu(i,j),Tabu(i,j+1))+Q/L(i);
end
Delta_Tau(Tabu(i,n),Tabu(i,1))=Delta_Tau(Tabu(i,n),Tabu(i,1))+Q/L(i);
end
Tau=(1-Rho).*Tau+Delta_Tau;

%%第六步:禁忌表清零
Tabu=zeros(m,n);
end
%%第七步:輸出結果
Pos=find(L_best==min(L_best));
Shortest_Route=R_best(Pos(1),:);
Shortest_Length=L_best(Pos(1));
subplot(1,2,1)
DrawRoute(C,Shortest_Route)
subplot(1,2,2)
plot(L_best)
hold on
plot(L_ave)
function DrawRoute(C,R)
%%====================================================================
%% DrawRoute.m
%% 畫路線圖的子函數
%%--------------------------------------------------------------------
%% C Coordinate 節點坐標,由一個N×2的矩陣存儲
%% R Route 路線
%%====================================================================
N=length(R);
scatter(C(:,1),C(:,2));
hold on
plot([C(R(1),1),C(R(N),1)],[C(R(1),2),C(R(N),2)])
hold on
for ii=2:N
plot([C(R(ii-1),1),C(R(ii),1)],[C(R(ii-1),2),C(R(ii),2)])
hold on
end

熱點內容
法國電影小男孩在農場遇到一隻白狗 發布:2024-08-19 08:36:47 瀏覽:594
微光上有什麼恐怖片 發布:2024-08-19 05:25:40 瀏覽:915
穿越香港鬼片滅鬼的小說 發布:2024-08-19 03:36:10 瀏覽:833
惡之花都敏秀姐姐扮演者 發布:2024-08-19 02:22:07 瀏覽:321
thai好看電影 發布:2024-08-18 11:34:37 瀏覽:795
電影內容女的是傻子容易尿褲子,男的很窮單身漢 發布:2024-08-18 10:31:36 瀏覽:129
雙機巨幕廳和4k廳哪個好 發布:2024-08-18 10:18:41 瀏覽:818
日本僵屍片上世紀 發布:2024-08-18 07:32:00 瀏覽:537
怪物 韓國電影在線 發布:2024-08-18 03:49:17 瀏覽:491
第九區一樣的 發布:2024-08-17 23:16:05 瀏覽:528