Google+
Клуб логистов - территория настоящих профессионалов

Библиотека/Управление запасами

Автоматизация многономенклатурных закупок без фиксирования периода между поставками

4 декабря 2013 » 10:43
Автоматизация многономенклатурных закупок без фиксирования периода между поставками

Хватит ли одного пальца, чтобы пересчитать все модели автоматизированных закупок для многономенклатурных поставок? – Теперь, нет!

Хватит ли одного пальца, чтобы пересчитать все модели автоматизированных закупок для многономенклатурных поставок? – Теперь, нет!

 

Исходная предпосылка.

 

Большинство компаний, которые осуществляют многономенклатурные поставки продукции и пытаются автоматизировать свои закупки, сталкиваются с отсутствием выбора моделей для этого. После упорных поисков по дебрям Интернета они обнаруживают, что есть только одна такая модель, правда, предлагаемая в разных вариациях – это модель с фиксированным периодом между поставкамиВ многочисленных диссертациях, статьях и научных трудах, посвящённых изучению и выводу этой модели, обычно очень мало говорится о том, почему была выбрана именно она. Большинство авторов старается, вообще, не затрагивать эту тему, те же, кто упоминает об этом, обычно сообщают читателям, что эта модель лучше всех подходит для автоматизации многономенклатурных поставок, без каких-либо объяснений этого вывода или ссылок на другие материалы.

 

И совсем редко приводятся некие данные математического моделирования, где с некоторым отрывом лидирует, действительно, модель с фиксированным периодом между поставками. Правда, методики проведения этого моделирования и условия (данные, на которых оно проводилось) – не приводятся, дабы не искушать читателя найти в них ошибку, или заведомую неоптимальность альтернативных моделей.

 

При этом на практике мы можем встретить ситуации, когда закупщики при осуществлении многономенклатурных поставок используют в своей работе алгоритмы, отличные от этой модели. Эти алгоритмы – не автоматизированы и не оптимизированы, зачастую даже не систематизированы: «Это заказываем так-то, а это – так-то,» – а, почему не наоборот, уже не скажут, но при этом работа осуществляется, и осуществляется нелохо…

 

 

Так кто же из них прав: теоретики или практики?

 

Как обычно, истина – где-то посередине, и по-своему правы и не правы – и те, и другие.

 

Практик-закупщик отвечает за результаты своей работы: привёз мало – дефицит, привёз много – неликвид, а начальника не порадует любой из этих вариантов – вот и выкручивайся, как хочешь. Они и выкручиваются – стараются возить почаще: тогда можно привозить сразу немного, а по мере продажи подвозить ещё. Однако, ясно, что такая практика выливается в дополнительные транспортные расходы – правда, это уже епархия транспортного отдела, а он не может заставить закупщика ездить за одним и тем же реже, да и не всегда перед транспортом стоит такая задача – обычно, их основная цель – это бесперебойное выполнение заявок на перевозку…

 

Что же на это скажут теоретики? Они затраты на транспорт учитывают обязательно! Более того, подбирают такие параметры модели с фиксированным периодом между поставками, чтобы эти затраты в совокупности со всеми остальными затратами были заведомо минимальными!.. Только не объясняют, почему используют именно эту модель, и не будет ли другая менее затратной… В чём же причина такой узкой направленности, – вроде бы очень умные люди, должны руководствоваться научным подходом: «прежде чем отбраковывать модель – сравни её эффективность с текущей»? – Да, просто, модель с фиксированным периодом между поставками – самая лёгкая, самая изученная и самая разработанная!.. Вот и ищут там, «где светло», а не там, «где потеряли», тем более сама модель, действительно, – очень хорошая, а не редко – и самая лучшая. Но, к сожалению, не всегда, а, значит, надо считать, сравнивать и выявлять те условия, в которых она будет давать лучший результат, и границы, за которыми надо использовать уже другие модели, а не, просто, в любой ситуации искать оптимальные параметры не обязательно оптимальной модели.

 

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

 

 

Постановка задачи.

 

Есть поставщик, который поставляет нам много позиций: часть из них пользуется регулярным спросом, и соответственно мы их держим у себя на складе, а другие позиции этого же поставщика у нас покупают крайне редко (вплоть до единичных случаев за всё историю продаж), и, соответственно, мы их возим под заказ клиента. Сроки производства позиций до момента, когда поставщик сможет их отгрузить – разные и сильно варьирующиеся: от нескольких дней до месяца (определяется технологией производства и необходимостью закупки поставщиком нестандартных компонентов).

 

