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

О2_CP_SAT_МенеджерОграничений.Резервуар

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

Синтаксис

Модель.Ограничения().Резервуар(МинЗначение, МаксЗначение, СобытияНакопления, Условия)

Параметры

  • МинЗначениеЧисло — минимально допустимый остаток ресурса. Должен быть целым числом.
  • МаксЗначениеЧисло — максимально допустимый остаток ресурса. Должен быть целым числом.
  • СобытияНакопленияМассив из ФиксированнаяСтруктура — массив объектов СобытиеНакопления (см. СобытиеНакопления). Каждое событие описывает изменение остатка на заданную величину в определённый момент времени. События могут быть опциональными.
  • УсловияФиксированнаяСтруктура, Массив, Неопределено — условие применения ограничения (см. Обзор).

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

  • ОбработкаОбъект.О2_CP_SAT_МенеджерОграничений — текущий менеджер ограничений.

Пример

// Уровень воды в резервуаре всегда от 0 до 100
Т1 = Модель.ПеременнаяДиапазона(0, 50, "Т1");
Т2 = Модель.ПеременнаяДиапазона(0, 50, "Т2");

Событие1 = Ограничения.СобытиеНакопления(Т1, 30); // +30 в момент Т1
Событие2 = Ограничения.СобытиеНакопления(Т2, -20); // -20 в момент Т2

Ограничения.Резервуар(0, 100, О2.Утилиты().Массив(Событие1, Событие2));

См. также