我有一个成本函数:
- 评估非常昂贵
- 0 < x < 10
- 0 < y < 30
- 0 < z < 100
- 我认为它是凸的,现在不确定基于@Brian 的评论。
- 只能以整数进行评估(我曾考虑尝试以实数进行评估,但尝试起来非常困难,结果将完全是假的)。
- 是平滑的,但仅在整数值处。所以梯度只能使用重新评估来计算每隔一段时间-但这又是非常昂贵的。
我正在寻找有关算法和库的建议(首选 C++,可接受 C)。
我花了几天时间试图复习这些主题,但它非常密集。我一直在看COIN-OR,特别是 OSI,但我似乎无法弄清楚如何将我的问题表达到 API 中。我也看过EasyLocal++,但还没有真正深入研究。