Uploaded by Саша Чепурченко

ЧепурченкоПоснЗаписка

advertisement
Содержание
Введение ......................................................................................................................... 5
1 Исследование вопросов применения агентно-ориентированных технологий
моделирования. .............................................................................................................. 6
1.1. Введение в агентное моделирование ................................................................. 6
1.2. Технология разработки агентной модели.......................................................... 7
1.3. Программная реализация агентных моделей .................................................... 8
2 Разработка модели и проведение моделирования в среде GPSS работы
вычислительной системы по обработке заданий в течении заданного промежутка
времени ......................................................................................................................... 10
2.1 Постановка задачи ..................................................................................................10
2.2 Создание концептуальной модели .......................................................................10
2.3 Структурная схема модели в символике Q-схем ................................................12
2.4 Блок-схема алгоритма имитационного моделирования .....................................13
2.5 Программный код в среде GPSS...........................................................................13
2.6 Загрузка программного кода модели системы в среду GPSS ............................15
2.7 Отладка и тестирование имитационной модели .................................................16
2.8 Создание отчета по результатам моделирования ...............................................17
3 Анализ результатов моделирования ....................................................................... 19
Заключение .................................................................................................................. 20
Список использованных источников ........................................................................ 21
Лист
4
Введение
Сущность машинного моделирования системы состоит в проведении на
ЭВМ эксперимента с моделью этой системы, что способствует уменьшению
риска провала эксперимента, проводимого непосредственно опытным путем. Тем
самым уменьшая экономические затраты, а так же повышая безопасность
персонала при сложном эксперименте, если нет уверенности в положительном
исходе последнего. В настоящее время метод машинного моделирования нашел
широкое применение при разработке обеспечивающих и функциональных
подсистем различных интегрированных АСУ, автоматизированных подсистем
научных исследований и комплексных испытаний, систем автоматизации
проектирования и т.д. При этом независимо от объекта можно выделить
следующие основные этапы моделирования: построение концептуальной модели
системы и ее формализация; алгоритмизация модели системы и ее машинная
реализация; получение результатов машинного моделирования и их
интерпретация.
На первом этапе моделирования формулируется модель, строится ее
формальная схема и решается вопрос об эффективности и целесообразности
моделирования системы (об аналитическом расчете или имитационном
моделировании) на вычислительной машине.
На втором этапе математическая модель, сформулированная на первом
этапе, воплощается в машинную модель, т.е. решается проблема алгоритмизации
модели, ее рационального разбиения на блоки и организации интерфейса между
ними; при этом также решается задача обеспечения получения необходимой
точности и достоверности результатов при проведении машинных экспериментов.
На третьем этапе ЭВМ используется для имитации процесса
функционирования системы, для сбора необходимой информации, ее статической
обработки в интерпретации результатов моделирования.
Выбор в качестве средств программной реализации моделей языка GPSS
обусловлен тем, что в настоящее время он является одним из наиболее
эффективных и распространенных программных средств моделирования сложных
дискретных систем на ПЭВМ и успешно используются для моделирования
систем, формализуемых в виде схем массового обслуживания.
Лист
5
1 Исследование
вопросов
применения
ориентированных технологий моделирования.
агентно-
1.1.
Введение в агентное моделирование
Моделирование – метод исследования объекта познания путем его
замещения другим объектом – моделью. Моделирование можно применять, когда
проведение экспериментов над реальной системой невозможно или
нецелесообразно, например, из-за высокой стоимости или длительности
проведения, или для оптимизации продукта до его реализации.
Имитационное моделирование (ситуационное моделирование) – метод,
позволяющий создавать модели, который описывают процессы так, как они
проходили бы в действительности. Чаще всего имитационная модель является
компьютерной программой, которая позволяет получать подробную статистику о
различных аспектах функционирования системы в зависимости от входных
данных путем постановки над ней экспериментов. Таким образом, целью данного
моделирования в конечном счете является принятие обоснованных,
целесообразных управленческих решений.
Агентное моделирование – метод имитационного моделирования,
исследующий поведение децентрализованных агентов и то, как такое поведение
определяет поведение всей системы в целом. Агентная модель состоит из агентов,
отношений и среды. Можно сказать, что агентное моделирование позволяет
выявлять, как значительные последствия зарождаются из небольших на первый
взгляд незначительных факторов, определяющих поведение и взаимодействие
многих агентов.
Агент – это элемент модели, который может моделировать различные
элементы, например социальные агенты (люди, социальные группы, покупатели и
т.д.), экономические агенты (государство, регионы, отрасли, фирмы и т.д.),
технические агенты (автомобили, роботы, самолёты и т.д.), экосистемные агенты
(газовые облака, пожары, тайфуны и т.д.).
Агент может обладать определенными свойствами:




