
Министерство образования и науки РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ»
(ФГОУ ВПО «ВГТУ»)
Факультет информационных технологий и компьютерной безопасности
Кафедра «Автоматизированные и вычислительные системы»
Специальность «Вычислительные машины, комплексы,
системы и сети»
Отчет по лабораторной работе №1
По дисциплине «Моделирование»
Выполнила: студентка группы ВМ-111
Т.В.Стукалова
Проверил: С.А.Рыков
Воронеж 2013г.
Замечания руководителя
Агентное моделирование
AnyLogic поддерживает метод агентного моделирования (так же как системную динамику и дискретно-событийное моделирование) и позволяет Вам эффективно комбинировать этот метод с другими известными подходами.
С точки зрения практического применения агентное моделирование можно определить как метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как это поведение определяет поведение всей системы в целом. При разработке агентной модели, инженер вводит параметры агентов (это могут быть люди, компании, активы, проекты, транспортные средства, города, животные и т.д.), определяет их поведение, помещает их в некую окружающую среду, устанавливает возможные связи, после чего запускает моделирование. Индивидуальное поведение каждого агента образует глобальное поведение моделируемой системы.
Область применения агентного моделирования
Хороший пример использования агентного моделирования – потребительский рынок. В очень динамичной, конкурентной и сложной среде рынка выбор покупателя зачастую зависит от индивидуальных особенностей, врожденной активности потребителя, сети контактов, а также внешних влияний, которые лучше всего описываются с помощью агентного моделирования.
Другой стандартный пример – это эпидемиология. Здесь агенты это люди, которые могут быть иммунными, носителями инфекции, переболевшими или восприимчивыми к болезни. Агентное моделирование поможет спроецировать в мир моделей социальные сети, разнородные контакты между людьми и в итоге получить объективные прогнозы распространения инфекции.
Однако, не следует думать, что агентное моделирование применимо только для решения задач коммуникативного характера. Задачи, связанные с логистикой, производством, цепями поставок или бизнес-процессами, также решаются с помощью агентного моделирования. Например, поведение сложной машины может быть эффективно смоделировано отдельным объектом (агентом) с картами состояний, описывающими ее систему таймеров, внутренних состояний, разного рода реакции в различных ситуациях и т.д. Подобная модель может быть необходима для воссоздания технологических процессов на производстве.
Участники цепочки поставок (компании-производители, оптовые торговцы, розничные продавцы) могут быть представлены как агенты с индивидуальными целями и правилами. Агенты могут также быть проектами или продуктами в пределах одной компании, при этом обладать собственной динамикой и внутренними состояниями, конкурировать за ресурсы компании.
Поддержка агентного моделирования в AnyLogic
Агентные модели, применяемые на практике, очень разнообразны, поэтому почти невозможно создать универсальную библиотеку под любые нужды, а тем более упростить разработку модели до пары кликов мыши. Существуют, однако, некоторые "шаблоны" моделирования агентных систем, которые упрощают создание модели и включены в AnyLogic:
Стандартная архитектура
Агентная синхронизация ("шаги")
Состояние (непрерывное или дискретное или ГИС), подвижность и анимация
Агентные связи (сети, например социальные) и их взаимодействие друг с другом
Динамическое создание и уничтожение агентов
Создание стандартной агентной модели в AnyLogic заключается в объявление двух активных классов. К примеру, класс Main для описания высокоуровневого объекта, где содержаться все агенты, и класс Person для описания агента нижнего уровня. Класс Person, в большинстве случаев, был бы объявлен как Agent – специальный класс подкласса ActiveObject, который расширил бы класс Person под цели агентого моделирования. Число агентов было бы включено в класс Main как дубликаты объекта "человек" класса Person. Одна или более конструкций типа Среда могут быть определены на уровне класса Main для установления свойств агентов. Впрочем, Вы можете легко определить другие иерархии в Вашей агентной модели, например у Вас могут быть компании-агенты, которые содержат служащих-агентов и общаются с потребителями-агентами.