資源簡介
簡單的利用模擬退火算法求解函數f(x)=(x-2)^2+4的最小值,入門級程序,簡單明了,適合單步調試,理解算法的運行機制
代碼片段和文件信息
%?求解函數f(x)=(x-2)^2+4的最小值
%?其中-2≤x≤2
T=1000;?%初始化溫度值
T_min=1e-12;?%設置溫度下界
alpha=0.98;?%溫度的下降率
k=1000;?%迭代次數(解空間的大小)
?
x=getX;?%隨機得到初始解
while(T>T_min)
????for?I=1:100
????????fx=Fx(x);?%計算適應度函數
????????x_new=getX;
????????if(x_new>=-2?&&?x_new<=2)
????????????fx_new=Fx(x_new);
????????????delta=fx_new-fx;
????????????if?(delta<0)
????????????????x=x_new+(2*rand-1);
???????
評論
共有 條評論