python与数学建模(一)——线性与非线性规划
数学建模国赛刚刚结束,博主想做一个有关使用python进行数学建模的专题。python作为一个简单高效的语言,虽然执行速度慢,不过能够快速开发。相比matlab, python更加轻量,集成度更高,使用在数学建模上完全可以胜任。
一、什么是线性规划?
我们不阐述具体的概念,可以将由以下形式的优化问题看成线性规划问题:
KaTeX parse error: Undefined control sequence: \mbox at position 22: …um_{j=1}^{n}c_{\̲m̲b̲o̲x̲{\scriptsize j}…
或者我们可以用矩阵表示:
m i n cx s . t . Ax = b , x > = 0 , min\quad\textbf{cx}\\ s.t.\quad\textbf{Ax}=\textbf{b},\\ \quad\quad\quad\textbf{x}>=\textbf{0}, mincxs.t.Ax=b,x>=0,
很多时候,我们遇到的线性规划或者是非线性规划问题的约束条件不都是等式,需要加入松弛变量转化为标准形式。此处不深入讨论,我们看下面的代码求解说明,仅考虑最简单的情形。
二、python求解线性规划问题
假设我们要最小化目标函数f=2x+y
,满足以下约束条件:
x >= 0
y >= 0
x + y <= 8
2x + y <= 12
<