Научная статья на тему 'Многокритериальная оптимизация'

Многокритериальная оптимизация Текст научной статьи по специальности «Математика»

CC BY
1666
416
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ / МНОГОКРИТЕРИАЛЬНОЕ ПРОГРАММИРОВАНИЕ / КРИТЕРИЙ ПАРЕТО / ГРАНИЦА ПАРЕТО / ДОМИНИРОВАНИЕ ПО ПАРЕТО / АЛГОРИТМ ТУРНИРНОЙ СЕЛЕКЦИИ / ВЫЧИСЛЕНИЕ ГРАНИЦЫ ПАРЕТО / MULTI-OBJECTIVE OPTIMIZATION / MULTI-OBJECTIVE PROGRAMMING / PARETO CRITERION / PARETO FRONT / PARETO DOMINANCE / TOURNAMENT SELECTION ALGORITHM / COMPUTING A PARETO FRONT

Аннотация научной статьи по математике, автор научной работы — Шляга Анна Юрьевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Шляга Анна Юрьевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Multi-objective optimization

This article gives the definition of multi-objective optimization problem and describes ways for solving this problem. It describes a priori methods, which require that sufficient preference information is expressed before the solution process. This work contains the description of Pareto criterion, Pareto front and Pareto dominance. The article notes on algorithms, that used for multi-objective optimization problems where you don't know how to find an optimal solution.

Текст научной работы на тему «Многокритериальная оптимизация»

УДК 004

МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ

Шляга Анна Юрьевна

аспирантка кафедры информатики и информационных технологий Московский государственный университет печати имени Ивана Федорова 127550, Москва, ул. Прянишникова, 2А vau2007@rambler.ru

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

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

Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколь-нибудь развязности, какая у Балтазара Балтазаровича, да, пожалуй, прибавить к этому еще дородности Ивана Павловича — я бы тогда тотчас же решилась. А теперь — поди подумай!

Н.В. Гоголь, «Женитьба»

Человеческая жизнь напрямую связана с постоянным принятием решений в той или иной области. Когда выбор определяется одним единственным параметром, совершить его не составляет труда. Однако на практике встречаются задачи, связанные с поиском лучшего решения при наличии двух и более критериев оптимальности. В некоторых случаях удается найти решение, оптимальное по всем выбранным критериям, но, к сожалению, чаще встречаются более трудные задачи. Приведенный эпиграф — цитата из пьесы «Женитьба» Николая Васильевича Гоголя — прекрасно иллюстрирует проблему выбора при большом количестве доступных вариантов. Именно на решение такого рода задач направлена многокритериальная оптимизация.

Задача многокритериальной оптимизации

Математически альтернативные варианты представляют область допустимых решений и две или более целевые функции, которые должны максимизироваться (минимизироваться) в данной области [1]:

/(*) = {/i (*)> /2 (Ю'-'/«(*)} ^max(min)

IE J.

Векторы решений х — допустимое решение в области X, а /, (х) — целевая вектор-функция, п> 2.

Задача минимизации сводится к задаче максимизации [2] путем умножения целевой функции на -1:

/ (х) = тах (/• (х)) = min (-/• (х)).

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

Методы, связанные с оценкой целевых функций

В реальных задачах неизбежно возникают связи между целевыми функциями, критериями:

• критерии могут согласовываться друг с другом;

• критерии могут противоречить друг другу;

• критерии могут быть независимы. Предварительная экспертная оценка выбранных

критериев [3] позволит решить задачу многокритериальной оптимизации наиболее простыми, но иногда максимально эффективными способами.

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

Лексикографическое упорядочение. Лексикографическое упорядочение — метод, связанный с упорядочением критериев и последовательной оптимизацией по каждому из них [4]. Оптимизация г-го критерия начинается только после того, как получена оптимизация по всем предыдущим (i—1) критериям.

Отношение лексикографического порядка m >лекс l между критериями m и l выполняется, если первая компонента критерия m больше первой компоненты критерия /.

Лексикографическое решение — это вектор хреш,

принадлежащий области допустимых решений X такой, что для всех выполняется:

/^(Хреш) >лекс У(

На практике часто после решения задачи оптимизации по первой целевой функции решение вырождается в точку и остальные критерии не учитываются.

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

/(.V) ХГ^хК.

Применение границы Парето

Критерий Парето. Пусть в области допустимых решений есть решения и лч , тогда доминирует

по Парето, если л:, не хуже лч по всем критериям и хотя бы по одному лучше [5]:

Для всех/, /,' (х,) > /■ (х2) хотя бы для одного /'.

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

Критерий I

Рис. 1. Область решений, доминируемых по Парето решением А

3. Если fi{xl)> fjixj), то

4. dominated = true

Можно написать алгоритм (алгоритм 1), определяющий, доминирует ли некоторое решение над другим. Пусть fi — некоторый критерий, ах — один из вариантов решения задачи многокритериальной оптимизации, тогда fj (х) — значение критерия /■ для решения х:

Алгоритм 1. Определение наличия доминирования одного решения над другим

Требуется: Х] — решение, по которому определяется доминирование; х2 — некоторое другое решение; F = {/;, /2,..., /,..., / } — набор критериев.

