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