📄 annealing.m
字号:
function [ S,E,Tk ] = annealing( S,Wij,Tk,c )%ANNEALING p288随机模拟退火算法%输入参数:% S:网络节点的状态序列,每个节点可取值+1或-1% Wij:节点间的权值矩阵% Tk:温度% c:T(k+1)=c*T(k)n=size(S,2);%有n个节点undone=true;k=1;k_max=800;while undone for cyc=1:n*4 %所有节点轮询四次 i=round(rand*n); if i==0 i=1; end Ea=-0.5*S(i)*Wij(i,:)*S'; Eb=-Ea; if Eb<Ea S(i)=-S(i); elseif exp(-(Eb-Ea)/Tk)>rand S(i)=-S(i); end end if k==k_max undone=false; else k=k+1; Tk=c*Tk; endendfor i=1:n Wij(i,:)=S(i)*Wij(i,:);endE=-0.5*sum(Wij*S');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -