我有一个小数学问题,我需要根据成本价格和最终金额来确定数量。
现在这在理论上很容易,因为它只是最终金额/实际成本=数量,但在我的情况下,实际成本会根据数量而变化。
数量=最终金额/(项目成本+间接费用),其中间接费用按比例计算。
一个例子 如果我想卖500美元卖羊,每只羊的基价是50美元,但卖一只羊的成本是5美元,所以一只羊的实际成本是55美元,但如果我卖2只羊那么销售成本为7美元,因此实际成本为107美元,依此类推。
在不必无条件循环的情况下,尽可能接近最终数量(但未结束)的最佳方式是什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
请注意,间接成本是销售数量的函数。这意味着您的等式采用易于迭代的形式。您对数量进行初步猜测,将其插入等式的右侧,并使用它来获得数量的新猜测。一旦数量稳定,您已达到固定点并可以停止。
对于在开销中具有规模经济性的卖羊的例子,我首先计算假设最小间接费用的绵羊数量。这可能是正确的,或者可能会高估。此过程所需的更新数量尚未提前清楚,但我希望快速收敛。
以下是我在Python中看起来像伪代码一样的样子:
import math
def overhead(n):
# Not given in problem, so I can't give an implementation
raise NotImplementedError("Sorry, don't know what this is")
def rhs(n, u, t):
return math.floor(t / (u + overhead(n)))
def best_quantity(unit_cost, total_cost, min_overhead):
prev_guess = 0
current_guess = math.floor(total_cost / (unit_cost + min_overhead))
while (current_guess != prev_guess):
prev_guess = current_guess
current_guess = rhs(current_guess, unit_cost, total_cost)
return current_guess
print best_quantity(50.0, 500.0, 0.0)