1
МАТЕМАТИЧЕСКИЕ ЗАДАЧИ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ, КОТОРЫЕ ОСНОВАНЫ НА НЕЛИНЕЙНОМ ПРОГРАММИРОВАНИИ
Содержание:
Разнообразие задач НП очень велико. Универсальных методов решения таких задач не существует. Имеется весьма ограниченное число точных методов и намного больше приближенных.
Наиболее развиты методы решения задач выпуклого программирования. К этому классу относятся задачи НП с выпуклым допустимым множеством и выпуклой целевой функцией при минимизации или вогнутой при максимизации. Допустимое множество выпуклое, если все функции линейные и выпуклы при неравенстве или вогнуты при . Например, условие x12+x22 r2 порождает выпуклое множество, пересечение которого с прямой x1+x2=0 дает тоже выпуклое множество. Очевидно, что задачи НП относятся к этому классу. Главная особенность задач выпуклого программирования в том, что они унимодальные, то есть любой их локальный оптимум является глобальным. Для ряда задач выпуклого программирования с дифференцируемыми функциями разработаны точные методы. Наибольшие сложности возникают при решении многоэкстремальных задач, которые по определению не относятся к классу выпуклых.
Важным классом НП являются задачи квадратичного программирования. В них целевая функция представляет собой сумму линейной и квадратичной форм, а все условия линейные. При выпуклости (вогнутости) квадратичной формы они являются частным случаем задач выпуклого программирования.
В нелинейном программировании выделяют также задачи сепарабельного программирования. Это задачи, в которых все функции сепарабельные. Функция сепарабельная, если она представляется в виде сумы функций отдельных переменных. Линейная функция - частный случай сепарабельной. Сепарабельная задача может быть одновременно и задачей выпуклого программирования.
Кусочно-линейное программирование включает специальные методы решения задач с кусочно-линейными функциями. В частности, такими являются функции и если все fi(x) - линейные функции. Первая из них - выпуклая (рис. 1.1), вторая - вогнутая. Задачи с такими функциями могут входить в класс задач выпуклого программирования. Их решение строится на преобразовании модели к линейному виду с последующим применением методов ЛП.
К линейным сводятся также задачи дробно-линейного программирования. Они отличаются от линейных только дробной целевой функцией, числитель и знаменатель которой - линейные функции.
1. Условия оптимальности. Теорема Куна-Таккера
Важным свойством задач НП является дифференцируемость функций критерия и ограничений. Для таких задач получены условия оптимальности, на основе которых строится ряд методов НП.
Пусть дана задача в виде
(1.2)
Обобщенный метод множителей Лагранжа применим и к условиям-неравенствам. Запишем функцию Лагранжа (регулярную) для задачи (1.2)
. (1.3)
В теории НП показано, что эта функция имеет седловую точку (X*,*) c максимумом по X и минимумом по :
F(X, *) F(X*, *) F(x*, ). (1.4)
Поэтому задача (1.2) сводится к отысканию седловой точки функции (1.3).
2) по :
(1.7)
(1.8)
(1.9)
Приведенные условия оптимальности называются условиями Куна-Таккера. Опуская строгое доказательство, приведем логическое обоснование выражений (1.5)-(1.9).
1
По существу они являются обобщением классических условий экстремума, определяющих стационарные точки. Условие (1.5) содержит неравенство, так как неотрицательность вектора X означает, что максимум может быть либо при положительном X и тогда производная F по X обязательно равна нулю (случай 1 на рис. 1.2), либо при X=0 и тогда эта производная может быть как равной нулю, так и отрицательной (случаи 2 и 3 на рис. 1.2). Этим же объясняются условия дополняющей нежесткости (1.6): в точке максимума равны нулю либо x, либо производная, либо вместе.
Выражения (1.7)-(1.9) можно обосновать аналогично, если учесть, что по рассматривается минимум F и .
Применив условия Куна-Таккера к задаче НП, получим равенства второй основной теоремы двойственности как частный случай условий дополняющей нежесткости, а двойственные переменные - как частный случай .
Особую роль условия Куна-Таккера играют в решении задач выпуклого программирования, так как для них они являются не только необходимыми, но и достаточными.
2. Методы условной оптимизации. Метод Вульфа
Эти условия означают, что на направлении d найдутся допустимые точки, в которых значение функции лучше, чем в точке xk.
Ниже рассматривается один из методов возможных направлений.
3. Метод проектирования градиента
Градиент дает направление, в котором функция возрастает с наибольшей скоростью. Однако при условной оптимизации оно, как правило, не является возможным направлением. Поэтому используют не сам градиент (антиградиент), а его проекцию на поверхность ограничений, точнее, на плоскость, аппроксимирующую эту поверхность в текущей точке. Очевидно, что проекция градиента определяет направление наискорейшего изменения функции на поверхности ограничений.
Приведем один из вариантов метода проектирования градиента сначала для задачи с ограничениями-равенствами, а затем для общего случая. Метод применим, если целевая функция и все функции ограничений дифференцируемы.
Пусть ограничения заданы в виде
(1.10)
Найдем возможное направление l, на котором скорость изменения целевой функции максимальна:
(1.11)
В допустимой области D функции j постоянны. Поэтому искомое направление должно удовлетворять системе равенств
(1.12)
Из связи направления с координатами следует:
что перепишем в виде (1.13)
Таким образом, для нахождения наилучшего возможного направления необходимо решить задачу оптимизации (1.11)-(1.13). Так как условия имеют вид равенств, а функции дифференцируемы, для решения этой вспомогательной задачи воспользуемся методом Лагранжа.
Запишем функцию Лагранжа:
. (1.14)
Неизвестными в ней являются векторы и . Взяв производные и приравняв их нулю, получаем:
Отсюда выразим компоненты искомого вектора:
(1.15)
Подставив (1.15) в (1.13), находим:
С учетом этого выражения формула (1.15) принимает вид
(1.16)
Для определения неизвестных множителей j воспользуемся системой (1.12). Подставив в нее (1.16), получаем:
После раскрытия скобок окончательно имеем:
(1.17)
Так как направление ищется в конкретной точке, то все производные в (1.17) - известные константы. Поэтому система уравнений (1.17) является линейной системой относительно j. Ее решение не вызывает затруднений (при условии, что матрица системы не является особенной). Найдя значения j и подставив их в (1.16), получаем компоненты проекции градиента (в знаменателе (1.16) имеем длину проекции градиента). Движение осуществляется в направлении, противоположном проекции.
Аналогично градиентному методу новая точка вычисляется по формуле
. (1.18)
Алгоритм метода проектирования градиента.
1. Задать начальную точку, удовлетворяющую системе (1.10), начальное значение h0 и точность по величине проекции градиента .
2. В текущей точке вычислить градиенты всех функций (f и j) и решить систему (1.17).
3. Вычислить проекцию градиента по формуле (1.16).
4. Проверить: если завершить поиск.
5. Вычислить новую точку по формуле (1.18).
6. Проверить: если значение целевой функции улучшилось, перейти на шаг 2, иначе уменьшить hk в два раза и перейти на шаг 5.
1
Качественный характер работы алгоритма иллюстрирует рис. 1.3. Здесь функции зависят от 2-х переменных, поэтому в каждой точке на линии ограничения может быть всего 2 направления, лучшее из которых определяет проекция градиента. В многомерной задаче таких направлений бесконечное множество. При ли-ней-ных ограни-чениях могут возник-ать проб-лемы поиска лишь при очень малых значе-ниях градиен-тов функций ограничений и совпадении их направлений, так как это приводит к вырожденности матрицы системы (1.17).
В случае нелинейных ограничений движение на основе линейной аппроксимации нарушает равенства. Поэтому в алгоритм необходимо внести изменения, обеспечивающие выполнение равенств с необходимой точностью . С этой целью алгоритм дополняется проверкой величины невязки, которая выполняется в каждой новой точке.
Если , то включается процедура коррекции, заключающаяся в минимизации невязки:
(1.19)
Для решения задачи (1.19) можно применить любой метод безусловной оптимизации, но в данном контексте целесообразен метод градиентов. При этом значения (n-m) переменных фиксируются, так как для выполнения равенств достаточно m переменных. Понятно, что при частых коррекциях трудоемкость алгоритма значительно возрастает.
Теперь рассмотрим случай, когда ограничения заданы в виде неравенств j(x)0. Поиск начинается из точки, в которой удовлетворяются все ограничения. Пока они выполняются как строгие, движение осуществляется по градиентному методу. Когда достигается граница допустимого множества, одно или несколько ограничений обращаются в равенства. Такие ограничения называют активными.
1
В точках с активными ограничениями направление движения определяется по проекции градиента на поверхность этих ограничений, то есть применяется вышеприведенный алгоритм.
Пример поиска минимума при двух линейных неравенствах показан на рис. 1.4.
Очевидно, что при смешанных и нелинейных ограничениях алгоритм весьма существенно усложняется и требует большого объема вычислений. Поэтому метод проектирования градиентов целесообразно применять при линейных ограничениях.
4. Метод штрафных функций
Совершенно иной подход используется в методах штрафных и барьерных функций. Ограничения задачи специальным образом отражаются в критерии, в результате чего критерий модифицируется, а исходная задача на условный экстремум сводится к задаче на безусловный экстремум.
В методе штрафных функций в критерий вводится штраф при нарушении условий задачи. Пусть в общем случае имеем задачу
f(x) > min; (1.20)
i(x) 0, ; (1.21)
i(x) = 0 , . (1.22)
Тогда можно построить вспомогательную функцию
(x) = f(x) + H(x), (1.23)
где H(x) -функция штрафа, - параметр штрафа.
Вспомогательная функция играет роль модифицированного критерия, который при выполнении всех ограничений должен совпадать с исходным. Поэтому необходимо, чтобы в допустимой области Н(x) равнялась нулю, а вне ее была положительной. Для задачи (1.20)-(1.22) функция штрафа включает две составляющие , учитывающие ограничения-неравенства и ограничения-равенства соответственно и удовлетворяющие условиям
(1.24)
Возможны разные конструкции функций, обладающих указанными свойствами. Типичные представители составляющих штрафной функции имеют вид
где р - натуральное число. Для дифференцируемости функций берут четные значения р, обычно р = 2. Чем больше , тем сильнее влияет функция штрафа и, значит, тем точнее выполняются условия задачи.
Примеры
Пример 1: f(x) = x > min; (x)=3 - x 0.
Ответ очевиден: x*=3. Теперь сведем эту задачу к определению безусловного экстремума вспомогательной функции. Построим штрафную функцию в соответствии с (1.24): H = [max (0, 3-x)]2. Тогда приходим к задаче =x+[max (0, 3-x)]2 min.
На рис. 1.6 и 5.6 показаны соответственно функции H и для двух значений . Видно, что точки минимума вспомогательной функции с увеличением приближаются к точке условного минимума исходной задачи. Такой же вывод следует из аналитического решения. Действительно, при x<3 вспомогательная функция имеет вид: = x + (3 - x)2.
1
1
Находим минимум этой функции:
Отсюда получаем
Пример 2: Рассмотрим влияние параметра шага в задаче
Здесь и
На рис. 1.7 построены линии уровня функции для разных значений и линия ограничения .
При =0 имеем =f, и минимум достигается в точке безусловного минимума f: x1=x2=1. С увеличением меняется форма линий уровня и положение минимума. При =1 минимум смещается к линии ограничения, а при =1000 он практически точно совпадает с условным минимумом задачи.
В обоих примерах с увеличением генерируемые точки приближаются к оптимальному решению извне допустимого множества. Поэтому ряд авторов называют рассматриваемый метод методом внешних штрафов.
Таким образом, чтобы безусловный минимум вспомогательной функции был близок к условному минимуму, необходимо брать очень большое значение . Однако при больших возникают серьезные трудности при поиске минимума вспомогательной функции. Поэтому предлагается решать последовательность задач минимизации с возрастающими значениями . При этом в качестве начальной точки следующей задачи берется оптимальная точка предыдущей. Такой прием использован в следующем алгоритме штрафных функций.
Алгоритм.
1. Задать: начальную точку x0, точность , начальное значение 0 и число >1.
2. Минимизировать (x) одним из методов безусловной оптимизации, в результате чего определяется .
3. Проверить: если , то остановиться, приняв за оптимальное решение задачи.
Положить , за начальную точку принять и вернуться на шаг 2.
Рекомендуется выбирать значения параметров алгоритма из диапазонов: 0(0,1], (1,10]. Начальную точку следует задавать в недопустимой области.
Пример 3: Алгоритмом штрафных функций решить задачу
Возьмем начальную точку x0=(-5;5), 0=0,21, =5 и =0,0001. Применяя для минимизации метод Ньютона, получаем результаты, представленные в табл. 1.1.
Как следует из табл. 1.1, решение с заданной высокой точностью получено за 11 итераций алгоритма. Заметим, что несмотря на увеличение значение H сходится к нулю, обеспечивая сходимость алго-ритма.
Траектория поиска и линии уровня функции f изображены на рис. 1.8.
Таблица 1.1 Минимизация функции методом Ньютона
№ итерации |
|
x1 |
x2 |
f |
|
H |
|
0 |
0.21 |
-5 |
5 |
270 |
283.533 |
13.533 |
|
1 |
1.05 |
-0.191 |
-0.132 |
-0.094 |
0.939 |
1.032 |
|
2 |
5.25 |
-0.209 |
-0.169 |
-0.09 |
5.035 |
5.125 |
|
3 |
26.25 |
-0.654553 |
-1.059105 |
1.651353 |
13.504372 |
11.853019 |
|
4 |
131.25 |
-0.990765 |
-1.731532 |
5.068137 |
7.691651 |
2.623514 |
|
5 |
656.25 |
-1.046856 |
-1.843717 |
5.814225 |
6.343889 |
0.529664 |
|
6 |
3281.25 |
-1.057736 |
-1.865478 |
5.964774 |
6.070887 |
0.106113 |
|
7 |
16406.25 |
-1.059899 |
-1.869804 |
5.994933 |
6.016163 |
0.02123 |
|
8 |
82031.25 |
-1.060331 |
-1.870668 |
6.000967 |
6.005213 |
0.004246 |
|
9 |
410156.25 |
-1.060417 |
-1.870841 |
6.002174 |
6.003023 |
0.000849 |
|
10 |
2050781.25 |
-1.060434 |
-1.870876 |
6.002415 |
6.002585 |
0.00017 |
|
11 |
>107 |
-1.060434 |
-1.870884 |
6.002469 |
6.002503 |
3.397E-05 |
|
1
1
Пример 4: Алгоритмом штрафных функций решить задачу
Этот пример показан на рис. 1.9. Поиск проводится из начальной точки (-2;-7) с параметрами 0=0,1 и =2.
Здесь, как и в предыдущем примере, на первой итерации алгоритма движение направлено в сторону безусловного минимума целевой функции. Это объясняется небольшим начальным значением параметра штрафа, при котором основное влияние на направление оказывает целевая функция. С возрастанием направление поиска ориентируется на условный экстремум.
Пример 5: Алгоритмом штрафных функций решить задачу
Этот пример приведен на рис. 1.10. Поиск производился при 0=1 и =10. Такие параметры обусловили другой характер движения к условному минимуму: первая итерация уже не приводит в окрестность безусловного экстремума и траектория не имеет резких изменений направ-ления поиска.
1
Таким образом, выбор параметров поиска имеет существенное влияние на эффективность алгоритма.
5. Метод барьерных функций
В отличие от метода штрафных функций, данный метод применим к задачам с ограничениями только в виде неравенств.
Суть метода заключается в том, что поиск начинается обязательно из внутренней точки и последующие точки не должны выходить из допустимой области. С этой целью задача модифицируется так, что при приближении к границе допустимой области растет барьер, препятствующий выходу на границу.
Исходная задача на условный экстремум задается в виде
f(x) > min; (1.25)
i(x) 0, . (1.26)
Она преобразуется в задачу безусловной минимизации вспомогательной функции
(x) = f(x) + B(x),
где B(x) - барьерная функция, - параметр барьера.
Обязательное условие: внутренность области не должна быть пустой (имеются точки, в которых i (x) < 0).
Барьерная функция строится так, чтобы она была неотрицательной и непрерывной на допустимом множестве и стремилась к бесконечности при приближении изнутри к границе:
Как и в случае штрафной функции, существует несколько конструкций B(x), удовлетворяющих этим условиям. Но в основном используется барьерная функция в виде
(1.27)
Понятно, что решение вспомогательной задачи зависит от значения параметра барьера. Покажем влияние на результат минимизации .
Примеры
Пример 1: f(x) = x > min; (x)=3 - x 0.
Барьерную функцию строим согласно (1.27). Тогда вспомогательная функция имеет вид Находим точку минимума : Отсюда
1
Следовательно, с уменьшением точки минимума вспомогательной функции приближаются к минимуму исходной задачи. Геометрическая иллюстрация решения приведена на рис. 1.11.
Как хорошо видно на рис. 1.11, при оптимуме исходной задачи на границе допустимого множества последовательность точек минимума с уменьшением приближается к оптимальному решению изнутри допустимой области. По этой причине метод барьеров называют методом внутренних штрафов.
В связи с возможными трудностями поиска при малых значениях решается не одна, а последовательность вспомогательных задач с уменьшающимися значениями параметра барьера.
Алгоритм.
1. Выбрать начальную точку x0 так, чтобы i(x0)<0; задать точность , начальное значение 0 и число (0, 1).
2. Минимизировать (x) одним из методов безусловной оптимизации, в результате чего определяется .
3. Проверить: если , то остановиться, приняв за оптимальное решение задачи.
4. Положить , за начальную точку принять и вернуться к шагу 2.
Значение 0 можно брать из интервала [2, 10]. Важное замечание касается пункта 2 алгоритма: в процессе поиска минимума вблизи границы из-за дискретности шагов возможен выход за допустимую область, где барьерная функция становится отрицательной, что повлечет расхождение поиска. Поэтому необходима явная проверка на допустимость точек на каждом шаге при минимизации .
Пример 2: f(x) = (x1-2)4+( x1-2x2)2 min; (x)=x2 0.
Решение находим, используя вспомогательную функцию
=(x1-2)4+(x1-2 x2)2 -
За начальную точку возьмем допустимую точку (0;1), значения и принимаем равными 10. Результаты поиска алгоритмом барьерных функций представлены в табл. 1.2 и на рис. 1.12.
Таблица 1.2
Результаты поиска алгоритмом барьерных функций
№ итерации |
|
x1 |
x2 |
f |
|
B |
|
1 |
10 |
0.7079 |
1.5315 |
8.3338 |
18.0388 |
9.705 |
|
2 |
1.0 |
0.8282 |
1.1098 |
3.8214 |
6.1805 |
2.3591 |
|
3 |
0.1 |
0.8989 |
0.9638 |
2.5282 |
3.1701 |
0.6419 |
|
4 |
0.01 |
0.9294 |
0.9162 |
2.1291 |
2.3199 |
0.1908 |
|
5 |
0.001 |
0.9403 |
0.9011 |
2.0039 |
2.0629 |
0.0590 |
|
6 |
0.0001 |
0.94389 |
0.89635 |
1.9645 |
1.9829 |
0.0184 |
|
1
Как и следовало ожидать, с уменьшением значение B стремится к нулю.
Завершая рассмотрение методов штрафных и барьерных функций, отметим, что можно построить алгоритм, использующий как штрафы, так и барьеры. Для этого достаточно записать смешанную вспомогательную функцию в виде
(x) = f(x) + B(x) +
где барьерная функция B(x) применяется к неравенствам, а штрафная функция Н(х) - к ограничениям-равенствам. Последовательность задач минимизации решается с уменьшающимися значениями параметра .
6. Другие методы условной оптимизации
Если все ограничения задачи заданы в виде неравенств, то для поиска условного минимума могут применяться модификации некоторых методов безусловной оптимизации. Так в методах случайного поиска модификация заключается в изменении условия успешности шага или направления. Шаг считается успешным, если он приводит в точку, в которой улучшается значение целевой функции и выполняются все ограничения. С этой целью добавляется проверка каждой точки на принадлежность допустимому множеству. В остальном алгоритмы остаются без изменений.
Аналогичное дополнение алгоритма Хука-Дживса делает его пригодным для поиска условного минимума. Генетические алгоритмы также могут использоваться для условной оптимизации. Для этого в них вводится детерминированный оператор жизнеспособности: если особь не удовлетворяет условиям «жизни», она погибает. Такой оператор должен применяться к каждой особи.
В данной главе не затронуты вопросы, возникающие при минимизации многоэкстремальных функций. Задача поиска глобального минимума многократно сложнее локальной оптимизации. Напомним, что при минимизации унимодальных функций в одних методах направление спуска выбирается по локальной модели целевой функции, например, линейной (градиентные методы) или квадратичной (метод Ньютона), в других - без использования модели, например, симплексный и случайные методы. В случае многоэкстремальной функции методы поиска строятся также на основе либо модели глобального поведения функции, либо эвристических представлений.
Несмотря на интенсивные исследования проблемы глобальной оптимизации сегодня нет эффективных методов, построенных на идее глобального поведения функции. Практическое применение находят в основном подходы, использующие локальный спуск из многих начальных точек с последующим выбором лучшего из найденных решений. Многократный спуск иногда называют мультистартом. Ему присущи такие недостатки как возможность неоднократного спуска в одну и ту же точку и отсутствие гарантии попадания в область притяжения глобального минимума. Эффективность мультистарта повышают за счет обеспечения выхода из «мелких» минимумов, исключения повторных спусков в найденные минимумы и т.п. С этой целью процессу спуска придают инерцию, которая позволяет проскакивать «неглубокие» минимумы (метод тяжелого шарика), изменяют целевую функцию для придания ей «туннельного эффекта», обеспечивающего переход из найденного в более глубокий минимум, используют редукцию задачи и другие идеи.
7. Примеры методов нелинейного программирования при формировании оптимального портфеля ценных бумаг по модели Марковица
Мировые фондовые рынки обладают существенным уровнем неопределенности, что влечет неустранимый риск, сопровождающий принятие инвестиционных решений. В ряде частных случаев традиционные методы анализа этого риска оказываются несостоятельными, так как они ориентируются на традиционный тип неопределенности, связанный с поведением однотипных объектов с неизменными свойствами. Связанные с такой неопределенностью риски сравнительно легко оцениваются на базе широко известных методов теории вероятностей.
На финансовом рынке обращается, как правило, несколько типов ценных бумаг: государственные ценные бумаги, муниципальные облигации, корпоративные акции и т.п. Если у участника рынка есть свободные деньги, то их можно отнести в банк и получать проценты или купить на них ценные бумаги и получать дополнительный доход. Но в какой банк отнести? Какие ценные бумаги купить? Ценные бумаги с низкими рисками, как правило, и малоэффективны, высокоэффективные, как правило, более рискованны.
Рассмотрим общую задачу распределения, в которой участник рынка хочет потратить свой капитал на приобретение ценных бумаг. Цель инвестора - вложить деньги так, чтобы сохранить свой капитал, а при возможности и нарастить его.
Набор ценных бумаг, находящихся у участника рынка, называется его портфелем. Стоимость портфеля - это суммарная стоимость всех составляющих его бумаг. Если сегодня его стоимость есть Р, а через год она окажется равной Р/, то ( Р/- Р)/Р естественно назвать доходностью портфеля в процентах годовых. Т.е. доходность портфеля - это доходность на единицу его стоимости.
Пусть xi - доля капитала, потраченная на покупку ценных бумаг i-го вида. Весь выделенный капитал принимается за единицу. Пусть di - доходность в долях годовых бумаг i-го вида в расчете на одну денежную единицу.
Найдем доходность всего портфеля dp. С одной стороны, через год капитал портфеля будет равен 1+dp, с другой - стоимость бумаг i-го вида увеличится с хi до хi+dixi, так что суммарная стоимость портфеля будет . Приравнивая оба выражения для стоимости портфеля, получаем: . Отсюда:
. (1.28)
Итак, задача увеличения капитала портфеля эквивалентна аналогичной задаче о доходности портфеля, выраженной через доходности бумаг и их доли формулой (1.28).
Как правило, доходность колеблется во времени, так что будем считать её случайной величиной. Пусть - средняя ожидаемая доходность, и пусть - среднее квадратичное отклонение этой случайной доходности, т.е. - математическое ожидание доходности и - дисперсия i-ой доходности. Обозначим и будем называть , , соответственно, эффективностью и риском i-ой ценной бумаги. Через обозначим ковариацию доходностей ценных бумаг i-го и j-го видов (или корреляционный момент ).
Так как доходность составляющих портфель ценных бумаг случайна, то и доходность портфеля есть также случайная величина.
Математическое ожидание доходности портфеля обозначим через :
.
Дисперсию доходности портфеля обозначим через :
.
Назовем - эффективностью портфеля, а величину - риском портфеля.
Каждый владелец портфеля ценных бумаг сталкивается с дилеммой: хочется иметь эффективность больше, а риск меньше. Однако поскольку «нельзя поймать двух зайцев сразу», необходимо сделать определенный выбор между эффективностью и риском. Этот выбор, в конечном счете, определяется отношением лица принимающего решение (ЛПР) к эффективности и риску.
Модель оптимального портфеля Марковица, которая обеспечивает минимальный риск и заданную эффективность имеет вид:
(1.29)
Оптимальный портфель Марковица максимальной эффективности и заданного (приемлемого) риска можно представить в виде:
(1.30)
Необходимо определить доли капитала, потраченные на покупку каждого вида ценных бумаг: x1, x2 ,…, xn.
Исходными данными для расчета является табл. 1.3.
Таблица 1.3
Таблица доходностей ценных бумаг
1 |
2 |
… |
i |
… |
j |
… |
n-1 |
n |
|
di1 |
|
dj1 |
|
||||||
di2 |
|
dj2 |
|
||||||
… |
|
… |
|
||||||
dik |
|
djk |
|
||||||
… |
|
… |
|
||||||
din |
|
djn |
|
||||||
Для вычисления используются нижеследующие расчетные формулы.
Среднее арифметическое доходности i-ой ценной бумаги:
(1.31)
Ковариация или корреляционный момент доходностей ценных бумаг:
, (1.32)
где и - отклонения доходностей i-ой и j-ой бумаг от средней арифметической доходности.
Приведенные модели Марковица в ограничениях используются заранее определенные уровни риска и доходности. Эти модели зависят от знаний и мнений экспертов рынка ценных бумаг и не дают игроку рынка ответ на самый главный вопрос, в какую же игру играть - рискованную (прибыльную) или нерискованную (мало-доходную). Для преодоления этого противоречия была предложена рискованно-прибыльная модель, которая позволяет не рассуждать над проблемой определения допустимого уровня риска для каждого портфеля, и имеет вид:
, (1.33)
где - вариация прибыльности ценных бумаг i-го вида, - ковариация прибыльности ценных бумаг i-го и j-го видов.
Работоспособность предложенной сверстки обоих критериев доказана путем числовых экспериментов методом «Монте-Карло» [5].
Рассмотренные модели относятся к моделям нелинейного программирования. Для их решения используется метод Лагранжа и программа Maxima.
Пример
Задана эффективность портфеля ценных бумаг и риск портфеля . Ценные бумаги заданы табл. 1.4.
Таблица 1.4
Таблица доходностей ценных бумаг
Акции типа 1 |
Акции типа 2 |
Акции типа 3 |
Акции типа 4 |
Акции типа 5 |
Акции типа 6 |
|
11,293 |
11,493 |
13,753 |
12,936 |
12,881 |
13,820 |
|
12,112 |
12,919 |
12,415 |
14,048 |
14,770 |
14,310 |
|
11,429 |
13,098 |
14,277 |
14,551 |
11,639 |
13,524 |
|
10,526 |
11,988 |
11,705 |
12,466 |
11,825 |
10,864 |
|
11,467 |
13,364 |
12,171 |
11,631 |
11,923 |
13,764 |
|
11,467 |
13,334 |
12,338 |
14,208 |
12,271 |
13,324 |
|
Необходимо с использованием программы Maxima определить доли капитала, потраченные на покупку каждого вида ценных бумаг при:
а) минимальном риске и заданной эффективности;
б) максимальной эффективности и заданном риске;
в) рискованно-эффективной модели.
< Введем обозначения: матрица X={x1, x2 ,…, x6} - доли капитала, потраченные на покупку каждого вида ценных бумаг; матрица A - таблица доходностей ценных бумаг, заданная в условии.
а) при минимальном риске и заданной эффективности модель оптимального портфеля Марковица задается выражением (1.29). В данной модели целевая функция r нелинейна, а ограничения линейные функции.
Для вычисления в Maxima необходимо принятые обозначения ввести в программу:
(%i1) X: matrix([x1, x2, x3, x4, x5, x6])$
(%i2) A: matrix([11.293, 11.493, 13.753, 12.936, 12.881, 13.820],
[12.112, 12.919, 12.415, 14.048, 14.770, 14.310],
[11.429, 13.098, 14.277, 14.551, 11.639, 13.524],
[10.526, 11.988, 11.705, 12.466, 11.825, 10.864],
[11.467, 13.364, 12.171, 11.631, 11.923, 13.764],
[11.467, 13.334, 12.338, 14.208, 12.271, 13.324])$
Знак $ используем для того, чтобы не загромождать рабочий лист ненужным отображением обозначений и исходных данных.
Целевая функция в выражении (1.29) есть не что иное как квадратичная форма, которая в матричной форме запишется как , где X - матрица-столбец переменных, а XT- матрица-строка переменных, которую получим при помощи функции transpose. Матрицу ковариаций доходностей ценных бумаг найдем с помощью функции cov, перед применением которой необходимо обязательно загрузить пакеты descriptive и numericalio.
Для получения результатов в удобном для просмотра виде нужно задать точность вычислений с помощью опции fpprec:7 (будет показано 7 значащих цифр, вместо 16 по умолчанию).
(%i3) load (descriptive)$
(%i4) load (numericalio)$
(%i5) fpprec: 7$
Теперь целевую функцию можно записать в Maxima как:
(%i6) r: transpose(X).cov (A).X$
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |