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

О2_CP_SAT_МенеджерЦелевойФункции

Менеджер целевой функции модели ограничений. Доступен через Модель.ЦелеваяФункция() после создания модели через О2.Модели().МодельОграничений().СоздатьМодель().

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

Встроенный построитель позволяет цепочкой накапливать целочисленное линейное выражение через методы Добавить, ДобавитьТерм, ДобавитьВзвешеннуюСумму и другие. После накопления вызывается Минимизировать() или Максимизировать() — с параметром или без.

Модель = О2.Модели()
.МодельОграничений()
.СоздатьМодель();

// Вариант 1 — одним вызовом
Модель.ЦелеваяФункция().Минимизировать("2*x + 4*y");

// Вариант 2 — через накопление
Модель.ЦелеваяФункция()
.ДобавитьТерм(ПеременнаяX, 2)
.ДобавитьТерм(ПеременнаяY, 4)
.Минимизировать();

Карта методов

Управление направлением

МетодФайл
Минимизироватьminimize
Максимизироватьmaximize

Управление выражением

МетодФайл
Установитьset
Очиститьclear
ПолучитьВыражениеget-expression

Накопление выражения

МетодФайл
Добавитьadd
Вычестьsubtract
Умножитьmultiply
ДобавитьКонстантуadd-constant
ДобавитьТермadd-term
ДобавитьАфинноеВыражениеadd-affine-expression
ДобавитьСуммуadd-sum
ДобавитьВзвешеннуюСуммуadd-weighted-sum

Содержание раздела

См. также