找回密码
 立即注册
查看: 328|回复: 1

如何提高优化算法前期的探索能力?

[复制链接]
发表于 2022-1-20 11:02 | 显示全部楼层 |阅读模式
既然提到了适应度的概念,那楼主所感兴趣的应该是无梯度优化算法。此类算法在求解约束优化问题时通常是利用罚函数法将原问题构造为一个无约束优化问题进行求解。下面我将针对楼主的问题,具体展开讨论。(注:受本人水平限制,回答中可能存在思虑不周或表述有误的地方,届时希望大家批评指正。同时,由于本人最熟悉的无梯度优化算法是GA,因此所提出的建议主要是根据GA,但我认为下列建议也同样适用于其他无梯度算法。
首先,我不太理解楼主为何只关心算法前期的搜索能力。按我的理解,如果在算法中引入一种改进策略,那么该策略在整个优化过程中都会产生效果,除非人为规定它只在前多少次迭代过程中使用。这时就需要精确地定义前期是指前多少次迭代(至少目前我并未见过类似的做法)。而如果想提高算法的搜索能力,楼主可以尝试调整适应度函数的罚参数、使用GA中的精英保留策略、甚至考虑利用梯度信息进行优化(可参考https://www.docin.com/p-881197730.html)。
希望以上回答能对楼主有帮助。
发表于 2022-1-20 11:08 | 显示全部楼层
既然提到了适应度的概念,那楼主所感兴趣的应该是无梯度优化算法。此类算法在求解约束优化问题时通常是利用罚函数法将原问题构造为一个无约束优化问题进行求解。下面我将针对楼主的问题,具体展开讨论。(注:受本人水平限制,回答中可能存在思虑不周或表述有误的地方,届时希望大家批评指正。同时,由于本人最熟悉的无梯度优化算法是GA,因此所提出的建议主要是根据GA,但我认为下列建议也同样适用于其他无梯度算法。
首先,我不太理解楼主为何只关心算法前期的搜索能力。按我的理解,如果在算法中引入一种改进策略,那么该策略在整个优化过程中都会产生效果,除非人为规定它只在前多少次迭代过程中使用。这时就需要精确地定义前期是指前多少次迭代(至少目前我并未见过类似的做法)。而如果想提高算法的搜索能力,楼主可以尝试调整适应度函数的罚参数、使用GA中的精英保留策略、甚至考虑利用梯度信息进行优化(可参考https://www.docin.com/p-881197730.html)。
希望以上回答能对楼主有帮助。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 21:23 , Processed in 0.247195 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表