Экономический объем заказа (EOQ)

learn menu
Автор: Жоанн Верморель, январь 2012 года

EOQ - это количество заказа на пополнение, которое минимизирует общие затраты на запасы. Заказ на пополнение выполняется, когда уровень запасов достигает точки повторного заказа. EOQ рассчитывается с целью минимизации комбинации затрат, таких как стоимость закупки (которая может включать объемные скидки), стоимость хранения запасов, стоимость заказа и т. д. Оптимизация объема заказа является дополнением к оптимизации резервного запаса, которая направлена на поиск оптимального порога для выполнения повторного заказа.

Обновление июля 2020 года: EOQ - это довольно устаршая концепция, глубоко укоренившаяся в стационарной перспективе, где будущий спрос не только идеально известен, но и постоянен. Формулы, приведенные ниже, могут быть “учебными” в цепи поставок, но основная перспектива нарушена по своей сути. Вероятностные прогнозы спроса, связанные с оценкой предельного экономического вклада каждой дополнительной единицы запаса, являются гораздо более эффективным подходом. Мы не рекомендуем использовать концепцию EOQ.

Модель и формула

Классическая формула EOQ (см. формулу Уилсона ниже) является, по сути, компромиссом между стоимостью заказа, предполагаемой плоской платой за заказ, и стоимостью хранения запасов. Хотя эта формула, датирующаяся 1913 годом, крайне известна, мы рекомендуем не использовать такую формулу в современной цепи поставок. Основные математические предположения, лежащие в основе этой формулы, просто неверны в настоящее время.

Историческая формула предполагает, что стоимость акта заказа является ключевым фактором бизнеса. Она, конечно, была важным фактором в 1913 году, когда для ведения учета требовалось армия клерков, но с программным обеспечением для управления запасами и, возможно, EDI, этот фактор обычно незначителен. В результате “оптимизация”, выполняемая формулой, имеет мало смысла и полностью игнорирует любые скидки, которые могут быть доступны при заказе больших объемов.

Скачать файл Excel: eoq-calculator.xlsm (иллюстрированный расчет)

Таким образом, мы предлагаем вариант формулы EOQ, который оптимизирует компромисс между затратами на хранение и объемными скидками. Введем переменные:

  • $${Z}$$ - ведущий спрос.
  • $${H}$$ - стоимость хранения единицы на протяжении срока поставки (1).
  • $$\delta$$ - дельта запаса, необходимая для достижения точки перезаказа (2).
  • $${P}$$ - цена покупки за единицу, функция, зависящая от объема заказа q.

(1) Рассматривается временной интервал срока поставки. Таким образом, вместо обычной годовой стоимости хранения $$H_y$$ мы рассматриваем $$H = \frac{d}{365}H_y$$, предполагая, что $$d$$ - это срок поставки, выраженный в днях.

(2) Дельта количество должно учитывать как запас на руках $$q_{hand}$$, так и запас на заказе $$q_{order}$$, что дает соотношение $$\delta = R - q_{hand} - q_{order}$$, где $$R$$ - это точка перезаказа. Интуитивно, $$\delta+1$$ - это минимальное количество, которое нужно заказать, чтобы поддерживать желаемый уровень обслуживания.

$$Q = \underset{q=\delta+1..\infty}{\operatorname{argmin}}\left(\frac{1}{2}(q-\delta-1)H+Z\mathcal{P}(q)\right)$$

Несмотря на свой кажущийся сложный вид, эта функция может быть легко вычислена с помощью Microsoft Excel, как показано на предоставленном листе.

Что насчет стоимости заказа?

С первого взгляда может показаться, что мы предполагаем нулевую стоимость заказа, но на самом деле это не так. Действительно, введенная нами здесь структура относительно гибкая, и стоимость заказа (если есть) может быть включена в функцию цены $$\mathcal{P}$$.

Функция стоимости

Чтобы моделировать функцию стоимости для объема заказа, учитывающую объемные скидки, давайте введем $${R}$$ - точку перезаказа. Стоимость запаса - это сумма стоимости хранения запаса и стоимости закупки, то есть

$$C(q)=\left(R+\frac{q-\delta-1}{2}\right)H+Z\mathcal{P}(q)$$

Действительно, принимая амортизированную точку зрения на промежуток времени поставки, общий объем заказа будет равен $${Z}$$ прогнозируемому спросу.

