А ДАН ДЗО, Консалтинговая компания > Статьи > Расчет оптимальной партии заказа

Расчет оптимальной партии заказа

скачать в pdf

ˇ КЛЮЧЕВЫЕ СЛОВА оптимальная партия заказа, формула Уилсона, многономенклатурные закупки, ценовые скидки, тарифы на доставку, объемно-весовые характеристики грузов, тарифицируемый вес, объемный вес.

ˇ ВЫ УЗНАЕТЕ: каков алгоритм расчета оптимальных партий многономенклатурных закупок материально-технических ресурсов; при каких условиях производится расчет оптимальных партий многономенклатурных закупок материально-технических ресурсов.

ˇ АВТОР Левон Владимирович Антонян канд. физ.-мат. наук, руководитель Центра компетенций по экономико-математическим методам консалтинговой компании «А ДАН ДЗО» (Москва)

У правление запасами материально-технических ресурсов (МТР) заключается, как известно, в регулировании их объемов с целью обеспечения бесперебойного снабжения потребителей этих МТР при минимально необходимых для достижения указанной цели расходах на пополнение и содержание запасов. Существует ряд общепринятых моделей (и основанных на них стратегий) управления запасами, с обзором которых можно ознакомиться в работе автора [1].

Любая модель управления запасами, так или иначе, дает ответы на вопросы: когда следует инициировать пополнение запасов и в каких количествах. При этом своевременное пополнение запасов позволяет обеспечить бесперебойность снабжения потребителей МТР, а правильный выбор объемов поставок — оптимизировать затраты на пополнение и содержание запасов.

Выбор оптимальной модели управления запасами зависит от целого ряда факторов, прежде всего от характера спроса потребителей. В частности, при нерегулярном, но предсказуемом спросе (это могут быть, к примеру, заявки клиентов, поступающие заранее) оптимальной обычно оказывается модель снабжения потребителей по схеме «точно в срок», при которой практически нет необходимости в складском хранении запасов (как не возникает и вопросов по объемам и срокам поставок). Однако нас будет интересовать случай постоянного или слабо меняющегося спроса (когда рассматриваемые МТР потребляются на регулярной основе). Здесь обычно используются схемы регулярных поставок, причем либо с фиксированными объемами поставок, либо с постоянными интервалами между ними. Отметим, что при постоянном спросе эти схемы дают абсолютно одинаковые результаты (включая фиксированные объемы поставок), а при слабо меняющемся спросе объемы поставок в варианте с постоянным интервалом между ними тоже практически не меняются. Таким образом, в обоих вариантах можно говорить об объеме поставки (понимая при этом, что во втором варианте имеется в виду средний объем), и возникает задача его оптимизации.

В простейшем случае для расчета оптимального объема поставки (оптимальной партии заказа) можно использовать так называемую формулу Уилсона (Вильсона). Краткую информацию об этой формуле и об условиях ее применимости можно найти в работе [1], а о различных обобщениях этой формулы — прочитать в специально посвященном ей подробном обзоре [2]. В настоящей же статье будет обсуждаться расчет оптимальной партии в условиях:

• многономенклатурных заказов: когда заказывается и доставляется одной (объединенной) партией несколько, вообще говоря, различных МТР;
• ценовых скидок: когда закупочная цена МТР зависит от количества (или от стоимости) закупаемых МТР;
• дифференцированных тарифов на доставку: когда тарифы на доставку партии МТР зависят от объемно-весовых характеристик (объема и веса) партии.

ОПИСАНИЕ ЛОГИКИ И АЛГОРИТМА РАСЧЕТА

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

Возьмем конкретный временной промежуток (год) и рассмотрим динамику расходования и пополнения запасов МТР в течение этого периода. Соответственно проанализируем годовые суммарные затраты на закупку, доставку и хранение закупаемых МТР:
С = Сзак + Сдост + Схр, (1)
где Сзак, Сдост, Схр — затраты на закупку, доставку и хранение соответственно; С — суммарные затраты.

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

Далее будет рассматриваться один конкретный лот закупаемых МТР, и для него будет описана логика минимизации суммарных затрат. Обозначим через Х искомое число закупок в год. Тогда суммарные годовые затраты на закупку, доставку и хранение МТР лота будут функцией этой переменной: С = С(Х) и задача сводится к отысканию такого значения Хпт, при котором функция суммарных затрат
принимает наименьшее из своих возможных значений.

Сначала обсудим предлагаемую логику расчета каждой из трех составляющих функции суммарных затрат, затем, введя необходимые обозначения, приведем соответствующие формулы расчета и, наконец, объясним, как искать наименьшее значение функции затрат.

