← 返回模型库
MODEL / 优化

线性规划 LP

目标与约束都是线性的资源分配、生产计划、运输与配方问题,决策量可以连续取值(例如投入多少吨、分配多少小时)。

核心公式

\min_{\mathbf{x}}\ \mathbf{c}^{\top}\mathbf{x}\quad \text{s.t.}\ \mathbf{A}_{ub}\mathbf{x}\le\mathbf{b}_{ub},\ \mathbf{A}_{eq}\mathbf{x}=\mathbf{b}_{eq},\ \mathbf{l}\le\mathbf{x}\le\mathbf{u}

Python 最小示例

下载 .py 文件 ↓

依赖见代码开头;示例在自己的 Python 环境运行,页面不执行代码。用于理解方法,正式参赛请补齐数据检验与误差分析。

Python · 线性规划 LP
# 依赖: scipy
import numpy as np
from scipy.optimize import linprog

# 最大化 3x + 5y;linprog 求最小值,因此目标系数取负
c = np.array([-3.0, -5.0])
A_ub = np.array([[1.0, 0.0], [0.0, 2.0], [3.0, 2.0]])
b_ub = np.array([4.0, 12.0, 18.0])

res = linprog(c, A_ub=A_ub, b_ub=b_ub, bounds=[(0, None), (0, None)], method='highs')
assert res.success, res.message          # 不可行/无界时一定要先看状态
print(f'最优值={-res.fun:.4f} 最优解={np.round(res.x, 4)}')

用它研究过哪些问题?

浏览赛题库 →
国赛 · 2024C

农作物的种植策略

在耕地类型、轮作要求与产销不确定性下规划多年种植方案,使总收益最大且风险可控。

不确定性优化线性规划
1 个关联模型拆解这道题 →