表格的Excel解算器

表格的Excel解算器,excel,average,solver,Excel,Average,Solver,尝试使用Excel的解算器加载项获取下表中一系列单元格的最小平均值: 其中PT=处理时间,DD=到期日 细胞拖期有以下公式=如果([@[Cum.PT]-[@DD]>0;[@[Cum.PT]]-[@DD];0)-->基本上超过到期日,但如果低于到期日=0 累积单元有明显的公式 右下角的单元格是平均值,这是我想要优化的值,这应该通过切换行的顺序来实现 可以在解算器中执行此操作吗?它只是切换整行的顺序?解算器无法更改行的位置 对于您的情况,我将从最小到最大对迟到进行排序,这将为您提供最小的平均累计迟

尝试使用Excel的解算器加载项获取下表中一系列单元格的最小平均值:

其中PT=处理时间,DD=到期日
细胞拖期有以下公式<代码>=如果([@[Cum.PT]-[@DD]>0;[@[Cum.PT]]-[@DD];0)-->基本上超过到期日,但如果低于到期日=0 累积单元有明显的公式

右下角的单元格是平均值,这是我想要优化的值,这应该通过切换行的顺序来实现


可以在解算器中执行此操作吗?它只是切换整行的顺序?

解算器无法更改行的位置


对于您的情况,我将从最小到最大对迟到进行排序,这将为您提供最小的平均累计迟到时间。

正如您的问题所述,它可以通过以下步骤解决

  • 实PT
    DD
    放在一个单独的源表中(
    源表
  • 像这样

    Row Real PT DD
    1   8   30
    2   10  14
    3   13  68
    4   18  53
    5   16  58
    6   12  18
    7   11  78
    8   14  26
    
  • 实际PT
    计算为
    =VLOOKUP(A2,SourceTable,2)
    DD
    计算为
    =VLOOKUP(A2,SourceTable,3)
    的位置构建表格。所有其他计算应与您已经定义的相同
  • 使用以下内容设置解算器:

    • 目标单元格为
      $F$10
    • 最小化
    • 更改
      $A$2:$A$9
    • 约束条件
      $A$2:$A$9=1
      $A$2:$A$9=AllDifferent
      $A$2:$A$9=integer
    • 求解方法=进化
  • 通过这些,我得到以下结果

    。。。这可能是可以接受的,也可能是不可以接受的——似乎84天的迟到可能太多了。可以为最大延误添加限制条件


    编辑-您也可以指定GRG非线性作为解决方案方法,但您需要进入选项并选择multistart。GRG非线性解比进化解需要更长的时间。

    在这个公式中,拖期取决于累积PT。因此,这不会给出最佳解决方案。我还没有尝试过任何方法,但我会尝试使用VLOOKUP或间接获取真实的PT。需要将解算器设置为混合整数问题。