Перейти к основному содержимому

О2_Routing_МенеджерОграничений.РесурсВТочкеМаршрутаНеМенее

Устанавливает нижнюю границу значения ресурса в указанной точке маршрута. Основной способ вызова: Модель.Ограничения().РесурсВТочкеМаршрутаНеМенее(Ресурс, ТочкаМаршрута, Значение, Условия).

Синтаксис

Модель.Ограничения().РесурсВТочкеМаршрутаНеМенее(
Ресурс,
ТочкаМаршрута,
Значение,
Условия = Неопределено
)

Параметры

  • РесурсФиксированнаяСтруктура, Строка, Число — ресурс модели: объект, имя или индекс (с нуля).
  • ТочкаМаршрутаФиксированнаяСтруктура — точка маршрута, в которой задаётся ограничение. Получается через методы менеджера ТочкиМаршрута.
  • ЗначениеЧисло — минимальное допустимое значение ресурса в точке.
  • УсловияМассив, Неопределено — массив булевых выражений, при которых ограничение действует. Неопределено — ограничение действует всегда.

Возвращаемое значение

  • ФиксированнаяСтруктура — зарегистрированное ограничение.

Описание

Метод задаёт жёсткую нижнюю границу: значение ресурса в указанной точке маршрута должно быть не меньше Значение. Нарушение делает решение недопустимым.

Точка маршрута адресуется через объект ТочкаМаршрута (а не через узел), что корректно работает при shared depot — когда несколько ТС стартуют из одного узла-Депо.

Типичные сценарии применения:

  • Временные окна (ранняя граница): значение ресурса «Время» в точке клиента не может быть меньше начала временного окна.
  • Уровень заряда/топлива: значение соответствующего ресурса в точке доставки должно оставаться выше минимального порога.

Пример

Клиент1 = Модель.Узлы().Получить("Клиент1");
ТочкаКлиента1 = Модель.ТочкиМаршрута().ПолучитьПоУзлу(Клиент1);

// Прибытие в Клиент1 — не ранее 09:00 (540 минут от полуночи)
Модель.Ограничения().РесурсВТочкеМаршрутаНеМенее("Время", ТочкаКлиента1, 540);

См. также