адаптивность – способность обучаться;
автономность – независимость от чего-либо;
коммуникативность – способность общаться с другими агентами;
мобильность – способность перемещения агента из одной агентской
группы в другую;
На сегодняшний день нет единого соглашения об определении агента в
контексте агентного моделирования, за исключением свойства автономности.
Поведение агента задается так называемой картой состояний,
программируемой на индивидуальном уровне. То есть, агентно-ориентированный
подход позволяет учесть индивидуальные особенности активных элементов
социально-экономической системы.
Карта состояний позволяет графически определить возможные состояния
агента, переходы между ними, события, вызывающие эти переходы, временные
Лист
6
задержки и действия, совершаемые агентом на протяжении своего жизненного
цикла. Таким образом, данные конструкции позволяют задавать режимы
функционирования агента.
Агент может иметь несколько активных карт состояний, каждая из которых
отвечает за какой-либо аспект его деятельности, например, за производство,
финансы и т.д.
Среда определяет условия существования, действий и взаимодействий
агентов. В частности, обеспечивают информацию о пространственном положении
агента. Среды могут отличаться по следующим параметрам: замкнутые и
открытые, трансформируемые и не трансформируемые, детерминированные или
стохастические. Открытые среды отличаются от замкнутых тем, что замкнутые
могут быть полностью определены в начале моделирования, а открытые могут
расширяться со временем, например, в них могут появляться новые агенты и
уходить старые. Трансформируемые среды могут изменяться под действием
агентов. Стохастические среды могут использовать случайные числа в процессе
моделирования, когда в детерминированных все изменения происходят в
соответствии с заданными условиями.
Система, в которой существуют агенты различных классов, которые
потенциально могут взаимодействовать друг с другом, называется многоагентной
системой. Агенты в таких системах могут быть распределены по различным
условиям, которые делятся на категории:
 семантическое распределение – агенты образуют кластеры или
объединения, разделенные между собой разными характеристиками и
правилами принятия решений;
 пространственное распределение – например, географическое
распределение, вносимое в многоагентную систему для
моделирования территориально распределенных систем, где у каждой
территории свои свойства и своя специфика, воздействующая на
агентов;
 временное распределение – например, в общем случае агенты могут
рождаться и умирать в системе в произвольные моменты времени или
в соответствии с введенными в систему закономерностями;
В результате в многоагентной системе могут реализовываться различные
виды взаимодействий агентов: базовое взаимодействие, координация, ведение
переговоров, рыночные механизмы и др.
1.2.
Технология разработки агентной модели
Построение агентной модели в целом не отличается от построения любой
другой модели и включает те же этапы: сначала определение целей
моделирования; далее системный анализ моделируемой предметной области, с
целью определения ее компонентов, их связей, соответствующих источников
данных и т.д.; анализ чувствительности и проведение ряда экспериментов с
различными входными параметрами.
Лист
7
Агентное моделирование в первую очередь рассматривает системы с
ракурса индивидуальных агентов, а не процессов протекающих в ней. Поэтому в
добавление к стандартным задачам моделирования добавляются идентификация
агентов и их поведения, идентификация взаимоотношений агентов, а также сбор
первоначальных данных об агентах.
На начальном этапе необходимо определить основные типы объектов и
данных:
 агенты – идентифицировать предполагаемые типы агентов и других
