Выдержка из текста работы
Вданной работе рассматривается применениеметода субоптимизации на многообразиях к решению задачи параметрическогоквадратичного программирования с параметром в правых частях ограничений, ирешению с помощью указанного метода задачи об оптимальном выборе портфеляценных бумаг. Рассматриваются свойства алгоритма, и обосновывается егоприменимость к задаче квадратичного программирования.
Содержание
TOC o «1-3» <span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»">1. Введение
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">2.
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">3.
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">3
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">3
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">3.2 Условия оптимальности в задаче (
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">3
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">3.4. Метод субоптимизации на многообразиях. Выпуклый случай.
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">3.5
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">3
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">3
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">3.8. Некоторые особенности вычислительной схемы методасубоптимизации на многообразиях для задачи квадратичного программирования.
<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">4
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">4.1 Постановка задачи
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">4.2 Некоторые свойства решения параметрической задачиквадратичного программирования.
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">4.3 Применение метода субоптимизации на многообразиях крешению параметрической задачи квадратичного программирования.
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">5.Экономическая часть
6<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; mso-ansi-language:EN-US">.
7.<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">Приложение1……………………………………………………………………………………………………65
8.<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">ПРиложение2……………………………………………………………………………………………………67
9.<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">рисунок1……………………………………………………………………………………………………………78
В настоящейработе рассматривается применение метода субоптимизации на многообразиях крешению задачи квадратичного программирования с параметром в правых частях ограничений.
Методсубоптимизации на многообразиях, предложенный У.Зангвиллом в 1968 году длярешения задач выпуклого программирования представляет собой простую процедурупоиска оптимальной точки в задаче выпуклого программирования с ограничениямитипа равенств. Метод использует подход, названный автором «выделениемактивных ограничений», сводящий исходную задачу выпуклого программированияк определенным образом строящейся последовательности вспомогательных задачвыпуклого программирования.
Втех случаях, когда решение вспомогательных задач оказывается существенно прощерешения исходной, или вообще очевидным, метод субоптимизации на многообразияхпозволяет существенно снизить вычислительную трудоемкость процедуры решенияисходной задачи, а такжеисследовать свойства решения общей задачи на основании общих свойстввспомогательных задач.
Вработе показано, что, в случае задачи квадратичного программирования, решение вспомогательных задач сводится кразложению определенным образом выбираемого вектора по некоторому базису, что всвою очередь эквивалентно решению системы линейных уравнений. Таким образомрешение исходной задачи оказывается эквивалентным решению конечного числасистем линейных уравнений.
Показанотакже, что в случае задачи выпуклого программирования решение общей задачисводится к последовательному решению вспомогательных задач, при переходе междукоторыми в базисном множестве происходит замена только одного вектора.
Всилу этого становится возможным создание рекуррентных формул, связывающихматрицы системы линейных уравнений соседних вспомогательных задач.
Такимобразом вместо решения системы линейных уравнений на каждом шаге метода можновычислять новое решение с помощью соответствующих рекуррентных соотношений,прибегая к непосредственному решению системы линейных уравнений только с цельюкоррекции накопившейся ошибки вычисления после значительного количестваитераций.
Врезультате вычислительная трудоемкость процедуры оказывается в лучшем случаеэквивалентной решению системы линейных уравнений с последующим конечным числомматричных преобразований типа умножения матрицы на вектор. В худшем случаезадача оказывается эквивалентной решению конечного числа систем линейныхуравнений.
Доказанытеоремы, составляющие теоретический фундамент алгоритма, приведенодоказательство сходимости предложенной вычислительной процедуры.
Рассматриваетсяприменение указанного метода к решению параметрической задачи квадратичногопрограммирования с параметром в правых частях ограничений, путем сведенияуказанной задачи к конечному числу задач квадратичного программирования безпараметра.
Всилу того, что решение параметрической задачи квадратичного программирования спараметром в правых частях ограничений оказывается кусочно-линейной функцией,исходная задача сводится к покрытию области допустимых значений параметраотрезками, на которых функция решения линейна по параметру с постояннымикоэффициентами, зависящими только от значения функции в левой точке отрезка.
Показано,что такое разбиение состоит из конечного числа отрезков, и конечного числа точекпереключения траектории решения.
Построениетакого покрытия в худшем случае эквивалентно решению конечного числа задачквадратичного программирования без параметра в точках переключения траектории.Показаны подходы к построению процедуры перестройки решения в точкахпереключения траектории без необходимости полного решения задачи квадратичногопрограммирования путем сведения ее к одной или нескольким итерациям методасубоптимизации на многообразиях.
Поставленазадача поиска оптимального вложения в задаче о портфеле ценных бумаг,являющаяся экономической интерпретацией параметрической задачи квадратичногопрограммирования.
Составленаи отлажена программа на языке С++, функционирующая в среде операционных систем UNIX (AIX, Solaris) а также Microsoft Windows, реализующая описанные алгоритмы.Указанная программа применена к решению задачи о поиске оптимальных инвестицийв задаче о портфеле ценных бумаг, данные решения и текст программы приведен вприложениях.
Указанывозможные пути упрощения процедуры поиска решения задачи квадратичногопрограммирования с параметром в правых частях ограничений путем отказа отрешения задачи квадратичного программирования в точках переключения траектории.
Длярешения задач выпуклого программирования с линейными ограничениями могутприменяться различные методы решения. Для построения таких методов используетсякак правило подход, предполагающий задачу квадратичного программирования визвестном смысле расширением задачи линейного программирования.
Результатомприменения такого подхода является группа методов основанных на простроенииаппроксимации исходной квадратичной задачи последовательностью задач линейногопрограммирования, а также различные обобщения линейного симплекс-метода наслучай выпуклой функции-критерия.
Рассматриваемыйв данной работе метод субоптимизации на многообразиях представляет собойрезультат совсем иного подхода к решению задачи квадратичного программирования.Процедура метода субоптимизации строится для более общего класса задачвыпуклого программирования, причем указывается класс задач, для которых этотметод оказывается достаточно эффективным.
Приэтом задача квадратичного программирования оказывается частным случаем задачивыпуклого программирования, для которой метод субоптимизации позволяет свестирешение исходной задачи к решению конечного числа систем линейных уравнений.
Задачейквадратичного программирования будем называть задачу следующего вида:
<img src="/referat/public/cache/referats/6157/image002.gif" v:shapes="_x0000_i1025">
(3.1.1)
здесь x-вектор столбец размера n, C — вектор-строка размера 1<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol; mso-symbol-font-family:Symbol">´
Имеетместо также условие неотрицательности компонентов вектора x:
x <span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">³
Поскольку наличие компонента Cxне оказывает существенного влияния на результаты, изложенные в настоящейработе, будем без ограничения общности предполагать вектор C нулевым. В такойпостановке задача принимает вид:
<img src="/referat/public/cache/referats/6157/image004.gif" v:shapes="_x0000_i1026">
(3.1.2)
Вданной постановке задача квадратичного программирования всегда имеетоптимальный вектор, и является задачей выпуклого программирования с линейнымиограничениями типа равенств.
Условияоптимальности в задаче (3.2)представляют собой формулировкуусловийКуна-Таккера для этой задачи. Будем рассматривать следующую формузаписи условий Куна-Таккера для задачи выпуклогопрограммирования:
<img src="/referat/public/cache/referats/6157/image006.gif" v:shapes="_x0000_i1027">
(3.2.1)
В нашем случаеполучим:
<img src="/referat/public/cache/referats/6157/image008.gif" v:shapes="_x0000_i1028">
(3.2.2)
ЗдесьAi — столбцыматрицы A длины m, Di столбцыматрицы D длины n,Lk — строкиматрицы A длины n, ej — n-мерныестолбцы единичной матрицы. Здесьи далее xi — компоненты оптимального вектора задачиx, <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol;mso-symbol-font-family: Symbol">l
<img src="/referat/public/cache/referats/6157/image010.gif" v:shapes="_x0000_i1029">
(3.2.3)
гдесоставные столбцы P0,… Pm+2n каждый длиной m+n являютсястолбцами блочной матрицы P, имеющей следующий вид:
<img src="/referat/public/cache/referats/6157/image012.gif" v:shapes="_x0000_i1030">
(3.2.4)
Втаком виде условия Куна-Таккера (3.2.3) можнозаписать в еще болеепростомвиде:
<img src="/referat/public/cache/referats/6157/image014.gif" v:shapes="_x0000_i1031">
(3.2.5)
Посколькурассматриваемая нами задача является задачей выпуклогопрограммирования, указанные условия существования минимумаявляютсяодновременно необходимыми идостаточными. Доказательство указанных условийможно найтив [1,2].
Посколькуранг матрицы A равен m (см 3.1), система векторов
<img src="/referat/public/cache/referats/6157/image016.gif" v:shapes="_x0000_i1032">
являютсялинейно независимой системой векторов. В то же время, легковидно, что линейнаяоболочка,натянутая на систему векторов P совпадает с пространством Em+n,т.е L(P)=En+m.
Следовательноиз системы векторов 3.2.4 можнообразоватьконечное число базисов Nевклидова пространства En+m,содержащих в себе векторыP1,… Pm. Такие базисы пространства En+m будем называтьбазисами задачиквадратичного программирования, иобозначать следующим образом:
<img src="/referat/public/cache/referats/6157/image018.gif" v:shapes="_x0000_i1033">
(3.3.1)
Дляупрощения схемы алгоритма, запишем базис (3.3.1) в следующем виде:
<img src="/referat/public/cache/referats/6157/image020.gif" v:shapes="_x0000_i1034">
(3.3.2)
Здесь<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol">Á
<img src="/referat/public/cache/referats/6157/image022.gif" v:shapes="_x0000_i1035">
(3.3.3)
Коэффициентыразложения вектора b по базису <span Brush Script MT"; mso-ansi-language:EN-US">U
Базис<span Brush Script MT";mso-ansi-language:EN-US">U
Базисназывается невырожденным, если все его базисные переменные, соответствующиекомпонентам вектора xотличны отнуля, т.е.
<img src="/referat/public/cache/referats/6157/image024.gif" v:shapes="_x0000_i1036">
(3.3.4)
Задачу(3.1.2) будем называть невырожденной,если все ее базисы невырождены. В противном случае назовем задачу вырожденной.
Длярешения задачи (3.1.2)предлагается использовать метод
субоптимизации на многообразиях.Вначале рассмотрим основные идеи, приводящие к методу субоптимизации в случаезадачи выпуклого программирования общего вида.
Рассмотримзадачу выпуклого программирования с линейными ограничениями, состоящую вминимизации выпуклой функции f(x) на множестве L,задаваемом ограничениями типа равенств.
<img src="/referat/public/cache/referats/6157/image026.gif" v:shapes="_x0000_i1037">
(3.4.1)
Предположим,что задача имеет единственное решение, т.е минимум целевой функции достигаетсяв единственной оптимальной точке x*. В этомслучае задаче (3.4.1)эквивалентна задача:
<img src="/referat/public/cache/referats/6157/image028.gif" v:shapes="_x0000_i1038">
(3.4.2)
Эквивалентностьэтих двух задач является следствием единственности решения. Переход к задаче (3.4.2) называется выделением активных ограничений, т.е.вместо условия неотрицательности всех переменных, мы переходим к условиюравенства нулю всех компонент, решения, индексы которых не принадлежатмножеству <span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol">Á
Предположим,что для задачи (3.4.2)нахождение оптимального решениясущественно проще, чем для исходной задачи (3.4.1). В этом случае, перебирая каким-либо образомвсевозможные множества индексов <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol;mso-symbol-font-family: Symbol">Á
Предположимтакже, что задача (3.4.2)обладает свойством
единственности, т.е системавекторов {L1,… Lm, ej (j<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">Î
<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-char-type:symbol;mso-symbol-font-family:Symbol">Á(x*)} — линейно независима. В случаенарушения свойства единственности задача поиска оптимального вектора задачи (3.4.2) усложняется, и в дальнейшем этот случайрассматриваться не будет.
Алгоритмперебора множеств индексов <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol;mso-symbol-font-family: Symbol">Á
Основнаялемма:
Пусть x*является оптимальной точкой задачи:
<img src="/referat/public/cache/referats/6157/image030.gif" v:shapes="_x0000_i1039">
(3.4.3)
где X<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-char-type:symbol;mso-symbol-font-family:Symbol">Á
<img src="/referat/public/cache/referats/6157/image032.gif" v:shapes="_x0000_i1040">
(3.4.4)
Предположим,что задача (3.4.3) сусловием (3.4.4)обладает свойствомединственности, и среди <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-char-type:symbol;mso-symbol-font-family:Symbol">D
<img src="/referat/public/cache/referats/6157/image034.gif" v:shapes="_x0000_i1041">
(3.4.5)
Пусть <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-char-type:symbol;mso-symbol-font-family:Symbol">Á
<img src="/referat/public/cache/referats/6157/image036.gif" v:shapes="_x0000_i1042">
(3.4.6)
Тогда, если x*’ — оптимальный векторзадачи
<img src="/referat/public/cache/referats/6157/image038.gif" v:shapes="_x0000_i1043">
(3.4.7)
то справедливо неравенство:
f(x*’)<f(x*)
(3.4.8)
Доказательство.
Таккак в силу выполнения соотношения (3.4.6)иопределения множеств X<span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol; mso-symbol-font-family:Symbol">Á
Предположим,что это не так. Тогда точка x*являетсяоптимальной длязадач (3.4.3)и (3.4.7), и удовлетворяет условиям Куна-Таккера в обоих задачах:
<img src="/referat/public/cache/referats/6157/image040.gif" v:shapes="_x0000_i1044">
(3.4.9)
<img src="/referat/public/cache/referats/6157/image042.gif" v:shapes="_x0000_i1045">
(3.4.10)
Добавим вправую часть равенства (3.4.10) член 0ej0. Поскольку, по предположению (3.4.5) леммы коэффициент <span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">D
Доказаннаялемма указывает направление перебора множеств индексов <span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-char-type:symbol;mso-symbol-font-family:Symbol">Á
Издоказанной леммы вытекает
Алгоритм поиска оптимального вектора
Общийвид алгоритма метода субоптимизации для задачи выпуклого программированияприведен на рис. 1. Нижеприводятся описания блоков алгоритма, изображенных на этом рисунке.
Блок1. Определяется допустимая начальная точка x1дляисходной задачи. Это может быть точка, получаемая с помощью алгоритмапостроения начального базиса линейного симплекс-метода, или же решение внекотором смысле близкой линейной задачи. Предполагается <span Times New Roman";mso-hansi-font-family:«Times New Roman»;mso-ansi-language: EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">Á
Блок 2. Находитсяоптимальный вектор x*kдля задачи
<img src="/referat/public/cache/referats/6157/image044.gif" v:shapes="_x0000_i1046"><img src="/referat/public/cache/referats/6157/image046.gif" v:shapes="_x0000_i1047">
Если x*kоказывается допустимой дляисходной задачи (3.4.1),совершается переход к блоку 3, в противном случае осуществляется переход кблоку 4.
Блок3. Вычисляется значение
<img src="/referat/public/cache/referats/6157/image048.gif" v:shapes="_x0000_i1048">
Если
<img src="/referat/public/cache/referats/6157/image050.gif" v:shapes="_x0000_i1049">
тов силу выполнения условий Куна-Таккера для исходной задачи (3.4.1) точка x*kявляетсяоптимальной точкой задачи (3.4.1) иработа алгоритма заканчивается.
Если
<img src="/referat/public/cache/referats/6157/image052.gif" v:shapes="_x0000_i1050">
топредполагаем
<img src="/referat/public/cache/referats/6157/image054.gif" v:shapes="_x0000_i1051">
ипроисходит переход к блоку 2.
Блок 4. Посколькуоптимальная точка вспомогательной задачи оказалась недопустимой для исходной,выбираем в качестве новой начальной точки ближайшую к ней точку, допустимую дляисходной задачи (3.4.1), илежащую на прямой, соединяющей оптимальные точки вспомогательной задачи, т.е.
<img src="/referat/public/cache/referats/6157/image056.gif" v:shapes="_x0000_i1052">
Далееполагаем <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-char-type: symbol;mso-symbol-font-family:Symbol">Á
Такимобразом построен итерационный процесс, позволяющий осуществить направленныйперебор множеств индексов <span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-char-type:symbol;mso-symbol-font-family: Symbol">Á