Решение обратных задач средствами GPSS World было рассмотрено в главах 1 и 2. Теперь приступим к решению этих же задач в AnyLogic.
Сервер Обратная задача. Откройте её.
Параметр и один элемент Простая переменная. Дайте имена, как на рис. 11.1.
количествоЗапросов int. В поле Значение по умолчанию: введите 29. Это целая часть количества обработанных запросов при решении прямой задачи.
коэффициент как и в GPSS-модели предназначен для учёта дробной части количества обработанных запросов (см. п. 1.3). Его тип double. Введите в поле Значение по умолчанию: 1.
времяВыполнения double.
sink и в поле Действие при входе: введите Java код:
if( sink.in.count() == количествоЗапросов ){
времяВыполнения = time();
stopSimulation();
}
(рис 11.1) Простой эксперимент Сервер Обратная задача
Этот код сравнивает заданное количество запросов в группе (в данном случае 29) с обработанным количеством запросов. При равенстве заданных и обработанных запросов переменной времяВыполнения присваивается величина текущего модельного времени, то есть время обработки заданной группы запросов в одном прогоне модели, и простой эксперимент останавливается.
Для выполнения заданного количества прогонов создайте эксперимент варьирования параметров.
Проект щелкните правой кнопкой мыши элемент модели и из контекстного меню выберите Создать эксперимент.
Тип эксперимента: выберите Варьирование параметров.
Имя оставьте имя эксперимента, рекомендованное системой.
Готово. Появится страница Основные панели Свойства (рис. 11.2). Установите свойства согласно рис. 11.2.
Дополнительные. В поле Код инициализации эксперимента: введите data.reset();. А в поле Действие после прогона модели:
data.add( time()/коэффициент );
(рис 11.2) Страница Основные Эксперимента варьирования параметров
(рис 11.3) Интерфейс Эксперимента варьирования параметров
Варьирование параметров, как вы помните, в отличие от эксперимента Оптимизация интерфейс создает пользователь.
Создать интерфейс.
Гистограмма из палитры Статистика на диаграмму активного класса. На странице Основные установите флажок Отображать среднее. Оставьте флажок Отображать плотность вероятности.
Добавить данные.
Заголовок: Время выполнения. Набор данных: data. Цвет плотности вер-ти: silver. Цвет линии среднего: crimson. Установите Не обновлять автоматически.
Данные гистограммы. В поле Имя: введите data. Остальные свойства оставьте установленными по умолчанию.
text и введите Среднее значение:.
text. Оставьте имя, предложенное системой. Перейдите на страницу Динамические и в поле Текст: введите data.mean().
Эксперимента варьирование параметров завершено. Запустите его. При наличии ошибок, устраните их.Далее проведём по четыре эксперимента в AnyLogic и GPSS World. Результаты одного из экспериментов при количестве прогонов 29,16 показаны на рис. 11.4. Результаты всех экспериментов сведены в табл. 11.1.
Для первого эксперимента исходные данные были введены в ходе предыдущих построений. Для экспериментов 2…4 данные вводятся из табл. 11.1. Например, для второго эксперимента значение по умолчанию параметра количествоЗапросов заменяется на 291, а значение по умолчанию параметра коэффициент учёта дробной части - на 10 на диаграмме простого эксперимента.
(рис 11.4) Вариант результатов решения обратной задачи
| Параметры и показатели | Системы моделирования | |
|---|---|---|
| GPSS World | AnyLogic | |
| Эксперимент 1 | ||
| Количество запросов | 29 | 29 |
| Коэффициент учёта дробной части | 1 | 1 |
| Машинное время выполнения модели | 2 cек | 1,3 cек |
| Время выполнения группы запросов | 3589,688 | 3781,755 |
| $$\Delta_{1}=\mid 3589,688-3781,755\mid=192,067$$ | ||
| Эксперимент 2 | ||
| Количество запросов | 291 | 291 |
| Коэффициент учёта дробной части | 10 | 10 |
| Машинное время выполнения модели | 24 cек | 7 cек |
| Время выполнения группы запросов | 3596,113 | 3614,877 |
| $$\Delta_{2}=\mid 3596,113-3614,877\mid=18,764$$ | ||
| Эксперимент 3 | ||
| Количество запросов | 2916 | 2916 |
| Коэффициент учёта дробной части | 100 | 100 |
| Машинное время выполнения модели | 4 мин 48 cек | 44 cек |
| Время выполнения группы запросов | 3603,039 | 3604,676 |
| $$\Delta_{3}=\mid 3603,089-3604,676\mid=1,637$$ | ||
| Эксперимент 4 | ||
| Количество запросов | 29161 | 29161 |
| Коэффициент учёта дробной части | 1000 | 1000 |
| Машинное время выполнения модели | 40 мин 48 cек | 11 мин 17 сек |
| Время выполнения группы запросов | 3604,526 | 3603,182 |
| $$\Delta_{4}=\mid 3604,526-3603,182\mid=1,344$$ | ||
По результатам экспериментов видно, что по мере учёта дробной части разница между средними временами обработки группы запросов сервером, полученными в GPSS-модели и AnyLogic-модели уменьшается: $$\Delta_1=192,067…\Delta_4=1,344$$. При этом среднее время в обеих моделях приближается к времени моделирования (3600) в прямой задаче. То что оно приближается "справа", объясняется определением одного прогона модели обработкой заданного количества запросов, а не временем моделирования.
В главе 2 мы рассмотрели методику решения обратной задачи в GPSS World и прямой задачи в AnyLogic. Теперь решим обратную задачу и в AnyLogic.
Изготовление_в_цехе_деталей. Сохраните с именем Изготовление_в_цехе_деталей Обратная задача.
Main два элемента Параметр и один элемент Простая переменная.
КоличествоДеталей int. В поле Значение по умолчанию: введите 9017. Это целая и дробная части количества изготовленных деталей при решении прямой задачи, записанные как целое число.
Параметр коэффициент как и в GPSS-модели предназначен для учёта дробной части количества обработанных запросов. Его тип double. Введите в поле Значение по умолчанию: 1000.
времяИзготовления double.
Kontrol. Выделите блок sink сегмента Склад готовых изделий и в поле Действие при входе: введите вместо имеющегося там Java код:
if( склГотДет.in.count() == get_Main().количествоДеталей ){
get_Main().времяИзготовления=time();
stopSimulation();
}Для выполнения заданного количества прогонов также как и в предыдущем случае создайте эксперимент варьирования параметров.
Проект щелкните правой кнопкой мыши элемент модели и из контекстного меню выберите Создать эксперимент.
Тип эксперимента: выберите Варьирование параметров.
Имя оставьте имя эксперимента, рекомендованное системой.
Готово. Появится страница Основные панели Свойства (см. рис. 11.2). Установите свойства согласно рис. 11.2, кроме количества прогонов. В соответствующее поле введите 16641.
Дополнительные.
Код инициализации эксперимента: введите data.reset();А в поле
Действие после прогона модели:
data.add( time()/коэффициент );
Модельное время. В поле Остановить выберите из списка Нет.
Эксперимента варьирование параметров завершено. Запустите его. При наличии ошибок, устраните их.При построении мы ввели данные для проведения эксперимента с учётом всех трёх знаков после запятой.
Проведём эксперимент в AnyLogic. Результат решения обратной задачи показан на рис. 11.5.
(рис 11.5) Среднее время изготовления заданного количества деталей
| Параметры и показатели | Системы моделирования | |
|---|---|---|
| GPSS World | AnyLogic | |
| Количество деталей | 9017 | 9017 |
| Коэффициент учёта дробной части | 1000 | 1000 |
| Машинное время выполнения модели | 2 час 23 мин 48 сек | 30 мин 54 cек |
| Время изготовления деталей | 7,275 час | 7,286 час |
| $$\Delta_{1}=\mid 7,275-7,286\mid=0,011$$ | ||
В табл. 11.2 сведены результаты экспериментов решения обратной задачи в GPSS World и AnyLogic. Они свидетельствуют об их адекватности, так как $$\Delta_1=0,011$$. Если, конечно, исследователя устраивает такое $$\Delta_1$$.
Но машинное время выполнения модели в GPSS World примерно в пять раз больше, чем в AnyLogic, и равно 2 час 23 мин 43 сек.
Обратим внимание ещё раз на то, что время изготовления при повторных запусках эксперимента может отличаться, так как выбраны были уникальные прогоны модели.
Целью настоящего учебного пособия являлось приобретение навыков разработки постановок задач на концептуальное проектирование, освоение техники ИМ, планирования, проведения и обработки данных компьютерных экспериментов для принятия проектных решений. ИМ выбрано потому как мировая практика научных исследований свидетельствует о том, что методы ИМ занимают около 70 % в общем объеме исследовательского инструментария. В настоящее время в ИМ выделяют три подхода: системной динамики, дискретно-событийный и агентный. Из этих подходов в рамках указанных дисциплин изучается дискретно-событийный подход, обеспечивающий универсальность и эффективность ИМ. Он ориентирован на исследование широкого класса сложных систем, представимых в виде систем массового обслуживания, в том числе и систем военного назначения.
При изучении в рамках различных дисциплин ИМ, а также в практике создания моделей неизбежно возникает вопрос о выборе среды разработки, адекватности систем моделирования: будут ли реализованы так же все функции моделируемой системы? Будут ли получены одинаковые результаты моделирования?
Вспомним Р. Шеннона [24]: "Подобно всем мощным средствам, существенно зависящим от искусства их применения, имитационное моделирование способно дать либо очень хорошие, либо очень плохие результаты".
В пособии на детально разработанных и реализованных средствами GPSS World и AnyLogic моделях объектов с разнородными протекающими в них процессами помимо основной цели также демонстрируется достаточная адекватность GPSS World и AnyLogic относительно результатов моделирования.
В задачу автора не входило дать кардинальную оценку, какая система ИМ и в каких случаях предпочтительна. Читатель вправе сделать это самостоятельно, исходя из целей создания своей имитационной модели проектируемой системы и опираясь на приведенные в пособии результаты.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.