NoiseFloor 发表于 2022-1-20 11:02

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

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

JoshWindsor 发表于 2022-1-20 11:08

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