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

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

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

Синтаксис

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

Параметры

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

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

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

Описание

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

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

Для задания временного окна используйте пару методов совместно:

  • РесурсВТочкеМаршрутаНеМенее — ранняя граница (начало окна);
  • РесурсВТочкеМаршрутаНеБолее — поздняя граница (конец окна).

Пример

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

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

См. также