0: Добрый день. Мы продолжаем с вами изучать среду имитационного моделирования энни лоджик. 8 версии. Сегодня мы продолжим разрабатывать модель системы массового обслуживания, в частности, модель банковского офиса в прошлый раз.
1: А мы с вами создали многоканальную двухфазную модель, в которой есть банкоматы, банковский зал, касса и многое другое. Сегодня мы с вами продолжим изучение и разбор данной модели.
2: И поговорим ещё о некоторых нюансах. Итак, 1 нюанс. Следующий. Мы с вами указали, что наши клиенты приходят согласно расписанию интенсивности, где задали расписание Прихода, в котором
3: В зависимости от времени суток, от количества часов интенсивность Прихода людей меняется, но количество менеджеров у нас по факту не меняется, мы его можем менять только самостоятельно, с помощью так называемого бегунка.
4: Значение от 1 до 5. Конечно же, в реальной системе это далеко не так, ведь количество менеджеров тоже меняется. Исходя из времени суток. Я думаю, что с утра и поздно ночью уже будет как можно меньше.
5: Менеджеров, а днём приходит их больше на работу. Давайте настроим с вами расписание работы менеджеров. Создадим ещё 1 элемент расписания. Назовём его расписание. Смен.
6: Расписание смен должно быть целого типа, потому что оно будет задавать количество людей, присутствующих на смене. Мы также будем создавать на 1 день и не интервалами, а моментами времени. Итак,
7: У нас банковский офис открывается в 9 утра, и в 9 утра у нас будет с вами 1 кассир, допустим, с 11 часов приходит 2 кассир. В 12 часов приходит 3 кассир.
8: Прошу прощения, конечно же, не кассир, а менеджер. Да, мы говорим сейчас с вами про расписание менеджеров в банковском зале. Вот. Ну, давайте, значит, раз у нас их максимально, может быть 5, давайте мы как раз-таки в 13:00 сделаем 5.
9: Потом с 2 часов, возможно, пойдёт на обед. Их снова оставим трое, потом двое с 5, с 5 часов вечера, допустим. Ну или с 4. Мы их сделаем снова. 3. Ну.
10: С 5 часов мы сделаем 4. Давайте в 20:00 мы уменьшим их количество до 2.
11: 22:00. Оставим только 1 менеджера.
12: В 23:00 менеджеров уже не будет, они уйдут домой. Итак, давайте проверим, все ли мы настроили правильно переходим в банковский зал и вот, вернее, в менеджеров переходим в элемент ресурс.
13: Менеджера и количество задано не напрямую, а расписание. Вот здесь вот есть расписание и мы указываем расписание. Смен. Давайте проверим, правильно ли работает модель.
14: Итак, запустим её и посмотрим, что у нас получается. Вот у нас начало рабочего дня. Давайте немножко ускорим. Мы видим, что пока менеджеров нету. Сейчас у нас с 9 часов работает 1 менеджер, мы видим, что вот он 1.
15: Че то он не особо хорошо справляется пока, ну, в принципе, справляется, немного людей ожидает, но в целом успевает их обслужить. Вот уже появилось в 11 часов. 2, 2 менеджер появился, да, в 12 часов должен появиться 3.
16: Менеджер вот у нас появляется, при этом количество, видим, растёт, да, даже не успевают некоторые люди обслужиться. Очень много уходит. Вот в час должно появиться 5 менеджеров, да, то их стало их пятеро. Ну,
17: И, конечно же, мы видим, если мы сейчас ускорим до конца, мы увидим, что потом их снова станет 3, 2, снова 3, 4, как мы настраивали, да. Ну и затем их потом уже станет меньше 2 и 1.
18: Как мы видим, к концу смены, да, к концу дня у нас ничего не останется. Итак, вот мы с вами это сделали. Что касается банкоматов, они у вас ведь тоже могут время от времени выходить из строя и
19: Или могут в принципе, что-то с ними случаться. Поэтому для того, чтобы смоделировать процесс застоя 1 из банкоматов, то есть
20: Ограничение доступа к нему мы используем элемент холт. Ещё 1 элемент. Я сейчас немножко ееще раздвину нашу модельку, чтоб было куда их поместить.
21: Вот так вот сейчас мы сделаем, чтоб все было красиво. Итак, к примеру, у нас есть такая вероятность, что какой-то банкомат может, ну, выйти из строя или даже, что более разумно.
22: К нему могут прийти, так сказать, инкассаторы, которые будут выгружать из него деньги. На это время он выходит, получается, как бы из строя, да, из модели люди не могут к нему попасть. Давайте создадим блок.
23: Hold, поместим его между очередью и банкоматом. 1 мы будем использовать режим действительно вручную, вручную. Значит, вручную мы установим, что hold
24: Будет блокироваться, когда приходят инкассаторы. Для того чтобы смоделировать работу инкассаторов, нам необходимо создать ещё 1 процессную диаграммку, процессную диаграммку. Поместим её вот где-нибудь здесь у нас будут появляться инкассаторы, они
25: Будут разгружать 1 банкомат, потом они будут разгружать 2 банкомат, и затем они будут уходить. Инкассаторы будут появляться раз в день.
26: То есть, давайте интенсивность 1 раз, ну, 2 раза в день, допустим, у нас очень хороший банкомат, 2 раза в день. При этом, в какое время именно они поступят, нам неизвестно. Вот.
27: Время задержки. Значит, 1 банкомат, они разгружают, например, 5 минут сделаем, да? Ну, 3. Ангулар, давайте сделаем 4, 5, 6 от 4 до 6 минут. И 2 банкомат, они тоже будут
28: Разгружать от 4 до 6 минут.
29: Итак, настроили, настроили минуты все, да, как бы вот это вот вещи, это отдельная, совершенно процессная диаграммка, она никоим образом не влияет на работу менеджеров, на работу как бы других, но при
30: При этом она будет влиять на работу банкоматов. Давайте здесь поместим холд. Здесь холд 1. Для удобства я имя отображать не буду. Я назову этот холд hold 2. Этот холд. Я назову холд 1. Изначально он у нас
31: Нас, конечно же, разблокирован. Изначально люди идут спокойно в банкомат, но как только появляется инкассаторы, значит, здесь мы должны при входе написать вот здесь, в элементе дилей, да, давайте, ну так.
32: Назовём. Инкассация 1, а это, назовём, инкассация 2, чтобы не перепутать. Инкассация 2. Так?
33: Сейчас вот так вот немножко сделаем. Значит, тоже тут мы не будем отображать, чтобы. Угу. Ну вот так вот, да. Более понятно. Смотрите, как только инкассаторы начинают разгружать 1 банкомат, то мы блокируем холд 1 hold.
34: 1 точка пишем блок холд 1 точка блок. Таким образом мы блокируем этот холд. При выходе мы его разблокируем. Метода
35: Блок. Затем тоже самое происходит со 2 банкоматом холд 2 точка блок.
36: И при выходе Хоу 2 точка а.
37: Посмотрим. Сначала проверим на ошибки. Теперь давайте попробуем запустить и посмотреть, что у нас получится. Добились мы того, что у нас будут блокироваться некоторые в некоторое время банкомат. Итак, инкасса.
38: Приходит, получается, в любое время в день, да, 2 раза в день она придёт, собственно. И поэтому мы просто давайте подождём, проанализируем, когда же у нас эта инкассация придёт, она может прийти в любой момент.
39: Поэтому мы так заранее не угадаем, не промотаем, да, тем не менее, давайте немножко ускорим модель, в случае чего я нажму на паузу.
40: Вот, обратите внимание, да, обратите внимание, что вот в 11 23 я уже немножко перемотал. 1 инкассация прошла, и вот сейчас происходит 2 инкассация, да, видите, что он заблокировал 2 банкомат на, там от 4 до 6 минут по вре.
41: При этом, что, естественно, очередь в нём, получается, пока была заблокирована, да?
42: Все шли в 1 банкомат. Вот, естественно, в какую-то единицу времени придут они 2 раз тоже. Давайте я промотаю, если успею нажать нация. Кстати, вполне возможно, что она придёт даже под закрытие или вообще придёт после
43: Закрытие мы же настроили просто 2 раза в день, не уточнив время суток и так далее. Да, вот видите так мы не дождались 2 инкассацию. Вот надо более точно, более точно, как сделать более точно, более точно.
44: Можно настроить событие. Элемент события используется для того, чтобы создать какое-то случайное или заданное заранее событие. Итак, настроим, что инкассация будет у нас приходить 2 раза в день. Она будет приходить, например, в полдень и
45: В где-то в 9 часов вечера. Итак, создаём элемент события, перемещаем эвент, он находится в палитре агент, значит, event у нас будет срабатывать, значит,
46: Примерно, значит, тип события по таймауту, естественно, режим будет, он будет циклический, мы будем использовать календарные даты. То есть 1 срабатывание у нас будет в 10:00. И 2 и будет
47: Каждые 12 часов на 12 часов вот будет происходить это событие. Ну и вот что пока мы ничего просто не настроили, мы просто настроили, что есть какое-то событие, которое будет происходить.
48: Давайте, чтобы было поинтереснее, давайте сделаем 3 раза в день. Он будет приходить с периодом 8 часов, то есть в 10, потом в 20:00 e ночью, ночью никогда никого нету. В принципе, давайте.
49: Делаем период 6 часов, они вот будут, придут в 10 утра, потом в 4 часа дня и в 10 часов вечера. Ну так будет поинтереснее хотя бы. Вот. И, значит, время 1 срабатывания мы настроили период, мы настроили, они будут постоянн.
50: Теперь, что, как мы это сделаем? У нас сейчас сорс пребывает согласно интенсивности. Мы сделаем так, чтобы он пребывал вызовом функции. Инжект такой метод используется, когда нам нужно искусственно
51: Сделать так, чтобы, ну то есть, чтобы заявка появлялась не по времени, а по какому-то событию. Вот мы здесь сделали вызовом функции инжект. И здесь мы пропишем, что наш сорс 1 называется, мы пишем действие со
52: 1.
53: Source 1 точка инжект.
54: Вот написали сорс 1 точка инжект и будет, значит, сюда поступать заявка. Здесь нужно также в этом инжекте указать количество заявок, которые будут поступать за 1 раз. Давайте
55: Теперь снова запустим нашу модель. Теперь мы точно знаем, что инкассация приходит Ровно в 10, в 4 и в 22 часа. Итак, значит, давайте посмотрим. Значит, как только наступит 10 часов.
56: Оп, оп, оп, перемотал. Прошу прощения ещё раз. Давайте случайно. Я нажал на кнопочку виртуального времени. Да. Итак, давайте, значит, перемотаем до 10 часов утра.
57: Сейчас, по идее, в 10 часов должно быть сработать функция инжект. То есть должно сработать событие, которое здесь вот, да, и бабах, и ничего, ничего происходит.
58: Ходит. Почему? Почему же ничего не происходит? Давайте посмотрим. Все. Дело в том, что когда мы настраивали симулейтор, настроили модельное время, которое начинается в заданную дату 16 апреля 19 года. Здесь же
59: Мы в ивенте указали 17 апреля, поэтому, конечно же, он не сработает. Давайте поэтому укажем также 16 апреля, раз уж у нас эта дата задана, и попробуем ещё раз запустить. На этот раз должно все точно сработать. Давайте это проверим.
60: Итак, мы ждём 10 часов утра.
61: Сейчас должна сработать функция эвент. Значит и посмотрим. Да, вот сначала инкассация 1. Видите, да, здесь у вас заблокирована, пока разблокируется. Теперь здесь заблокирована 2
62: Инкассация идёт, все они разблокировали, денежку, забрали все. Дальше происходит обслуживание. Зачем? Если перемотать, мы увидим, что потом я просто перемотаю, что у нас и в 16:00 будет инкассация. Потом вот она прошла и
63: В 22:00 тоже будет инкассация. Вот так вот. Что ещё можно настроить? Допустим, давайте сделаем обед кассиром. Обед кассиром. Представим, что такая Советский банк, да?
64: Закрывается на обед. Сделаем обед полчаса. Давайте создадим ещё 1 элемент расписания на него и так слишком много времени потратил. Давайте просто, значит, расписание
65: Расписание обедов. Назовём расписание обеда. Ну и у нас кассиры, то есть уходят на обед, допустим, на полчаса, в 12 часов дня и где-то в 6 часов вечера, в самый час.
66: Как говорится, да. Значит, тип должен быть. Да, нет, обязательно расписание, то моменты времени нет. Интервалы. Вот так вот сделаем, да, значение по умолчанию. Нет. Вот, значит, у них 1 обед. Так, так, так, моменты.
67: Времени надо сделать дни, недели, моменты времени. Ага. Интервалы. Вот, значит, добавляем. 1. У нас, значит, обед с 12 до 12 32 обед у нас с 18.
68: 30, допустим, до 19:00 пускай будет вот так вот. Итак, смотрите, в это время у нас кассиры пойдут на обед оба кассира. И, значит, давайте попробуем. Ага, стоять. Я ещё даже не подцепил.
69: Я пока просто создал, создал расписание. Да, теперь переходим к кассирам, идём в блок свойств, который называется смены перерыва, аварии, обслуживания. Здесь очень много возможностей на самом деле, да, вот мы видим, тут можно и аварии.
70: Ремонты, то есть какие-то настроить, да, там различные показатели без блока хоус. Вот мы с вами поставим галочку в раздел перерывы, расписание перерывов. Вот расписание обеда, приоритет.
71: Значит, и в статистике не учитывается. Вот здесь может вытеснять. Это означает, что если вдруг настало 12:00, а кассир в это время обслуживает, если мы поставим галочку, здесь может, вытес.
72: Снять, то он тут же прекратит обслуживать, но это неправильно. Он все-таки должен до обслуживать, поэтому мы эту галочку не ставим, поэтому он может уйти на обед. И попозже давайте запустим модель и посмотрим, как у нас в 12 часов, что произойдёт. Итак.
73: Давайте перемотаем модель сразу к 12 часам.
74: Вот у нас ушли, это пропустил, да.
75: Вот у нас 11 57 8 9. Вот смотрите, сейчас кассиры ушли на обед. Видите, у нас написано, что 0 из 2. То есть нет свободных Кассиров, потому что они на обеде целых полчаса. Вот сейчас, видите, 1 человек пришёл и ждёт в очередь.
76: Пока они не выйдут с обеда в 12:30, как только настанет 12:30 Бац, все 2 кассира обслуживают и снова все в норме. Что ж, вот такие вот вещи мы можем сотворить с расписаниями и так далее.
77: Теперь поговорим о том, как построить статистику. Есть специальная библиотека, которая так и называется статистика. Здесь мы можем использовать различные диаграммы, различные графики, в частности, давайте построим график
78: Средней загрузки наших банкоматов. Для этого мы будем использовать столбиковые диаграммы. Значит, поместим столбиковую диаграмму вот сюда ннемножко её, значит расширим, настроим её свойства.
79: Её свойства. Итак, значит данные данные у нас будут подгружаться из блока банкомат 1 и банкомат 2. Значит заголовок мы напишем банкомат 1 цвет мы давайте сделаем какой-нибудь
80: Зелёненький. Значение мы напишем банкомат 1.
81: Точка стетс, стетс, утилизейшн точка мин.
82: Что мы, что я такое написал?
83: Итак, мы написали значение банкомат 1, точка сет утилизейшн точка мин. Это означает, что мы собираем статистику из элемента банкомат 1 и выдаём его среднее значение. Сделаем аналогично.
84: Для банкомата 2, банкомат 2. Давайте другим цветом, чтобы было понятно. Да, вот, например, bo, также пишем банкомат 2 точка стет, утилизейшн.
85: Start утилизейшн точка мин.
86: Отлично. Чтобы у нас все грамотно работало, мы должны включить сбор статистики в самих элементах. Надо здесь поставить везде галочки, чтобы у нас собиралась статистика. Вот у нас будет такая вот столбиковая диаграмма, это загрузка банкоматов.
87: На загрузка банкомата 1 загрузка банкомата 2. Также давайте построим длину очереди. Длина очереди у нас для 01.02 банкомата поместим ещё 1 столбиковую диаграмму. Значит,
88: Здесь будет, значит, очередь к банкомату. 1 цвет давайте сделаем. Ну тоже такие же зелёные сделаем. Здесь уже другие функции будут. Здесь будет элемент квэ 1 точка.
89: Стетс сайсс стет сайсс точка опять же, мин тоже, потому что среднее значение и очередь банкомату 2.
90: Тоже сделаем синеньким, просто скопирую сюда вставлю и чтобы дать им более похоже, да, мы давайте сделаем направление столбцов вот так вот в эту оче, в эту штуку, вот так.
91: Значит, смотрите, чтобы переключаться между окнами, мы можем использовать элемент, который называется область просмотра, область просмотра. Можно поместить вот сюда 1 область просмотра и назвать её времён.
92: 2 область просмотра мы поместим сюда и назовём её вью арея, статистикс, статистикс и заголовочек. Ей напишем статистика. Теперь мы можем запустить модель.
93: И посмотрим, что у нас получилось. Мы запускаем модель, у нас строится в режиме реального времени некоторые графики, чтобы переключаться между графиками. Мы можем вот здесь вот перейти на статистику. Пока
94: У нас, как видно, банкоматы вот во 2 банкомате появились, появился народ. Вот, да, собственно, мы можем посмотреть, какая загрузка у наших банкоматов в течение всего времени.
95: Вот закроем также мы можем с вами построить график, при котором, где будем считать, сколько у нас в итоге людей осталось без обслуживания. То есть что это, как это посчитать? Ну на самом деле, все
96: Просто мы должны посчитать, сколько у нас людей вышло обслуженными, сколько необслуженными и построить круговую диаграмму. Давайте создадим 2 параметра, создадим 2 параметра, они нахо
97: В палитре агент. Напомню вам параметр 1. Назовём его, значит, обслужено опсу. 2 параметр. Назовём его не опсу, не обслужено.
98: Значение по умолчанию у обоих будет по нолям. Изначально у нас пока обслуживанных и необслуженных равное количество. И в действии при выходе в синке мы напишем обслужено. Плюс плюс это означает, что мы прибавляем на
99: То есть каждый клиент, который у нас выходит, элемент синк будет прибавлять в параметр опследние у здесь мы напишем не опсу плюс плюс таким образом у нас
100: В будут складываться все клиенты, которые не обслужены. Вернёмся в палитру. Статистика. Добавим круговую диаграммку. Круговая диаграмма, которая будет нам показывать процент людей обслуженных
101: Данные мы сделаем, значит обслужено значение у нас будет это параметр опсу. И 2, это у нас не обслуженно, не обслужено.
102: И параметр не ops, чтоб было поинтереснее диаграммка выглядела мы можем разделить отдельно, сделать обслужено банкоматами, обслужено банковским залом, для этого мы создадим отдельный.
103: Sign вот здесь вот да, отдельный синг создадим.
104: Значит, 1, значит, от банкоматов у нас сюда, а вот от кассового зала мы пошлём во 2 синг, чтобы у нас были разные выходы для обслуженных банкоматами.
105: Обслуживании в зале. Вот так вот сделаем. И вот здесь мы сделаем опс, банкомат, банк и ещё 1 параметр создадим
106: Назовём его опсу менеджер опсу мэн. Вот так вот здесь мы давайте сделаем опсу мэн плюс плюс, а здесь опсу банк плюс.
107: Плюс он уже автоматически поменял. Соответственно, сюда тоже добавим, добавим ещё и значит, да, обслужено.
108: Обслужена в банковском зале, обслужено банкоматами.
109: И тут обл. Опсу мен ошибок вроде быть не должно, давайте проверим и запустим.
110: Итак, у нас запускается. Перейдём на вкладку статистика.
111: Немножко ускорим, чтобы строилась статистика. Итак, у нас пока, видите, да, вот можем сказать, что вот в 9 22 у нас 3 человека уже обслуживано банкоматами, в зале только 1. Ну, естественно, если мы будем ускорять, мы увидим
112: То процентное соотношение, сколько у нас обслужено банкоматами банка, сказали, и сколько у нас процентов не обслуженно. На самом деле достаточно большой процент необслуженных в банке, да, 25%, это очень много и недопустимо. Вот.
113: Но, тем не менее, такую статистику мы посчитали, что ещё можно сделать. Мы можем построить гистограмму распределения людей в системе, то есть сколько в целом в среднем времени каждый клиент проводит
114: В нашем банке для этого мы используем элемент, который называется time meja старт и time meja энд. Вот они находятся, они нужны, это как индикаторы времени.
115: Поместим их сюда, и энды поместим мы перед каждым синком, раз у нас теперь их 2. Мы поместим их сюда и сюда. Для чего они нужны, чтобы считать время. Смотрите.
116: Мы перейдём в агента клиент и создадим новый параметр, который будет называться тайм старт тайм старт. Это время, в которое клиент зайдёт в
117: Наш банк вот здесь мы при входе эджент точка тайм старт.
118: Мы присвоим текущее время.
119: Дальше. Теперь мы поместим на нашу рабочую область так называемые данные гистограммы, данные гистограммы, назовём их дата, значит, дата time in
120: Банк. Время в банке, да.
121: Данные времени в банке. Вот. И, соответственно, вот при выходе в time же and мы будем писать, что дата
122: Time in bank точка. Добавить.
123: Добавим и разницу тайм минус эджент точка тайм старт. Что, что такое я написал? Значит? Смотрите, это значит, что мы в элемент дата time.
124: Добавляем следующий набор данных. Значит ещё 1 1 значение данных, значит
125: Вот.
126: Скопируем аналогичный код в этот, потому что он у нас тоже самое. Подключим тайм меже старт, проверим на наличие ошибок и по идее, у нас теперь должны собираться данные, чтобы их отразить. Сразу поместим.
127: Гистограмму поместим сразу гистограмму, она находится в диаграммах. Вот она, гистограмма. Значит здесь у нас будут отражаться данные о нахождении клиента в банке, значит,
128: Заголовок среднее время нахождения в банке.
129: И дата у нас будет, соответственно, наша с вами дата, дата time in bank. Так, по идее все должно работать. Давайте запустим и посмотрим.
130: Перейдём на вкладку статистика, проверим, работает ли у нас гистограмма.
131: Немножко перемотаем, да, среднее нахождение. Вот мы уже, да, мы строим гистограмму, у нас она строится в режиме реального времени. Если мы ускорим модель, то мы узнаем все данные за 1 рабочий день в банке, что показывает данная гистограмма, она показывает
132: Сколько процентов людей находилось в банке то или иное время, в частности, да, вот от нуля до 5 минут, от 5 до 10. Вот такая градация, да, то есть вот мы можем сказать, что вот на данный момент времени практически, там, 57 про
133: Процентов людей находилось в банке менее 5 минут. Вот это в принципе, хороший показатель, учитывая, что они там ещё побегают. Вот. Тем не менее, вот у нас к концу дня сложилась такая гистограмма, то есть
134: Вот как какой-то процент людей у нас находился в банке более получаса здесь вот у нас показано в нашем элементе дата time bank сколько произведено измерений было 380 измерений произведено.
135: Вот оно, да, соответственно.
136: Какие значения были посчитаны, все это тоже мы можем отразить с вами. Вот.
137: Почему 380, когда у нас только 861 клиент. Потому что у нас вот, как мы видим, ещё вот здесь вот не обслужино, 100, 167 клиентов. Вот.
138: Ну, для более чёткого этого всего дела можно поместить это дело вот source вот этот код, не используя элементы тайм же start time же and можно вот этот код поместить в принципе в.
139: Элемент сорс действие при выходе вот сюда. Соответственно, этот элемент мы удалим и сюда мы тоже при действие при выходе мы вот это напишем вот сюда. Вот дата time bank.
140: Это этот мы элемент удалим.
141: Чтобы вот потому что он почему-то здесь че то некорректно считает. Обязательно к следующему разу я разберусь, в чем дело. Ну а пока мы попробуем ещё раз запустить модельку. На этот раз у нас уже должно все работать как полагается. Итак.
142: Открываем панель. Статистика, давайте сразу ускорим виртуальное время, настроим. Вот у нас данные собираются более корректно, корректно. Среднее время нахождения в банке. 8 с половиной минут было произведено 710 измерений.
143: То теперь соответствует, да, конкретным показателям. Ну и видно нам все-таки сколько обслужино, да, здесь можно посмотреть и здесь вот такие вот инструменты работы со статистикой на самом деле здесь можно
144: Ещё какую-нибудь статистику построить красивую, да, можно ещё различные элементы использовать. Таким образом мы с вами построили модель системы массового обслуживания банковского
145: Использовали стандартные элементы библиотеки моделирования процессов, также некоторые дополнительные элементы по типу события параметров познакомились с панелью палитры, статистика и постро.
146: Различные графики построили различные различную анимацию. На этом мы завершаем построение данной модели. В следующий раз мы продолжим изучение дискретно событийного моделирования.
147: Систем массового обслуживания. Познакомимся с другими элементами палитры, библиотеки, моделирования процессов, в частности, которые могут быть использованы в том числе и при моделировании производственных систем. Ну, на этом у меня все
148: Сегодня все желаю вам успехов в изучении имитационного моделирования.