喜欢的话请关注我们的微信公众号~《你好世界炼丹师》。
- 公众号主要讲统计学,数据科学,机器学习,深度学习,以及一些参加Kaggle竞赛的经验。
- 公众号内容建议作为课后的一些相关知识的补充,饭后甜点。
- 此外,为了不过多打扰,公众号每周推送一次,每次4~6篇精选文章。
微信搜索公众号:你好世界炼丹师。期待您的关注。
相关知识点
LP线性规划问题
- Linear Problem
- [百度百科]:研究线性约束条件下线性目标函数的极值问题的数学理论和方法。
学过运筹学的小伙伴,可以看这个LP问题的标准型来回顾一下:
不太熟悉的朋友可以看这个例题,再结合上面的标准型,来感受一下:
MIP混合整数规划
- Mixed Integar Planing
- 混合整数规划是LP的一种,决策变量部分是整数,不要求全部都是整数的规划问题。
- 这里MIP的求解器是使用CBC(Corn-or Branch and Cut)
- CBC (COIN-OR Branch and Cut) is an open-source mixed integer programming solver working with the COIN-OR LP solver CLP and the COIN-OR Cut generator library Cgl. The code has been written primarily by John J. Forrest. 更多详情看这里,但是笔者认为没啥必要。
MIP的Python实现(Ortool库)
我们来看一道简单的例题:
其中x,y都是整数
from ortools.linear_solver import pywraplp
# 首先,调用CBC求解器
# 整数规划使用pywraplp.Solver.GLOP_LINEAR_PROGRAMMING
solver = pywraplp.Solver('SolveIntegerProblem'