0

我正在尝试将 Excel Solver 解决方案转换为 Java 应用程序

excel求解器是

Solver Parameters:
Set Objective: D24 to Max
By Changing Variable Cells: C4:C23
Subject to the Constraints:
C24 = B24
L24 <= N24
L25 >= N25
(non-negative)
GRG Nonlinear

我已经有一段时间了,找不到一个 java 库来实现这一点。有任何想法吗?

我试过 choco-solver http://www.emn.fr/z-info/choco-solver/

    Solver solver = new Solver("my first problem");
    // 2. Create variables through the variable factory 
    IntVar x = VariableFactory.bounded("X", 0, 5, solver);
    IntVar y = VariableFactory.bounded("Y", 0, 5, solver);
    // 3. Create and post constraints by using constraint factories
    solver.post(IntConstraintFactory.arithm(x, "+", y, "<", 5)); 
    // 4. Define the search strategy
    solver.set(IntStrategyFactory.inputOrder_InDomainMin(new IntVar[]{x,y} )); 
    // 5. Launch the resolution process
      if (solver.findSolution()) {
            do {
                prettyOut();
            }
            while (solver.nextSolution());
        }

我发现很难将它与 Excel 求解器函数联系起来,我的数学不是很好

4

2 回答 2

0

Apache Commons Math 中有一个Simplexsolver 实现,但我不能说任何关于性能或可能的问题大小的内容。为优化问题寻找非属性解决方案可能会很棘手,因为有效地优化大型问题非常困难,而且它是一个正在进行的研究领域,只有一堆好的商业/研究解决方案。

如果您想保留 excelfiles 作为输入,您需要解析数据并进行转换。要读取 Excel 文件,您可以使用Apache POI

于 2013-07-30T08:39:53.280 回答
-1

如果您正在寻找一种 API 来读取和写入微软文档,请查看 Apache POI:

http://poi.apache.org/
http://viralpatel.net/blogs/java-read-write-excel-file-apache-poi/

于 2013-07-30T08:33:35.253 回答