Разработка и применение многокритериального метода муравьиных колоний в задаче оптимизации инвестиционного портфеля

0

Аннотация

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

Общая информация

Ключевые слова: оптимизация, метаэвристические методы, недоминируемая сортировка, оптимальность по Парето, инвестиции

Рубрика издания: Анализ данных

Тип материала: научная статья

DOI: https://doi.org/10.17759/mda.2024140205

Получена: 20.05.2024

Принята в печать:

Для цитаты: Пантелеев А.В., Попова Н.С. Разработка и применение многокритериального метода муравьиных колоний в задаче оптимизации инвестиционного портфеля // Моделирование и анализ данных. 2024. Том 14. № 2. С. 80–97. DOI: 10.17759/mda.2024140205

Полный текст

ВВЕДЕНИЕ

Сложность современных систем и множество противоречивых целей при их проектировании требуют разработки методов, способных учитывать несколько критериев в процессе принятия решений [1–7]. В работе представлен подход, основанный на аппроксимации границы Парето. Предлагается модификация непрерывной версии метода муравьиных колоний для решения задачи однокритериальной оптимизации [8–10]. Он относится к группе метаэвристических алгоритмов глобальной оптимизации, которые позволяют найти решения хорошего качества за приемлемое время [10]. В разработанном алгоритме предлагается использовать метод недоминируемой сортировки [6,7,11] с учетом возможного незначительного нарушения заданных ограничений типа равенств и неравенств [12–16]. Эффективность алгоритма продемонстрирована на типовых модельных примерах с разной структурой множества Парето. В результате сформированы рекомендации по выбору гиперпараметров алгоритма, что позволило поставить и решить задачу оптимизации инвестиционного портфеля [17–19].

 ПОСТАНОВКА ЗАДАЧИ

Рассматривается задача многокритериальной конечномерной оптимизации с ограничениями. Определим  множество допустимых решений

.           (1)

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

                                                                     ,

где  – заданные непрерывные функции, .

Тогда желаемым решением задачи является результат минимизации каждой из частных целевых функций с учетом заданных ограничений типа равенств и неравенств:

                                                                   

Однако, в общем случае невозможно обеспечить достижения минимума всех частных целевых функций на одном и том же решении , поэтому решение проблемы понимается иначе. Приведем несколько используемых далее определений [6].

            Определение 1. Вектор называется векторной оценкой решения .

            Определение 2. Вектор оценок ,  доминирует вектор , , если  и .

Определение 3. Вектор решений  доминирует вектор , если .

            Определение 4. Множество  является множеством решений, оптимальных по Парето, если .

            Определение 5. Множество векторных оценок  называется фронтом Парето.

Требуется найти аппроксимации множества векторных оценок (фронта Парето) и множества решений, оптимальных по Парето.

 

3. СТРАТЕГИЯ ПОИСКА РЕШЕНИЯ

 

Для решения задачи предлагается модифицировать метод муравьиных колоний, применяемый в однокритериальных задачах оптимизации [8–10], дополнив его механизмами            недоминируемой сортировки решений [6,7,11] и способом учета выполнения ограничений [12,13]. Базовый метод муравьиных колоний моделирует действия колонии муравьёв при поиске оптимального маршрута в изменяющейся среде обитания. При прохождении по какому-либо участку пути муравей откладывает особое пахучее вещество, называемое феромоном. Чем сильнее концентрация феромонов на тропе, тем более привлекательна она для других муравьёв. Таким образом, муравьи узнают, какие маршруты чаще всего используются колонией.

На каждой итерации на множестве  поиск решения производят  муравьев, образующих текущее поколение. Роль памяти муравьиной колонии играет архив решений – таблица, содержащая  наилучших найденных решений. Величина  называется размером архива решений.

На каждой -й итерации муравей с номером  по данным из архива решений, должен получить новое решение . При этом реализуется вероятностный выбор на основе известной плотности вероятности. Для -й координаты произвольной точки  она имеет вид:

,

где , ; , , – весовой коэффициент,  – гауссовская плотность вероятности, определяемая математическим ожиданием  и среднеквадратическим отклонением .

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