Затем уровень запаса постоянно меняется, но если мы рассмотрим строго минимальные повторные заказы (т.е. $${q=δ+1}$$), то средний уровень запаса со временем будет равен $${R}$$ - точке перезаказа. Затем, поскольку мы рассматриваем именно объем заказа, превышающий $${δ+1}$$, эти дополнительные заказанные количества сдвигают вверх средний уровень запаса (и также откладывают время, когда будет достигнута следующая точка перезаказа).

$${(q−δ−1)/2}$$ представляет собой сдвиг запаса, вызванный повторным заказом, предполагая, что прогнозируемый спрос равномерно распределен на протяжении времени поставки. Фактор $${1/2}$$ обоснован тем, что увеличенное количество заказа $${N}$$ только увеличивает средний уровень запаса на $${N/2}$$.

Минимизация функции стоимости

Чтобы минимизировать $${C(q)}$$, мы можем начать с выделения части, которая не зависит от $${q}$$, с помощью:

$$C(q)=\left(R+\frac{q-\delta-1}{2}\right)H+Z\mathcal{P}(q)$$

Поскольку $${RH}$$ не зависит от $${q}$$, оптимизация $${C(q)}$$ эквивалентна оптимизации $${C∗(q)}$$, где:

$$C^*(q)=\frac{1}{2}(q-\delta-1)H+Z\mathcal{P}(q)$$

Таким образом, в этом контексте, поскольку функция объемной скидки $$\mathcal{P}$$ является произвольной функцией, нет прямого алгебраического решения для минимизации этой формулы. Однако это не означает, что эта минимизация трудна для решения.

Простое минимизирование для $${C^∗(q)}$$ состоит в (наивном) обширном численном исследовании, то есть вычислении функции для большого диапазона значений $${q}$$. Действительно, практически ни одному бизнесу не требуется заказывать количество товара более 1 000 000 единиц, и позволить компьютеру исследовать все значения стоимости для $${q=1..1,000,000}$$ занимает менее 1 секунды, даже если вычисления выполняются в Excel на обычном настольном компьютере.

Однако на практике этот расчет может быть значительно ускорен, если мы предположим, что $$\mathcal{P}(q)$$ является строго убывающей функцией, то есть цена за единицу строго уменьшается при увеличении объема заказа. Действительно, если $$\mathcal{P}(q)$$ уменьшается, то мы можем начать исследование значения с $${q=δ+1}$$, итерировать и, наконец, остановиться, когда встретится ситуация $${C^∗(q+1)>C^∗(q)}$$.

На практике цена за единицу редко увеличивается с увеличением количества, однако некоторые локальные всплески на кривой могут быть замечены, если отправки оптимизированы для паллетов или любого другого контейнера, который предпочитает определенные размеры упаковки.

В прикрепленном к этому документу Excel-файле мы предполагаем, что цена за единицу строго уменьшается с увеличением количества. Если это не так, отредактируйте макрос EoqVD() для возврата к наивному исследованию диапазона.

Формула Уилсона

Самая известная формула EOQ - это формула Уилсона, разработанная в 1913 году. Эта формула основана на следующих предположениях:

  • Стоимость заказа постоянна.
  • Скорость спроса известна и равномерно распределена в течение года.
  • Срок поставки фиксирован.
  • Цена за единицу покупки постоянна, то есть скидка недоступна.

Введем следующие переменные:

  • $${D_y}$$ - годовой объем спроса
  • $${S}$$ - фиксированная стоимость заказа (не стоимость за единицу, а стоимость, связанная с операцией заказа и доставки).
  • $${H_y}$$ - годовая стоимость хранения

При этих предположениях оптимальное значение EOQ по формуле Уилсона равно:

$$Q=\sqrt{\frac{2D_yS}{H_y}}$$

На практике мы предлагаем использовать более локально настроенную вариацию (по времени) этой формулы, где $${D_y}$$ заменяется на $${D}$$ - прогнозируемая скорость спроса на протяжении срока поставки (также известная как спрос на протяжении срока поставки $${Z}$$, деленная на срок поставки), а $${H_y}$$ заменяется на $${H}$$ - стоимость хранения на протяжении срока поставки.

Сравнение двух формул EOQ

Для розничной или оптовой торговли мы считаем, что наша ад-хок формула EOQ, представленная в начале этой страницы и акцентирующаяся на объемных скидках, более подходит и, следовательно, более прибыльна, чем формула Уилсона. Для производителей это зависит. В частности, если заказ вызывает новое производство, то, действительно, может возникнуть значительная стоимость заказа (настройка производства) и мало или нет преимуществ в предельной стоимости единицы после этого. В такой ситуации более подходящей является формула Уилсона.