使用求解器方法的建议

Recommendation on using solver method

我想使用非线性求解器来构建模型;附图说明了我的设置。

每个 P(P1 到 P4)都有一个“(tau 和 f)列表,需要由求解器求解。

约束是这样的,每个 P 的 "sum of f1 and f2 and f3 respectively etc." 应该 <=1。

非常感谢任何帮助。我完全迷失在这里!

添加了一张新图片。 "M"列是使用"B6:G6"和"C17:G17"计算得到的。 Qerror 基于 H17 和 M17。 即我需要通过更改 P1 的 "B6:G6" 来最小化该错误。同样,我为 P2 等做这件事。 enter image description here

您的更新更清楚地说明了您的问题所在。但是,我仍然在做一些假设......

  • 我认为您有 114 行数据/计算类似于第 17 行。
  • qError的计算还是有点迷。我认为它类似于(对于 I6)=sum(M17:M130) - sum(H17:H130),以便考虑所有 114 个数据点。
  • objective (I11) 的计算似乎是 =AVG(I6:I9)

如果我的假设大部分是正确的,我将进行以下修改并设置求解器:

  1. 将 qError 计算更改为 qError^2。这将涉及添加一列来计算每个数据点的平方误差。如果这是 Q 列,则 Q17 的计算结果为 =(M17-H17)^2 并且会被填满。然后,I6 中的计算将是 =SUM(Q17:Q130)。 I7、8 和 9 需要类似的列和计算。
  2. 保持 I11 的计算不变,但经过之前的更改,现在是 SUM(e^2)。

在求解器对话框中

  1. "Set Objective" 是单元格 $I.
  2. "To:" 是最小
  3. "By Changing Variable Cells:" 是 $B:$G
  4. "Subject to the Constraints:" 是 $C <= 1$D <= 1$E <= 1$F <= 1$G <= 1
  5. 勾选"Make Unconstrained Variables Non-Negative"
  6. "Select Solving Method:" 是 "GRG Nonlinear"

如果求解器没有找到解决方案,您可能需要调整 "Options"。由于您有大量参数,因此可能需要增加允许的迭代次数。

如果我的假设有重大错误,请告诉我。