展會信息港展會大全

C#數(shù)值計算之模擬退火法簡介(二)(2)
來源:互聯(lián)網(wǎng)   發(fā)布日期:2011-10-01 17:18:30   瀏覽:4948次  

導讀:Console.WriteLine({0},{1},{2},{3},PreX,PreY,ObjectFunction(PreX,PreY),Temperature); } while(Math.Abs(ObjectFunction(BestX,BestY)–ObjectFunction(PreBe...




Console.WriteLine("{0},{1},{2},{3}",PreX,PreY,ObjectFunction(PreX,PreY),Temperature);



} while(Math.Abs(ObjectFunction(BestX,BestY)–ObjectFunction(PreBestX,PreBestY))>Tolerance);



Console.WriteLine("最小值在點:{0},{1}",BestX,BestY);

Console.WriteLine("最小值為:{0}",ObjectFunction(BestX,BestY));

}

}

}



l結果:

最小值在點:-1.07678129318956,1.07669421564618

最小值為:-2.26401670947686



l后記:

原來想寫一系列的文章,介紹如何用C#解數(shù)值問題,這是因為在CSDN上很少有數(shù)值計算方面的文章,所以希望能有所補充。

一開始在網(wǎng)上搜索模擬退火的資料并想作為C#數(shù)值計算的一個例子,找不到現(xiàn)成的源碼。后來自己實驗了很久,終于將此程序寫出,不敢私藏,拿出來作用模擬退火或者用C#解數(shù)值算法問題的一個入門例子。

本文盡量避免太過學術化,如數(shù)學和物理名稱和公式,倉促下筆,有很多地方可能講得不是很清楚,希望各位體諒。任何問題或批評,可EMAIL與我:armylau2@163.com

另,模擬退火還可以應用到其它更多更復雜的問題,如“推銷員問題”等組合優(yōu)化問題。本例只是求一個二維函數(shù)的最小值問題,而且其冷卻表參數(shù)的選擇也過于簡單,只能作用一個初步的入門簡介,請讀者注意。





l參考文獻:

1.http://www.computer-dictionary-online.org/index.ASP?q=simulated annealing 計算機詞典

2.NumericRecipesinC

3.計算方法叢書非數(shù)值并行算法(第一冊)模擬退火算法


贊助本站

相關內容
AiLab云推薦
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實驗室 版權所有    關于我們 | 聯(lián)系我們 | 廣告服務 | 公司動態(tài) | 免責聲明 | 隱私條款 | 工作機會 | 展會港