我是microsoft excels solver的用户,我很确定无法解决最大化两个值的问题。我想知道是否有人可能有另一种聪明的方法来做到这一点。
基本上我有一列1到30之间的数字,我需要查看并根据其他一些约束提取9到10个值(200个)。我还想不仅最大化这个值,而且还想要最大化的概率值(范围从0到1)。
添加它们不会起作用,因为这会严重低估概率值,而乘法可能会通过高估概率来做相反的事情。任何处理这个问题的策略都将不胜感激。
答案 0 :(得分:0)
这是multi-objective optimization的一个例子,其中有大量文献。正如维基百科的文章所示,这可能会导致一些非常深的水域。
到目前为止,最简单的方法是线性标量化。这指的是用单个(因此标量)目标函数替换2(或更多)目标函数的向量,该目标函数是目标函数的线性组合。你可以用解算器做的是创建2个单元格来保存相对权重以分配给两个目标。这些将是0和1范围内的2个数字,它们总和为1.然后创建一个新的目标函数,即这些权重和目标的SUMPRODUCT
(线性组合)。然后 - jut使用求解器来优化这个目标函数。如果您对结果不满意 - 调整重量。没有一个正确的答案。这种方法的一个优点是它允许决策者澄清目标的相关重要性。