Постановки задач и материалы к их решению
Модель управления запасами с фиксированным размером заказа.
1. Постановка задачи. В магазине ежедневная потребность в некоторой продукции распределена нормально с математическим ожиданием и стандартным отклонением соответственно равными 10 и 2 единицам. Как только запас магазина падает до (или ниже) уровня заранее определенной величины, называемой точкой восстановления, поставщику посылают заказ на пополнение запаса. Величина пополнения, называемая количеством восстановления, всегда равна 100 единицам. Пополнение приходит в магазин где-то между шестым и десятым днем после подачи заказа. Это случайное время между подачей заказа на пополнение и прибытием пополнения в магазин называется приведенным временем. Распределение приведенного времени показано в таблице. Требование, возникающее в момент, когда магазин не имеет запаса, теряется; это означает, что покупатель, чье требование невозможно удовлетворить немедленно, тут же уходит.
Таблица. Распределение приведенного времени
Приведенное время, дни | Относительная частота | Приведенное время, Дни | Относительная частота |
6 | 0,05 | 9 | 0,22 |
7 | 0,25 | 10 | 0,18 |
8 | 0,30 |
Владельцу магазина нужно знать, как установить точку восстановления. Из таблицы ему известно, что приведенное время в среднем составляет 8 дней. Поскольку в среднем запрашивается 10 единиц товара в день, он полагает, что точка восстановления не должна быть ниже 80; в противном случае у него не найдется достаточного количества товара для удовлетворения требований, ожидаемых в период приведенного времени. Владелец полагает, что установление точки восстановления на более высоком уровне, таком как 90 или 100, уменьшает возможность потерь при продаже в период ожидания прибытия пополнения. С другой стороны, более высокий уровень точки восстановления означает, что в среднем запас больше; это увеличивает величину вложенного в запас капитала.
Требуется построить GPSS-модель для описанной ситуации. В модели следует предусмотреть возможность измерения характеристик распределений двух случайных переменных: «ежедневные потери от несделанных покупок» и «число единиц, имеющихся в наличии». Необходимо выполнить прогон модели для оценки этих двух распределений, если количество восстановления равно 100, а точка восстановления равна 80, 90 или 100. Для каждой конфигурации провести моделирование работы магазина в течение 1000 дней.
Предположим для простоты, что владелец проверяет уровень товара только в конце рабочего дня, а затем либо делает, либо не делает заказ на пополнение. Предположим также, что пополнение прибывает только после закрытия магазина; это означает, что ни одна единица товара из пополнения не может быть использована для удовлетворения требования, возникающего в день прибытия пополнения. Пренебрежем также «проблемами выходных». Такие вопросы возникают потому, что на практике владелец может не открывать магазин в субботу и (или) воскресенье; тем не менее в субботу и воскресенье пополнение продолжает поступать к месту назначения. Отказ от проблемы выходных равносилен тому, что владелец держит магазин открытым семь дней в неделю.
2. Метод построения модели. Модель составлена из двух отдельных сегментов. Сегмент запроса имитирует дневной спрос на товар, проверяет, какое количество из этого запроса может быть удовлетворено, и вводит величину потерь продажи и наличного запаса в GPSS-таблицы в конце каждого дня. Сегмент инвентаризации производит наблюдение за наличным запасом и вызывает заказ на пополнение, если наличный запас находится на уровне или ниже точки восстановления и не ожидается поступления ранее заказанного товара. Эти два отдельных сегмента сообщаются через единственную сохраняемую величину STOCK, которая равна текущему наличному запасу.
В сегменте запроса вместо удовлетворения многих запросов в течение дня определяется общий запрос на день с помощью транзакта, вводимого в модель ежедневно. Этот общий запрос, помещаемый в первый параметр транзакта, сравнивается затем в режиме условного перехода с сохраняемой величиной STOCK для того, чтобы определить, можно ли удовлетворить все дневные требования. Если можно, то меняется значение STOCK, в таблицы заносятся требуемые данные, и транзакт выходит из модели. Если дневной запрос превышает STOCK, то транзакт из блока TEST переходит не в следующий блок, а идет на вычисление потерь покупок и устанавливает STOCK, равным нулю. Затем он заносит данные в таблицы, и выходит из модели.
В сегменте инвентаризации впереди блока TEST, работающего в режиме отказа, находится единственный транзакт-учетчик, ожидающий когда величина STOCK опустится до уровня (или ниже) точки восстановления. Сама точка восстановления занесена в сохраняемую величину ROP. Когда блок TEST разрешает вход, указывая на необходимость подачи заказа на пополнение, транзакт проходит в ADVANCE, где имитируется приведенное время. По истечении приведенного времени транзакт-учетчик выходит из блока ADVANCE изменяет STOCK добавлением к нему количества восстановления, содержащегося в сохраняемой величине ROQ. После этого учетчик возвращается назад для продолжения наблюдения за наличным запасом.
У транзакта, находящегося в сегменте инвентаризации, более низкий приоритет, чем у транзакта, находящегося в сегменте запроса. Это различие в приоритетах сделано для того, чтобы удовлетворить условию, состоящему в том, что пополнение прибывает всегда после закрытия магазина. Предположим, например, что прибытие заказа запланировано на 51-й день моделирования. Транзакт-учетчик, обеспечивающий заказ, был помещен в цепь будущих событий не позднее, чем в конце 45-го дня (минимальное приведенное время равно шести дням). Транзакт же сегмента запроса не был помещен в цепь будущих событий до начала 50-го дня (запланировано ввести его в модель на 51-й день). Последовательность помещений в цепь будущих событий означает, что после перехода в цепь текущих событий учетчик был бы впереди транзакта сегмента запроса, если бы они имели равный приоритет. Это, в свою очередь, привело бы к тому, что пополнение прибыло перед тем, как будет определен дневной запрос, что является нарушением условий задачи. Введение различий в приоритетах изменяет эту ситуацию.
3. Таблица определений. Единица времени: 1 день.
Элемент GPSS | Интерпретация | |
транзакты: | ||
1-й сегмент модели | Продавец: Р1 — общий запрос в рассматриваемый день Р2 — потери покупок за рассматриваемый день | |
2-й сегмент модели | Учетчик | |
Функции: | ||
LTIME | Функция, описывающая распределение приведенного времени | |
SNORM | Функция, описывающая нормированное нормальное распределение (в GPSS World не нужна – используется функция NORMAL()) | |
Сохраняемые величины: | ||
ROP | Точка восстановления | |
ROQ | Число восстановлений | |
STOCK | Наличный запас | |
Таблицы: | ||
LOSES | Таблица, используемая для оценки распределения дневных потерь покупок | |
STOCK | Таблица, используемая для оценки распределения наличного запаса | |
Переменные: | ||
DMND | Переменная, величина которой равна общему запросу в рассматриваемый день | |
LOST | Переменная, величина которой равна количеству потерь покупок за рассматриваемый день |
4. Блок-схема



