Среда

В AnyLogic агент играет роль среды для популяций агентов на диаграмме. В одной модели может быть задано сразу несколько сред; эти среды могут быть иерархически организованы (например, агенты-компании могут находиться в одной среде, а агенты-служащие при этом могут обитать в локальной среде, заданной внутри компании). Популяция агентов может принадлежать максимум одной среде.

 Чтобы задать среду для популяции агентов

  1. В панели Проекты щелкните тип агента, в котором обитают ваши агенты (например, Main). Откроется панель Свойства этого типа агентов.
  2. Откройте секцию Пространство и сеть.
  3. В списке Выберите популяции агентов..., выберите популяции, которые хотите поместить в данную среду.
  4. В свойствах ниже выберите требуемый Тип пространства и настройте его свойства.
  5. Дополнительно, выберите Тип расположения и Тип сети

Динамическое управление стандартной сетью контактов агента

Функция

Описание

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().

Параметры:
connectionsPerAgent - количество связей для каждого агента (одинаковое)
neighborLinkProbability - вероятность связи с соседями

void setNetworkUserDefined()

Устанавливает тип сети "задается пользователем". Поэтому последующий вызов функции applyNetwork() ничего не даст. Также это тип сети по умолчанию.

void setNetworkAllInRange(double connectionRange)

Устанавливает тип сети, в которой агенты связаны, если расстояние между ними не превышает заданное. Такой тип сети доступен только в непрерывном пространстве.  Связи в сети создаются отдельно вызовом функции applyNetwork().

Параметр:
connectionRange - максимальное расстояние между связанными агентами. В случае, если агенты обитают в пространстве ГИС, измеряется в метрах

void applyNetwork()

Удаляет все существующие связи и создает новые соответственно текущим настройкам сети.

void applyNetwork(Random r)

Удаляет все существующие связи и задает новые соответственно текущим настройкам сети с помощью выбранного генератора случайных чисел.

Параметр:
r - генератор случайных чисел