Python PuLP and Glpk

2023-01-31 02:01:14 python pulp Glpk

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

相关文章