Рассмотрим недоминируемую сортировку подробнее: пусть  – множество решений на текущей итерации, где . Результатом сортировки является разбиение множества  на  непересекающихся подмножеств , , , – номер последнего подмножества в разбиении:

 

                          (2)

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

В недоминируемую сортировку включается метод -ограничений. Его основная идея заключается в том, что для всех решений , , вычисляется степень ошибки (Constraint Violation, CV):

                             ,            (3)

где – параметр, задающийся в алгоритме. Решения, у которых , считаются приоритетнее решений, у которых .

             В архив решений записываются решения в том же порядке, что и во множествах  После этого последние  точек из архива решений отбрасываются, таким образом, размер архива решений остается неизменным. Решения из архива используются для нахождения трех параметров: векторов , , , которые применяются для формирования плотностей , , определяющих движение муравьев (их возможные последующие координаты) в процессе поиска решения.

             Для выбранной муравьем с номером  плотности вероятности  вектор математического ожидания  принимается равным координатам точки с номером :

, ,

а среднеквадратическое отклонение вычисляется следующим образом:

, ,

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

Каждой плотности вероятности , , ставится в соответствие весовой коэффициент

,

где  – параметр алгоритма.

             На практике генерирование новой координаты  происходит в два этапа. На первом выбирается случайным образом плотность вероятности  при помощи метода рулетки с вероятностью выбора

, .

             На втором этапе генерируется значение  в соответствии с выбранной гауссовской плотностью , определяемой параметрами , . Здесь  – номер плотности вероятности, выбранной муравьем с номером .

В результате получается множество решений , после чего по ним реализуется недоминируемая сортировка. Среди непересекающихся множеств выбираются решения, пока их количество не будет равно . Если в каком-то подмножестве решений больше, чем необходимо выбрать, то необходимая часть решений отбирается случайным образом на основе расстояний до других решений в этом подмножестве.

АЛГОРИТМ  РЕШЕНИЯ  ЗАДАЧИ

               Шаг 1. Генерация начальных позиций.

Шаг 1.1.  Задать число муравьев , размер архива , максимальное число поколений , параметры , и . Положить номер поколения .

Шаг 1.2. Сгенерировать  точек  на множестве , используя равномерное распределение.

               Шаг 2. Расчет весов и вероятностей выбора решений. 

      Шаг 2.1. Для каждого решения , , подсчитать вес :

Шаг 2.2. Вычислить вероятность  выбора -й гауссовской плотности вероятности:

 

               Шаг 3. Выбор плотности вероятности.

                  Шаг 3.1. Положить .

                  Шаг 3.2. Методом рулетки выбрать номер муравья .

               Шаг 4. Генерация вектора .

                  Шаг 4.1. Положить .

Шаг 4.2. Вычислить математическое ожидание  и среднеквадратическое отклонение :

,

,

 

Шаг 4.3. Генерировать случайную величину  на отрезке  согласно плотности вероятности

Шаг 4.4. Если , сформировать и добавить новое решение к текущему числу поколения , и перейти к шагу 5. Если , положить  и перейти к шагу 4.2.

               Шаг 5. Если , процесс поиска решения поколением муравьев завершить и                   

                  перейти к шагу 6. Если , положить  и перейти к шагу 3.2.

               Шаг 6. Формирование нового поколения.

Шаг 6.1. Для каждого решения ,   из множества  вычислить степень ошибки по формуле (3):

,

где – функции, задающие ограничения типа неравенств,  – функции, задающие ограничения типа равенств.

Шаг 6.2. Разделить множество  на два подмножества:  – решения, у которых , и – решения, у которых .

Шаг 6.3. Реализовать процедуру недоминируемой сортировки согласно (2)  и , где  и  – номера последних подмножеств в разбиениях  и соответственно. Увеличить счетчик числа итераций  .

                  Шаг 6.4. Соединить два подмножества  и  в одно .

                  Шаг 6.5. Найти

Если то  иначе   Если  и  то  все решения попадают в множество

Шаг 6.6. Для каждой точки  подсчитать  – сумму расстояний до остальных точек,  – вероятность выбора решения .

   

Шаг 6.7. Используя вероятность , случайным образом выбрать из множества  множество точек (решений) в количестве  и добавить их в множество .

