Множество Парето

|

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

Ограничимся рассмотрением случаев, когда решение принимается по двум критериям.

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

Пусть W и V - критерии, по которым необходимо выбрать оптимальное решение (при этом желательно по возможности максимизировать значения W и V). Рассмотрим на плоскости (W, V) множество clip_image002 возможных решений, которому на рисунке 3.1 соответствует заштрихованная область.

clip_image003

Каждая точка множества clip_image002[1] обладает одним из следующих свойств: либо все точки, ближайшие к ней, принадлежат множеству clip_image002[2] (такая точка называется внутренней точкой множества clip_image002[3]), либо сколь угодно близко от нее расположены как точки множества clip_image002[4], так и точки, множеству clip_image002[5] не принадлежащие (такие точки называются граничными точками множества clip_image002[6]). Граничная точка может как принадлежать, так и не принадлежать множеству clip_image002[7]. В дальнейшем мы будем рассматривать только такие множества, которым принадлежат все точки границы. Множество всех граничных точек множества clip_image002[8]называется его границей (обозначим егоclip_image005).

Пусть М - произвольная точка множества clip_image002[9], внутренняя или граничная, и (W, V) - ее координаты. Поставим следующий вопрос: можно ли, оставаясь в множестве clip_image002[10], переместиться из точки M в близкую точку так, чтобы при этом увеличились обе ее координаты? Если М - внутренняя точка, то это, бесспорно, возможно. Если же М - граничная точка, то такое возможно не всегда. Из точек вертикального отрезка АВ можно переместиться, увеличивая лишь координату V (координата W при этом остается неизменной). Перемещая точку горизонтального отрезка CD вправо, мы увеличиваем координату W (при этом координата V сохраняет свое значение). Что же касается дуги BD, то перемещение вдоль нее способно лишь увеличить одну из координат при одновременном уменьшении другой.

Тем самым точки множества clip_image002[11] можно разбить на три класса:

- к первому классу относятся точки, которые можно сдвинуть так, чтобы одновременно увеличились обе координаты и при этом точки остались в множестве clip_image002[12] (в этот класс попадают все внутренние точки множества clip_image002[13] и часть его граничных точек);

- второй класс образуют точки, перемещением которых по множеству clip_image002[14] можно увеличить только одну из координат при сохранении значения второй координаты (вертикальный отрезок АВ и горизонтальный отрезок CD на границе множества clip_image002[15]);

- в третий класс попадают точки, перемещение которых по множеству clip_image002[16] способно лишь уменьшить хотя бы одну из координат (дуга BD границы clip_image005[1]).

Множество точек третьего класса BD (выделено на рисунке 3.1 утолщенной линией) называется границей (множеством) Парето данного множества clip_image002[17].

Говоря нестрого, граница Парето множества clip_image002[18] - это точки, из которых нельзя сдвинуться на "север", "восток" либо "северо-восток", оставаясь в том же множестве clip_image002[19].

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

3.2. Постановка задачи в общем виде

Пусть на плоскости (x, y) задано множество w, представленное на рисунке 3.2 заштрихованной областью, и в каждой точке этого множества определены две непрерывные функции:

clip_image008 (3.1)

clip_image009

Рассмотрим следующую задачу: на множестве w найти точку (x0, y0) в которой

clip_image011

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

clip_image013

Сразу же отметим, что в общем случае поставленная задача решения не имеет. В самом деле, изобразим на плоскости (V, W) все точки, координаты которых вычисляются по формулам (3.1). Обозначим полученное множество через clip_image002[20]. Из рисунка 3.3 видно, что Wmax (наибольшее значение W) и Vmax (наибольшее значение V) достигаются в разных точках, а точка M* с координатами (Wmax, Vmax) лежит вне множества clip_image002[21].

clip_image014

Таким образом, в исходной постановке задача, вообще говоря, неразрешима - удовлетворить обоим требованиями одновременно невозможно. И, следовательно, нужно искать какое-то компромиссное решение.

Среди известных стоит отметить два метода:

1) метод уступок;

2) метод идеальной точки.

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

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

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

3.2.1. Метод идеальной точки

Рассмотрим реализацию метода идеальной точки на конкретном примере.

Пример 3.1. (случай непрерывного множества)

Пусть на множестве clip_image016плоскости (x, у), определяемом системой неравенств

