基础入门示例
可用的资源
线性规划和混合整数线性规划是非常重要的主题。如果您想了解更多关于它们的知识,而且要比在这里看到的东西要学得多,那么您可以找到很多资源。以下是一些入门指南:
- Wikipedia Linear Programming Article
- Wikipedia Integer Programming Article
- MIT Introduction to Mathematical Programming Course
- Brilliant.org Linear Programming Article
- CalcWorkshop What Is Linear Programming?
- BYJU’S Linear Programming Article
Gurobi Optimization是一家提供具有Python API的非常快速的商业求解器的公司。它还提供有关线性规划和混合整数线性规划的宝贵资源,包括以下内容:
- Linear Programming (LP) – A Primer on the Basics
- Mixed-Integer Programming (MIP) – A Primer on the Basics
- Tutorials
- Choosing a Math Programming Solver
如果您想学习优化理论,那么这里有很多数学书籍。以下是一些受欢迎的选择:
- Linear Programming: Foundations and Extensions
- Convex Optimization
- Model Building in Mathematical Programming
- Engineering Optimization: Theory and Practice
这只是现有功能的一部分。线性规划和混合整数线性规划是流行且广泛使用的技术,因此您可以找到无数资源来帮助加深您的理解。
常见的求解器
就像有很多资源可以帮助您学习线性规划和混合整数线性规划一样,也有很多具有Python包装器的求解器。以下是部分清单:
其中一些库(例如Gurobi)包括其自己的Python包装器。其他人则使用外部包装器。例如,您看到可以使用PuLP访问CBC和GLPK。
结论
您现在知道什么是线性规划以及如何使用Python解决线性规划问题。您还了解到Python线性规划库只是本机求解器的包装。当求解程序完成其工作时,包装程序将返回解决方案状态,决策变量值,松弛变量,目标函数等。
在本教程中,您学习了如何:
- 定义代表您的问题的模型
- 创建一个Python程序进行优化
- 运行优化程序以找到问题的解决方案
- 检索优化结果
您将SciPy与它自己的求解器一起使用,并将PuLP与CBC和GLPK一起使用,但是您还了解到还有许多其他的线性规划求解器和Python包装器。现在,您准备好进入线性规划的世界!