考虑到Boltzmann分布确实在模拟过程的重要性, 曾经收集过该类代码(只是玻尔兹曼机),先共享给大家(经典算法,需要修正)。
玻尔兹曼机【BM,BoltzmannMachine】在工作阶段的搜索法不能保证获得全部最优解的问题
用法及示例如下:
Usage:
[MINIMUM,FVAL] = ANNEAL(LOSS,NEWSOL,[OPTIONS]);
MINIMUM is the solution which generated the smallest encountered value when input into LOSS.
FVAL is the value of the LOSS function evaluated at MINIMUM.
OPTIONS = ANNEAL();
OPTIONS is the default options structure.
这是一段非常小的matlab程序,实现了遗传退火算法的模拟。
Example:
The so-called six-hump camelback function has several local minima in the range -3<=x<=3 and -2<=y<=2. It has two global minima, namely f(-0.0898,0.7126) = f(0.0898,-0.7126) = -1.0316. We can define and minimise it as follows:
camel = @(x,y)(4-2.1*x.^2+x.^4/3).*x.^2+x.*y+4*(y.^2-1).*y.^2;
loss = @(