【问题标题】:Examples of apache math optimizationapache数学优化示例
【发布时间】:2012-02-03 15:39:14
【问题描述】:

我有一个简单的优化问题,我正在为此寻找 java 软件。

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

有谁知道一个有效的、简单的例子吗?

如果有帮助,问题是我想找到最大 r

r1 = s1 * m1

r2 = s2 * m2

并且有一些约束和公式用于定义变量之间的关系。 Excel Solver 可以很好地解决这个问题。我的 LPSolve 工作得很好,但是这个问题需要 s 和 m 的乘法,所以我理解 LPSolve 无法提供帮助,因为这会使问题成为非线性问题。

【问题讨论】:

    标签: apache mathematical-optimization solver quadratic nonlinear-optimization


    【解决方案1】:

    我最近将无导数非线性约束优化代码 COBYLA2 移植到 Java。由于它不明确依赖导数,因此该算法可能需要相当多的迭代来解决更大的问题。尽管如此,您仍然可以使用非线性目标函数和(可能的)非线性约束来表述您的问题。

    您可以阅读更多相关信息并从here下载源代码。

    【讨论】:

    • @Ribeye,您现在可能已经能够解决此问题,但如果没有,我希望您会发现上述答案对您的工作有用。
    【解决方案2】:

    我不知道有一个简单的基于 Java 的 NLP 求解器。 (我确实在 Apache Math Works 中找到了二次规划 (QP) 的示例,但它不符合条件,因为您要求的是非数学专业示例。)

    我有两个建议给你解决你的非线性程序:

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

    以下是使用 Excel 解决 NLP 的两个链接:示例 1 - Step by step Solver walk-through that covers NLP 和 示例 2 - A General Neural network example in Excel

    对于 Excel,我喜欢 Paul Jensen 的 (utexas) ORMM Add-in's。 他有一个名为 Teach NLP 的模块。 Chapter 10 他的书中涉及 NLP,可从他的网站获得。

    2.. 如果您打算进行一些数据分析,那么我建议您花几个小时下载并学习 R 的基础知识。 R有numerous packages and libraries for optimizationoptim()nlme 与求解非线性程序相关。

    为了完整起见,我提到 SASMATLABCPLEX 作为其他选项。如果您可以访问其中任何一个,它们在解决非线性程序方面都做得很好。

    希望这些指点有所帮助。

    【讨论】:

    • Ram,感谢您的出色回复 - R 可能很棒 - 我不知道它做了优化。不幸的是,我没有足够的可信度来提高你的可信度(但这只是我怀疑的对我生活一般的简单反映)。
    • @Ribeye 不要担心销售代表等。欢迎来到 SO。我很高兴这些信息有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    相关资源
    最近更新 更多