




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
模擬退火算法及其MATLAB實(shí)現(xiàn)模擬退火算法及其MATLAB實(shí)現(xiàn)1第6章模擬退火算法及其MATLAB實(shí)現(xiàn)6.1算法基本理論6.2算法的MATLAB實(shí)現(xiàn)6.3應(yīng)用實(shí)例第6章模擬退火算法及其MATLAB實(shí)現(xiàn)6.1算法基本理2簡(jiǎn)單了解退火算法特點(diǎn)介紹模擬退火前,先介紹爬山算法。
爬山算法是一種簡(jiǎn)單的貪心搜索算法,該算法每次從當(dāng)前解的臨近解空間中選擇一個(gè)最優(yōu)解作為當(dāng)前解,直到達(dá)到一個(gè)局部最優(yōu)解。簡(jiǎn)單了解退火算法特點(diǎn)介紹模擬退火前,先介紹爬3簡(jiǎn)單了解退火算法特點(diǎn)爬山算法如圖所示:假設(shè)C點(diǎn)為當(dāng)前解,爬山算法搜索到A點(diǎn)這個(gè)局部最優(yōu)解就會(huì)停止搜索,因?yàn)樵贏點(diǎn)無論向那個(gè)方向小幅度移動(dòng)都不能得到更優(yōu)的解。
模擬退火算法
在搜索到局部最優(yōu)解A后,會(huì)以一定的概率接受到E的移動(dòng)。也許經(jīng)過幾次這樣的不是局部最優(yōu)的移動(dòng)后會(huì)到達(dá)D點(diǎn),于是就跳出了局部最大值A(chǔ)。簡(jiǎn)單了解退火算法特點(diǎn)爬山算法模擬退火算法46.1算法基本理論一、算法概述
工程中許多實(shí)際優(yōu)化問題的目標(biāo)函數(shù)都是非凸的,存在許多局部最優(yōu)解。求解全局優(yōu)化問題的方法可分為兩類:
確定性方法和隨機(jī)性方法。確定性算法適用于求解具有一些特殊特征的問題,而梯度法和一般的隨機(jī)搜索方法則沿著目標(biāo)函數(shù)下降方向搜索,因此常常陷入局部而非全局最優(yōu)解。
6.1算法基本理論一、算法概述工程中56.1算法基本理論一、算法概述模擬退火算法(SA)是一種通用概率算法。用來在一個(gè)大的搜索空間內(nèi)尋找問題的最優(yōu)解。1953年,Metropolis等提出了模擬退火的思想。1983年,Kirkpatrick等將SA引入組合優(yōu)化領(lǐng)域。
6.1算法基本理論一、算法概述模擬退火算法66.1算法基本理論二、基本思想
退火,俗稱固體降溫先把固體加熱至足夠高溫,使固體中所有粒子處于無序的狀態(tài),然后將溫度緩慢下降,粒子漸漸有序,這樣只要溫度上升得足夠高,冷卻過程足夠慢,則所有粒子最終會(huì)處于最低能態(tài)。6.1算法基本理論二、基本思想7算法試圖隨著控制參數(shù)T的降低,使目標(biāo)函數(shù)值f(內(nèi)能E)也逐漸降低,直至趨于全局最小值(退火中低溫時(shí)的最低能量狀態(tài)),算法工作過程就像固體退火過程一樣。6.1算法基本理論模擬退火算法的由來模擬退火退火解粒子狀態(tài)最優(yōu)解能量最低的狀態(tài)目標(biāo)函數(shù)f內(nèi)能控制參數(shù)溫度T算法試圖隨著控制參數(shù)T的降低,使目標(biāo)函6.1算86.1算法基本理論Metropolis準(zhǔn)則——–以概率接受新狀態(tài)
6.1算法基本理論Metropolis準(zhǔn)則——–以概率9新狀態(tài)的內(nèi)能當(dāng)前狀態(tài)的內(nèi)能溫度Ej>Ei(更差的解)時(shí),0<P<1,P隨著T的減小而減?。?.1算法基本理論
新狀態(tài)的內(nèi)能當(dāng)前狀態(tài)的內(nèi)能溫度Ej>Ei(更差的解)時(shí),6.106.1算法基本理論當(dāng)初始溫度足夠高時(shí),概率P接近于1,所以當(dāng)前解經(jīng)過擾動(dòng)產(chǎn)生的新解,無論好壞,基本都可以被接受為當(dāng)前解。即不受制于當(dāng)前解,不會(huì)困在局部最優(yōu)解中,可以遍及解空間的各個(gè)區(qū)域,當(dāng)然也不會(huì)保持在最優(yōu)解處。隨著溫度降低,概率降低,較差解被接受的次數(shù)減少,當(dāng)前解逐漸停留到最優(yōu)解周圍。
溫度達(dá)到終止溫度前,概率足夠低,使得只有最優(yōu)解被接受,較差解都不接受。最優(yōu)解即為最后接受的當(dāng)前解。算法總結(jié)在高溫下,可接受與當(dāng)前狀態(tài)能量差較大的新狀態(tài);在低溫下,只接受與當(dāng)前狀態(tài)能量差較小的新狀態(tài)。6.1算法基本理論當(dāng)初始溫度足夠高時(shí),概率116.1算法基本理論三、算法其他參數(shù)的說明
6.1算法基本理論三、算法其他參數(shù)的說明
126.1算法基本理論四、算法基本步驟
6.1算法基本理論四、算法基本步驟
13初始溫度,隨機(jī)產(chǎn)生初始解。
接受新解作為當(dāng)前解計(jì)算概率與[0,1)隨機(jī)數(shù)之間的差值差值大于0
結(jié)束,輸出當(dāng)前解
YNYNNYYN初始溫度,隨機(jī)產(chǎn)生初始解。
接受新解作為當(dāng)前解計(jì)算概率與[146.1算法基本理論四、算法基本步驟算法實(shí)質(zhì)分為兩層循環(huán),在任一溫度下隨機(jī)擾動(dòng)產(chǎn)生新解,計(jì)算目標(biāo)函數(shù)值的變化,決定是否接受。由于算法初始溫度比較高,這樣使E增大的新解在初始時(shí)也可能被接受,因此能跳出局部極小值,然后通過緩慢地降低溫度,算法可能收斂到全局最優(yōu)解。雖然在低溫時(shí)接受函數(shù)已經(jīng)非常小了,但仍不排除有接受更差解得可能,因此一般都會(huì)把退火過程中碰到的最好的可行解(歷史最優(yōu)解)也記錄下來,與終止算法前最后被接受解一并輸出。6.1算法基本理論四、算法基本步驟算法實(shí)質(zhì)156.1算法基本理論五、幾點(diǎn)說明1、新解的產(chǎn)生
要求盡可能地遍及解空間的各個(gè)區(qū)域,這樣,在某一恒定溫度下,不斷產(chǎn)生新解時(shí),就可能跳出局部最優(yōu)解。2、收斂的一般條件:初始溫度足夠高;熱平衡時(shí)間足夠長(zhǎng);終止溫度足夠低;降溫過程足夠緩慢;
6.1算法基本理論五、幾點(diǎn)說明1、新解的產(chǎn)生166.1算法基本理論五、幾點(diǎn)說明
6.1算法基本理論五、幾點(diǎn)說明
176.1算法基本理論六、算法優(yōu)缺點(diǎn)優(yōu)點(diǎn):計(jì)算過程簡(jiǎn)單,通用,魯棒性強(qiáng),適用于并行處理,可用于求解復(fù)雜的非線性優(yōu)化問題。缺點(diǎn):收斂速度慢,執(zhí)行時(shí)間長(zhǎng),算法性能與初始值有關(guān)及參數(shù)敏感等缺點(diǎn)。6.1算法基本理論六、算法優(yōu)缺點(diǎn)優(yōu)點(diǎn):缺點(diǎn):186.2算法的MATLAB實(shí)現(xiàn)旅行商問題一名商人要到n個(gè)不同的城市去推銷商品,每2個(gè)城市I和j之間的距離為d,如何選擇一條路徑使得商人每個(gè)城市走一遍后回到起點(diǎn)所走的路徑最短。例:有52座城市,已知每座城市的坐標(biāo),求每個(gè)城市走一遍后回到起點(diǎn),所走的路徑最短。6.2算法的MATLAB實(shí)現(xiàn)旅行商問題一19初始溫度(93),隨機(jī)產(chǎn)生初始解(1到52的隨機(jī)排列)。
接受新解作為當(dāng)前解計(jì)算概率與[0,1)隨機(jī)數(shù)之間的差值差值大于0
擾動(dòng)次數(shù)>10000
結(jié)束,輸出當(dāng)前解
YNYNNYYN擾動(dòng):數(shù)>0.5隨機(jī)產(chǎn)生0~1的數(shù)二變換法三變換法NY初始溫度(93),隨機(jī)產(chǎn)生初始解(1到52的隨機(jī)排列)。
206.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟
6.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟
216.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟
6.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟
226.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟whilet>=tfforr=1:Markov_lengthif(rand<0.5)
%隨機(jī)產(chǎn)生0~1的數(shù),若小于0.5,則二變換ind1=0;ind2=0;while(ind1==ind2)ind1=ceil(rand.*amount);ind2=ceil(rand.*amount);endtmp1=sol_new(ind1);sol_new(ind1)=sol_new(ind2);sol_new(ind2)=tmp1;else
%否則,三變換ind1=0;ind2=0;ind3=0;while(ind1==ind2)||(ind1==ind3)...||(ind2==ind3)||(abs(ind1-ind2)==1)ind1=ceil(rand.*amount);ind2=ceil(rand.*amount);ind3=ceil(rand.*amount);endtmp1=ind1;tmp2=ind2;tmp3=ind3;
6.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟while236.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟if(ind1<ind2)&&(ind2<ind3)elseif(ind1<ind3)&&(ind3<ind2)ind2=tmp3;ind3=tmp2;elseif(ind2<ind1)&&(ind1<ind3)ind1=tmp2;ind2=tmp1;elseif(ind2<ind3)&&(ind3<ind1)ind1=tmp2;ind2=tmp3;ind3=tmp1;elseif(ind3<ind1)&&(ind1<ind2)ind1=tmp3;ind2=tmp1;ind3=tmp2;elseif(ind3<ind2)&&(ind2<ind1)ind1=tmp3;ind2=tmp2;ind3=tmp1;end%ind1<ind2<ind3tmplist1=sol_new((ind1+1):(ind2-1));%u、v之間的城市sol_new((ind1+1):(ind1+ind3-ind2+1))=...sol_new((ind2):(ind3));%將v到w的城市移到u后面sol_new((ind1+ind3-ind2+2):ind3)=...tmplist1;%u、v之間的城市移到w后面end6.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟246.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟
6.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟
256.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟%計(jì)算目標(biāo)函數(shù)即內(nèi)能E_new=0;fori=1:(amount-1)E_new=E_new+...dist_matrix(sol_new(i),sol_new(i+1));end
%從第一個(gè)城市到最后一個(gè)城市的距離E_new=E_new+...dist_matrix(sol_new(amount),sol_new(1));6.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟266.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟
6.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟
276.2算法的MATLAB實(shí)現(xiàn)一、算法設(shè)計(jì)步驟ifE_new<E_currentE_current=E_new;sol_current=sol_new;ifE_new<E_best%冷卻過程中最好的解保存下來′E_best=E_new;sol_best=sol_new;endelse
%若新解的目標(biāo)函數(shù)大于當(dāng)前解的,%則以一定的概率接受新解
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)培訓(xùn)合同支付(2025年版)
- 2025年銀期轉(zhuǎn)賬協(xié)議個(gè)人投資者用
- (高清版)DB45∕T 351-2022 綠色食品 水稻生產(chǎn)技術(shù)規(guī)程
- 人教版七年級(jí)上冊(cè)歷史與社會(huì)第四單元 第 五課《城市規(guī)劃的典范:巴西利亞》教學(xué)設(shè)計(jì)2 (2份打包)
- 《第一單元 和計(jì)算機(jī)交朋友:2 玩轉(zhuǎn)鼠標(biāo)》教學(xué)設(shè)計(jì)-2024-2025學(xué)年浙江攝影版(三起)(2020)三年級(jí)上冊(cè)
- (常考易錯(cuò)題)2022-2023學(xué)年三年級(jí)上冊(cè)期末核心考點(diǎn)數(shù)學(xué)試卷北師大版
- 第2課 八顆行星(教學(xué)設(shè)計(jì))-2023-2024學(xué)年六年級(jí)下冊(cè)科學(xué) 教科版
- 蘇教版數(shù)學(xué)三年級(jí)上冊(cè)單元測(cè)試卷-第五單元-解決問題的策略(含答案)-
- 2025年湖南吉利汽車職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫及答案一套
- 2025年河南物流職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫匯編
- 安徽省皖江名校聯(lián)盟2024屆高三下學(xué)期4月二?;瘜W(xué)
- 人教部編版《道德與法治》六年級(jí)下冊(cè)第9課《日益重要的國際組織》精美課件
- 大數(shù)據(jù)分析在審計(jì)中的創(chuàng)新運(yùn)用
- 激光雷達(dá)行業(yè)市場(chǎng)規(guī)模分析
- 高血壓性心臟病病例討論
- 規(guī)劃院所長(zhǎng)述職報(bào)告
- 閩教版2023版3-6年級(jí)全8冊(cè)英語單詞表
- 腦卒中后吞咽障礙患者進(jìn)食護(hù)理-護(hù)理團(tuán)標(biāo)
- 銷售人員商務(wù)禮儀培訓(xùn)通用課件
- 全國各省(直轄市、自治區(qū))市(自治州、地區(qū))縣(縣級(jí)市)區(qū)名稱一覽表
- 大學(xué)美育導(dǎo)引 課件 第五章 體驗(yàn)人生在世-戲劇
評(píng)論
0/150
提交評(píng)論