Python有哪些可以做帶約束的二次線性規劃的包?

如果要求速度比較快的話,除了Scipy和cvxopt還有其他的包嗎?


PythonForOperationsResearch

  • APM Python - APM Python is free optimization software through a web service. Nonlinear Programming problem are sent to the APMonitor server and results are returned to the local Python script. A web-interface automatically loads to help visualize solutions, in particular dynamic optimization problems that include differential and algebraic equations. Default solvers include APOPT, BPOPT, and IPOPT. Pre-configured modes include optimization, parameter estimation, dynamic simulation, and nonlinear control.

  • Coopr - The Coopr software project integrates a variety of Python optimization-related packages.

  • CVOXPT - CVXOPT is a free software package for convex optimization based on the Python programming language. It can be used with the interactive Python interpreter, on the command line by executing Python scripts, or integrated in other software via Python extension modules. Its main purpose is to make the development of software for convex optimization applications straightforward by building on Python』s extensive standard library and on the strengths of Python as a high-level programming language.

  • OpenOpt (license: BSD) contains connections to tens of solvers and has some own Python-written ones, e.g. nonlinear solver with specifiable accuracy: interalg, graphic output of convergence and some more numerical optimization "MUST HAVE" features. Also OpenOpt can solve FuncDesigner problems with automatic differentiation, that usually work faster and gives more precise results than finite-differences derivatives approximation.

  • PuLP - PuLP is an LP modeler written in python. PuLP can generate MPS or LP files and call GLPK, COIN CLP/CBC, CPLEX, and GUROBI to solve linear problems.

  • Pyomo - The Python Optimization Modeling Objects (Pyomo) package is an open source tool for modeling optimization applications in Python. Pyomo can be used to define symbolic problems, create concrete problem instances, and solve these instances with standard solvers. Pyomo provides a capability that is commonly associated with algebraic modeling languages such as AMPL, AIMMS, and GAMS, but Pyomos modeling objects are embedded within a full-featured high-level programming language with a rich set of supporting libraries. Pyomo leverages the capabilities of the Coopr software library, which integrates Python packages for defining optimizers, modeling optimization applications, and managing computational experiments.

  • scipy.optimize - some solvers written or connected by SciPy developers.

  • pyOpt - pyOpt is a package for formulating and solving nonlinear constrained optimization problems in an efficient, reusable and portable manner (license: LGPL).


  • 推薦閱讀:

    擴散方程
    Python科學計算與自動控制1-Python入門
    使用VASPy快速處理VASP文件以及數據可視化
    和 C++ 相比,用 Fortran 編程是怎樣的體驗?
    Fortran 目前仍然是科學計算領域使用的主要語言嗎?

    TAG:Python | 科學計算 | 線性規劃 |