В AnyLogic агент играет роль среды для популяций агентов на диаграмме. В одной модели может быть задано сразу несколько сред; эти среды могут быть иерархически организованы (например, агенты-компании могут находиться в одной среде, а агенты-служащие при этом могут обитать в локальной среде, заданной внутри компании). Популяция агентов может принадлежать максимум одной среде.
Чтобы задать среду для популяции агентов
- В панели Проекты щелкните тип агента, в котором обитают ваши агенты (например, Свойства этого типа агентов.
- Откройте секцию Пространство и сеть.
- В списке Выберите популяции агентов... выберите популяции, которые хотите поместить в данную среду.
- В свойствах ниже выберите требуемый Тип пространства и настройте его свойства.
- Дополнительно, выберите Тип расположения и Тип сети.
Функция | Описание |
---|---|
NetworkType getNetworkType() |
Возвращает тип сети. Возможные значения:
NETWORK_USER_DEFINED — задается пользователем |
double getNetworkConnectionRange() | Параметр типа сети "согласно расстоянию" — радиус соединения. Будут соединены все агенты, находящиеся друг от друга не дальше заданного радиуса (в пикселях). |
double getNetworkConnectionsPerAgent() | Возвращает среднее (или точное) количество связей, приходящихся на каждого агента. Применимо к типам сетей: "случайная", "решеточно упорядоченное кольцо" и "малый мир". |
double getNetworkNeighborLinkProbability() | Возвращает вероятность связи агента быть соседом. Применимо к типу сети "малый мир". |
int getNetworkScaleFreeM() | Возвращает параметр M безразмерной сети. Применимо к типу сети "безразмерная". |
void setNetworkRandom(double connectionsPerAgent) |
Устанавливает тип сети "случайная" с заданным средним количеством связей на агента. Связи в сети создаются отдельно вызовом функции applyNetwork(). connectionsPerAgent — среднее количество связей для агента |
void setNetworkRingLattice(int connectionsPerAgent) |
Устанавливает типа сети "решеточно упорядоченное кольцо". Все агенты должны располагаться в кольце в своем естественном порядке и иметь заданное количество связей с ближайшими соседями. Связи в сети создаются отдельно вызовом функции applyNetwork(). connectionsPerAgent — количество связей для каждого агента (одинаковое) |
void setNetworkScaleFree(int m) |
Устанавливает тип сети "безразмерная". m — параметр безразмерной сети (начальное количество хабов) |
void setNetworkSmallWorld(int connectionsPerAgent, double neighborLinkProbability) |
Устанавливает тип сети "малый мир". Тип сети "малый мир" может быть получен из типа "решеточно упорядоченное кольцо" изменением некоторых связей на дальние. Связи в сети создаются отдельно вызовом функции applyNetwork(). connectionsPerAgent — количество связей для каждого агента (одинаковое) neighborLinkProbability — вероятность связи с соседями |
void setNetworkUserDefined() | Устанавливает тип сети "задается пользователем". Поэтому последующий вызов функции applyNetwork() ничего не даст. Также это тип сети по умолчанию. |
void setNetworkAllInRange(double connectionRange) |
Устанавливает тип сети, в которой агенты связаны, если расстояние между ними не превышает заданное. Такой тип сети доступен только в непрерывном пространстве. Связи в сети создаются отдельно вызовом функции applyNetwork(). connectionRange — максимальное расстояние между связанными агентами. В случае, если агенты обитают в пространстве ГИС, измеряется в метрах |
void applyNetwork() | Удаляет все существующие связи и создает новые соответственно текущим настройкам сети. |
void applyNetwork(Random r) |
Удаляет все существующие связи и задает новые соответственно текущим настройкам сети с помощью выбранного генератора случайных чисел. r — генератор случайных чисел |
-
Как мы можем улучшить эту статью?
-