6.4. Модель планирования дефицита
Постановка задачи
Какой должен быть размер заказа (и как часто его надо делать) для данного вида товара, чтобы
минимизировать издержки, связанные с его хранением или отсутствием. Предполагается, что известны спрос,
издержки хранения единицы запаса, издержки на заказ (или переналадку оборудования), убытки, связанные с
отсутствием товара. Отсутствие товара планируется, принимаются заказы на отсутствующий товар.
Решение задачи
Решение этой задачи опирается на решение задачи 6.2. Модель экономичного размера заказа. Перед
разбором моделей планирования дефицита желательно познакомиться с моделью экономичного размера заказа.
Модель планирования дефицита - это расширение модели экономичного заказа, являющейся частным
случаем нулевого дефицита. Достаточно в модели планирования дефицита задать очень высокую цену штрафа за
дефицит, и мы получим результаты модели экономичного заказа.
К планированию дефицита можно подходить несколькими способами. Можно предусмотреть однократный штраф
за невыполненную заявку и переложить заказ на будущее, причем заявка может храниться ограниченное либо
неограниченное время. Можно этот же штраф брать за каждый отсроченный период, причем размер штрафа может
меняться в зависимости от срока задержки. Можно в случае дефицита засчитывать штраф и снимать заявку
(покупатель ушел и ждать не будет).
Мы рассмотрим две модели:
- MO604N - заявка хранится до конца моделируемого периода и должна быть удовлетворена обязательно.
Количество возможных заявок ограничено спросом (остальные заявки - не учитываются). Штраф за дефицит
берется каждый период, размер штрафа не меняется.
- MO604S подобна предыдущей, но штраф берется однократно.
Параметры задачи, используемые в данных модели, могут быть любыми, интересными пользователю. Более
того, желательно получить решение модели для разных наборов данных.
MO604N
Для решения задачи используется следующая модель.
Все операции хранения, производства, сбыта (передачи заказа),контроля дефицита разделены помесячно и
представляют 12 помесячных наборов. Все операции соединены в одном объекте типа "Производство".
Все промежуточные результаты помещены в один объект типа "Хранение". Для сбыта используется объект типа
"Сбыт", определяющий цену на продукцию. Спрос определяется и управляется материалами контроля дефицита Кi,
помещенными в Хранение. Для определения условий приобретения товара (или сырья) используется один
объект типа "Приобретение". Рассмотрен простейший случай - один вид сырья, с ценой, независимой от
приобретаемого количества. Для управления остатками в конце моделируемого периода используется объект
типа "Ресурсы".
Из Приобретения идет связь в Производство, из Производства идет связь в Сбыт и Хранение, из Хранения
идет связь в Производство, из ресурсов идет связь в Хранение.
В Приобретении заданы условия приобретения материала.
Выполняются операции четырех видов: изготовление (И0,...,И11), переход на следующий период (месяц)
(П1,...,П11), сбыт (С1,...,С12), контроль дефицита (К1,...,К11). Изготовление имеет стоимость запуска
(из параметров задачи) и производит хранимые единицы изделия (Х1,...,Х12), которые попадают в Хранение.
Переход преобразует хранимую единицу одного периода в хранимую единицу следующего периода, например, Х1 в
Х2. При этом учитываются затраты на хранение в виде цены единицы процесса. Сбыт преобразует хранимую
единицу в деталь (Д1,...,Д12) и передает ее в Сбыт для выполнения заказа. Предполагается, что в среднем
деталь хранится в течение половины периода, поэтому затраты на ее хранение учитываются в виде цены
единицы процесса в размере половины затрат на период. Контроль дефицита похож на переход на следующий
период и преобразует единицу дефицита-спроса текущего периода в единицу дефицита следующего периода.
Цена процесса = штраф за дефицит.
Хранятся все хранимые единицы, при этом для них задано условие Мах запас = 0, кроме последнего периода
(Х12). Х12 регулируются с помощью Ресурсов: они потребляют единицу ресурсов на единицу хранения, для
ресурса установлена цена, равная стоимости хранения. Хранятся также заявки-дефицит. Их начальный запас =
спросу. Мах запас = 0, все заявки должны быть к концу периода удовлетворены.
В Сбыте для деталей (Д1,...,Д12) задана цена.
В целом модель работает так. В нулевой период производится некоторое количество изделий Х1, которые
передаются в Хранение. Есть также набор заявок К1. К1 и Х1 используются для выполнения заказа (С1 берет
некоторое количество пар (Х1, К1) и передает в Сбыт Д1), а остатки Х1 и К1 переносятся на следующий
период, превращаясь в Х2 и К2. За дефицит учитывается штраф. Затем каждый очередной период i будут
поступать заявки Кi, при необходимости будет производиться операцией Иi материал Хi+1, Хi и Кi будут
расходоваться на выполнение заказа в операции Сi, остаток Хi и Кi будет переноситься на следующий период
в виде Хi+1 и Кi+1 (с начислением штрафа).
Вставим в модель объекты типа "Приобретение", "Производство", "Хранение", "Сбыт", "Ресурсы".
Проведем связи-потоки из Приобретения в Производство, из Производства в Хранение и Сбыт, из Хранения в
Производство, из Ресурсов в Хранение.
В Приобретении, в таблице закупок, введем один материал М и зададим его цену. Этот материал отражает
все расходы на выпуск и продажу продукции - детали.
В Сбыте, в таблице продаж, введем продукты Д1,...,Д12 и зададим для них цену. Это реализованная продукция.
В Хранении, в хранимых материалах, введем материалы Х1,...,Х12. Для Х1,...,Х11 зададим Мах запас = 0.
Хi - остаток на складе на начало месяца. В потреблении ресурсов остатками введем для Х12 потребление =1
ресурса Х12. Имена выбраны совпадающими для понятности. В Ресурсах, в таблице ресурсов введем ресурс Х12
с ценой = расходам на хранение единицы продукции. Также введем заявки К1,...,К12 с начальным запасом =
спросу (заказу) и Мах кол-во = 0
В Производстве, в процессы, введем процессы И0,...,И11 для изготовления, П1,...,П11 для перехода на
следующий период, С1,...,С12 для сбыта, К1,...,К11 для контроля дефицита. Для И0,...,И11 зададим
стоимость запуска партии. Для П1,...,П11 зададим цену = стоимости хранения. Для С1,...,С12 зададим цену =
половине стоимости хранения. Для К1,...,К11 зададим цену = штрафу. Во входящих материалах для И0,...,И11
введем материал М, для каждого из Пi и Сi введем материал Хi с тем же номером i для каждого из Кi и Сi
введем материал Кi с тем же номером i. Везде потребление = 1. В исходящих материалах для каждого из
процессов Сi введем продукт Дi (с тем же i), для каждого из Иi и Пi введем продукт Хi+1 (номер на 1
больше), для каждого из Кi введем продукт Кi+1. Для всех продуктов выход = 1.
Решим модель с разными наборами параметров задачи.
MO604S
Модель мало отличается от предыдущей. Надо только брать штраф за дефицит не каждый раз, а один раз.
Поэтому в Хранении, в хранимых материалах, введем еще один материал К, с начальным запасом = 0 и Мах
запасом = 0. Это отложенные заявки, за которые уже заплачен штраф.
В Производстве, в процессы, введем процессы С1К,...,С12К. Эти процессы сходны с С1,...,С12. Они
предназначены для сбыта деталей, но не на основании заявок Кi, а на основании отложенных и
оштрафованных заявок К. Они имеют ту же цену. Во входящих материалах для С1К,...,С12К введем для каждого
СiК по два материала: Хi и К, потребление = 1. В исходящих материалах для каждого из процессов СiК введем
продукт Дi, выход = 1, и измением продукт Кi c Кi+1 на К.
Мы получили вместо процессов переноса заявок процессы накопления отложенных заявок, и вместо одного
набора процессов сбыта - два набора: сбыта по текущим заявкам и сбыта по отложенным заявкам.