有谁知道,执行优化数学(线性规划,凸优化,或者更一般类型的问题),这样的图书馆吗? 我正在寻找像MATLAB,但处理更大的问题的能力。 我必须写我自己的实现,还是买那些商业产品(CPLEX等)的一个?
Answer 1:
一个较好的答案取决于你所说的“凸”和“更普遍的”,如果你正在试图解决大或具有挑战性的线性或凸二次优化问题(特别是分立元件给他们),那么它是很难被击败的主要商业解算器, gurobi , CPLEX和短跑除非钱是你的一个大问题。 他们都有干净的JNI接口,并且可在大多数主要平台。
该硬币或项目有几个优化,并有JNI接口的项目。 它是完全免费的( EPL许可证),但需要更多的工作来建立,可能不会给你同样的性能。
Answer 2:
有一个叫线性优化工具lpsolve 。 它是用C写的(我认为),但附带了一个Java / JNI封装(API不是很OO,但它的工作)。 这是很容易使用,我有它在去年的实时系统相当愉快和稳定运行。
Answer 3:
您可以尝试JOptimizer ,开源和适合一般凸优化问题(线性规划,二次规划,qcqp,锥形规划,半定规划,ECT
Answer 4:
OptaPlanner (爪哇,开源,ASL)可以处理较大的问题,并且不具有约束类型的限制(如线性VS凸)。
Answer 5:
你可能想看看JScience ,它看起来相当完整。 (数学结构,线性代数求解,等等)
Answer 6:
IPOPT有一个用于Java接口 。 您可能还能够适应Java的APMonitor建模语言。 我开发这个平台,所以我会很高兴与人合作,如果他们想创建一个新的接口到Java。 它已经有一个Python的API和MATLAB的接口,包括解算器,如IPOPT,APOPT,BPOPT,和其他人可以处理大型系统。
Answer 7:
考虑AMPL 。 基本版是免费的,但对于较大的问题,要花钱的。 您不支付的语言; 一分钱一分货求解。 也可以上传你的代码,并将它自己的服务器上运行。
文章来源: mathematical optimization library for Java — free or open source recommendations? [closed]