По каждой позиции регулярного спроса политически выставлен необходимый уровень удовлетворения спроса остатками на складе: от 90% до 99% (это главное конкурентное преимущество компании, поэтому при использовании любой из систем закупок это условие должно выполняться). При этом сам их спрос имеет большую вариацию даже на месячных периодах после очистки от тренда и сезонности имеет 50-200% белого шума. Из-за этого, а также в связи с тем, что оборотные деньги для компании – достаточно дорогие, а плечо доставки от поставщиков – достаточно короткое, лучше лишних страховых запасов на складе не держать, а подвоз осуществлять не через равные точки времени, а по достижении точки заказа по одной или нескольким позициям.

 

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

 

 

Решение.

 

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

 

 

Нахождение критического максимума, больше которого хранить на складе не рентабельно.

 

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

 

 

, где:

 

M – критический максимум остатков по позиции, выше которого хранить на складе убыточно [Единиц];

Ai – суммарные отгрузки из документов расхода за i-тую дату по позиции [Единиц];

Si – остатки по позиции на утро i-той даты без учёта оплаченных резервов [Единиц];

Vi – приходы по позиции за i-тую дату [Единиц];

R – средняя маржинальная рентабельность продаж по позиции [%];

Н – альтернативная доходность вложенных в запасы денег [% / День];

Y – средняя отсрочка платежа клиентам компании [Дней];

W – отсрочка платежа у поставщика [Дней].

 

Дробь со «страшными» суммами в начале формулы – это просто среднедневные продажи, но не во всякий день, а только тогда, когда остатков на складе (вместе с приходами в этот день) было достаточно для обеспечения минимальных продаж за день. Это условие используется, чтобы не занижать это среднедневное значение из-за нулевых продаж в те дни, когда заведомо ничего продаваться и не могло (из-за отсутствия товара на складе).

 

R / H – это количество дней, которое вы можете себе позволить держать деньги в запасах этой позиции – дальше вы начинаете делать это себе в убыток (заработок от продажи позиции R не покроет затрат на заморозку средств H в течение такого длительного периода). По-хорошему в H надо ещё включить переменные затраты на хранение (только переменные и только на хранение – не путать с затратами на склад), но обычно они значительно меньше затрат на замороженные средства для компаний со своим складом (совсем своим или арендуемым целиком), поэтому я ими пренебрёг в своих расчётах. При необходимости их включение не составит большого труда. В данном же случае, умножая, полученное количество дней на среднедневную продажу по позиции мы получаем максимальный остаток, выше которого нам хранить на складе – заведомо не выгодно. Соответственно, если поставщик даёт нам отсрочку платежа, то весь срок этой отсрочки в наши остатки вложены не наши деньги, а его. А, значит, никаких убытков мы от заморозки своих денег в это время не несём и можем дополнительно положить на остатки на этот срок продаж или поделиться этими деньгами с клиентами, дав отсрочку платежа им.

 

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

 

Нахождение критического минимума, необходимого для осуществления продаж.

 

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

 

 

, где:

 

m – критический минимум остатков, необходимых для осуществления продаж по позиции [Единиц];

 

Ai – суммарные отгрузки из документов расхода за i-тую дату по позиции [Единиц];

 

M – критический максимум остатков по позиции, выше которого хранить на складе убыточно [Единиц].

 

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

 

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

 

Расчёт истории спроса и количества дней присутствия и отсутствия.

 

После того, как вы получили верхнюю и нижнюю границы для очистки временного ряда продаж, остаётся только применить их обе для расчёта временного ряда спроса по позиции на каждую дату:

 

 

, где:

 

Ci – спрос по позиции за i-тую дату [Единиц];

 

Ai – суммарные отгрузки из документов расхода за i-тую дату по позиции [Единиц];

 

M – критический максимум остатков по позиции, выше которого хранить на складе убыточно [Единиц];

 

Si – остатки по позиции на утро i-той даты без учёта оплаченных резервов [Единиц];

 

Vi – приходы по позиции за i-тую дату [Единиц];

 

m – критический минимум остатков, необходимых для осуществления продаж по позиции [Единиц].

 

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

 

И совсем просто рассчитываются периоды обеспеченного спроса и дефицита по позиции в прошлом – достаточно посчитать количество дней, когда остатков на утро в сумме с приходами за день было соответственно: достаточно или не достаточно для осуществления продаж (критерием выступает критический минимум):

 

 

