用于优化/参数扫描方法的库

时间:2014-04-03 06:24:12

标签: java mathematical-optimization

我有几个java类,它们实现了一个非常复杂(非线性)的业务逻辑。基本上用户提供了几个(数字)输入参数,应用程序计算标量。

我想对输入数据进行参数扫描,也就是说我想知道哪些参数值创建了最大输出值。

最简单,最耗时的方法是使用" small"创建一些简单的循环。步骤输入参数,并不断检查输出参数。

但正如我所说,这需要相当长的时间;这个问题有几种数学解决方案(例如牛顿法)。

我的问题是;是否有任何免费/开源的JAVA库提供此参数扫描功能?

谢谢, krisy

1 个答案:

答案 0 :(得分:0)

您可以为此调整OptaPlanner。在SimpleScoreCalculator中调用业务逻辑,并将返回的标量包装在Score实例中。

请确保至少使用6.1.0.Beta2支持IntValueRangeDoubleValueRange

对于优化算法:如果变量很少,整数和小范围,“分支和绑定”可以工作,保证您的最佳解决方案(但比Brute Force快得多)。

否则,您需要使用有限选择构造启发式,然后使用自定义Move实现进行本地搜索。