clip_image018 (3.2)

заданы две линейные функции:

clip_image020 (3.3)

Требуется найти решение задачи

clip_image022

Р е ш е н и е

clip_image023

В соответствии с ограничениями (3.2) множество w представляет собой пятиугольник, на рисунке 3.4 его вершины имеют следующие координаты (X, Y): A(2,0); B(2,6); C(5,6); D(10,3); E(10,0).

В силу линейности критериев W и V пятиугольник ABCDE переходит в пятиугольник A*B*C*D*E*, представленный на рисунке 3.5, координаты вершин которого (W, V) вычисляются по формулам (3.3): А*(7, 0), B*(1, 6), C* (4, 9), D*(12, 11), E* (15, 8).

clip_image024

Находим границу Парето. Это отрезок D*E*. Точка утопии М*(15,11) считается заданной (ее координаты - суть наибольшие значения W и V).

Требуется найти на множестве Парето точку, ближайшую к точке утопии М*. Из рисунка 3.5 видно, что искомая точка должна лежать на отрезке D*Е*. На рисунке 3.6 проведем через точки D* и Е* прямую. Пусть

clip_image026 (3.4)

- ее уравнение.

clip_image027

Чтобы отыскать конкретные значения коэффициентов clip_image029, подставим в (3.4) координаты обеих точек - D* и Е*. Получим

clip_image031 (3.5)

clip_image033 (3.6)

Вычитая из равенства (3.5) равенство (3.6), после простых преобразований придем к соотношению

clip_image035

откуда

clip_image037

Положим clip_image039 Тогда любое из равенств(3.5) или (3.6) дает в результате clip_image041 и

W + V = 23

- искомое уравнение прямой.

Теперь стоит напомнить, как ищется расстояние между точками, заданными своими координатами.

На рисунке 3.7 M1(W1, V1) и M2(W2, V2) - точки на плоскости (W,V). Для того чтобы найти расстояние clip_image043 между ними, достаточно вычислить длину гипотенузы построенного прямоугольного треугольника M1M2M3 (заштрихованная область на рисунке 3.7). Воспользовавшись теоремой Пифагора, вычислим длину гипотенузы

clip_image045 (3.7)

clip_image046

По условию задачи нам нужно определить на прямой D*E*, которую описывает уравнение

W + V = 23, (3.8)

идеальную точку M0(W0, V0), минимально удаленную от точки утопии М*. Подставим в (3.7) координаты точки утопии М*(15, 11), обозначим полученное подкоренное выражение через z и решим следующую задачу поиска экстремума:

clip_image048 (3.9)

Так как согласно (3.8) W = 23 - V, то соотношение (3.9) можно переписать в виде

clip_image050

Возводя в квадрат и приводя подобные, получаем

clip_image052 (3.10)

Для решения оптимизационной задачи (3.10) вычислим первую производную clip_image054 и приравняем её нулю:

clip_image056,

отсюда найдем координату V0 идеальной точки М0

clip_image058

В соответствии с (3.8) найдем координату W0 идеальной точки М0:

W0=23 - V0=23 - clip_image060

Минимальное расстояние clip_image062от точки утопии M* до прямой D*E* найдем с учетом (3.7) и (3.10):

clip_image064

На рисунке 3.8 представлена идеальная точка clip_image066 с координатами (W0, V0)=clip_image068, которая находится на расстоянии clip_image070 от точки утопии М* (15, 11).

Соответствующие значения х0 и у0 легко находятся из системы линейных уравнений (3.3):

clip_image072

clip_image073

Имеем:

clip_image075

Ответ: Выбор решения clip_image077=(10, clip_image079) на множестве w обеспечивает паретооптимальное решение (W0, V0)=clip_image068[1] на множестве W.

Замечание. Мы рассмотрели задачу, в которой необходимо выполнить условие

clip_image081

На практике часто встречаются случаи, когда требования выглядят по-иному, например:

clip_image083

или даже так:

clip_image085

Можно, конечно, решать такие задачи и непосредственно. Но значительно удобнее поступить по-другому, если учесть, что функция

clip_image087

обладает следующим свойством: она достигает наибольшего значения в точности в тех точках, где функция clip_image089 принимает наименьшее значение, и наоборот. Иными словами, условия

clip_image091

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

clip_image081[1]

Предлагаю ознакомиться с аналогичными статьями: