資源簡介
全局最優方法——隨機行走法的matlab實現,移植性強。
代碼片段和文件信息
function[mx?minf]?=?Opt_RandWalk(x?lamda?N?n)
%{?
函數功能:隨機行走法求函數的極小值
x:初始值;
lamda:步長;
N:為了產生較好點的迭代次數;
n:單步循環行走次數,目的是盡可能走到全局最優點附近
mx:最優解;
minf:最優值。
[mx?minf]?=?Opt_RandWalk([0?0]?10?100?10)
%}
F?=?zeros(n?1);
D?=?length(x);
X?=?zeros(n?D);
epsilon?=?1e-5;
f1?=?func(x);
while?lamda??>=?epsilon
????k?=?1;
????while(k?<=?N)
????????u?=?2*rand(10?D)?-?1;
????????for?ii?=1?:?n
????????????X(ii?:)?=?x?+?lamda*(u(ii?:)?/?norm(u(ii?:)));
????????????F(ii)?=?func(X(ii?:));
????????end
????????[f11?kk]?=?min(F);
??
- 上一篇:基于BP神經網絡的繼電器剩余壽命預測
- 下一篇:圖片曲線數據提取
評論
共有 條評論