, где:

 

L0 – количество дней отсутствия позиции на складе [Дней];

 

Si – остатки по позиции на утро i-той даты без учёта оплаченных резервов [Единиц];

 

Vi – приходы по позиции за i-тую дату [Единиц];

 

m – критический минимум остатков, необходимых для осуществления продаж по позиции [Единиц].

 

, где:

 

L1 – количество дней присутствия позиции на складе [Дней] ;

 

Si – остатки по позиции на утро i-той даты без учёта оплаченных резервов [Единиц];

 

Vi – приходы по позиции за i-тую дату [Единиц];

 

m – критический минимум остатков, необходимых для осуществления продаж по позиции [Единиц].

 

Расчёт точек заказа при заданных уровнях удовлетворения спроса остатками.

 

Значения Ci сортируются по возрастанию даты, а индексы присваиваются по порядку без пропусков, после чего на основании этого ряда создаётся новый ряд суммированного спроса за I + L дней – {С0j}:

 

 

, где:

 

C0j – j-тая сумма спроса по позиции за количество дней, необходимое для её производства и поставки [Единиц];

 

Ci – спрос по позиции за i-тую дату [Единиц];

 

I – время производства поставщиком позиции до отгрузки [Дней];

 

L – время доставки от поставщика [Дней].

 

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

 

Теперь мы можем найти необходимый запас по позиции для удовлетворения спроса остатками с ожидаемым уровнем на время подвоза:

 


, где:

 

U0 – количество по позиции, необходимое для удовлетворения спроса остатками на необходимом уровне на время производства и подвоза [Единиц];

 

C0j – j-тая сумма спроса по позиции за количество дней, необходимое для её производства и поставки [Единиц];

 

N – необходимый уровень удовлетворения спроса остатками по позиции [%].

 

Формула расчёта U0 – это, просто, математическая запись определения уровня удовлетворения спроса остатками, а мы ищем минимальное количество, удовлетворяющее этому определению.

 

Точкой же заказа по позиции будет момент, когда одновременно выполнятся два следующих неравенства:

 

 

, где:

 

B – текущие остатки по позиции с транзитами и за вычетом оплаченных резервов [Единиц];

 

U0 – количество по позиции, необходимое для удовлетворения спроса остатками на необходимом уровне на время производства и подвоза [Единиц];

 

L1 – количество дней присутствия позиции на складе [Дней];

 

I – время производства поставщиком позиции до отгрузки [Дней];

 

L – время доставки от поставщика [Дней];

 

C0j – j-тая сумма спроса по позиции за количество дней, необходимое для её производства и поставки [Единиц];

 

N – необходимый уровень удовлетворения спроса остатками по позиции [%].

 

Первое неравенство показывает нам, что текущих остатков (вместе с ожидаемыми приходами) не будет достаточно для удовлетворения спроса остатками на заданном уровне (U0 – это минимальное количество по позиции, которого хватило бы). Второе неравенство используется для того, чтобы не начинать поставку (а точка заказа именно инициирует поставку), если у нас закончилась не очень важная позиция, и мы можем даже пожить некоторое время с пустым складом по ней, пока не распродадим побольше позиций этого поставщика и не закажем одну большую общую поставку. Главным критерием выступают время отсутствия товара на складе L0 и уровень удовлетворения спроса остатками N – чем они больше, тем скорее выполнится это неравенство, – то есть, если товар долго отсутствует (большое значение L0) или эта позиция для нас важна (большое значение N), то мы получим точку заказа по этой позиции.

 

Расчёт скорректированного периода между поставками.

 

Сначала рассчитываем по каждой позиции среднедневной спрос (просто усредняя имеющиеся значения спроса за день по позиции):

 


, где:

 

– средний спрос за день по позиции [Единиц / День];

 

Ci – спрос по позиции за i-тую дату [Единиц].

 

Максимально возможный период между поставками по складским позициям рассчитывается единым для поставщика (суммирование в формуле происходит по всем складским позициям поставщика), в случае, если мы задаём требуемую прибыльность, то формула будет такой:

 

 

, где:

 

Q – максимально допустимый период между поставками по складским позициям поставщика [Дней];

 

– средний спрос за день по позиции [Единиц / День];

 

Z – текущая закупочная цена позиции [Рублей / Единицу];

 

R – средняя маржинальная рентабельность продаж по позиции [%];

 

P – необходимая маржинальная прибыльность по позициям поставщика [%];

 

