資源簡介
matlab模擬退火算法的通用代碼,適合各類線性規劃問題的求解
代碼片段和文件信息
function?[xofo]?=?tuihuo(fx0ulkmaxqTolFun)
%?模擬退火算法求函數?f(x)的最小值點,?且?l?<=?x?<=?u
%?f為待求函數,x0為初值點,l,u分別為搜索區間的上下限,kmax為最大迭代次數
%?q為退火因子,TolFun為函數容許誤差
%%%%算法第一步根據輸入變量數,將某些量設為缺省值
if?nargin?7
????TolFun?=?1e-8;
end
if?nargin?6
????q?=?1;
end
if?nargin?5
????kmax?=?100;
end
%%%%算法第二步,求解一些基本變量
N?=?length(x0);?%自變量維數
x?=?x0;
fx?=?feval(fx);?%函數在初始點x0處的函數值
xo?=?x;
fo?=?fx;
%%%%%算法第三步,進行迭代計算,找出近似全局最小點
for?k?=0:kmax
????Ti?=?(k/kmax)^q;
????mu?=?10
評論
共有 條評論