В AnyLogic агент играет роль среды для популяций агентов на диаграмме. В одной модели может быть задано сразу несколько сред; эти среды могут быть иерархически организованы (например, агенты-компании могут находиться в одной среде, а агенты-служащие при этом могут обитать в локальной среде, заданной внутри компании). Популяция агентов может принадлежать максимум одной среде.
Чтобы задать среду для популяции агентов
Функция |
Описание |
NetworkType getNetworkType() |
Возвращает тип сети. Возможные значения:
NETWORK_USER_DEFINED - задается пользователем NETWORK_RANDOM - случайная NETWORK_ALL_IN_RANGE - согласно расстоянию NETWORK_RING_LATTICE - решеточно упорядоченное кольцо NETWORK_SMALL_WORLD - малый мир NETWORK_SCALE_FREE - безразмерная. |
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().
Параметры: |
void setNetworkUserDefined() |
Устанавливает тип сети "задается пользователем". Поэтому последующий вызов функции applyNetwork() ничего не даст. Также это тип сети по умолчанию. |
void setNetworkAllInRange(double connectionRange) |
Устанавливает тип сети, в которой агенты связаны, если расстояние между ними не превышает заданное. Такой тип сети доступен только в непрерывном пространстве. Связи в сети создаются отдельно вызовом функции applyNetwork().
Параметр: |
void applyNetwork() |
Удаляет все существующие связи и создает новые соответственно текущим настройкам сети. |
void applyNetwork(Random r) |
Удаляет все существующие связи и задает новые соответственно текущим настройкам сети с помощью выбранного генератора случайных чисел.
Параметр: |