Шаг 6.8. Если , то положить  и перейти к шагу 2. Иначе в качестве приближенного решения принять и .

МОДЕЛЬНЫЕ ПРИМЕРЫ

Для тестирования метода были взяты задачи с известным точным решением: ZDT1 (рис. 1), ZDT2 (рис. 2), ZDT3 (рис. 3). Чтобы оценить, насколько полученное решение близко к истинной границе Парето, были использованы метрики IGD (Inverted Generational Distance) и HV (HyperVolume, гиперобъем).

Идея IGD заключается в том, чтобы измерить среднее расстояние от всех точек Парето-оптимального фронта до ближайшей точки из набора решений, который возвращает программа. Чем меньше это расстояние, тем лучше качество приближения. Метрика рассчитывается следующим образом:

,

где  – расстояние от одной точки до другой: .

Метрика HV основывается на концепции измерения объема пространства, ограниченного гиперплоскостью, которая определена оптимальным значением каждого критерия. Поскольку HV не учитывает распределение точек внутри этого пространства, она может быть несовершенной для сравнения множеств Парето, которые имеют различные распределения точек. Тем не менее, она остается важным инструментом для сравнения алгоритмов оптимизации и оценки их эффективности. Гиперобъем вычисляется следующим образом:

,

где  – мера Лебега,  – опорная точка, .

В процессе тестирования метода для каждого примера при определенных параметрах (табл. 1, 3, 5) были вычислены 10 решений при . В табл. 2, 4, 6 занесены следующие значения:

,               ,

,             ,

,                 ,

где – гиперобъем точной границы Парето.

Пример 1 (ZDT1). Частные целевые функции:

где , при этом  .

Таблица 1. Параметры метода для ZDT1

№ теста

1

50

200

100

0,5

0,5

2

100

300

200

0,5

0,5

3

100

300

200

0,85

0,1

4

200

400

200

0,85

0,1

5

200

500

300

0,85

0,1

 Рис. 1. Фронт Парето найденного решения для ZDT1 (тест №5)

Таблица 2. Значения метрик для ZDT1

№ теста

1

0,29530

0,79670

0,43320

0,37651

0,65736

0,46522

2

0,01438

0,17763

0,06773

0,01778

0,24343

0,09253

3

0,01134

0,01549

0,01286

0,01273

0,01928

0,01517

4

0,00436

0,00820

0,00597

0,00179

0,00767

0,00428

5

0,00274

0,00610

0,00417

0,00007

0,00465

0,00189

 

Пример 2 (ZDT2). Частные целевые функции:

                                                           

где , при этом  .

Таблица 3. Параметры метода для ZDT2

№ теста

1

50

200

100

0,5

0,5

2

100

300

200

0,5

0,5

3

100

300

200

0,85

0,1

4

200

400

200

0,85

0,1

5

200

500

300

0,85

0,1

 

Рис. 2. Фронт Парето найденного решения для ZDT2 (тест №5)

Таблица 4. Значения метрик для ZDT2

№ теста

1

0,16477

0,46240

0,28424

0,17973

0,31477

0,24398

2

0,02469

0,09771

0,05939

0,03049

0,19172

0,07094

3

0,04961

0,06666

0,05722

0,01019

0,06985

0,03391

4

0,00652

0,01595

0,00997

0,00513

0,01943

0,01030

5

0,00286

0,00711

0,00347

0,00053

0,00781

0,00291

 

Пример 3 (ZDT3). Частные целевые функции:

                                                           

где , при этом  .

Таблица 5. Параметры метода для ZDT3

№ теста

1

50

200

100

0,5

0,5

2

100

300

200

0,5

0,5

3

100

300

200

0,85

0,1

4

200

400

200

0,85

0,1

5

200

500

300

0,85

0,1

Рис. 3. Фронт Парето найденного решения для ZDT3 (тест №5)

Таблица 6. Значения метрик для ZDT3

№ теста

1

0,12370

0,33840

0,18056

0,24215

0,49522

0,32146

2

0,12253

0,27157

0,23666

0,23819

0,64079

0,53523

3

0,02940

0,26720

0,07840

0,07319

0,63168

0,18812

4

0,00764

0,01315

0,01035

0,02060

0,03533

