Создание коллекции и агентов
Из постановки задачи известно, что для получения запасных частей каждый из аэропортов должен сформировать свой заказ и отправить на предприятие. Чтобы отразить это в модели, создайте новый агент. Для удобства проведения в дальнейшем оптимизации вынесите количество грузовиков как отдельный параметр. Для этого перетащите из палитры Агент компонент Параметр и установите следующие свойства: Запустите… Читать ещё >
Создание коллекции и агентов (реферат, курсовая, диплом, контрольная)
Для удобства размещения Агентов в отмеченных точках объедините их в коллекцию.
- 1. Выделите все метки аэропортов (только аэропортов).
- 2. Из контекстного меню любой из меток выберите Создать коллекцию.
- 3. В свойствах коллекции задайте имя координатыАэропортов. Как понятно из названия, в этой коллекции будут храниться координаты аэропортов. В эти координаты необходимо поместить агентов. Для этого создайте популяцию агентов типа Аэропорт.
- 4. Из палитры Агент перетащите в область редактирования компонент Агент. Откроется окно Создание агентов.
- 5. Шаг 1. Выберите Популяция агентов. Нажмите Далее.
- 6. Шаг 2. Установите:
- • Не использовать шаблоны типов агентов;
- • Имя нового типа: Аэропорт;
- • Имя популяции: аэропорт.
Нажмите Далее.
- 7. Шаг 3. Анимация агента
- • Выберите анимацию агента: 2D;
- • Выберите Склад.
Нажмите Далее.
- 8. Шаг 4. Параметры агента. Пропустите этот шаг.
- 9. Шаг 5. Размер популяции. Выберите Я хочу добавить агентов позже. Нажмите Готово.
После нажатия кнопки Готово на объекте main появится иконка созданного агента (выбранная на шаге 3).
Теперь необходимо связать созданную популяцию аэропорт с координатами аэропортов и с количеством аэропортов, т. е. связать с коллекцией координатыАэропортов.
- 1. Щелкните популяцию аэропорт на объекте main.
- 2. На панели Свойства в графу Начальное количество агентов введите следующее выражение:
координатыАэропортов.size ().
Рис. 9.5. Процесс поиска по названию объекта
Рис. 9.6. Карта с метками всех объектов согласно постановке задачи
Данная функция возвращает количество элементов в коллекции координаты Аэропортов (в данном случае 7).
- 3. Для связи аэропортов с их координатами в поле Начальное местоположение выберите Расположить агентов в узле.
- 4. В поле Узел введите выражение:
координатыАэропортов.get (index).
Данная функция возвращает адреса (индексы) элементов в коллекции координатыАэропортов (меток на карте).
5. Запустите модель, нажав F5, чтобы проверить внесенные нами данные. Если все было сделано правильно, то на экране вы увидите, что агенты типа Аэропорт находятся по координатам аэропортов (рис. 9.7).
Теперь создайте тип агента с именем Предприятие для размещения предприятия в Нижнем Новгороде.
- 1. Из палитры Агент перетащите в область редактирования компонент Агент.
- 2. Откроется окно Создание агентов.
- 3. На Шаге 1 выберите Единственный агент. Нажмите Далее.
- 4. На Шаге 2 установите флажок Я хочу создать новый тип агента и нажмите Далее.
- 5. На Шаге 3 (Создание нового типа агента) задайте Имя нового типа
Предприятие и Имя агента предприятие. Выберите Создать новый тип агента «с нуля». Нажмите Далее.
Рис. 9.7. Выполнение модели с отмеченными аэропортами.
- 6. На Шаге 4, Анимация АГЕНТА выберите анимацию агента 2D и Завод. Нажмите Далее.
- 7. Пропустите Шаг 5, Параметры агента, и нажмите Готово.
На объекте main должна появиться иконка нового агента (завод).
Теперь нужно связать агента предприятие с меткой (координатами) на карте.
- 1. Выделите агента предприятие.
- 2. Перейдите на страницу (панель) Свойства.
- 3. Раскройте вкладку (секцию) Начальное местоположение.
- 4. Выберите Расположить агентов в узле.
- 5. В поле Узел: вместо Нет из выпадающего списка выберите метку НижнийНовгород, как на рис. 9.8.
Рис. 9.8. Свойства агента предприятие
6. Запустите модель. При правильном выполнении изложенных рекомендаций вы должны увидеть результаты моделирования как на рис. 9.9.
Согласно постановке задачи, доставка осуществляется автомобилями. Чтобы внести данные о них в модель, необходимо создать новую популяцию агентов.
- 1. Из палитры Агент перетащите в область редактирования компонент Агент. Откроется окно Создание агентов.
- 2. На Шаге 1 выберите Популяция агентов и нажмите Далее.
- 3. На Шаге 2 установите Я хочу создать новый тип агента. Нажмите Далее.
- 4. На Шаге 3, Создание нового типа агента, введите Имя нового типа
Автомобиль и Имя популяции автомобиль. Выберите Создать новый тип агента с нуля. Нажмите Далее.
- 5. Шаг 4. Выберите анимацию агента 2D, выберите Грузовик и нажмите Далее.
- 6. Шаг 5. Параметры агента. Установите параметры согласно рис. 9.10. Нажмите Готово.
Рис. 9.9. Выполнение модели с отмеченным на карте предприятием
Рис. 9.10. Параметры типа агента Автомобиль
Для удобства проведения в дальнейшем оптимизации вынесите количество грузовиков как отдельный параметр. Для этого перетащите из палитры Агент компонент Параметр и установите следующие свойства:
- • Имя: колАвтомобилей;
- • Тип: int;
- • Значение по умолчанию: 5.
Считаем, что все грузовики принадлежат предприятию (агент предприятие), поэтому нужно в свойствах популяции агента автомобиль указать начальное местоположение.
- 1. Выделите агента автомобиль.
- 2. Перейдите на страницу Свойства.
- 3. Раскройте вкладку Начальное местоположение.
- 4. Выберите Расположить агентов в узле.
- 5. В ноле Узел вместо Нет раскройте список, в котором выберите метку НижнийНовгород, как на рис. 9.11.
Рис. 9.11. Свойства популяции агента автомобиль
Из постановки задачи известно, что для получения запасных частей каждый из аэропортов должен сформировать свой заказ и отправить на предприятие. Чтобы отразить это в модели, создайте новый агент.
- 1. Из палитры Агент перетащите в область редактирования компонент Агент. Откроется окно Создание агентов.
- 2. Шаг 1. Выберите Просто создать тип агента. Нажмите Далее.
- 3. Шаг 2. Установите Имя нового типа: Заказ, Создать новый тип агента с «нуля», и нажмите Далее.
- 4. Шаг 3. Анимация агента. Выберите Нет и нажмите Далее.
- 5. Шаг 4. Параметры агента. Установите согласно рис. 9.12 параметр потребитель. Нажмите Готово.
Теперь необходимо показать, что грузовики являются ресурсом предприятия.
- 1. Из вкладки Проекты (или из объекта main) откройте тип агента Предприятие.
- 2. Перенесите на него из палитры Библиотека моделирования процессов блок Resource Pool, который задает набор доступных ресурсов, в данном случае — автомобилей.
- 3. Задайте параметры блока Resource Pool (рис. 9.13).
Рис. 9.12. Параметры типа агента Заказ
Рис. 9.13. Свойства блока Resource Pool
На рис. 9.13 видно, что значение Количество ресурсов соответствует значению созданного ранее параметра колАвтомобилей. Необходимо отметить, что этот блок добавляет к новым ресурсам популяцию автомобиль (тат.автомобиль).
Запустите модель для проверки введенных исходных данных. Если вами все выполнено правильно, то результаты моделирования будут соответствовать приведенным на рис. 9.14.
На этом ввод исходных данных можно считать законченным.
Введены аэропорты (их координаты), предприятие (координаты), автомобили (как ресурс производства), создан заказ запасных частей (как тип агента Заказ).
Теперь перейдем к логике работы аэропортов и предприятия.
Рис. 9.14. Результаты выполнения модели с грузовиками на предприятии.