数学建模社区-数学中国
标题:
模拟退火法的疑问
[打印本页]
作者:
江南刹
时间:
2011-10-21 19:07
标题:
模拟退火法的疑问
本帖最后由 江南刹 于 2011-10-21 19:25 编辑
4 i' \5 P& q$ C% Z0 \
5 X8 F+ Z1 J/ ?! q' r+ i
模拟退火法中,在逐次寻找新的属于可行域的点时,有两个筛选的原则:f(x,y) = 3.*sin(xy) +2.*x^2 + y^2的最小值
5 g! l& r7 ~. V& H2 V) [! r4 g, \) ?0 T
1、只要目标函数值小于之前的那个点(prex,prey)的函数值,即:f(xnew,ynew)<f(prex,prey)则此时赋值为:prex=xnew,prey=ynew,只要这样重复好多次,那么找出来的(prex,prey)这个函数值就越来越小,最终达到目标!
$ t. i6 h( ]9 j! g2 k
2、用一个metroplis准值;
: [2 C3 \+ j/ V1 i
我的疑问就是这个筛选原则是不是多余的,因为只要我们每次都去小于上次的,如1中所述,并重新赋值新的点不就行了吗?最后得出的肯定是最小值啊!而这个metriplis准则(可能写错了,没时间了)可能还会返回原来的值的,就是又返回刚才函数值比较大的那个点的!
/ C, {1 W; ?* ]6 ~( k
下面为我用写的这个没有用到准则2(metroplis准则的程序来说明一个求x,y都在【-2,,2】上f(x,y) = 3.*sin(xy) +2.*x^2 + y^2的最小值 http://www.madio.net/forum.php?mod=attachment&aid=OTg3MzN8ZDQ4NDIyYTkxOWVjNTU3NjU3OWNkOWY3ZGQxOWQwZDR8MTc5MTQ4NzQxNw%3D%3D&request=yes&_f=.rar
annealing.rar
2011-10-21 19:02 上传
点击文件名下载附件
下载积分: 体力 -2 点
734 Bytes, 下载次数: 4, 下载积分: 体力 -2 点
作者:
ehi28
时间:
2011-11-22 10:07
看贴回贴是个好孩子,围观中............LOGIN..........................
: q A) |" }0 J6 K5 D9 e
作者:
sxzg392746239
时间:
2014-7-25 17:38
要跳出来。。。。
作者:
弘道
时间:
2014-7-29 07:01
谢谢楼主……辛苦啦!………………
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5