我正在尝试为一组黑盒功能(神经网络)实现一个优化器,我没有衍生物(虽然这可能与这个问题无关)。我想使用nlopt
,所以我一直在阅读他们网站上的教程,该教程使用Non linear constraints实现了一个简单的目标函数。
在他们的例子中,约束函数是一组连续可微的多项式。约束可以说是这个例子中的目标函数,这使得整个教程对于像我这样的非数学类型有点混乱。在我的情况下,我只想在每个维度上强加固定边界。
如何在[a,b]
中对每个维度(以及任意数量的维度)强加固定时间间隔nlopt
?
我意识到教程中的约束函数还包含一个导数,而且我不确定如何或者是否需要为我的固定区间约束函数提供导数。
答案 0 :(得分:1)
我应该读完整个教程......
nlopt
提供以下功能,专门用于实施固定约束:
nlopt_set_lower_bounds
nlopt_set_upper_bounds