Ограничения являются условиями, которые должны быть удовлетворены во время анализа. Сетевая модель данных поддерживает сетевые ограничения, чтобы приложения могли во время анализа накладывать на сеть специфические для приложения условия. Интерфейс Java NetworkConstraint может быть реализован пользователем, и успешно передан в любую аналитическую функцию сетевой модели данных. 9 показывает аналитическую информацию, которая доступна пользователям для реализации их сетевых ограничений.
9.Аналитическая информация для сетевых ограничений
Ниже приводятся некоторые примеры сетевых ограничений:
Сетевой анализ может быть ограничен на основании глубины пути поиска, предельного значения стоимости или области (минимальный ограничивающий прямоугольник), в которой происходит анализ. Эти ограничения могут использоваться для определения предпочтительного подмножества возможных решений. Сетевая модель данных предлагает для этих общеупотребительных сетевых ограничений класс SystemConstraint (являющийся реализацией класса NetworkConstraint). Пользователи могут создать экземпляр SystemConstraint и использовать его при анализе.
Иногда узлы или соединения должны быть временно выключены перед началом анализа, например, строящиеся или реконструируемые сегменты дороги для дорожной сети, или водяные краны (узлы), закрытые в водопроводной сети на ремонт. Вы можете сделать узел или соединение неактивными, устанавливая их состояние на false (ложь). Являющиеся неактивными сетевые элементы не будут рассматриваться во время анализа. Отметьте, что изменение состояния узлов и соединений не затрагивает постоянную модель данных.
Иногда сетевой анализ должен проводиться только для узлов и соединений определенных типов или с определенными требованиями.
Ограничения поворота – это ограничения, в которых задействованы два соединения. Они часто встречаются в маршрутизации для транспортных сетей. В следующем примере запрещенный поворот представлен начальным соединением и конечным соединением (см. ). Для пересечений с ограничениями поворота, типа “никакого поворота “U”” или “никакого левого поворота”, если поиск сталкивается с соединением начала запрещенного поворота, поиск не продолжается до конечного соединения этого запрещенного поворота. Такой тип ограничения может быть легко смоделирован, если использовать NetworkConstraint, так как информация о текущем соединении и следующем соединении сделана доступной для пользователей.