模擬退火算法在電機優化設計中的應用
王 偉,張 健
(北京航空航天大學,北京100083)
摘要。介紹了模擬退火算法的原理和基本概念,結合電機的優化問題,詳細論述了模似退火算法的具體實現和技術上的處理,與局部搜索法等相對照,討論了模擬退火算法的實驗性能。
關鍵詞;優化設計,模擬退火算法i電機
中圖分類號,tm302 文獻標識碼;a 文章編號:1001-6848(2000)03-0010-04
1 引 言
模擬退火算法是近年發展迅速的一種解大規模優化問題的通用有效近似算法。模擬退火算法建立在蒙特卡洛原理上,是一種具有啟發式的隨機搜索算法。它描述簡單,使用靈活,效率高,因此在許多領域應用廣泛,如管理科學、計算機工程等領域。將模擬退火算法引入到電機優化設計中,取得了較好的效果。
本文介紹了模擬退火算法的原理和基本概念,結合電機的優化問題,詳細論述了模似退火算法的具體實現和技術上的處理,包括metropolis準則、冷卻進度表算法結構,最后分析了算法的實驗性能。
2模擬退火算法的原理
1982年,kirkpatrik等人將退火思想引入到優化領域,提出了一種解大規模組合優化問題的通用右效近似算法——模擬退火算法(簡稱saa算法)。它是一種啟發式隨機搜索法。它源于對固體退火過程的模擬;采用metropolis接受準則,并用一種稱為冷卻進度表的參數控制算法進程,獲得問題的****解或近似****解。
saa算法源于物理學中固體物質的退火過程與一般優化問題的相似性。固體物質從高溫熔化態逐漸降低溫度,粒子逐漸形成低能態的品格。當溫度下降的速率足夠緩慢時,物質將形成****能量的狀態。考察實際的優化問題,也有類似的過程:為求優化問題的****解,把問題的某一個解看成物質體系的微觀狀態,而把優化問題的目標函數f(k)看成物質體系在狀態x下的內能。用一個控制參數丁模擬溫度從足夠高的值緩慢下降,用所謂metropolis準則模擬該體系在此t下的熱平衡狀態,即對當前狀態xi作隨機擾動,在其領域(x/的周圍一個隨丁減小而減小的區域)內隨機產生新的狀態x/i。考慮它們的目標函數值的大小,以一定的概率戶判斷是否接受新解xir,并取代原解x[1]。
t為控制參數。當t降低至足夠低,這樣的擾動重復足夠多次后,算法趨向于****解。
由模擬退火算法的原理,得出其計算過程為:
(1)設定初始解和初始變量。任意選一個優化問題的解作為初始當前解。然后設定初始控制參數to。
(2)解的變換。在當前解的鄰域內產生新解的過程稱為解的變換。當控制參數為丁時,設當前解:
在鄰域內產生新解:
式中每一變化量他都是一個隨著t減小的量.
(3)metropolis準則的應用。每當產生一個新解xi后,應用metropolis準則進行判斷。分別求x和xl的目標函數值f(x)和f(xi),如果新解性能更優,即f(x.)<f(x),則接受x,代替x為新的當前解。如果新解是惡化解(目標函數值f(xi)更大),則令接受率
再由計算機隨機產生一個隨機數r,若g比r大,則接受x,這一惡化解,否則仍然以x為當前解。
(4)降溫退火。在控制參數為丁時重復步驟(2)和(3)共lr次,然后逐漸降低控制參數丁的值(稱為降溫),重復以上的運算過程。
重復以上的過程直至退火過程的結束。結束的標志一般是控制參數t小于預先設定的tf或 |