Как сделать регион ГИС агентом в anylogic?

  1. Есть ли способ сделать регион ГИС агентом? Например, в Аризоне 15 округов. Могу ли я сделать отдельный район округа индивидуальным агентом? В обучающих материалах упоминается, как разместить одного агента в регионе ГИС, но не упоминается, как сделать весь регион ГИС агентом, который может иметь собственную диаграмму состояний.
  2. (Если можно сделать 1-й). Предположим, что в каждой из этих областей ГИС (округов) живет какой-нибудь агент Person. Есть ли способ переместить этого агента Person в зависимости от состояния агента округа? Проще говоря, я хочу переместить несколько агентов Person из округа «a» в другой округ «b» на основе диаграммы состояний округа. Если я отправляю сообщение или команду в диаграмму состояний Человек, я должен убедиться, что только те агенты, которые живут в округе «а», получают команду на перемещение. Есть ли способ смоделировать это?

person Tariq    schedule 18.11.2019    source источник


Ответы (1)


Номер 1 можно сделать, но не напрямую. Вот как:

  • создать тип агента "myGISRegion"
  • поместите в него параметр и измените его тип на «GISRegion», назовите его «p_MyGISRegion»
  • при создании его экземпляра на Main (или где-либо еще) установите параметр в GISRegion, который вам нравится ниже

введите здесь описание изображения

person Benjamin    schedule 19.11.2019
comment
Большое спасибо за ответ! Я обнаружил, что этот способ действительно помогает в создании агента в целом регионе. - person Tariq; 22.11.2019
comment
Однако таким образом я могу создать один единственный агент, но на самом деле я сталкиваюсь с проблемой создания нескольких агентов GISRegion. Есть ли способ создать несколько агентов GISRegion? Я попытался поместить все название округа в файл Excel и импортировать его как базу данных, но если я помещаю тип параметра в GISRegion, во время запуска модели появляется ошибка. (Ставлю агент вместо типа агента). Если я укажу тип агента для этой базы данных GISregion, то во время выполнения он не создаст никакой популяции агентов. Как я могу решить эту проблему? В очередной раз благодарим за помощь! - person Tariq; 22.11.2019
comment
Что ж, вместо этого создайте популяцию агентов и установите p_MyGISRegion в соответствии с функцией или подобным (агент 1 получает GISRegion X, агент 2 получает регион Y ...). Ознакомьтесь с некоторыми примерами моделей, чтобы увидеть, как работают популяции агентов :-) - person Benjamin; 22.11.2019