0,02799

5

0,00632

0,00723

0,00664

0,01677

0,01997

0,01814

ЗАДАЧА  ОПТИМИЗАЦИИ  ИНВЕСТИЦИОННОГО  ПОРТФЕЛЯ

            Будем называть инвестиционным портфелем совокупность купленных инвестором активов. Он задается вектором относительных весов  Каждый инвестор стремится собрать такой портфель ценных бумаг, который обеспечит наибольший доход  при минимальном риске , где – вектор математических ожиданий (вектор средних доходностей),  – ковариационная матрица доходностей.

 

Тогда многокритериальную задачу оптимизации инвестиционного портфеля можно записать следующим образом:

где .

В качестве примера рассматривается портфель ценных бумаг, состоящий из акций десяти ведущих российских компаний: ВТБ (VTBR), Газпром (GAZP), Лукойл (LKOH), Аэрофлот (AFLT), Сургутнефтегаз (SNGS), Мечел (MTLR), Алроса (ALRS), Яндекс (YNDX), Ютэйр (UTAR), Магнит (MGNT). Информация о средних доходностях (табл. 7) и ковариациях (табл. 8) акций представлена на момент закрытия за период с апреля 2023 года по апрель 2024 года.

                                                                                    Таблица 7

Средние доходности активов

Актив

Доходность

ВТБ (VTBR)

-0,00731

Газпром (GAZP)

0,02070

Роснефть (ROSN)

0,03487

Аэрофлот (AFLT)

0,01402

Сургутнефтегаз (SNGS)

0,06578

Мечел (MTLR)

0,041187

Алроса (ALRS)

0,017306

Яндекс (YNDX)

0,065089

Ютэйр (UTAR)

0,078605

Магнит (MGNT)

0,051897

 

Таблица 8. Ковариации активов

 

VTBR

GAZP

ROSN

AFLT

SNGS

MTLR

ALRS

YNDX

UTAR

MGNT

1

0,002305

0,000286

-0,00128

0,00159

0,00243

0,002187

0,003015

-0,0003

-0,00268

0,001998

2

 

0,00157

9,95E-05

0,000585

-0,00053

0,001445

0,001618

0,00122

-0,00077

0,000408

3

 

 

0,002899

-0,00104

-0,00126

0,000394

-0,00021

0,000238

0,003911

0,000349

4

 

 

 

0,005949

0,00227

-0,00059

0,004666

0,004885

0,003723

0,000895

5

 

 

 

 

0,012254

-0,00166

0,002244

-0,00216

0,001428

0,004201

6

 

 

 

 

 

0,015316

0,002534

-0,00044

-0,00112

0,002839

7

 

 

 

 

 

 

0,007566

0,003246

0,001021

0,003663

8

 

 

 

 

 

 

 

0,007368

0,004928

0,000278

9

 

 

 

 

 

 

 

 

0,054013

0,001045

10

 

 

 

 

 

 

 

 

 

0,006855

Результаты решения задачи представлены в табл. 10 и на рис. 4. Параметры, при которых было вычислено решение, приведены в табл. 9.

Таблица 9. Параметры метода

600

800

1500

0,85

0,1

0,000153

 Таблица 10. Веса ценных бумаг, значения дохода и риска

0,09

0,05

0,05

0,08

0,31

0,06

0,06

0,2

0,08

0,02

0,04645

0,05502

0,01

0,13

0,03

0,09

0,49

0,05

0

0,13

0,02

0,05

0,04942

0,066

0,04

0,15

0,23

0,02

0,15

0,03

0,06

0,07

0,03

0,22

0,03018

0,03085

0,02

0

0,14

0,07

0,06

0,06

0,06

0,09

0,46

0,04

0,05571

0,12077

0,06

0,13

0,02

0,01

0,19

0,01

0,1

0,25

0,2

0,03

0,04987

0,06808

0,03

0,08

0,09

0,04

0,42

0,04

0,02

0,12

0,09

0,07

0,04899

0,0594

0,03

0,14

0,17

0,07

0,21

0,1

0,08

0,05

0,08

0,07

0,03872

0,04231

0,04

0,04

0,32

0,06

0,14

0,04

0,04

0,16

0,12

0,04

0,0435

