Обратите внимание, что накладные расходы являются функцией проданного количества. Это означает, что ваше уравнение находится в форме, которую легко повторить. Вы делаете первоначальное предположение о количестве, вставляете его в правую часть уравнения и используете его, чтобы получить новое предположение о количестве. Как только количество стабилизируется, вы достигли фиксированной точки и можете остановиться.
Для примера продажи овец с экономией на масштабах в накладных расходах я бы начал с подсчета количества овец, исходя из минимальных накладных расходов. Это может быть правильно, или это может быть переоценено. Количество обновлений, необходимых для этого процесса, неясно заранее, но я ожидаю быстрой конвергенции.
Вот как это может выглядеть в 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)