Переходим к логике расчета составляющих функции суммарных затрат. Первая составляющая Сзак представляет собой закупочную стоимость годового объема потребления (расхода) МТР лота. При фиксированных ценах закупки МТР лота эта величина будет константой, а в общем случае — при наличии ценовых (оптовых) скидок — будет зависеть от искомого годового числа закупок Х (потому что от него зависит объем одной закупки, а скидки, так или иначе, предоставляются именно на объем закупки).

Важно, что эта зависимость будет в математической терминологии кусочно-постоянной, т. е. вся область допустимых значений переменной Х, а именно 0 < Х < +f, распадется на несколько интервалов, в каждом из которых стоимость закупки будет постоянной. Это же будет касаться и тарифов на доставку, и удельной стоимости хранения запасов. Как в таких условиях находить наименьшее значение функции затрат, будет объяснено далее.

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

Стоимость доставки определяется при этом как сумма постоянной и переменной (зависящей от веса груза) частей: Cдост = cдост0 + cдост1 w, (2) где Сдост — стоимость доставки; w — вес доставляемого груза; cдост0, cдост1 — заданные числа (тарифы). Например, если для доставки груза, независимо от его веса, арендуется машина, то cдост0 — стоимость аренды машины, cдост1 = 0. Если же транспортная компания взимает за доставку груза, например, 10 р. за килограмм веса, то cдост0 = 0, cдост1 = 10.

Величина cдост0 может включать также расходы на организацию доставки (на телефонные переговоры, оформление документов, экспедирование груза и т. д.), если эти расходы также предполагается учитывать. Предусматривается также возможность тарификации легких грузов не по весу, а по объему. Для этого задается граничная плотность груза, отделяющая грузы, тарифицируемые по весу, от тарифицируемых по объему: если фактическая плотность партии доставки выше граничной, то она тарифицируется по весу, а если ниже — то по объему. Эта схема реализуется следующим образом. Для доставляемого груза вычисляется так называемый объемный вес как произведение объема на граничную плотность, а затем определяется максимальная из двух величин: фактического (номинального) веса и объемного веса. Стоимость доставки рассчитывается по этому максимальному весу, который в дальнейшем будет называться тарифицируемым весом.

Если граничная плотность не задана, то поставки тарифицируются исключительно по (номинальному) весу. Третья составляющая Схр предполагается (для простоты) пропорциональной закупочной стоимости запасов. Тем самым принимается схема расчета расходов на хранение запасов как усредненной по множеству номенклатур фиксированной доли от их стоимости, которая включает, вообще говоря, как стоимость денежных средств, вложенных в запасы (откуда и пропорциональная зависимость), так и собственно складские издержки (которые разносятся по конкретным номенклатурам пропорционально их стоимости). Введем необходимые обозначения: Di — годовая потребность в i-м МТР лота (i = 1, 2, …, L) в натуральном выражении (в штуках, метрах, тоннах и т. д.); wi и vi — соответственно вес (кг) и объем (м3) единицы i-го МТР лота; ρ — граничная плотность грузов (кг/м3) по условиям поставок лота; cзакi — закупочная цена единицы i-го МТР лота.

В этих обозначениях можно рассчитать вес Wi, объем Vi и стоимость закупки Сзакi для годовой потребности Di в i-м МТР лота: Wi = Di wi, (3) Vi = Di vi, (4) Сзакi = Di cзакi, (5) а затем (путем суммирования по всем МТР лота) — суммарный годовой вес W, объем Vи стоимость закупки Сзак по всему лоту. Далее рассчитывается объемный вес: Wоб = V ρ (6) и тарифицируемый вес (как максимальное из двух значений W и Wоб): Wтар = Max(W, Wоб). (7) Вернемся к составляющим функции затрат (1). Как вычислять годовую стоимость закуп ки Сзак, объяснено выше.Перейдем к годовой стоимости доставки. Для ее расчета надо определить тарифицируемый вес одной поставки по формуле Wтар/Х, затем выяснить, в какой из интервалов тарификации доставки он попадает, и применить соответствующие тарифы: Cдост = (cдост0 + cдост1Wтар/Х) Х = = cдост0 Х + cдост1 Wтар. (8) Перейдем к затратам на хранение.

Как уже отмечалось, годовую стоимость хранения запасов предлагается рассчитывать как произведение их средней по времени закупочной стоимости и фиксированной (усредненной помножеству номенклатур) годовой ставки процента α. Однако при годовом числе закупок Х стоимость одной партии будет равна Сзак/Х. Поскольку в интервале между закупками уровень закупленных запасов снижается в процессе их потребления от объема закупки до нуля, составляя в среднем половину объема закупки, то приходим к следующему выражению для годовой стоимости хранения запасов: Схр = Сзак α/2Х. (9) Наконец, мы можем, используя формулы (1), (8) и (9), составить выражение для суммарных годовых затрат на закупку, доставку и хранение запасов: С = Сзак + cдост0 Х + cдост1 Wтар + Сзак α/2Х. (10) Именно эта функция подлежит минимизации. Другими словами, требуется найти такое (положительное) значение переменной Х, при котором данная функция С = С(Х) принимает наименьшее возможное значение.