0,04787

0,05

0,07

0,05

0,03

0,36

0,03

0,05

0,18

0,1

0,08

0,04827

0,05731

0

0,29

0,11

0,07

0,14

0,05

0,05

0,16

0,09

0,04

0,04018

0,04449

0,09

0,19

0,25

0,1

0,07

0,1

0,04

0,1

0,05

0,01

0,03313

0,03695

0,07

0,17

0,24

0,03

0,13

0,04

0,09

0,11

0,01

0,11

0,03124

0,03408

0,03

0,06

0,09

0,02

0,24

0,05

0,02

0,23

0,13

0,13

0,0477

0,05579

0,02

0,11

0,11

0,05

0,22

0,06

0,03

0,12

0,23

0,05

0,05009

0,06854

0,07

0,05

0,21

0,01

0,24

0,09

0,06

0,05

0,03

0,19

0,03392

0,03826

0,12

0,11

0,17

0,07

0,15

0,13

0,04

0,1

0,02

0,09

0,03264

0,03608

0,09

0,12

0,15

0

0,12

0,06

0,07

0,15

0,09

0,15

0,03587

0,04009

0

0,19

0,06

0,05

0,05

0,05

0,01

0,22

0,34

0,03

0,05332

0,09371

0,01

0,08

0,04

0,07

0,16

0,17

0,05

0,26

0,07

0,09

0,04505

0,05207

0

0,14

0,12

0,06

0,13

0,17

0,08

0,12

0,08

0,1

0,03875

0,04315

0,04

0,09

0,21

0,04

0,25

0,03

0,04

0,12

0,1

0,08

0,04348

0,04597

0,02

0,17

0,04

0

0,15

0,04

0,08

0,29

0,2

0,01

0,05216

0,06949

0,02

0,02

0,39

0,1

0,19

0,05

0,03

0,08

0,11

0,01

0,04444

0,04831

0,06

0,08

0,08

0,05

0,34

0,02

0,01

0,15

0,14

0,07

0,04921

0,06031

0,07

0,1

0,21

0,01

0,11

0,07

0,07

0,18

0,11

0,07

0,04053

0,0448

0,07

0,14

0,06

0,03

0,27

0,01

0,07

0,19

0,11

0,05

0,0454

0,05297

0,02

0,06

0,13

0,04

0,13

0,14

0,08

0,16

0,06

0,18

0,03679

0,04084

0,04

0,17

0,08

0,05

0,14

0,17

0,06

0,11

0,04

0,14

0,03419

0,03854

0,04

0,04

0,32

0,12

0,2

0,08

0,01

0,05

0,08

0,06

0,03995

0,04401

0,09

0,18

0,09

0,06

0,21

0,08

0,06

0,1

0,06

0,07

0,03621

0,04042

0,02

0,17

0,15

0,05

0,18

0,03

0,05

0,14

0,08

0,13

0,03862

0,041

0,07

0,1

0,11

0,07

0,22

0,12

0,07

0,11

0,08

0,05

0,04061

0,04487

0,07

0,12

0,05

0,05

0,2

0,11

0,01

0,2

0,13

0,06

0,04587

0,05379

0,03

0,04

0,02

0,05

0,26

0,1

0,11

0,25

0,07

0,07

0,04706

0,05566

Рис. 4. График зависимости дохода и риска

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

Заключение

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

Информация об авторах

Пантелеев Андрей Владимирович, доктор физико-математических наук, профессор, заведующий кафедрой математической кибернетики института «Информационные технологии и прикладная математика», Московский авиационный институт (национальный исследовательский университет), Москва, Россия, ORCID: https://orcid.org/0000-0003-2493-3617, e-mail: avpanteleev@inbox.ru

Попова Наталья Сергеевна, студент бакалавриата института «Компьютерные науки и прикладная математика», Московский авиационный институт (национальный исследовательский университет) (МАИ), Москва, Россия, ORCID: https://orcid.org/0009-0000-7196-7786, e-mail: popovanatalya472@gmail.com

Метрики

Просмотров

Всего: 1
В прошлом месяце: 0
В текущем месяце: 1

Скачиваний

Всего: 0
В прошлом месяце: 0
В текущем месяце: 0