我正在尝试将Excel解算器解决方案转换为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求解器函数联系起来,我的数学不是很好
答案 0 :(得分:0)
如果您正在寻找用于读取和写入Microsoft文档的API,请查看Apache POI:
http://poi.apache.org/
http://viralpatel.net/blogs/java-read-write-excel-file-apache-poi/
答案 1 :(得分:0)
有Simplexsolver implementation in Apache Commons Math,但我无法就性能或可能的问题规模发表任何言论。寻找优化问题的非有效解决方案可能很棘手,因为很难有效地优化大问题规模,而且这是一个持续的研究领域,只有充足的商业/研究解决方案。
如果您想将excelfiles保留为输入,则需要解析数据并进行转换。要阅读Excel文件,您可以使用Apache POI。