1. Создать переменную dominated = false, которая показывает наличие (true) или отсутствие (false) до-минирования.

2. Для всех критериев / е F выполнить

5. Иначе если ,/, (^V) >,/, (xi )• 10

6. Вернуть false

7. Вернуть true

Граница Парето. Когда два решения равны друг другу по всем критериям, они не доминируют друг друга, а, значит, оба представляют интерес для решения задачи. Одним из способов решения проблемы многокритериальной оптимизации является определение набора решений, которые ничем не доминируемы. Такие решения формируют границу Парето. На рис. 2 можно увидеть границу Парето в двукритери-альном случае. Границу Парето также называют фронтом. В данном случае во фронт включены три решения. В двумерном случае фронт Парето представляет собой кривую, которая создает границу, за пределами которой нет решений (в трехмерном слу-

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

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

Критерий I

Рис. 2. Граница Парето

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

Алгоритм 2. Турнирная селекция, основанная на доминировании по Парето

Требуется: X = {хъх2,...,хт} — набор альтернативных решений

1. Повторить

2. Выбрать случайным образом два отличных друг от друга решения хг и х2

3. Если хI доминирует над х2, то

4. исключить х2 из X

5. Иначе если х2 доминирует над х}, то

6. исключить х1 из X

7. Иначе исключить х1 или х2 из X (определить случайным образом)

8. Пока в X не останется одно решение

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

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

Для того чтобы не перебирать все множество решений, можно написать алгоритм, который определяет, какие решения расположены на границе Парето (алгоритм 3):

Алгоритм 3. Определение множества решений, располагающихся на границе Парето

Требуется: X = {хъх2,...,хт} — набор альтернативных решений, X= {} — множество решений,

располагающихся на границе Парето 1. Для всех решений хг е X выполнить

2. 3.

Объединить X

front

■ X ■ X:

Для всех решений Xj е Xfront, Xj ^ xt выпол-

нить

4. Если ху доминирует над х,, то

5. исключить х, из Хугоп1:

6. Прервать цикл

7. Иначе если х, доминирует над ху, то

8. исключить х, из Хугоп1:

9. Вернуть Хугоп:

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

Многокритериальная оптимизация направлена на формализацию задач, решение которых зависит от

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Kaisa Miettinen. Nonlinear Multiobjective Optimization. — Boston: Kluwer Academic Publishers, 1999. — 299 р.

2. Шевченко В.Н., Золотых Н.Ю. Линейное и целочисленное линейное программирование. — Н. Новгород: Изд-во Нижегородского госун-та им. Н.И. Лобачевского, 2004. — 154 с.

3. Зак Ю.А. Прикладные задачи многокритериальной оптимизации. — М.: Экономика, 2014 — 455 с.

4. Аржанцев И.В. Базисы Грёбнера и системы алгебраических уравнений. — М.: МЦНМО, 2003. — 68 с.

5. Ногин В.Д.Принятие решений в многокритериальной среде: количественный подход. — М.: ФИЗМАТЛИТ, 2005 — 176 с.

MULTI-OBJECTIVE OPTIMIZATION

Аnna Yuryevna Shlyaga

Moscow State University of Printing Arts 127550Russia, Moscow, Pryanishnikova st., 2А

Annotation. This article gives the definition of multi-objective optimization problem and describes ways for solving this problem. It describes a priori methods, which require that sufficient preference information is expressed before the solution process. This work contains the description of Pareto criterion, Pareto front and Pareto dominance. The article notes on algorithms, that used for multi-objective optimization problems where you don't know how to find an optimal solution.

Keywords: multi-objective optimization, multi-objective programming, Pareto criterion, Pareto front, Pareto dominance, tournament selection algorithm, computing a Pareto front.

i Надоели баннеры? Вы всегда можете отключить рекламу.