где все функции, задающие ограничения в форме неравенств, являются выпуклыми, и целевая функция также является выпуклой. Таким образом, полученная задача является задачей выпуклого программирования, а значит на нее распространяется теорема о необходимых и достаточных условиях существования решения. Но, перед тем как воспользоваться этой теоремой, выясним в каком случае для данной задачи выполняется условие Слейтера. С этой целью исследуем допустимое множество.
Обозначим
![]()
Заметим,
что для портфелей вида 
, условие
![]()
преобразуется
к условию: ![]()
. Следовательно,
если ![]()
, то
существует по крайней мере одна допустимая точка. Нетрудно убедиться, что если
выполнено строгое неравенство ![]()
, то
множество допустимых точек D содержит
внутренние точки, т.е. выполняется условие Слейтера.
Сформулируем соответствующее утверждение.
Утверждение 1
Если
![]()
то
существует по крайней мере одна допустимая точка в множестве D,
если неравенство выполняется строго, то для задачи (2) выполняется условие
Слейтера, где
![]()
![]()
Теперь можно сформулировать основную теорему.
Теорема 1(необходимые и достаточные условия существования решения задачи (2))
Если
в задаче (2) выполняется ![]()
то ![]()
является
решением задачи тогда и только тогда, когда существуют ![]()
,
которые вместе с ![]()
удовлетворяют
условиям Каруша-Куна-Таккера:
Где
![]()
,
символом ![]()
обозначен
градиент функции.
Отметим, что градиент функции Лагранжа не представляется в удобном для аналитического решения виде. В связи с этим, перейдем к следующей интерпретации поставленной задачи.
Задача конусного программирования
Перед тем, как записать поставленную задачу как задачу конусного программирования, приведем ряд определений, необходимых для дальнейшей работы.
Определение конуса в векторном пространстве.
Множество
![]()
называется
конусом, если для любого ![]()
и любого
![]()
,
выполнено ![]()
. Если
для любых ![]()
и ![]()
,
выполняется ![]()
, то
множество ![]()
называется
выпуклым конусом. Запись ![]()
означает
![]()
, запись ![]()
означает
![]()
, т.е. ![]()
является
внутренней точкой конуса ![]()
.
Определение двойственного конуса.
Пусть
множество ![]()
является
конусом. Тогда множество
Называется двойственным конусом.
Определение нормированного конуса.
Определение правильного конуса.
Конус
![]()
и
является правильным конусом, если выполняются следующие условия:
.
![]()
-
выпуклое множество.
![]()
. ![]()
-
замкнутое множество.
.
![]()
- имеет
внутренние точки.
.
Из того, что ![]()
и ![]()
, следует
![]()
.
Определение
![]()
-
выпуклой функции.
Пусть
![]()
и
является правильным конусом. Будем говорить, что функция![]()
является
![]()
-выпуклой,
если для любых ![]()
![]()
выполняется
: ![]()
Формулировка
задачи оптимизации с ограничением в виде конусов:

Где
![]()
-
переменная, по которой происходит оптимизация,![]()
, ![]()
, при
этом ![]()
- proper
конус.
Условие Слейтера для задачи оптимизации с ограничениями в виде конусов.
Говорится,
что в задаче конусного программирования выполнено условие Слейтера, если
существует такой ![]()
, что
![]()
, ![]()
,
При
этом ![]()
-
выпуклая функция, ![]()
- ![]()
-выпуклые
функции, ![]()
.
Докажем,
что ![]()
является
нормой вектора ![]()
в
пространстве ![]()
. Для
этого пошагово покажем, что выполняются все три аксиомы нормы.
.
Если ![]()
, то ![]()
(т.е.
вектор, все компоненты которого равны 0), в силу положительной определенности
матрицы ковариаций.
.![]()
выполняется
неравенство треугольника:
![]()
,
что уже было показано в предыдущем пункте.
.
![]()
выполнено:
![]()
= ![]()
.
Действительно,
![]()
Таким
образом, выполняются все аксиомы нормы. Введем обозначение ![]()
.
Двойственной
к норме ![]()
пространства
![]()
называют
норму ![]()
,
заданную на том же пространстве следующим образом:
![]()
.
Понятие
двойственной нормы потребуется нам для определения конуса двойственного к
нормированному. Известно, что двойственным к нормированному конусу ![]()
является
конус ![]()
Утверждение 2.
Двойственной
нормой к ![]()
является
норма ![]()
.
Докажем это.
Пусть
![]()
т.е. ![]()
. Тогда
в
силу того, что
Далее,
Таким
образом, ![]()
![]()
.
Нетрудно убедиться, что ![]()
является
![]()
, для
этого достаточно заметить что все неравенства из доказательства обращаются в
равенства в случае, когда ![]()
, т.е. ![]()
![]()
, при ![]()
=1. Таким
образом, двойственной нормой к ![]()
является
норма