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

О2_MP_МенеджерЦелевойФункции.Минимизировать

Задаёт направление оптимизации «минимизация». Основной способ вызова — Модель.ЦелеваяФункция().Минимизировать(...).

При передаче параметра Выражение вызов эквивалентен Установить(Выражение) с последующей фиксацией направления. Без параметра — фиксирует направление для уже накопленного выражения.

Синтаксис

Модель.ЦелеваяФункция().Минимизировать()
Модель.ЦелеваяФункция().Минимизировать(Выражение)

Параметры

  • ВыражениеФиксированнаяСтруктура, Строка, Число, Неопределено — целевая функция в виде линейного выражения. Если не задан, направление фиксируется для ранее накопленного выражения.

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

  • ОбработкаОбъект — сам менеджер целевой функции (для цепочки вызовов).

Описание

Модель может содержать только одну целевую функцию. Повторный вызов Минимизировать или Максимизировать заменяет ранее установленную функцию и направление. Если целевая функция не задана, модель решается как задача поиска допустимого решения.

Пример

// Пример 1 — с передачей выражения
Модель = О2.Модели()
.ЛинейнаяНепрерывнаяМодель()
.СоздатьМодель();

ПеременнаяX = Модель.Переменные().Добавить("x");
ПеременнаяY = Модель.Переменные().Добавить("y");

Модель.Ограничения().Соотношение("x + y >= 10");
Модель.ЦелеваяФункция().Минимизировать("2*x + 4*(x - 7*y) - 8");
// Пример 2 — накопление через методы менеджера, затем фиксация направления
Модель = О2.Модели()
.ЛинейнаяНепрерывнаяМодель()
.СоздатьМодель();

ПеременнаяX = Модель.Переменные().Добавить("x");
ПеременнаяY = Модель.Переменные().Добавить("y");

Модель.Ограничения().Соотношение("x + y >= 10");
Модель.ЦелеваяФункция()
.ДобавитьТерм(ПеременнаяX, 2)
.ДобавитьТерм(ПеременнаяY, 4)
.Минимизировать();

См. также