用粒子群优化算法求解函数最大值和最小值问题,稍微更改一下即可求任意函数最值
2019-12-21 19:56:37 214KB 计算智能
1
我的思路是这样的: 最速下降法能找出全局最优点,但在接近最优点的区域内就会陷入“齿型”迭代中,使其每进行一步迭代都要花掉非常久的时间,这样长久的等待是无法忍受的,不信你就在我那个程序的第一步迭代中把精度取得很小如:0.000000001等,其实我等过一个钟都没有什么结果出来。 再者我们考究一下 牛顿迭代法求最优问题,牛顿法相对最速下降法的速度就快得多了,而且还有一个好处就是能高度逼近最优值,而不会出现死等待的现象。 如后面的精度,你可以取如:0.0000000000001等。 但是牛顿法也有缺点,就是要求的初始值非常严格,如果取不好,逼近的最优解将不收敛,甚至不是最优解。 就算收敛也不能保证那个结就是全局最优解,所以我们的出发点应该是:为牛顿法找到一个好的初始点,而且这个初始点应该是在全局最优点附近,这个初始点就能保证牛顿法高精度收敛到最优点,而且速度还很快。 思路概括如下: 1。用最速下降法在大范围找到一个好的初始点给牛顿法:(最速下降法在精度不是很高的情况下逼近速度也是蛮快的) 2。在最优点附近改用牛顿法,用最速下降法找到的点为牛顿法的初始点,提高逼近速度与精度。 3。这样两种方法相结合,既能提高逼近的精度,还能提高逼近的速度,而且还能保证是全局最优点。这就充分吸收各自的优点,扬长避短。得到理想的结果了。
2019-12-21 19:48:53 3KB matlab 最速下降法 牛顿法
1
遗传算法求解函数最大值(原理及matlab程序)。参考文献:孙增圻,《智能控制理论与技术》,清华大学出版社。
2019-12-21 19:25:13 945KB 遗传算法
1