我正在使用Excel Solver在多个供应商之间分配需求。我使用的是分层定价,因此目标函数是非线性的。 (价格是数量的函数,总成本=价格x数量)。但是,当我运行求解器时,它为我提供了一个解决方案,但这并不是最佳解决方案。我在想原因是因为我使用了错误的方法,或者因为我使用了很多iferror函数。
我的目标函数应该没有任何中断,所以我应该使用GRG Nonlinear吗?我的目标函数是(总成本= V1xP1 + V2xP2 ...,其中V1是供应商1的数量,P1是供应商1的价格。价格根据数量而变化,但是是分层的(即,前100公斤是$ 1,第二个400公斤是$ .95等)。
我在所有价格计算中都使用了iferror函数。这是为了防止任何#DIV / 0!音量为0时出错。
此外,这是我用于基于分层定价计算平均单价的公式。
=SUMPRODUCT( --(E$135 > E$10:E$11), E$135-E$10:E$11, E$3:E$4-E$2:E$3)/E$135
where E$135 = demand, E$10:E$11 = tiered price volume, E$3:E$4 = tiered prices
有人知道这两个问题是否会导致求解器出现问题?现在,它可以正常运行,但不会输出最佳解决方案。预先感谢您的帮助。
编辑:我读到GRG Nonlinear只会为您提供局部最优解,而不是全局最优解。无论如何,我能找到非线性目标函数的全局最优解吗?