1

我有一个简单的优化问题,并且正在为此寻找java软件。apache数学优化示例

Apache的数学优化软件看起来就像是我想要的,但我不能找到文档,以满足我的需要(其中这些需求是有用的初学者/非数学专业!)

有谁知道工作的,简单,举例?

万一有帮助,问题是,我想找到的最大r其中

r1 = s1 * m1 

r2 = s2 * m2 

而且有定义的变量之间的关系的一些约束和公式。 Excel解算器可以很好地解决这个问题。我得到LPSolve工作很好,但这个问题需要s和m的乘法,所以我理解LPSolve不能帮助,因为这会使问题变得非线性。

回答

0

我不知道一个简单的基于Java的NLP求解器。 (我没有在Apache的数学工程找到(QP)二次规划的一个例子,但既然你问一个非数学专业例如,它不符合。)

我有两个建议,为您解决您的非线性程序:

1 .. ExcelSolver确实有能力解决非线性问题。 (不要使用LPSOLVE。)实际上,NLP是Solver中的默认模式。

这里有两个联结到使用Excel解决NLPs:实施例1 - Step by step Solver walk-through that covers NLP和 实施例2 - A General Neural network example in Excel

而且为Excel,我喜欢保罗Jensen的(utexas)ORMM Add-in's。 他有一个模块叫做Teach NLPChapter 10他的书涉及NLP并可从他的网站上获得。

2 ..如果你打算做甚至有些数据分析量,那么我建议投资了几个小时下载和学习[R的基本知识。 R有numerous packages and libraries for optimizationoptim()nlme与解决非线性程序有关。

只是为了保持完整性,我提到SASMATLABCPLEX其他选项。如果您有权访问这些内容,他们在解决非线性程序方面都做得非常好。

希望这些指针有所帮助。

+0

拉姆,感谢您的优秀回复 - R可能会很棒 - 我不知道它做了优化。不幸的是,我没有足够的可信度来打击你的信誉(但这仅仅是我怀疑我生活中的一般情况)。 – Ribeye 2012-02-06 15:33:27

+0

@Ribeye别担心代表等。欢迎来到SO。我很高兴这些信息有所帮助。 – 2012-02-06 17:19:15

1

我最近将无衍生的非线性约束优化代码COBYLA2移植到Java。由于它不明确依赖于衍生物,所以对于较大的问题,该算法可能需要相当多的迭代。尽管如此,您可以用非线性目标函数和(可能)非线性约束来制定问题。

你可以阅读更多关于它并从here下载源代码。

+0

@Ribeye,你现在可能已经能够解决这个问题了,但如果没有,我希望你会发现上面的答案对你的工作有用。 – 2012-06-14 08:43:59