Сначала рассмотрим простейший случай, когда нет никаких ценовых скидок и тарифы на доставку cдост0 и cдост1 не зависят от объема партии (т. е. когда в наших терминах интервал тарификации только один). Тогда получается стандартная задача математического анализа. Находим производную: dС/dX = cдост0 – Сзак α/2Х2, (11) приравниваем ее к нулю и из получившегося уравнения в случае, если cдост0 > 0, находим (единственную на интервале 0 < Х < +f) критическую точку рассматриваемой функции: Хкр = (12) (в случае cдост0 = 0 критических точек у функции затрат не будет, как не будет и наименьшего значения).

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

В общем случае (когда есть несколько интервалов тарификации доставки и/или ценовые скидки) задача осложняется тем, что у переменной Х оказывается несколько «пороговых» значений, при переходе через которые меняется значение, по крайней мере, одной из величин Сзак, cдост0 или cдост1. Потому что с изменением годового числа закупок Х обратно пропорционально ему меняется объем каждой
закупки, а значит, и количество (в одной закупке) каждого из входящих в лот МТР, и при этом (в соответствии с условиями скидок) в какие-то моменты скачками меняются и закупочные цены, а с ними и годовая стоимость закупки Сзак. Аналогичным образом с изменением Х меняется и тарифицируемый вес одной партии закупки и соответственно в какие-то моменты происходят переходы из одних интервалов тарификации в другие и сопутствующие этим переходам скачкообразные смены тарифов.

Приведем формулы расчета пороговых значений переменной Х. Сначала рассмотрим те пороговые значения, при переходе через которые меняются цены и, соответственно, стоимость закупки. Допустим, что по какому-то i-му МТР, входящему в лот, ценовая скидка начинает действовать с объема закупки в qi единиц. Чтобы определить годовое число закупок лота, при котором количество i-го МТР в одной партии достигнет qi единиц, достаточно, очевидно, поделить годовую потребность Di в i-м МТР на qi, так что в этом случае искомое пороговое значение вычисляется по формуле:

Хпор = Di/qi (13)

Теперь рассмотрим пороговые значения, при переходе через которые меняются тарифы на доставку. Это происходит тогда, когда тарифицируемый вес одной партии переходит через границу интервалов тарификации доставки. Соответственно в таком случае Хпор = Wтар/b, (14) где Wтар тарифицируемый вес годового объема закупки по лоту (см. выше); b — граница между интервалами тарификации.

При этом надо перебрать все границы интервалов тарификации для данного лота.Например, если интервалов тарификации три: от 0 до 300 кг, от 300 до 1000 кг и свыше 1000 кг, то пороговых значений будет два: при b = 300 и при b = 1000. После того как все пороговые значения найдены, их надо расположить в порядке возрастания. Предположим, что Х1, Х2, …, Хn — все найденные пороговые значения, причем 0 < Х1 < Х2 < … < Хn < +f.

Положим также, Х0 = 0, Хn+1 = +f. Имеем n + 1 промежуток изменения переменной Х: Х0 < Х d Х1, Х1 d Х d Х2, … , Хn d Х < Хn+1.

Теперь задача свелась к тому, чтобы:
1) найти наименьшее значение функции затрат С = С(Х) в каждом из этих n+1 промежутков;
2) из найденных n+1 наименьших значений выбрать наименьшее. Это и будет искомое наименьшее значение функции суммарных затрат, а значение аргумента Хопт, при котором оно достигается, — искомым оптимальным числом закупок по рассматриваемому лоту в год.

Чтобы найти наименьшее значение функции затрат на промежутке Хj d Х d Хj+1, надо:
1) определить значения величин Сзак, cдост0 и cдост1 (не забывая о том, что для каждого промежутка эти значения будут свои);
2) найти значения функции затрат на концах промежутка (т. е. в точках Х = Хj и Х = Хj+1(при этом для промежутка Х0 < Х d Х1 не вычисляется значение в левом конце, а для промежутка Хn d Х < Хn+1 в правом конце как не имеющие смысла)); 3) в случае cдост0 > 0 рассчитать значение Хкр по формуле (12) и проверить, попадает ли оно в рассматриваемый промежуток (т. е. выполняется ли условие Хj d Х d Хj+1); если попадает, то вычислить значение функции затрат в этой точке;
4) из полученных (трех, двух или одного) значений функции затрат: на концах промежутка и в точке Хкр, если она попала в данный промежуток, определить наименьшее (это и будет искомое наименьшее значение функции затрат в данном промежутке).

