无导数优化的启发式算法
heuristic-optimization的Python项目详细描述
Status: Experimental / alpha – do not use yet
此库当前实现 particle swarm optimization 并提供基类以快速实现其他(元)启发式 连续域的优化算法(与离散域相反/ 组合优化)。
范围和受众
启发式优化算法(有时称为 metaheuristics) 目的寻找难以解决的问题的近似全局最优解。 精确算法。他们不能保证 结果(特别是,它们是notapproximation algorithms)。
好的方面是,这些启发式方法很少(如果有的话)假设 objective function: 它可以是不可微的,甚至是不连续的,并且可以有多个局部的 以及全球最小值。
然而,这个库源于一个特定的用例,因此 假设(也可能在未来发展)。 例如,
- 我们假设目标函数评估是“昂贵的” (以秒而不是毫秒为单位,因此 实现本身当然不是性能瓶颈)
- 我们只使用 penalties,
- 在将实值输入转换为浮点时,我们可以自由选择 或有理表示(由于问题的数值性质)。
现在,即使这听起来仍然很适合你的项目,在这一点上 你可能应该考虑使用一个更成熟的替代方案,或者确实是滚动 你自己的解决方案适合你的精确问题。
安装
pip install heuristic_optimization
用法
见examples/。
学分
tisimst/pyswarm和 ljvmiranda921/pyswarms实现 python中的粒子群优化(particle swarm optimization)作为灵感(但没有 非常适合这个用例)。