linear programming in python?

前端 未结 7 1214

I need to make a linear programming model. Here are the inequalities I\'m using (for example):

6x + 4y <= 24
x + 2y <= 6
-x + y <= 1
y <= 2
         


        
7条回答
  •  渐次进展
    2020-12-12 17:57

    UPDATE: The answer has become somewhat outdated in the past 4 years, here is an update. You have many options:

    • If you do not have to do it Python then it is a lot more easier to do this in a modeling langage, see Any good tools to solve integer programs on linux?

    • I personally use Gurobi these days through its Python API. It is a commercial, closed-source product but free for academic research.

    • With PuLP you can create MPS and LP files and then solve them with GLPK, COIN CLP/CBC, CPLEX, or XPRESS through their command-line interface. This approach has its advantages and disadvantages.

    • The OR-Tools from Google is an open source software suite for optimization, tuned for tackling the world's toughest problems in vehicle routing, flows, integer and linear programming, and constraint programming.

    • Pyomo is a Python-based, open-source optimization modeling language with a diverse set of optimization capabilities.

    • SciPy offers linear programming: scipy.optimize.linprog. (I have never tried this one.)

    • Apparently, CVXOPT offers a Python interface to GLPK, I did not know that. I have been using GLPK for 8 years now and I can highly recommend GLPK. The examples and tutorial of CVXOPT seem really nice!

    • You can find other possibilites at in the Wikibook under GLPK/Python. Note that many of these are not necessarily resticted to GLPK.

提交回复
热议问题