最優化理論的經典演算法
模擬退火法、神經網路、遺傳演算法是數學建模中常用的啟發式演算法,這裡整合一下模版,並進行一些拓展,方便直接使用
原文:一些拓展:
基於模擬退火的遺傳演算法:
模擬退火法
/*
* j(y):在狀態y時的評價函式值
* y(i):表示當前狀態
* y(i+1):表示新的狀態
* r: 用於控制降溫的快慢
* t: 系統的溫度,系統初始應該要處於乙個高溫的狀態
* t_min :溫度的下限,若溫度t達到t_min,則停止搜尋
*/while( t > t_min )
t = r * t ; //降溫退火 ,0/*
* 若r過大,則搜尋到全域性最優解的可能會較高,但搜尋的過程也就較長。若r過小,則搜尋的過程會很快,但最終可能會達到乙個區域性最優值
*/i ++ ;
}
神經網路
這裡就介紹一下常用的神經網路
線性神經網路
p = [1
1.53.0 -1.2];
t = [0.5
1.13.0 -1.0];
plot(p,t,'+');
axis([-1.5
3.5 -1.5
3.5]);
xlabel('training vector p');
ylabel('target vaector t');
%建立網路並開始訓練
net = newlin(minmax(p),1,0,0.01);
net = init(net);
net.trainparam.epochs = 500;
net.trainparam.goal = 0.0001;
net = train(net,p,t);
y = sim(net,p);
plot(p,y);
hold on
plot(p,t,'r+');
%很好逼近了p和t的線性關係
遺傳演算法
以上面模擬退火中非線性規劃最優解的模型為例
使用神經網路和遺傳演算法玩轉 Flappy Bird
首先,讓我們從演示程式開始,看一下遊戲過程中的演算法 需科學上網 根據1959年亞瑟 塞繆爾 arthur samuel 的說法,機器學習是讓計算機在不顯式程式設計的情況下行動的科學。一般來說,這是乙個循序漸進地改進初始隨機系統的學習過程。因此,實現人工智慧的目標是通過對乙個差的系統進行模型引數的微...
基於遺傳演算法的BP神經網路優化
1 前言2 思路與步驟 遺傳演算法優化bp神經網路主要分為三步 bp神經網路結構的確定 遺傳演算法優化權值和閾值 bp神經網路訓練與 2.1 bp神經網路結構的確定 2.2遺傳演算法 基本要素 染色體編碼方式 適應度函式 遺傳操作 執行引數 其中執行引數是遺傳演算法初始化時確定的引數,主要包括 群體...
蟻群演算法 遺傳演算法 模擬退火演算法介紹
蟻群演算法 遺傳演算法 模擬退火演算法介紹 窮舉法 列舉所有可能,然後乙個個去,得到最優的結果。如圖一,需要從a點一直走到g點,才能知道,f是最高的 最優解 這種演算法得到的最優解肯定是最好的,但也是效率最低的。窮舉法雖然能得到最好的最優解,但效率是極其低下的。為了能提高效率,可以不要列舉所有的結果...