1. Параметры (целевые), подлежащие анализу:
а) время от момента прибытия товара на склад до завершения его приема;
б) время от момента поступления запроса от розничной точки до поступления на неё товара;
в) степень использования емкости склада;
г) время простоя/загрузки автомашин
2. Модель должна позволить устанавливать зависимость значений целевых параметров от управляемых параметров:
а) количество бригад рабочих;
б) размера (емкости) оптового склада;
в) интенсивность поступления товара от поставщиков;
в) интенсивность поступления запросов от розничных точек;
г) интенсивность появления товаров и запросов на товары того или иного типа;
д) интенсивность выхода из строя автомашин.
Выполнение задания
Создадим «network» с двумя «resource pool» со следующими типами ресурсов: первый ресурс – бригады рабочих принимающих товар от поставщика (их количество - в переменной kolBrigad), второй ресурс – автомашины доставляющие товар в розничную точку (их количество - в переменной kolMashin) (рисунок 1).
Рисунок 1
Сразу же опишем блок-схему выхода автомашин из строя (рисунок 2).
Рисунок 2
Блок «source» является источником заявок (с интенсивностью 1/vremMezhPolom), которые вызывают поломку произвольной автомашины, путем занятия ресурса типа автомашина и задержки его в блоке «delay» на время ее починки (vremNaPochin). Далее ресурс автомашина освобождается и возвращается в свой «resource pool». Заявка же, вызвавшая поломку уничтожается в блоке «sink».
Опишем блок-схему, представляющую собой процесс доставки товаров из двух оптовых точек на склад и прием товаров бригадами (рисунок 3).
Рисунок 3
У нас имеется два поставщика: каждый из них поставляет по два различных типа товара (выбор того или иного товара осуществляется с вероятностью 50%) с интенсивностью 1/vremMezhPotr. Первый поставляет товары – заявки типа tovar: «cyan» и «magenta», а второй - «yellow» и «black». Блоки «delay» символизируют процесс доставки товаров от поставщиков на склад. Поступив на склад, каждый из товаров занимает ресурс типа «бригада» и задерживает его в блоке «delay» на время приема товара (его значение хранится в поле timein заявки tovar). В набор данных vpriemad заносятся все значения разности между временем поступления товара (поле vrpriema в заявке tovar) на склад (блок «network enter») и временем когда освобождается ресурс «бригада» (блок «network free») – в дальнейшем мы будем брать среднее значение этого времени. По окончании приема ресурс «бригада» освобождается, и заявка tovar помещается на склад – в блок «match» (емкость очереди которого определяется переменной emkostSklada).
В переменную kis заносим коэффициент использования склада равный отношению количества занятых мест на складе к общей емкости склада.
Опишем блок-схему, представляющую собой процесс отправки запросов от розничных точек на склад и отправки товаров со склада в розничную точку (рисунок 4).
Рисунок 4
Блоки «source» - розничные точки, генерирующие заявки-запросы с заданной интенсивностью (переменные 1/vremMezhPotr1… 1/vremMezhPotr4). Каждая розничная точка может отсылать запрос на два различных вида товара (выбор того или иного товара осуществляется с вероятностью 50%). Заявки-запросы обладают полями name (имя запрашиваемого товара) и id (идентификатор розничной точки). В блоке «match» заявки-запросы и заявки-товары сравниваются по полю name, и в случае совпадения переходят дальше - заявка-запрос уничтожается (она нам больше не нужна), а заявка товар отправляется на погрузку в автомашину. Поступив на погрузку, каждый из товаров занимает ресурс типа «автомашина» и задерживает его в блоке «delay» на время погрузки товара (его значение хранится в поле timeout заявки tovar). После окончания погрузки заявка-товар вместе с ресурсом «автомашина» отправляются в розничную точку (пункт назначения определяется по полю id). По прибытии в розничную точку ресурс «автомашина» освобождается и возвращается в свой «resource pool», а заявка-товар уничтожается в блоке «sink».
В наборы данных vppotr1…vrpotr4 заносятся все значения разности времен между отправкой запроса (поле vrdost в заявках zayavka и tovar) из соответствующей розничной точки до прибытия товара в эту розничную точку – в дальнейшем мы будем брать средние значения этих времен.
С помощью функции.getUtilization() рассчитываются и выводятся на экран показатели использования бригад и автомашин.
На основе модели создана анимация (рисунок 5) позволяющая наблюдать за процессом моделирования, изменять значения переменных – управляемых параметров:
а) количество бригад рабочих;
б) размера (емкости) оптового склада;
в) интенсивность поступления товара от поставщиков;
в) интенсивность поступления запросов от розничных точек;
г) интенсивность появления товаров и запросов на товары того или иного типа;
д) интенсивность выхода из строя автомашин.
Кроме того, там же выводятся значения целевых параметров подлежащих анализу:
а) время от момента прибытия товара на склад до завершения его приема;
б) время от момента поступления запроса от розничной точки до поступления на неё товара;
в) степень использования емкости склада;
г) время простоя/загрузки автомашин
Рисунок 5
Время от момента прибытия товара на склад до завершения его приема – зависит от количества бригад, интенсивности поступления товаров на склад, времени приема товара…
Время от момента поступления запроса от розничной точки до поступления на неё товара – зависит от количества автомашин, времени погрузки, интенсивности поступления товаров на склад, интенсивности запросов из розничных точек, интенсивности поломок автомашин, времени необходимому на починку автомашины…
Степень использования емкости склада – зависит от интенсивности поступления товаров на склад, интенсивности запросов из розничных точек…
Время простоя/загрузки автомашин – количества автомашин, интенсивности поломки автомашин, времени починки автомашин, интенсивности запросов из розничных точек
Задание № 4 Пропуск на стадион
Содержание задания:
Построение имитационной модели системы пропуска зрителей на стадион.