Н – альтернативная доходность вложенных в запасы денег [% / День];

 

Y – средняя отсрочка платежа клиентам компании [Дней];

 

W – отсрочка платежа у поставщика [Дней];

 

L – время доставки от поставщика [Дней].

 

Если же мы задаём необходимую оборачиваемость, то формула будет такой:

 

 

, где:

 

Q – максимально допустимый период между поставками по складским позициям поставщика [Дней];

 

O – необходимая оборачиваемость запасов по позициям поставщика [Дней];

 

U0 – количество по позиции, необходимое для удовлетворения спроса остатками на необходимом уровне на время производства и подвоза [Единиц];

 

Z – текущая закупочная цена позиции [Рублей / Единицу];

 

 – средний спрос за день по позиции [Единиц / День];

 

L – время доставки от поставщика [Дней].

 

Данные нагромождения дробей и знаков суммирования на самом деле являются, просто, преобразованием имеющихся ограничений по позициям поставщика: необходимой маржинальной прибыльности P или необходимой оборачиваемости запасов О – в максимально допустимый период между поставками по складским позициям этого поставщика Q. Лучше всего проследить их, подставив вместо переменных их размерность, и сократив всё, что можно. Если мы хотим использовать в качестве ограничителя и оборачиваемость, и прибыльность, то, просто, выбираем минимальное из полученных значений Q.

 

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

 

 

По сути, эта функция показывает вероятность наступления случайного события (заказной поставки от поставщика) в течение 1 дня, 2 дней, 3 дней, и так далее – х дней, пока это событие не станет практически достоверным (F(х) = 1).

 

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

 

 

, где:

 

Т – скорректированный период между поставками [Дней];

 

E(х) – функция выгоды от пополнения складских позиций вместе с заказными [Рублей / День];

 

Н – альтернативная доходность вложенных в запасы денег [% / День];

 

Q – максимально допустимый период между поставками по складским позициям поставщика [Дней];

 

– средний спрос за день по позиции [Единиц / День];

 

Z – текущая закупочная цена позиции [Рублей / Единицу];

 

D – средняя стоимость доставки от поставщика [Рублей];

 

F(х) – дискретная ступенчатая функция распределения вероятностей осуществления заказной поставки от поставщика в течении х дней после предыдущей [%].

 

Эта формула показывает, что мы выигрываем от поставки складских позиций вместе с заказными. Первое слагаемое отвечает за изменения затрат на содержание запасов – оно будет равно разнице в днях (Q – T), умноженной на средние продажи по позициям поставщика в закупочных ценах

 

, и на стоимость замороженных денег H. Второе слагаемое даёт нам транспортную составляющую затрат, которая зависит от стоимости доставки D и того, на сколько изменяется вероятность осуществления заказной поставки по отношению к периоду за который мы смотрим эту вероятность Q или T (а значит, и по отношению к количеству поставок за фиксированный период: 1 / Q и 1 / T – соответственно). Оба этих слагаемых в зависимости от параметра Т могут принимать как положительное, так и отрицательное значение, а полученное в итоге значение Т, которое будет максимизировать функцию Е(Т), и будет определять оптимальный объём заказ поставщику, в худшем случае равняясь Q, при котором значение функции будет заведомо равно нулю: E(Q) = 0.

 

Формирование графика предстоящих отгрузок.

 

Все ожидаемые поставки рекомендуется вносить в информационную систему компании с датами ожидаемой поставки – это позволяет в автоматизированном режиме отслеживать все задержки, недопоставки, пересорты и отличие цен в приходных накладных от цен в заказе. А если мы плюс к этим датам возьмём ещё и даты ожидаемой отгрузки у поставщика из точек заказа по позициям: Gi = I , то сможем понять, в каком объёме нам надо дозаказывать другие позиции, по которым точка заказа ещё не наступила. Поэтому расчёт точек дозаказа по позициям какого-либо поставщика должен производиться только после очередного расчёта точек заказа по всем позициям этого поставщика. В результате мы получаем данные о количестве дней до ожидаемых отгрузок от поставщика: {Gi}. Тогда заказ по позиции будет производиться, только если существует такая ожидаемая отгрузка, что срок производства этой позиции будет равен времени до этой отгрузки:

 

 

, где:

 

Gi – количество дней до i-той отгрузки, ожидаемой от поставщика по графику предстоящих отгрузок [Дней];

 

I – время производства поставщиком этой позиции до отгрузки [Дней].

 

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

 

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

 

 

