Java 优化/参数扫描方法库

Java 优化/参数扫描方法库,java,mathematical-optimization,Java,Mathematical Optimization,我有几个java类,它们实现了相当复杂的(非线性)业务逻辑。基本上,用户提供几个(数字)输入参数,应用程序计算一个标量 我想对输入数据进行参数扫描,也就是说,我想知道哪些参数值创建了最大输出值 最简单、最耗时的方法是在输入参数上创建一些简单的循环,并不断检查输出参数 但正如我所说,这需要相当长的时间;这个问题有几种数学解法(例如牛顿法) 我的问题是,;是否有提供此参数扫描功能的免费/开源JAVA库 谢谢, krisy你也许可以调整一下。在SimpleScoreCalculator中调用您的业务逻

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

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

最简单、最耗时的方法是在输入参数上创建一些简单的循环,并不断检查输出参数

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

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

谢谢,
krisy

你也许可以调整一下。在
SimpleScoreCalculator
中调用您的业务逻辑,并将返回的标量包装在
Score
实例中

确保至少使用
6.1.0.Beta2
,因为它支持
IntValueRange
DoubleValueRange

至于优化算法:如果变量少、整数且范围小,“分支和边界”可以工作,保证您获得最佳解决方案(但比蛮力快得多)

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