6 ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ МНОГОЦЕЛЕВЫХ СИСТЕМ 6.1 ОПТИМИЗАЦИЯ ОДНОМЕРНЫХ МНОГОЦЕЛЕВЫХ СИСТЕМ Рассмотрим вначале случай, когда внешнее множество X одномерно представляет собой отрезок [a,b] , множество допустимых решений у есть замкнутая область n-мерного Евклидова пространства, а функция локальной эффективности _ƒ(x,y) неотрицательна, непрерывна и выпукла по X при любом y Y. Тогда области Дирихле элементов m -элементной стратегии А связаны E j j 1 , j , j=1,...,m, 0 a, m b . Рассмотрим функцию F ( j 1, j ) min max f ( x, y ) для yY j 1 x j ГМС , j F ( j 1, j ) min yY f ( x, y )dx для ИМС , j 1 представляющую собой оптимальное значение критерия оптимальности многоцелевой системы на отдельной области Дирихле. Ясно, что ее минимальное значение достигается при j 1 j , причем для ИМС оно всегда равно нулю. Надлежащим преобразованием исходной задачи, не меняющим ее содержания, того же можно добиться и для ГМС. Тогда линия уровня F=0 j 1 j , и линии уровня с малыми значениями есть биссектриса критерия оптимальности должны быть близки к ней. В частности, если они могут быть аппроксимированы семейством прямых j (1 F ) j 1 F , коэффициенты которого линейно зависят от значений критерия, то такая многоцелевая система называется асимптотической. Можно показать, что для нее оптимальное распределение областей Дирихле задается соотношениями j m b ( j 1 ) , a j 1,..., m 1, 0 a, m b, а оптимальное значение критерия равно для ГМС Fmin 1 (m b 1) , a для ИМС – 81 Fmin m (m b 1) . a В общем же случае F( j 1 , j ) унимодальна, с минимумом при j 1 j ,неотрицательна, непрерывна. Тогда F ( X , A, E ( x)) max F ( j 1, j ) j 1,..., m ь F ( X , A, E ( x)) F ( j 1, j ) для ГМС , (6.1) для ИМС. j 1 Найдем границы областей Дирихле, минимизирующие показатель эффективности F(X,A,E(x)). Легко показать, что для ГМС они удовлетворяют условию: F( j 1 , j ) c , j=1,...,m, 0 a, m b . (6.2) Если задаться значением C, то из этого условия, решая каждый раз уравнение относительно ξj, можно последовательно найти ξ 1 (С),ξ 2 (С),... и, наконец, m (c). Приравнивая его правой границе множества X, мы получаем уравнение относительно С: m (c)=b. (6.3) Решив это уравнение, можно найти значение Copt , а следом за ним, по (6.2), оптимальные значения границ областей Дирихле и компоненты элементов оптимальной стратегии y j Y, j=1,...,m. Геометрическая иллюстрация показана на рис. 6.1, на который нанесены линии уровня функции F ( j 1 , j ) . Видно, что графически оптимизация ГМС сводится к отысканию такой линии уровня, когда между этой линией и биссектрисой первого координатного угла можно вписать m-ступенчатую лестницу с началом на прямой ξ i 1 =a и концом на прямой ξ j 1 =b. Рис. 6.1 Для оптимальной ИМС можно показать, что Fj` ( j 2 , j 1 ) Fj`1 ( j 1, j ), j 2,..., m . (6.4) 82 Аналогично предыдущему, задавшись значением ξ 1 , можно, последовательно решая (6.4), вычислить ξ 2 (ξ 1 ),ξ 3 (ξ 1 ),...и, наконец, ξm(ξ 1 )=b , т.е. прийти к уравнению относительно ξ 1 , решив которое, можно легко найти остальные границы оптимальных областей Дирихле и саму оптимальную стратегию. Решению (6.4) может быть дана геометрическая интерпретация, аналогичная рис. 6.1. 6.2. СВЕДЕНИЕ К ЗАДАЧЕ ЦЕЛОЧИСЛЕННОГО ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Если размерность внешнего множества превосходит единицу, оптимизация многоцелевой системы значительно усложняется, так как требуется не только найти оптимальную m -элементную стратегию, но и оптимально разбить на области Дирихле нестрого упорядоченное внешнее множество. Если на отрезке каждая область Дирихле могла быть задана двумя числами - ее границами, то в пространстве большего числа измерений вообще нет унифицированного способа задания областей. Поэтому будем задавать многомерные множества X и Y конечным числом их элементов, т.е. использовать их точечную аппроксимацию. Пусть X xs s 1,..., n, Y yi i 1,..., m .Метрические свойства функции локальной эффективности в этом случае не так уж и важны, поэтому будем предполагать лишь ее липшицевость f ( x1 , y1 ) f ( x2 , y2 ) Lx x1 x2 Ly y1 y2 для любых x1 , x2 X , y1 , y2 Y . Введем m переменных u i , i=1,...,m, целочисленных и удовлетворяющих условиям 0≤u i ≤1, таким образом, эти переменные могут принимать лишь значения 0 и 1. Установим, что если u i =0, то точка Y i €Y не входит в оптимальную стратегию, а если u i =1, то входит. Тогда M U i 1 i m ( условие, что стратегия содержит ровно m элементов). Введем также nm целочисленных переменных v si , которые могут принимать значения 0 или1. Если vsi 0 , то будем считать, что точка xs X не входит в область Дирихле элемента i , а если vsi 1 , то входит. Тогда vsi ui , s 1,..., n 83 (условие наличия областей Дирихле лишь у элементов Y, входящих в оптимальную стратегию), 1 v ш 1 si 1 s=1,...,n (условие покрытия всего множества X системой областей Дирихле). Миноранта многоцелевой системы L(xs), очевидно, запишется m L( x s ) Vsi f ( x s , y i ) ,s=1,...,n. i 1 Окончательно могут быть сформированы целочисленного линейного программирования. Для ГМС- следующие задачи F min; m F vsi f ( x x yi ) , s=1,...,n; i 1 vsi ui , s=1,...,n, i=1,...,m m v i 1 m u i 1 i si 1 , s=1,...,n; m , u i 1 , i=1,...,m. Для ИМС: N M F vsi f ( x s , yi ) min; s 1 i 1 vsi ui , s=1,..,n, i=1,...,m; M v i 1 M u i 1 i si m, 1 , s=1,...,n; ui 1, i 1,..., m . Эти задачи могут быть решены, например, алгоритмом Гомори, правда, количество переменных в описанных задачах равно m(n+1), что для реальных задач слишком велико. 6.3 ОПТИМИЗАЦИЯ ГАРАНТИРУЮЩЕЙ МНОГОЦЕЛЕВОЙ СИСТЕМЫ МЕТОДОМ ЦЛП Алгоритм, изложенный в предыдущем пункте, при всей своей общности, недостаточно эффективен при большой размерности задачи (порядка сотен элементов внешнего множества и множества стратегий), поскольку преобразуется в задачу целочисленного программирования с числом переменных и ограничений порядка произведения количества элементов этих множеств. В данном пункте описывается алгоритм оптимизации гарантирующей многоцелевой системы, приводящий к задаче 84 целочисленного линейного программирования с числом переменных порядка суммы количества элементов этих множеств. Пусть X {xi }i 1,..., n , Y { y j } j 1,..., m . Обозначим aij f ( xi , y j ), i 1,..., n, j 1,..., m (6.5) Введем булевы переменные u j (0,1) - признаки того, включен ли элемент y j Y в стратегию A. Тогда число p элементов стратегии A определяется как m p u j . (6.6) j 1 Несколько расширим исходную постановку задачи оптимизации ГМС с учетом следующего обстоятельства. Критерий оптимальности ГМС весьма чувствителен к каждому элементу Y. Поэтому ошибка в определении эффективности хотя бы одного элемента может существенно исказить решение задачи. На практике же такие «выколотые точки» вполне возможны, именно поэтому, например, в математической статистике имеются специальные методы определения и исключения так называемых «грубых ошибок». Необходимо и при оптимизации ГМС предоставить возможность оптимального (по основному критерию) исключения из множества Y определенного числа элементов q. Для этого введем булевы переменные vi (0,1) - признаки того, что элемент xi X исключен из рассмотрения. Тогда n v i 1 i q . (6.7) Введем 1 при bij 0 при aij f , aij f . (6.8) Здесь f - гарантированная точность представления множества Y оптимальной m-элементной стратегией A в том смысле, что min f ( xi , y ) f y A Рассмотрим xi X . i -ю строку матрицы bij i 1,..., n j 1,..., m (6.9) .Если 85 m b ij j 1 1, (6.10) это означает, что для данного i существует хотя бы один номер j [1,..., m] такой, что f ( xi , y j ) f .Соответственно, если m b u ij j 1 j 1, (6.11) это означает, что существует такой элемент y j стратегии A, что f ( xi , y j 0 f . Условие же m b u ij j 1 j vi 1 (6.12) тогда означает, что либо элемент xi исключен из рассмотрения (тогда vi 1 и (8) выполняется для любой стратегии A), либо в стратегии A существует элемент y j , «расстояние» f ( xi , y j ) от которого до элемента xi не превосходит f. Выполнение (8) для любых i=1,…,n означает, что для стратегии A F ( X , A, f ( x, y )) min F ( X , A, f ( x, y )) f . A Y (6.13) Теперь можно поставить две взаимные оптимизационные задачи: минимизировать f при фиксированном числе p элементов стратегии A и выполнении (6.12) для любых I=1,…,n, а также (6.6) и (6.7), либо минимизировать p при фиксированном f и выполнении тех же условий. Предпочтительнее решать вторую задачу, поскольку она является стандартной задачей целочисленного линейного программирования (ЦЛП) всего лишь с n+m булевыми переменными uj, j=1,…,m, vi, I=1,…,n, критерием m p u j min (6.14) j 1 и n+1 ограничениями m b u j 1 ij vi 1, i 1,..., n, (6.15) n v i 1 j i q. Перебирая значения единственного параметра f и решая для каждого из них задачу ЦЛП, можно получить зависимость p опт ( f , q ) при фиксированном q. При этом, очевидно, max min f ( x, y) f min max f ( x, y) . xX yY xX yY (6.16) Это позволяет решить первую из взаимных задач – заданному значению p сопоставить оптимальное значение F . 86 Пример 1. Для студентов учебной группы рассчитан рейтинг, приведенный в табл. 6.1, по результатам их деятельности. Требуется разделить их на несколько подгрупп примерно равного уровня для того, чтобы частично индивидуализировать дальнейший учебный процесс. Таблица 6.1 Номер студента Рейтинг Номер студента Рейтинг 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 24 31 23 35 12 25 27 19 27 29 29 26 29 30 23 16 17 18 19 20 21 22 23 24 25 26 27 28 29 27 25 35 26 38 24 22 25 29 29 22 39 26 20 Расчеты по приведенному выше алгоритму показывают, что при отклонении рейтинга в подгруппе не более чем на единицу ( f =1) потребуется 7 подгрупп; не более чем на 2 единицы – 6; на 3 единицы – 4 и на 4 единицы – тоже 4 подгруппы. Между тем, если допустить возможность перевода из группы одного студента (q=1), необходимое число подгрупп уменьшается на единицу (переводится студент с наименьшим рейтингом 12), а если допускается возможность перевода трех человек (q=3), то потребное число подгрупп становится еще меньше. Оно приведено во второй строке табл.6.2, где указаны также переводимые студенты для различной величины допустимого отклонения рейтинга в подгруппах. Таблица 6.2 q f p опт Номер и рейтинг переводимого студента 4, 35 5, 12 18, 35 20, 38 27, 39 Q=3 1 5 2 4 3 3 4 2 Отметка о переводе из группы 1 1 1 1 1 1 1 1 1 1 1 1 87 6.4 ОПТИМИЗАЦИИ ГАРАНТИРУЮЩЕЙ МНОГОЦЕЛЕВОЙ СИСТЕМЫ МЕТОДОМ СЕТЕЙ Укажем вначале теорему общего характера. Теорема (достаточное условие оптимальности ГМС). Пусть <X,Y,f(x,y)> и <X1,Y,f(x,y)>, где X 1 X - гарантирующие многоцелевые системы, и ~ ~ F ( A, X 1 ) F ( A, X ) . ~ Тогда стратегия A , оптимальная для ГМС <X1,Y,f(x,y)>, оптимальна и для <X,Y,f(x,y)>. Иначе говоря, стратегия, оптимальная для ГМС с более узким внешним множеством, оптимальна и для аналогичной ГМС с более широким внешним множеством в том случае, если при этой стратегии значения критерия оптимальности этих ГМС совпадают. Доказательство. Пусть теорема неверна, т.е. существует допустимая ~ стратегия A* Y такая, что F ( A* , X ) F ( A, X ) . Ввиду того, что множество X1 уже, чем X, ~ ~ F ( A* , X 1 ) F ( A* , X ) F ( A, X ) F ( A, X 1 ) , ~ что противоречит оптимальности стратегии A для ГМС <X1,Y,f(x,y)>. Эта теорема позволяет использовать для оптимизации или проверки оптимальности ГМС более узкие внешние множества. В сочетании с алгоритмом, изложенным в предыдущем пункте, это позволяет во многих случаях уменьшить размерность решаемых задач ЦЛП. Соответствующий алгоритм сетей включает в себя следующие этапы. 1. Случайным образом выбирается некоторое подмножество внешнего множества стратегий X. 2. Для выбранного подмножества алгоритмом ЦЛП находится оптимальная стратегия, которой соответствует некоторое ~ значение F критерия оптимальности. 3. Для найденной стратегии вычисляется значение критерия оптимальности исходной ГМС для всего внешнего ~ множества X. Если оно равно F , это означает, что найденная стратегия является решением исходной задачи. 4. В противном случае к выбранному подмножеству добавляются элементы внешнего множества, на которых, при найденной стратегии, функция локальной эффективности ~ получила значение, большее F , т.е. ~ f ( x, y E ( x ) ) F , y E ( x ) A , и процесс повторяется начиная со второго этапа. 88