, где

 

Gi – количество дней до i-той отгрузки, ожидаемой от поставщика по графику предстоящих отгрузок [Дней];

 

Т – скорректированный период между поставками [Дней].

 

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

 

Расчёт потребности по позиции поставщика, в случае достижения по ней точки дозаказа.

 

Расчёт заказа осуществляется только для тех позиций, по которым была достигнута точка дозаказа (для позиций, по которым была достигнута точка заказа, точка дозаказа достигается автоматически). По аналогии с получением ряда {С0j} рассчитываем и ряд для суммированного спроса за количество дней до следующей поставки {С1j}:

 

 

, где:

 

C1j – j-тая сумма спроса по позиции за количество дней до следующей поставки [Единиц];

 

Gi – количество дней до i-той отгрузки, ожидаемой от поставщика по графику предстоящих отгрузок [Дней];

 

Ci – спрос по позиции за i-тую дату [Единиц].

 

Количество единиц, необходимых для поддержания нужного уровня удовлетворения спроса остатками до следующей поставки, тоже рассчитывается аналогично предыдущей формуле, но с новыми переменными:

 

 

, где:

 

U1 – количество по позиции, необходимое для удовлетворения спроса остатками на необходимом уровне до следующей поставки;

 

C1j – j-тая сумма спроса по позиции за количество дней до следующей поставки [Единиц];

 

N – необходимый уровень удовлетворения спроса остатками по позиции [%].

 

Тогда объём заказа по позиции будет равен:

 

 

, где:

 

X – необходимый заказ для удовлетворения спроса остатками на нужном уровне до следующей поставки объём заказа по позиции [Единиц];

 

K – кратность отгрузок по позиции, которая рассчитывается как наибольший общий делитель по всем отгрузкам клиентам компании или задаётся из кратности отгрузок по позиции у поставщика [Единиц];

 

U1 – количество по позиции, необходимое для удовлетворения спроса остатками на необходимом уровне до следующей поставки;

 

B – текущие остатки по позиции с транзитами и за вычетом оплаченных резервов [Единиц];

 

J – коэффициент округления, который задаёт направление округления [0?1]. В данной формуле первое слагаемое в скобках отвечает за тот объём в рассчитанном заказе по позиции (U1 – B), который уже удовлетворяет условию кратности. Второе же слагаемое позволяет округлить в нужную сторону ту часть заказа, которая не удовлетворяет условию кратности. Коэффициент же округления J напрямую задаёт ту границу, выше которой мы округляем вверх, и соответственно может принимать любое значение от 0 до 1 (при J = 0 мы всегда округляем вверх; при J = 1 – всегда вниз; в случае если J = 0.5, осуществляется стандартное арифметическое округление).

 

Работа с данными. Все приведённые расчёты рекомендуется в автоматическом режиме делать каждую ночь, а расчётные значения сохранять в плоских таблицах, по которым днём можно было бы строить соответствующие отчёты. Эти таблицы должны содержать для каждой записи расчётных параметров системы – значение параметра и ссылку на ключ из номенклатурной таблицы или справочника поставщиков, а для временных рядов данных – ещё и дату для каждой записи. В отчёт, который будет делать закупщик днём, должны выводиться по каждой позиции в абсолютных величинах и днях среднедневных продаж:

 

  1. значение необходимого заказа Х;
  2. свободные остатки B;
  3. текущие остатки, резервы и оплаченные резервы;
  4. средний спрос ;
  5. критические минимум m и максимум M;
  6. кратность отгрузок К;
  7. количества, определяющие точку заказа и объём дозаказа U0 и U1;
  8. срок производства I;
  9. закупочная цена Z и необходимый уровень удовлетворения спроса остатками N, – а также для каждого поставщика:
    • период между поставками Т;
    • время доставки L;
    • ожидаемые даты поставок G0 и G1;
    • необходимые и фактические оборачиваемость О и/или прибыльность Р.

 

На основании этого отчёта, сделанного по конкретному поставщику, рекомендуется иметь возможность автоматически создавать документ заказа этому поставщику по этим позициям в этих количествах (Х) – это позволит избежать лишних ошибок при набивании заказа вручную, а так же избавит сотрудников от лишней рутинной работы.

 

ИТОГ.

 

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

 

Ниже приведена таблица, которая поможет предварительно прикинуть, какая модель лучше подходит в вашем конкретном случае:

 

 

Источник: http://www.lobanov-logist.ru

Комментарии