объектов, включая их свойства и атрибуты;
 окружение – идентифицировать среду, в которой будут существовать
агенты и взаимодействовать друг с другом;
 операционные правила или алгоритмы – определить правила,
изменяющие атрибуты агентов в ответ на их взаимодействие друг с
другом и с окружающей средой;
 взаимодействие – добавить методы, контролирующие, кто, когда и как
должен взаимодействовать
Первичные данные по агентам и внешней среде собираются на
микроуровне, где они, как правило, представлены в достаточном количестве в
реальных системах и их базах данных.
1.3. Программная реализация агентных моделей
Широкомасштабные ABMS (Agent-based Modeling and Simulation)
расширяют возможности агентного моделирования, позволяя тысячам или даже
миллионам агентов принимать участие в имитации. Это означает, что агентное
моделирование может быть реализовано и как небольшая модель на одном
компьютере, и как крупномасштабная разработка с использованием ряда
вычислительных машин и специальных компьютерных технологий.
Агентное моделирование не имеет сложившегося набора стандартных
функций и процедур для разработки моделей. Для представления моделей может
быть использован язык UML. UML – язык графического моделирования, в том
числе объектно-ориентированных систем, поддерживает возможность
моделировать непосредственно самих агентов системы и описывать внутренние
связи. UML включает в себя ряд четко структурированных типов диаграмм и
графических элементов, призванных различными способами представить модель.
Таким образом, модели, построенные при помощи языка UML, имеют высокий
уровень абстракции и независимы от языка конкретной реализации объектноориентированной модели.
Большинство инструментальных средств, предоставляющих возможность
агентного моделирования, опираются на парадигму объектно-ориентированного
программирования. Парадигма объектно-ориентированного программирования
также свойственна агентному моделированию и с точки зрения использования
объектом класса как шаблона, а его методов – как правил поведения агента.
В последнее время стали появляться специализированные среды для
многоагентного моделирования. К коммерческим профессиональным
Лист
8
симуляторам, поддерживающим агентное моделирование, можно отнести Any
Logic. Данный симулятор поддерживает метод агентного моделирования и
позволяет эффективно комбинировать этот метод с другими известными
подходами.
Для визуального описания поведения агентов используются диаграммы
состояний (стейтчарты), являющиеся стандартным инструментом UML.
Диаграммы состояний представляют собой ориентированные графы, узлы
которых называются состояниями, а дуги – переходами. Стейтчарты могут
описывать поведение состояния агента и изменение состояний под воздействием
событий и условий.
Лист
9
2 Разработка модели и проведение моделирования в среде
GPSS работы вычислительной системы по обработке заданий в
течении заданного промежутка времени
2.1 Постановка задачи
Условие задачи на моделирование поставлены следующим образом:
Вычислительная система включает три ЭВМ. В систему в среднем через 30 с.
поступают задания, которые попадают в очередь на обработку к первой ЭВМ, где
они обрабатываются около 30 с. После этого задание поступает одновременно во
вторую н третью ЭВМ. Вторая ЭВМ может обработать задание за 14 ± 5 с, а
третья — за 16 ± 1 с. Окончание обработки задания на любой ЭВМ означает
снятие ее с решения с той и другой машины. В свободное время вторая и третья
ЭВМ заняты обработкой фоновых задач.
Смоделировать 4 часа работы вычислительной системы; определить
необходимую емкость накопителей перед всеми ЭВМ, коэффициенты загрузки
ЭВМ и функцию распределения времени обслуживания заданий; определить
производительность второй и третьей ЭВМ на решении фоновых задач при
условии, что одна фоновая задача решается 2 мин.
2.2 Создание концептуальной модели
Для описания процессов протекающих в моделях систем массового
обслуживания для наглядности и лучшего понимания системы используют
структурные схемы, которые отражают физическую структуру системы.
Структурная схема представлена на рисунке 1.
Рисунок 1. Структурная схема процесса функционирования
вычислительной системы
Анализ условия задачи и структурной схемы позволяет сказать, что в
процессе взаимодействия пользователей с вычислительной системой возможны
следующие ситуации:
 режим обслуживания заданий, когда вторая и третья ЭВМ
