完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
好久没发帖了~~,成都今日午后放晴,心情大好~~
这里简单介绍下, 求解某一个方程fun(x)的极小值,很常见的以一种情况是当前的x不管增大还是减小,函数值fun(x)均是增大,这时x就是极值。这是一种完完全全的贪心算法。这样求出的极小值,并不一定整段函数的全局极小值,而极可能是局部极小值。 例如下图 可以看出,有三个点,均是极小值点,在这是三个点处,不管增大变量,或是减小变量,目标函数的值都会增大。而只有最左边的那个点,才是全局最优解。 从数学模型上来看,是一种全局极小值求解问题,扩展到物理意义上,举几个例子: 我们什么PID参数,才是最优秀的呢?我们什么PID参数,才能让控制达到快准狠?自己一个一个的去套吗,累死。当然也可以用计算机一个一个去套,但是这样仍然非常花时间。利用模拟退火算法,就可以很好的求出最优PID参数。 再比如我们的聚类算法,什么样的码本设计,才能使得矢量量化的误差减为最小,这仍然是一个全局最优搜索问题。 求解全局最优解,有很多方法,模拟退火法只是我们其中一个, 除此之外,还有遗传算法、禁忌搜索算法、蚁群算法、粒子群算法等等。各有优缺点。 模拟退火算法,显著的缺点是 相较其他算法,其稳定速度较慢,优点是在参数合适的情况下基本上可以100%得到全局最优解。 求解一个一维输入一维输出函数的全局最小解。这个思想也可以扩展到求解任意函数,输出point时,的输入应该为多少。 例如:已知函数F(x),我们想求输出3时的输入x为多少。我们可以将目标函数变换为 M(x) = (F(x)-3).^2 (平方或是求绝对值) 这样就转换为求解M(x)全局最小值0的问题。即当x满足F(x)=3 时,M(x)才能满足全局最小值。 我的vc代码里面是求解sin(x)+cos(0.3*x)这函数,x范围[-10 ,10]的全局极小值。 这个函数的函数图,即上面那个函数图。 有其他问题再联系。 anneal.zip (277.79 KB ) |
|
相关推荐
6个回答
|
|
|
关于模拟退火,有一个有趣的比喻,帮助大家学习和理解:
一般局部极小值算法:兔子朝着比现在高的地方跳去。它找到了不远处的最高山峰。但是这座山不一定是珠穆朗玛峰。这就是爬山算法,它不能保证局部最优值就是全局最优值。 模拟退火:兔子喝醉了。它随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,它渐渐清醒了并朝最高方向跳去。这就是模拟退火。 |
|
|
|
|
|
楼主研究算法去了?呵呵
|
|
|
|
|
|
呵呵,嗯啊,原子哥,感觉算法也蛮好玩嘞~~
|
|
|
|
|
|
顶一个
|
|
|
|
|
|
安逸...
|
|
|
|
|
|
请问anneal函数,for (i=0; i<1; i+=MarkovLen),岂不是每一步i都是只能循环一次?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4872 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
812浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
876浏览 2评论
962浏览 2评论
845浏览 2评论
2169浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 10:16 , Processed in 0.713955 second(s), Total 54, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5074