7. Обсуждение. Логика моделирования. На блок-схеме (рис. 5В.1) видно, что в модели используется один блок TEST в режиме условной передачи, а другой блок TEST — в режиме отказа. Заметим также, что оба сегмента модели взаимодействуют друг с другом с помощью сохраняемой величины STOCK.
Модель существенно зависит от внешних условий. Двумя источниками случайностей являются дневной запрос и приведенное время. Каждое соответствующее распределение представлено функцией, и у каждой функции в качестве аргумента свой датчик случайных чисел. Для каждого случая точки восстановления перед началом моделирования эти датчики устанавливаются или сбрасываются к некоторой начальной точке с помощью оператора RMULT (строки 5, 59 и 63 на рис. 5В.2).
Распечатка результатов. (Общее время моделирования на ЭВМ IBM 360/67 составило 4,3 с.) На рис. 5В. З показаны таблицы дневных потерь и наличного запаса, полученные при моделировании, для точки восстановления, равной 80. Число входов в каждую таблицу равно 1000, по одному на каждый день. В среднем каждый день терялось 0,516 покупок (средне значение таблицы LOSES). За 1000 имитируемых дней эта величина составит 516 потерь. В 92% дней потерь не было (процент от общего числа для верхнего предела, равного нулю, в таблице STOCK). Бывают случаи 14 потерь за один день.
Из таблицы STOCK на рис. 5В. З видно, что наличный запас распределен равномерно между 0 и 100. Средний наличный запас составил 47,8 единиц. Примерно в 8% случаев наличный запас в конце дня был нулевым, не считая возможности прибытия пополнения в конце этого дня (процент от общего числа для верхнего предела, равного нулю, в таблице STOCK). В течение 23 дней наличный запас превышал 100 единиц.
В табл. 5В. З приведены данные, полученные при исследовании всех трех случаев точек восстановления. Из таблицы видно, что средняя дневная потеря уменьшается с возрастанием уровня точки восстановления. В то же время средний наличный запас увеличивается при повышении уровня точки восстановления.
Таблица 5В.3 Итог результатов моделирования мера 5В
Точка восстановления | Среднее число дневных потерь покупок | Процент дней, в которые происходила нехватка запаса | Средний наличный запас |
80 | 0,516 | 7,7 | 47,8 |
90 | 0,173 | 3,2 | 55,0 |
100 | 0,005 | 0,4 | 65,0 |
Моделирование обслуживания клиентов на автозаправочной станции
1. Постановка задачи. В табл. 5D. 1 приведено распределение интервала времени между прибытиями автомашин на заправочную станцию. Время обслуживания автомашин подчиняется распределению, приведенному в табл.5D.2. Машина останавливается на обслуживание лишь в том случае, если число ожидающих обслуживания автомашин меньше или равно числу обслуживаемых машин (это означает, что машина останавливается, если водитель видит, что в состоянии ожидания находится не более одной машины на колонку). Машины, которые не останавливаются, уезжают на другую заправочную станцию и, таким образом, уменьшают прибыль.
Таблица 5D. 1 Распределение интервалов между прибытиями автомашин в примере моделирования 5D
Интервалы между прибытиями, с | Суммарная частота | Интервалы между прибытиями, с | Суммарная частота |
Меньше 0 | 0,0 | 400 | 0,81 |
100 | 0,25 | 500 | 0,90 |
200 | 0,48 | ||
300 | 0,69 | 600 | 1,0 |
Таблица 5D. 2 Распределение времени обслуживания автомашин в примере моделирования 5D
Время обслуживания, с | Суммарная частота | Время обслуживания, с | Суммарная частота |
Меньше 100 | 0,0 | 500 | 0,77 |
200 | 0,06 | 600 | 0,83 |
300 | 0,21 | 700 | 1,0 |
400 | 0,48 |
Заправочная станция открыта с 7 ч до 19 ч. В 19 ч выключают свет, что означает, что машины, поступившие позднее 19 ч, не обслуживаются. Тем не менее, все машины, попавшие в очередь до 19 ч, должны быть обслужены.
Подсчитано, что прибыль с одной обслуженной машины составляет в среднем 1 доллар, учитывая заработок служащих и другие постоянные расходы. На каждой колонке работает один служащий. Заработок служащих составляет 2,5 доллара в час и выплачивается только за 12-часовой рабочий день, даже если они задерживаются после 19 ч для того, чтобы закончить обслуживание ждущих машин. Другие постоянные расходы составляют 75 долларов в день.
Владельцу станции нужно определить, сколько служащих следует нанять для того, чтобы максимизировать дневную прибыль.
Построить GPSS-модель, имитирующую работу станции, а затем использовать эту модель для ответа на поставленный вопрос. Провести моделирование для каждого числа нанятых служащих в течение пяти дней. Сделать модель способной управлять условиями эксперимента так, чтобы различные варианты были исследованы при идентичных условиях. Также предусмотреть в модели, что в случае возникновения временного узла между событиями завершения обслуживания машины и прибытием другой машины завершение обслуживания было бы обработано в первую очередь. Это эквивалентно предположению о том, что водитель прибывшей машины видит возможность завершения обслуживания. Таким образом, при некоторых обстоятельствах, водитель вместо того, чтобы уехать, предпочтет остаться на обслуживание. И, наконец, если есть временной узел между событиями поступления автомашины на станцию и закрытием заправочной станции в конце дня, прибывшей машине должно быть разрешено попасть на станцию перед тем, как последняя будет закрыта.
2. Метод построения модели. В основном структура модели ясна. Существуют только три особенности модели, которые требуют обсуждения. Первая связана с закрытием заправочной станции в конце каждого дня, вторая относится к вычислению ежедневной прибыли и третья связана с обеспечением двух различных временных узлов, которые могут возникать.
Закрытие станции требует координации между основным сегментом модели и временным сегментом. После 12 ч работы машинам не разрешается входить в основной сегмент модели. Это можно осуществить путем помещения блока «GATE LR LOCK» сразу же после блока GENERATE, используемого для поступления машин. Когда логический переключатель LOCK сброшен, блок GATE открыт; это означает, что транзакт-машина может войти в модель. По умолчанию начальное положение логического переключателя «сброшено». Затем, когда транзакт-таймер появится через 12 ч, он тут же поступит в блок «LOGIC S LOCK», закрывая тем самым доступ в основной сегмент модели. Таким образом, доступ машин на станцию будет запрещен.
После закрытия станции транзакт-таймер должен ждать до тех пор, пока все машины, находящиеся в это время в очереди, не будут обслужены. Это можно осуществить с помощью блока TEST, работающего в режиме отказа, где транзакт-таймер будет вынужден ждать до тех пор, пока число машин, обслуживание которых завершено, не будет равно числу машин, поступивших на обслуживание в течение дня. Это эквивалентно требованию равенства общего числа входов в два произвольно выбранных блока модели. Таким образом, транзакту-таймеру легко определить, когда он сможет заняться вычислением дневной выручки и закончить моделирование.
Вычисление дневной прибыли требует знания числа обслуженных за день машин. Эта величина равна числу занятий многоканального устройства, используемого для моделирования служащих станций. Ежедневный доход зависит также от числа служащих на станции. В конце рабочего дня ни один служащий не находится в состоянии занятости. В этот момент число служащих равно оставшейся емкости используемого для моделирования служащих многоканального устройства.
Для правильного обращения с возможными временными узлами между событиями завершения обслуживаний и событиями прибытия автомашин требуется использование блока PRIORITY. Перед тем, как транзакт-машина войдет в блок ADVANCE, где имитируется время обслуживания, его приоритет должен стать выше, чем приоритет, с которым транзакт-машина входит в модель. Таким образом, при одновременном возникновении двух указанных событий, транзакт, готовый войти в блок LEAVE (и освободить служащего), находится ближе к началу цепи текущих событий, нежели транзакт, моделирующий прибывшую машину. Следовательно, завершение обслуживания имеет более высокий приоритет, чем поступление машины.
Наконец, если возникает временной узел между прибытием машины и закрытием станции, то прибывшей машине должно быть разрешено попасть на станцию и быть обслуженной (если, конечно, водитель не уезжает со станции из-за большого числа уже ожидающих машин). Этот возможный узел разрешается путем назначения транзактам-машинам более высокого приоритета (посредством операнда Е в их блоке GENERATE), чем транзакту-таймеру. Так образом, в момент закрытия транзакт-таймер находится в самом конце цепи текущих событий. Если в этот момент машина поступает, то для нее блок GATE открыт, затем он будет закрыт транзактом-таймером.
3. Таблица определений. Единица времени. 1 с.
Элемент GPSS | Интерпретация |
Транзакты: | |
1-й сегмент модели 2-й сегмент модели | Автомашина: Р1 — время, необходимое, для обслуживания машины Таймер |
Функции: IAT STIME | Функция, описывающая распределение между временем прибытия машин |
Функция, описывающая распределение времени обслуживания машин | |
Логические переключатели: LOCK | Логический переключатель, имитирующий состояние заправочной станции «открыто»—«закрыто» |
Очереди: 1 | Очередь, в которой машины ждут обслуживания |
Сохраняемые величины: 1 | Сохраняемая величина, куда заносится ежедневная выручка |
Многоканальные устройства: 1 | Многоканальное устройство, полная емкость которого равна числу служащих на станции |
Переменные: NET | Переменная, величина которой равна дневной прибыли после подсчета расходов |
4. Блок-схема
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