обрабатывают задание, поступившее от первой ЭВМ;
 режим обслуживания фоновых задач, когда вторая и третья ЭВМ
обрабатываю фоновые задачи.
Лист
10
Более детально процесс функционирования вычислительной системы
можно представить на временной диаграмме (рисунок 2).
На диаграмме:
- ось 1 – моменты прихода заданий в вычислительную систему;
- ось 2 – пребывание заданий в накопителе, перед первой ЭВМ
- ось 3 – обработка заданий в первом ЭВМ
- оси 4, 5 – пребывание заданий во втором и третьем накопителях;
- оси 6, 7 – пребывание фоновых задач в накопителях;
- оси 8, 9 – обработка заданий во втором и третьем ЭВМ;
- t1, t2, t5 – моменты поступления заданий в вычислительную систему
- t3, t4 – моменты поступления фоновых задач на обработку в
вычислительную систему
Пунктиром на временной диаграмме указано поведение фоновых задач в
процессе обработки.
Рисунок 2 – Временная диаграмма процесса функционирования
вычислительной системы
С помощью временной диаграммы можно выявить все особые состояния
системы, которые необходимо учесть при построении детального моделирующего
алгоритма. Все описанное выше есть, по сути, этап построения концептуальной
модели системы.
Лист
11
2.3 Структурная схема модели в символике Q-схем
Для описания СМО, как непрерывно-стохастических процессов, используют
Q-схемы, отражающие элементы и структуру СМО. В соответствии с
построенной концептуальной моделью и символикой Q-схем структурную схему
данной СМО (рисунок 1) можно представить в виде, показанном на рисунке 3, где
И - источник, К – канал, Н – накопитель.
Рисунок 3 – Структурная схема вычислительной системы в символике Qсхем
Источник И1 имитирует процесс прихода заданий в вычислительную
систему. Задания поступают в накопитель Н1 перед каналом К1,
соответствующему первой ЭВМ .
Заявки, обслуженные каналом К1, поступают в накопители Н2 и Н3, а затем
обслуживаются каналами К2 и К3, соответствующими второй и третьей ЭВМ.
Источники И2 и И3 имитируют процесс прихода фоновых задач в
вычислительную систему. Фоновые задачи поступают в накопители Н4 и Н5, а
затем, если каналы К2 и К3 свободны, обслуживаются ими. При поступлении
заданий от источника И1, обслуженных каналом К1, обслуживание фоновой
задачи приостанавливается, она отправляется обратно в накопитель и начинается
обработка задания, после чего обслуживание фоновой задачи возобновляется.
Лист
12
2.4 Блок-схема алгоритма имитационного моделирования
Рисунок 4 – Обобщенная схема моделирующего алгоритма процесса
функционирования вычислительной системы
2.5 Программный код в среде GPSS
Для большей наглядности в программе в качестве времени генерации
фоновых задач взята величина 200 ±30 сек. Программный код модели системы в
среде GPSS выглядит следующим образом:
GENERATE
30,,,,1 ;генерация поступления заданий в
первую ЭВМ
QUEUE Och1;очередь к первой ЭВМ
Лист
13
SEIZE
PK1 ;занять первую ЭВМ
DEPART Och1;уйти из очереди к первой ЭВМ
ADVANCE
30 ;время обработки задания в первой ЭВМ
RELEASE
PK1 ;освободить первую ЭВМ
SPLIT
1,RPK3;создает копию текущего задания, который посылается
в блок по метке RPK3
QUEUE OCH2 ;занять очередь перед второй ЭВМ
PREEMPT
PK2,,LBL1,1,RE ;задание занимает вторую
ЭВМ, фоновая задача отправляется по метке LBL1
DEPART OCH2;освободить очередь ко второй ЭВМ
ADVANCE
14,5 ;время обработки задания на второй
ЭВМ
RETURN PK2 ;задание освобождает вторую ЭВМ
GATE U PK3,TERM ;проверка занятости третьей ЭВМ
PREEMPT
PK3,,TERM,,RE ;прерывание третьей ЭВМ,
переход по метке TERM
RETURN PK3 ;задание освобождает третью ЭВМ
TERM
TERMINATE ;уничтожает задание
RPK3
QUEUE OCH3 ;занять очередь к третьей ЭВМ
PREEMPT
PK3,,LBL2,1,RE ;задание занимает третью
ЭВМ, фоновая задача отправляется по метке LBL2
DEPART OCH3 ;освободить очередь к третьей ЭВМ
ADVANCE
16,1 ;время обработки задания на третьей
ЭВМ
RETURN PK3 ;задание освобождает третью ЭВМ
GATE U PK2,TERM2 ;проверка занятости второй ЭВМ
PREEMPT
PK2,,TERM2,,RE ;прерывание второй ЭВМ,
переход по метке TERM2
RETURN PK2 ;задание освобождает вторую ЭВМ
TERM2 TERMINATE ;уничтожает задание
GENERATE
200,30,,,0 ;генерация поступления фоновых
задач
ASSIGN 1,0 ;присваивает первому параметру задания значение 0
LBL1
QUEUE FON1 ;занять очередь фоновых задач
SEIZE
PK2 ;занять вторую ЭВМ
DEPART FON1 ;освободить очередь фоновых задач
TEST NE P1,0,LBL11 ;если время обработки фоновой задачи не
закончилось, то переход в следующий блок, иначе переход по метке LBL11
ADVANCE
P1 ;продолжение обработки фоновой задачи
TRANSFER
,FONT1 ;переход фоновой задачи по метке
FONT1
LBL11 ADVANCE
120 ;обработка новой фоновой задачи
FONT1 RELEASE
PK2 ;освобождение второй ЭВМ
TERMINATE ;уничтожает задание
Лист
14
GENERATE
200,30,,,0 ;генерация поступления фоновых
задач
ASSIGN 1,0 ;присваивает первому параметру задания значение 0
LBL2
QUEUE FON2 ;занять очередь фоновых задач
SEIZE
PK3 ;занять вторую ЭВМ
DEPART FON2 ;освободить очередь фоновых задач
TEST NE P1,0,LBL21 ;если время обработки фоновой задачи не
закончилось, то переход в следующий блок, иначе переход по метке LBL21
ADVANCE
P1 ;продолжение обработки фоновой задачи
TRANSFER
,FONT2 ;переход фоновой задачи по метке
FONT2
LBL21 ADVANCE
120 ;обработка новой фоновой задачи
FONT2 RELEASE
PK3 ;освобождение третьей ЭВМ
TERMINATE ;уничтожает задание
GENERATE
14400 ;моделирование 4 часов работы
TERMINATE
1 ;уменьшение значение счетчика
завершения на 1 спустя 4 часа моделирования
START 1 ;счетчик завершения
2.6 Загрузка программного кода модели системы в среду GPSS
Загрузка программного кода представлена на рисунке 5.
Рисунок 5 – Код в среде GPSS
Лист
15
2.7 Отладка и тестирование имитационной модели
Рисунок 6 – Окно JOURNAL после отладки
Длины очередей можно исследовать по окну блоков (рисунок 7)
Рисунок 7 – Окно BLOCK ENTITIES
Лист
16
2.8 Создание отчета по результатам моделирования
Представление отчета по модели вычислительной системы.
Рисунок 8 – Первая часть отчета о результатах моделирования
Лист
17
Рисунок 9 – Вторая часть отчета о результатах моделирования
Лист
18
3 Анализ результатов моделирования
По завершению моделирования 4-х часов работы вычислительной системы
можно проанализировать отчет и ответить на поставленные в задании вопросы.
Анализируя отчет видно, что очереди основных заданий имеют
максимальное значение 1, так как время обработки в первой ЭВМ совпадает с
временем поступления заданий, а время обработки на второй и третьей ЭВМ
меньше времени обработки заданий на первой ЭВМ. Из этого можно сделать
вывод, что накопители для основных заданий не требуются. Для фоновых задач
объем накопителей зависит от интервала их подачи, в нашем случае объем
накопителей должен быть равен 12 для второй и третьей ЭВМ.
Коэффициент загрузки ЭВМ можно также взять из отчета. Для первой ЭВМ
коэффициент загрузки равен 0.998, для второй – 0.990, для третьей – 0.990.
Вторая и третья ЭВМ за 4 часа успели выполнить по 60 фоновых задач.
Используя эти данные можно найти коэффициенты загрузки второй и третьей
ЭВМ фоновыми задачами по формуле:
Nф1 – число обработанных фоновых задач
tобр – время обработки фоновой задачи
T – общее имитируемое время работы вычислительной системы
Коэффициенты загрузки второй и третьей ЭВМ фоновыми задачами равны:
Kф1 = Kф2 = 60*120/14400 = 0.5. Используя этот параметр можно узнать
коэффициенты загрузки второй и третьей ЭВМ основными заданиями и они
равны: Ко1 = Ко2 = 0.990 – 0.5 = 0.490.
Лист
19
Заключение
Основной целью данной курсовой работы является построение и
исследование модели СМО с помощью ЭВМ, используя методы имитационного
моделирования. Моделирование на ЭВМ проводилось с помощью программного
средства GPSS World Student Version. Для оптимизации данной системы
необходимо определится с тем, что необходимо оптимизировать: если это
увеличение количества обработанных фоновых задач, то увеличить скорость
обработки второй и третьей ЭВМ, если увеличивается интенсивность
поступления основных задач, то уменьшить время обработки на первой ЭВМ, при
этом если необходимо проделать и то и другое, то необходимо применить эти два
улучшения.
Отвечая на поставленный в задании вопрос, можно заметить, что емкость
накопителей перед всеми ЭВМ, исключающая потери заданий вследствие
переполнения накопителей составляет 1 задание, при этом заявки не
задерживаются в накопителе. Из данного заключения можно сделать вывод о том,
что можно обойтись без накопителей для основных заданий. Для фоновых же
задач емкость накопителей определяется в первую очередь частотой их
появления. Для использованного в программе промежутка времени между
появлением фоновых задач необходим накопитель емкостью, позволяющей
хранить 12 фоновых задач.
Применение ЭВМ для моделирования реальных процессов является очень
выгодным в стоимостном и временном выражении, откуда следует, что
актуальность этого не вызывает никаких сомнений и эти тенденции ведут к
повсеместному увеличению использования ЭВМ для моделирования процессов
работы различных систем.
Лист
20
Список использованных источников
1. Советов Б.Я., Яковлев С.А. Моделирование систем: Учеб. для вузов - 4е изд., перераб. и доп. - М.: Высш. шк., 2005. - 343 с.: ил.
2. Советов Б.Я., Яковлев С.А. Моделирование систем. Практикум: Учеб.
пособие для вузов по спец. "Автоматизированные системы обработки
информации и управления". - М.: Высш. шк., 2005. - 224 с.: ил.
3. Шрайбер Т. Дж. Краткое практическое руководство по GPSS. - М.:
Машиностроение, 2004. - 221 с.: ил.
4. Аверьянов В.Т., Полынько С.В. Имитационное моделирование системы
массового обслуживания на языке GPSS WORLD // Научно-аналитический
журнал "Вестник Санкт-Петербургского университета Государственной
противопожарной службы МЧС России". 2010. Т. 7. № 3. С. 37-44.
5. Баженов Р.И., Лопатин Д.К. Об имитационном моделировании
экономических процессов средствами специализированной программной среды //
Молодой ученый. 2014. № 4. С. 88-92.
6. Кудрявцев Е. GPSS World. Основы имитационного моделирования
различных систем. М.:ДМК Пресс, 2013. 320 с.
7. Лебединский Б.П., Желекова Е.Э. Имитационное моделирование
систем массового обслуживания в программном продукте GPSS // Вестник
Курганского государственного университета. Серия: Технические науки. 2012. №
24. С. 66-69.
Лист
21
Download