О2_Routing_МенеджерОграничений.РесурсВТочкеМаршрутаНеМенее
Устанавливает нижнюю границу значения ресурса в указанной точке маршрута. Основной способ вызова: Модель.Ограничения().РесурсВТочкеМаршрутаНеМенее(Ресурс, ТочкаМаршрута, Значение, Условия).
Синтаксис
Модель.Ограничения().РесурсВТочкеМаршрутаНеМенее(
Ресурс,
ТочкаМаршрута,
Значение,
Условия = Неопределено
)
Параметры
- Ресурс — ФиксированнаяСтруктура, Строка, Число — ресурс модели: объект, имя или индекс (с нуля).
- ТочкаМаршрута — ФиксированнаяСтруктура — точка маршрута, в которой задаётся ограничение. Получается через методы менеджера ТочкиМаршрута.
- Значение — Число — минимальное допустимое значение ресурса в точке.
- Условия — Массив, Неопределено — массив булевых выражений, при которых ограничение действует.
Неопределено— ограничение действует всегда.
Возвращаемое значение
- ФиксированнаяСтруктура — зарегистрированное ограничение.
Описание
Метод задаёт жёсткую нижнюю границу: значение ресурса в указанной точке маршрута должно быть не меньше Значение. Нарушение делает решение недопустимым.
Точка маршрута адресуется через объект ТочкаМаршрута (а не через узел), что корректно работает при shared depot — когда несколько ТС стартуют из одного узла-Депо.
Типичные сценарии применения:
- Временные окна (ранняя граница): значение ресурса «Время» в точке клиента не может быть меньше начала временного окна.
- Уровень заряда/топлива: значение соответствующего ресурса в точке доставки должно оставаться выше минимального порога.
Пример
Клиент1 = Модель.Узлы().Получить("Клиент1");
ТочкаКлиента1 = Модель.ТочкиМаршрута().ПолучитьПоУзлу(Клиент1);
// Прибытие в Клиент1 — не ранее 09:00 (540 минут от полуночи)
Модель.Ограничения().РесурсВТочкеМаршрутаНеМенее("Время", ТочкаКлиента1, 540);