You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

线性规划(Binary Variable Grouping):最优成本设计师选择求助

线性规划建模与Excel Solver约束添加方案

变量定义

  • 设0-1决策变量x_i(i对应每个设计师):x_i=1表示选用该设计师,x_i=0表示不选用。其中Paul 1对应x_p1,Paul 2对应x_p2。
  • 设c_i为设计师i的服务成本,目标函数为最小化总成本:Σ(c_i * x_i)。

核心约束设置

1. Paul 1与Paul 2二选一约束

在Excel Solver中直接添加以下约束:

x_p1 + x_p2 = 1

这个等式保证两人中恰好选中一个,完全符合“只能二选一、不可同时选用”的要求。如果需求是不能同时选但可都不选,则将等式改为x_p1 + x_p2 ≤ 1。

2. 凑齐整套服装约束

先整理每个设计师能提供的单品(衬衫/裤子/夹克),对三类单品分别设置覆盖约束:

  • 衬衫覆盖:所有能制作衬衫的设计师的x_i之和 ≥ 1(确保至少有一个选中的设计师能做衬衫)
  • 裤子覆盖:所有能制作裤子的设计师的x_i之和 ≥ 1
  • 夹克覆盖:所有能制作夹克的设计师的x_i之和 ≥ 1

Excel Solver操作步骤

  1. 在Excel表格中整理数据:
    • 列:设计师名称、成本、能做衬衫(1/0)、能做裤子(1/0)、能做夹克(1/0)、决策变量(空白单元格,用于Solver赋值)
  2. 计算辅助值:
    • 总成本:用SUMPRODUCT计算所有设计师成本与决策变量的乘积
    • 衬衫覆盖数:SUMPRODUCT(能做衬衫列, 决策变量列),裤子、夹克覆盖数同理
  3. 打开Solver配置:
    • 目标单元格:选择总成本单元格,设置为「最小值」
    • 可变单元格:选择所有决策变量单元格
    • 添加约束:
      • 所有决策变量单元格 → 「二进制」(必须设置,确保变量只能取0或1)
      • Paul1与Paul2的决策变量之和 → 「=1」
      • 衬衫/裤子/夹克覆盖数 → 「≥1」
    • 选择求解方法为「Simplex LP」,点击「求解」即可得到最优解。

关键提醒

  • 决策变量的「二进制」属性是核心,不能仅设置整数0-1,Solver的二进制约束会自动确保变量取值符合要求。
  • 如果求解过程提示无解,检查是否存在:没有设计师能覆盖某类单品,或者Paul1/Paul2的组合无法满足单品覆盖要求,需调整设计师范围或约束逻辑。

内容的提问来源于stack exchange,提问作者Explore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 07:42:52