Python PuLP and Glpk

发布时间:2019-08-13 07:39:58编辑:auto阅读(1930)

    PuLP 是一个 Python 的线性规划库,使用起来相当的简单方便:

    http://pypi.python.org/pypi/PuLP/1.5.3

    还需要 GLPK (GNU Linear Programming Kit)

    http://www.gnu.org/software/glpk/

    先编译 glpk

    cmd

    cd D:\glpk-4.47\w32

    Build_GLPK_with_VC9.bat

    Build_GLPK_with_VC9_DLL.bat

    # 安装 pulp

    cd D:\python\PuLP-1.5.3

    setup.py install

    方式一:声明绝对路径

    #prob.solve(GLPK("D:\\glpk-4.47\\w32\\glpsol.exe"))

    方式二:设环境变量

    SET PATH=D:\glpk-4.47\w32\;%PATH%

    这样可以简化为:

    prob.solve(GLPK(msg=0))

    最后看了D:\python\PuLP-1.5.3\examples 发现最简单的也行:

    prob.solve()

    样例:求解“鸡兔同笼”问题的源码见下载栏 jttl_lp.py

    “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何.”

    设鸡的数量为 x,兔子的数量为 y,求解

    x + y = 35
    2 x + 4 y = 94

    Python PuLP 求解最大化问题 , 源码见下载栏 test1_lp.py

    问题是使生产商品利润最大,x,y为两种不同商品的生产量。具体描述如下:
    max 3600x+5400y
    s.t.
    6x+10.5y <= 48000
    4x+2y <= 20000
    y <= 3500
    x,y >=0

关键字