Excel Solver中土豆分段单价约束的线性建模技术问询
阶梯定价土豆的线性建模方案(Excel Solver适用)
这是个很常见的线性规划阶梯成本问题,咱们可以通过拆分变量的方式,把非线性的阶梯定价转化为Excel Solver能处理的线性约束,具体步骤如下:
1. 拆分土豆的采购变量
因为土豆有两个价格区间,我们需要引入两个独立的决策变量:
- 设
X₁= 按0.15元/单位购买的土豆数量(对应前5单位) - 设
X₂= 按0.40元/单位购买的土豆数量(对应超过5单位的部分)
这样拆分后,实际采购的土豆总数量就是 X₁ + X₂。
2. 调整目标函数(最小化总成本)
原来的总成本公式里,土豆的成本项需要替换为:
0.15*X₁ + 0.40*X₂
把这部分和其他食物的成本项相加,就是新的总成本目标,Solver的目标依然是最小化这个总成本值。
3. 添加关键线性约束
在Excel Solver的约束列表里,需要新增以下几个线性约束:
X₁ ≤ 5:确保只有前5单位的土豆能享受低价0.15元X₁ ≥ 0和X₂ ≥ 0:采购量不能为负数(标准非负约束)- 所有营养约束(热量、脂肪、蛋白质、碳水)中,涉及土豆的部分,要用
X₁ + X₂代替原来的单一土豆变量,保证营养计算的准确性
4. Excel实操小贴士
- 把
X₁和X₂放在两个相邻的单元格(比如B2和B3),方便管理 - 总成本单元格里的土豆成本部分直接引用这两个单元格计算,比如
=0.15*B2 + 0.40*B3 - 在Solver的「变量单元格」里,要把
X₁和X₂的单元格都选进去,和其他食物的变量一起作为决策变量
为什么这个方法是线性的?
所有约束和目标函数里的变量都是一次项(没有变量相乘、平方等非线性操作),完全符合Excel Solver线性规划模块的要求,Solver可以顺利求解出最优解。
内容的提问来源于stack exchange,提问作者ahmad noori




