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

6×N数组约束条件下最大和求解:Excel可行方案咨询

6×6数组选值最大化问题的Excel无脚本解决方案

问题澄清

先明确约束逻辑(原表述存在矛盾,按合理需求修正):给定6×6数组,需从每列选2个元素(总计12个),要求每行被选中的总次数恰好为2次,同时每列选中的2个元素来自不同行,目标是让选中元素的总和最大。


方案1:使用Excel规划求解(最优解)

这是无需外部脚本、直接在Excel内实现的最优方法,依赖自带的「规划求解」工具:

  1. 数据与辅助矩阵准备

    • 将6×6原始数组放在A1:F6区域(行1-6对应数组的6行,列A-F对应6列)。
    • 在A8:F13区域创建6×6的0/1辅助矩阵:单元格值为1表示对应原始数组的元素被选中,0表示未选中。
  2. 设置目标函数
    在任意空白单元格(如H1)输入总和计算公式:

    =SUMPRODUCT(A1:F6, A8:F13)
    

    这个公式会自动计算所有选中元素的总和。

  3. 配置规划求解约束
    打开「规划求解」(若未显示,需在Excel选项→加载项中启用「规划求解加载项」):

    • 目标:选择H1,设置为「最大值」。
    • 可变单元格:选中辅助矩阵区域A8:F13。
    • 添加约束:
      • 每列必须选2个:对每列(如A8:A13)添加约束SUM(A8:A13)=2,共6条。
      • 每行必须被选2次:对每行(如A8:F8)添加约束SUM(A8:F8)=2,共6条。
      • 辅助矩阵仅能为0或1:选中A8:F13,设置约束类型为「二进制」。
  4. 运行求解
    选择求解方法为「单纯线性规划」,点击「求解」,Excel会自动计算出满足所有约束的最优选中组合。


方案2:贪心近似法(无规划求解时用)

如果无法使用规划求解,可通过以下步骤快速得到近似最优解:

  • 计算每行的元素平均值,按平均值从高到低排序,标记优先级(平均值越高的行越优先被选中2次)。
  • 遍历每一列,优先选择该列中优先级最高且尚未达到2次选中次数的行的元素。
  • 若某列的前两位优先级行已达选中上限,替换为次优行,直到所有列都选满2个元素,且每行恰好被选2次。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 03:53:09