【发布时间】:2020-06-10 01:35:40
【问题描述】:
我正在尝试复制 Excel 的 Goal Seek 函数,它基于 Newton-Raphson。
就我而言,我想优化一组人(包括孩子)对孩子(组/孩子)的比率,按“Z”的某个比率目标来获得新的孩子数量;然后随着新孩子号码的变化而减少组号码。
示例: 假设我在一个组中有 1000 人,其中包括孩子,占 100...假设我的目标比率是 12(组/孩子)...要解决这个问题,我需要减少孩子们到 76 岁,这也将减少到 923 组。
伪公式将是 Group (1000 - X) / X,尽管需要先计算分母中的 X 值...
代码尝试:
from scipy import optimize
# inputs
group = 1000
kids = 100
# formula
def f(x, group):
results = (group - x) / x
return results
optimize.newton(f, 100, 1000)
这会导致 args 无法正确通过,但我只是不确定如何构造方程。
编辑:补充说我也不确定将新目标放在哪里......同时澄清我希望结果不低于目标。
【问题讨论】:
-
您希望该值尽可能接近目标费率吗?还是应该不低于目标?
-
感谢您的澄清问题...不低于目标。我将把它添加回问题:)
-
在这种情况下 77 是错误的答案,因为 923/77 ~ 11.987
-
大声笑,你是对的。所以孩子的数量大约是~76
标签: python optimization sympy scipy-optimize