国赛 · 2024C
农作物的种植策略
在耕地类型、轮作要求与产销不确定性下规划多年种植方案,使总收益最大且风险可控。
1 个关联模型拆解这道题 →
目标与约束都是线性的资源分配、生产计划、运输与配方问题,决策量可以连续取值(例如投入多少吨、分配多少小时)。
依赖见代码开头;示例在自己的 Python 环境运行,页面不执行代码。用于理解方法,正式参赛请补齐数据检验与误差分析。
# 依赖: 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)}')在耕地类型、轮作要求与产销不确定性下规划多年种植方案,使总收益最大且风险可控。
依据历史销售与损耗数据预测短期需求,制定各品类的定价与补货量,使收益最大同时损耗可控。