После того как найдено оптимальное число Хопт закупок по рассматриваемому лоту в год, можно определить состав оптимальной партии по входящим в этот лот МТР по следующей формуле:
qоптi = Di/Хопт, (15) где qоптi — количество i-го МТР лота в оптимальной партии; Di — годовая потребность в i-м МТР.

КОММЕНТАРИИ

В этом разделе речь пойдет о нюансах предложенной методики расчета оптимальной партии заказа, о которых выше не говорилось вообще, а также о тех, от учета которых мы осознанно отказались в пользу простоты изложения методики.

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

Во-вторых, высокая точность в расчетах оптимальной партии обычно и не требуется. Например, если оптимальная партия закупки штучного МТР получается равной 6,23, то, вероятно, реальная оптимальная партия (с учетом штучности) должна составлять либо шесть, либо семь штук. Тем более, это относится к МТР, закупаемых, к примеру, целыми вагонами.

2. В отношении закупочной цены МТР неизбежно возникает вопрос: следует ли брать ее (в расчетах) с учетом НДС (разумеется, это касается только тех МТР, которые облагаются данным налогом)? Ответ на этот вопрос, вероятно, должен быть следующим. С одной стороны, поскольку поставщикам МТР выплачивается их стоимость с учетом НДС, то НДС должен учитываться при расчете стоимости капитала, омертвленного в запасах, т. е. должен входить в затраты на хранение (Схр). С другой стороны, поскольку НДС подлежит возмещению из госбюджета и в конечном счете не входит в расходы, то непосредственно в стоимость закупки МТР (Сзак) его включать не следует.

Следовательно, при расчете стоимости закупки МТР, входящих в лот, в формулу (5) следует подставлять цены закупки (cзакi) без НДС, а вот в формуле (9), по которой рассчитываются затраты на хранение, вместо величины Сзак (не включающей НДС) должна фигурировать та же стоимость закупки, но с учетом НДС.

3. Расчет затрат на хранение запасов пропорционально их стоимости основан на пропорциональном стоимости разнесении складских издержек по хранимым МТР. Однако хотя такое разнесение применяется на практике довольно часто, оно нередко приводит к существенным искажениям реальной картины. Более корректным (хотя и тоже относительно) является расчет складских издержек на хранение запасов (без стоимости вложенного в них капитала) пропорционально занимаемому ими пространству (площади или объему) склада.

Впрочем, в силу соображений, приведенных в первом пункте этого раздела, принятая здесь наиболее простая схема тоже является вполне приемлемой.

4. Если доля затрат на доставку в суммарных затратах (1) существенна, то их, наряду с затратами на закупку, также целесообразно учитывать при расчете затрат на хранение.

5. Есть еще одна причина, по которой расчет затрат на хранение запасов по предложенной схеме является приближенным. Данный расчет основан на неявном предположении, что к моменту поступления на склад каждой очередной поставки запасы всех поставляемых МТР расходуются полностью (т. е. падают до нуля). На практике так, как правило, не бывает, поскольку приходится учитывать различные факторы неопределенности (колебания спроса, а также сроков и даже объемов поставок). Для этого в составе складского запаса обычно предусматривают дополнительную (резервную) составляющую: так называемый страховой запас, который, строго говоря, следует учитывать при расчете суммарных затрат на хранение запасов. Хотя может показаться, что поскольку страховой запас при постоянном спросе и регулярных поставках обычно поддерживается на постоянном уровне, то затраты на его хранение не должны зависеть от объемов и периодичности поставок и потому не должны влиять на размер оптимальной партии. Однако в действительности это не так, по крайней мере, по двум причинам. Во-первых, с увеличением объемов поставок и, соответственно, интервалов между ними растет влияние
факторов неопределенности, что требует увеличения размера страхового запаса и, как следствие, расходов на его хранение. Во-вторых, наличие ценовых скидок на закупаемые МТР может при увеличении объемов закупок влиять на стоимость страхового запаса в сторону уменьшения.

Довольно часто встречается ситуация, когда наряду с МТР, закупаемыми «на склад» и затем постепенно отпускаемыми потребителям, некоторые другие (или даже те же!) МТР закупаются «на заказ» («точно в срок») и передаются заказчикам либо вообще напрямую (минуя склад), либо практически сразу после поступления их на склад. Если при этом поставки таких «заказных» МТР могут объединяться с регулярными поставками «на склад» (путем совмещения сроков поставок), а годовая потребность в «заказных» МТР прогнозируема, то можно пытаться применять предложенную схему расчета оптимальной партии, обнуляя затраты на хранение «заказных» МТР.

|

Обсуждение закрыто.