О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));