№ 2 (44) 2013
Д. С. Хабарова, аспирант Северо-Кавказского федерального университета, г. Ставрополь
обзор программных комплексов многокритериальной оптимизации
Эффективность сложной системы, в том числе информационной, зависит от множества факторов, поэтому задача оценивания параметров систем относится к задачам многокритериальной оптимизации. Высокая сложность многокритериальных математических моделей делает необходимым использование специализированных программных комплексов для решения подобных задач.
введение
Многокритериальная оптимизация состоит в поиске наилучшего (оптимального) решения, удовлетворяющего нескольким не сводимым друг к другу критериям. Целью многокритериальной оптимизации является моделирование выбора, т. е. оценка качества различных вариантов и выявление предпочтений между ними на основе их алгоритмической обработки в соответствии с моделью. Допустимые варианты решения или альтернативы задачи оптимизации рассматриваются как возможные способы достижения поставленных целей. Допустимые решения формируются на основе информации о реальной ситуации и имеющихся в задаче ограничений, а также на основе опыта лица, принимающего решение (ЛПР), экспертов и консультантов.
Пусть X = {х е Яп} — п-мерный вектор показателей, описывающий допустимый вариант информационной системы и принадлежащий множеству п-мерных векторов. Функциональная взаимосвязь показателей, характеризующих качество системы, устанавливается определенными соотношениями, на которые накладываются ограничения д1 (х)> 0,...,д1 (х)> 0. Функционирование сети направлено на достижение целей, связанных с вектором критериев Ф = [Ф1, Ф2,...,Фт ], — правил использования показателей эффективности.
Среди методов поиска оптимальных решений не существует универсального, пригодного для решения любой задачи оптимизации. Выбор метода зависит от исходных данных и предпочтений ЛПР.
Окаляризация многокритериальной задачи
Вследствие того, что большое количество математических методов оптимизации разработаны применительно к случаю синтеза по единственному (скалярному) показателю качества, оптимизация сложных систем традиционно производится путем ска-ляризации — сведением многокритериальной задачи к однокритериальной. Выбор обоснований вида результирующей целевой функции требует очень сложного анализа. Скаляризация даст хороший результат при наличии достаточных оснований считать какой-то определенный критерий главным или возможности однозначного установления значения для критериев, переводимых в разряд ограничений. С математической точки зрения можно выделить две группы методов скаляризации. Для методов первой группы значительно усложняется целевая функция (сравнительно с обычной скалярной задачей), а для методов второй группы усложняются функции ограничений.
Для решения скаляризованной задачи применимы программные комплексы, раз-
№ 2 (44) 2013
работанные для обычных оптимизационных задач.
Программные системы для решения задач линейного программирования на сегодняшний день справляются с несколькими тысячами переменных и ограничений. Пакеты, использующие симплекс-метод, — Lp_solve, SoPlex, SPLP, GULF, BPMPD, HOPDM. Системы моделирования — LPL, GAMS.
Многие разработчики делают демонстрационные или «академические» версии своих продуктов свободно распространяемыми. Обычно они обладают всеми возможностями полных версий, имея при этом ограничения на размерность решаемых задач или максимальное время функционирования. Некоторые из таких демо-версий — LINDO, LINGO [http://www.lindo.com/]; MOSEK API и комплект инструментов для MatLab [http://mosek.com/resources/download/]; MPL с CPLEX [http://www.maximal-usa.com/ download/]; Visual XPRESS с XPRESS-MP [http://www.dashopt.com/downloads/].
К настоящему времени разработано достаточно много алгоритмов решения задач нелинейного программирования. Следующие сайты предлагают решение таких задач пользователей: AMPL [http://www.ampl.com/ TRYAMPL], Network-Enabled Optimization System (NEOS) Server [http://neos-server.org/ neos/], GALAHAD [http://www.galahad.rl.ac.uk/ download.html].
В среде Mathematica могут быть использованы пакеты Math Optimizer, Global Optimization [http://www.mathematica.com].
Система компьютерной алгебры Mathcad позволяет получить решение задач оптимизации, не углубляясь в технику математических преобразований [http://www.ptc.com/ product/mathcad/].
Целевое программирование (Goal programming) можно рассматривать как продолжение или обобщение линейного программирования для работы с несколькими, как правило, противоречивыми критериями. Понятие цели намного шире понятия критерия и зависит от ЛПР и постановки задачи. Лексикографический метод целевого програм-
мирования заключается в поэтапном поис- <§ ке минимума функций отклонений, с учетом их приоритета важности, так как от него за- * висит порядок изменения области определе- c-j. ния. LiPS — бесплатный легкий в использовании графический интерфейс программы, предназначенной для решения задач линейного, целочисленного и целевого программирования [http://sourceforge.net/projects/ lipside/]. LINSOLVE — бесплатные программы линейного программирования и целевого линейного программирования командной строки Windows [http://en.wikipedia.org/wiki/ Goal_programming].
Optimization Toolbox представляет собой расширение вычислительной среды MatLab и включает инструментарий для численной реализации задач линейного программирования, квадратичного программирования, нелинейной и многокритериальной оптимизации [1]. Имеются два типа постановки задачи многокритериальной оптимизации: задача достижения цели и задача минимакса [http://www.mathworks.com/].
Пакет DirectSearch вычислительной среды Maple состоит из набора команд для численного вычисления локальных и глобальных минимумов(максимумов)нелинейной функции многих переменных с ограничениями или без них. Методы, реализованные в пакете, являются универсальными свободными от производных методами, т. е. они не требуют, чтобы целевая функция и ограничения были дифференцируемыми и непрерывными. Пакет также содержит команды для многокритериальной оптимизации, решения системы уравнений, подгонки нелинейной функции к данным разными методами. Новая версия пакета оптимизации DirectSearch на русском и английском языке доступны по адресу: http://www.maplesoft.com/ applications/view.aspx?SID=101333.
Методы решения многокритериальных задач
В настоящее время наиболее проработанными можно считать методы решения
-ч ПРИКЛАДНАЯ ИНФОРМАТИКА
№ 2 (44) 2013 ' -
t
5
с о >S
0
t
t Й
1
IS
со
0
£
1 Si й
I
6
о &
&
¡§
двухкритериальных задач и линейных многокритериальных задач, для которых нетрудно проверить существование эффективных решении.
В некоторых случаях возможные альтернативы могут быть заданы, например, когда известны точные характеристики элементов или имеются варианты проектов системы. Поиск оптимальной альтернативы, являющейся решением многокритериальной задачи, следует выполнять на множестве Па-рето — множестве оптимальных (недоминируемых) альтернатив.
Автором выполнено исследование методов многокритериальной оптимизации, в результате которого была разработана программа на языке Pascal для выбора оптимального варианта проекта информационной системы по двум критериям. Множество Парето строится методом выделения доминирующих точек, идея которого очевидна и основана на выделении границы исследуемого множества [2]. Используя метод идеальной точки, для которого получены все начальные данные, имеем оптимальный вариант проекта информационной системы.
Приведенный ниже алгоритм оптимизации проекта системы объединяет процедуры многокритериальной оптимизации и процедуру интерпретации оценок критериев.
1. Задается множество альтернатив — множество значений оценок критериев для каждого проекта, заключеннных в двухмерный параллелепипед, в котором назначаются координаты. Для каждого критерия нумеруются значения. Значения первого критерия нумеруются от единицы до m1, а второго — до m2. Если значения совпадают, им присваивается одинаковый номер. В соответствии с номерами строится координатная сетка. На рисунке 1 представлен пример множества допустимых решений для двух критериев Ф1 и Ф2, при m1 = 4,m2 = 4.
2. Формируется матрица M, соответствующая множеству допустимых решений. Матрица содержит только нули и единицы. Элемент a(i2,i1) равен единице, если соот-
Ф
В
1 2 3 4 Ф,
Рис. 1. Множество допустимых решений
ветствующая его индексу точка принадлежит множеству, и нулю — если не принадлежит. Матрица М содержит т1 столбцов и т2 строк, i1 — номер столбца, i2 — номер строки. Нумерация строк осуществляется снизу вверх. Матрица просматривается один раз. Рисунку 1 будет соответствовать матрица М:
"0 0 10" 0 10 0 10 0 0 0 0 0 1
M=
3. Формируется матрица, соответствующая множеству Парето Р, начиная с правого верхнего угла ¡1 = т1, i2 = т2, к1 = 0. Если точка принадлежит множеству альтернатив (а(т2, т1) = 1), то остальные элементы матрицы обнуляются и данная точка множества Парето является оптимальной у*. В противном случае переходим к следующему шагу.
4. Если ¡1 ф 0, рассматриваются следующие элементы в строке ¡1 = ¡1 -1 до тех пор, пока не будет найден элемент строки а(4, ¡1) = 1 (тогда к1 = ¡1) или же пока не выполнится равенство ¡1 = к1. Все последующие элементы данной строки обнуляются. Формируется соответствующая строка матрицы множества Парето.
5. Если ¡2 ф 1, переходим к следующей строке ¡2 = ¡2 -1 и шагу 6. Иначе переходим на шаг 7.
№ 2 (44) 2013
6. Рассматривается крайний правый столбец = m1. Если точка принадлежит множеству альтернатив (а(/2, т1) = 1), остальные элементы данной строки обнуляются. В противном случае переходим к шагу 4.
7. В полученной матрице Р, содержащей лишь точки Парето (I точек), выбираем идеальную точку у(0), координаты которой имеют максимально возможные значения, достижимые на множестве Парето.
P =
8. Для всех I точек множества Парето у(|) е Рф определяется расстояние между каждой точкой у(|) и идеальной точкой у(0)
0 0 1 0
0 0 0 0
0 0 0 0
0 0 0 1
по формуле:
Р( y(ly(0)) =
X ( - у() )2
/г
(1)
9. За оптимальную точку у* принимается та, для которой указанное расстояние минимально на множестве Парето:
р(y(\y(0)) ^ min.
У еРф
(2)
Оптимальным проектом является вариант, соответствующий точке у*. Для рассматриваемого примера идеальна точка у(0) = [4,4], оптимальный проект у* = [4,3] (рис. 2).
з 4 у,
Рис. 2. Идеальная точка на множестве оценок
Если количество возможных вариантов построения системы велико, рассматриваются задачи, в которых множество альтернатив не задано, а лишь имеются ограничения на параметры. Для решения таких задач используют специальные методы, среди которых можно выделить генетические алгоритмы и метод зондирования с помощью ЛПт-последовательности.
Генетические алгоритмы являются по сути алгоритмами случайного поиска, однако заложенная в них стратегия эволюционного развития на основе программируемого механизма отбора приводит к синтезу решений, близких к оптимальным.
Такие алгоритмы предполагают генерацию случайной начальной популяции. Особи в популяции оцениваются с использованием функции пригодности (приспособленности) на основе целевых функций. В зависимости от того, минимизируется или максимизируется целевая функция, соответственно, лучшими считаются особи с меньшими или большими значениями пригодности. К ним применяются генетические операторы. Оператор кроссовера (crossover operator) моделирует процесс скрещивания особей, за счет которого производится обмен генетическим материалом между особями. Для динамической адаптации размера шага используется оператор мутации. Для новых особей вычисляется значение пригодности, и затем производится отбор (селекция) лучших особей в следующее поколение. Этот набор действий продолжается то тех пор, пока не будет найдено глобальное решение или будет достигнуто максимальное количество поколений.
Наиболее распространенными и эффективными генетическими алгоритмами многокритериальной оптимизации являются SPEA-2 и NSGA-2. Эволюционный алгоритм на основе силы Парето (Strength Pareto Evolution Algorithm 2) — SPEA2, предложенный Зизлером, использует критерии расстояния до ближайшего соседа как ориентир дополнительной штрафной функции, что позволяет достигать хорошего разнообра-
S 00
t
Ii
105
s=1
№ 2 (44) 2013
зия Парето-фронта [3]. Генетический алгоритм недоминирующей сортировки NSGA-2 (Non-dominated sorting genetic algorithm), разработанный Дебом, оперирует архивом для сохранения недоминантных особей и популяцией для создания новых [4].
Основным преимуществом генетических методов представляется параллельная обработка множества альтернативных решений, что является мощным средством выхода из локальных оптимумов. Благодаря этому эволюционные алгоритмы последние два десятилетия широко используются для решения задач многоцелевой оптимизации. К недостаткам генетических алгоритмов можно отнести следующее. При генетическом поиске просматривается множество решений «разбросанных» по всему пространству решений, особенно в начале поиска. Однако в процессе генетического поиска решения с худшими, по сравнению с другими, оценками, но лежащие в областях, включающих точки с глобальным оптимумом, могут быть потеряны. Глобальный оптимум может быть пропущен, так как направление шага к оптимуму задается случайными изменениями. Выбор начальной популяции может существенно ускорить схо-§ димость процесса. Существуют различные g гибридные методы, например использую! щие NSGA с ЛПт-последовательности Со-§ боля в качестве начальной популяции. § Метод зондирования с помощью ЛПт-по-§ следовательности, предложенный И. М. Соболем и Р. Б. Статниковым, основан на ут-^ верждении, что максимальное число про-S сматриваемых точек при минимуме вычис-g лений достигается, если точки выбираются § из ЛПт-последовательности [5]. Равномер-(S но распределенные последовательности § дают возможность определить координате ты пробных точек в пространстве параметре ров. Многокритериальная оценка системы Ц с варьируемыми параметрами данным ме-Ц тодом предполагает, что на параметры на-^ ложены функциональные и областные ог-Ц раничения. Задача решается в диалоговом ¡§ режиме и состоит из следующих этапов: со-
ставление таблицы испытаний (выбор пробных точек); выбор критериальных ограничений; анализ результатов и принятие решения. Процесс зондирования заключается в вычислении значений целевых функций в пробных точках, по которым можно составить полное представление о поведении функции: приближенно найти наименьшее и наибольшее значения, рассчитать частоту тех или иных принимаемых ею значений. Исходя из ограничений и установленных значений критериев, во всех пробных точках автоматически осуществляется проверка совместимости критериальных ограничений. Пробные точки, для которых установленные значения критериев удовлетворяют значениям критериев, полученным при составлении таблиц испытаний, образуют множество эффективных решений. Реализация в среде MatLab метода зондирования (ПЛП-поиск) представлена в статье И. Н. Статни-кова и Г. И. Фирсова [6].
Программные комплексы, реализующие генетические алгоритмы и метод зондирования, являются наиболее эффективными для оценки параметров информационной системы.
Программные системы многокритериальной оптимизации
Отечественные и иностранные системы, представленные ниже, реализуют различные методы и алгоритмы многокритериальной оптимизации.
Система MOVI (Multicriteria Optimization and Vector Identification) разработана под руководством проф. Р. Б. Статникова в Институте машиноведения им. А. А. Благонра-вова РАН совместно с Naval Рostgraduate School (Монтерей, США). Система предназначена для решения задач многокритериальной оптимизации и векторной идентификации. Система позволяет использовать модели приложения Simulink MatLab; имеется возможность подключения внешних математических моделей. Методологической основой системы является метод зондиро-
№ 2 (44) 2013
вания с помощью ЛПт-последовательности [http://www.psi-movi.com].
В Вычислительном центре РАН под руководством А. В. Лотова разработана система PFV (Pareto Front Viewer). В качестве среды разработки использована программа MS Excel. Система реализует метод достижимых целей, предложенный А. В. Лотовым и относящийся к классу методов зондирования. Основной идеей метода является выбор ЛПР решения на основе графического анализа множества достижимых целей, и прежде всего, его границы — множества Парето. Метод достижимых целей реализован в ряде других программных систем. Их описание, а также демонстрационные версии доступны по адресу: http://www.ccas.ru/mmes/mmeda/mcdm.htm.
Система многокритериального выбора вариантов Quick Choice разработана в Санкт-Петербургском государственном политехническом университете под руководством И. Г. Черноруцкого. Реализуется метод t-упорядочения и используется информация об относительной важности критериев [7].
В Московском энергетическом институте под руководством Ю. В. Кандырина разработана система автоматизированного выбора «ВЫБОР-12М». В качестве среды разработки использована среда визуального программирования Delphi, обеспечена совместимость с MS Excel.
Система «ДИСО» — диалоговая система оптимизации разработана в Вычислительном центре РАН. Ее основным назначением является решение задач многомерной локальной и глобальной оптимизации. Система реализует несколько методов свертывания векторного критерия оптимальности в скалярный, а также метод зондирования.
«СИМОП» — программная система многоэкстремальной оптимизации разработана в Нижегородском государственном университете им. Н. И. Лобачевского. Система реализует метод свертывания векторного критерия оптимальности в скалярный. На ее основе под руководством В. П. Гергеля разрабатывается система Global Expert. Система предназначена для решения сложных мно-
гокритериальных задач, отличающихся, пре- <| жде всего, высокой вычислительной сложностью частных критериев оптимальности * [http://www.itlab.unn.ru/?dir=309]. с-j.
Программный комплекс «Универсальный механизм» разработан в Брянском государственном техническом университете под руководством Д. Ю. Погорелова. Комплекс интегрирован с программной системой MatLab/Simulink. Реализуется решение многокритериальной задачи методом зондирования и методом анализа иерархий Т. Саати. Решения принимаются ЛПР. Описание системы, а также ее демонстрационная версия доступны по адресу: http://www.umlab.ru.
Программная система «Парето» разработана в МГТУ им. Н. Э. Баумана под руководством А. П. Карпенко и ориентирована на использование в последовательном и параллельном вариантах [8, 9].
В программной системе PRADIS//FRONT моделирование выполняется средствами программного комплекса PRADIS, который предназначен для анализа динамических процессов в объектах, описываемых системами обыкновенных дифференциальных уравнений. Система, разработанная компанией «Ладуга», реализует метод приближенного построения множества Парето [http://www.laduga.ru].
Система выбора и ранжирования «СВИРЬ» представляет собой инструментальную систему, предназначенную для решения задач многокритериального выбора. Решение задач производится методами скалярной оптимизации, Парето-доминирования, лексикографической оптимизации и анализа иерархий. Система функционирует в среде ОС MS Windows NT4/2000/XP [http://www.mcd-svir.ru/ refer09.html].
Программный комплекс IOSO NM предназначен для повышения эффективности сложных технических систем на основе многокритериальной и многопараметрической оптимизации проектных параметров. IOSO NM позволяет решать многокритериальные задачи нелинейной оптимизации, определять наиболее эффективные реше-
№ 2 (44) 2013
ния по совокупности различных критериев, множество Парето; позволяет интегрироваться в компьютерных сетях с расчетными модулями, работающими под управлением ОС Windows или семейства UNIX. Описание системы доступно на официальном сайте компании «Сигма Технология»: http://www.iosotech.com/ru/ioso_nm.htm.
Для решения многокритериальных задач можно использовать высокоуровневую систему моделирования GAMS (Generalized Algebraic Modeling System), разработанную в США [http://www.gams-software.com/].
Система Web-HIPRE (HIerarchical PREference analysis in the World Wide Web) представляет собой веб-версию HIPRE3+ — программного средства, предназначенного для поддержки анализа решений, многокритериальной оценки и определения приоритетов. Web-HIPRE разработана в Финляндии и является первой общедоступной в Интернете программой принятия многокритериальных решений. Реализованные алгоритмы многокритериальной оптимизации основаны на методе MAVT (Multiattribute Value Theory) и методе AHP (Analytic Hierarchical Processes) [http://www.hipre.hut.fi/].
Программная система NIMBUS (Nondif-§ ferentiable Interactive Multiobjective BUndleg based optimization System) также разрабо-! тана в Финляндии. Она решает одно- и мно-§ гокритериальные задачи с дифференцируе-§ мыми и недифференцируемыми целевыми § функциями, нелинейными и линейными ограничениями. Основная идея системы со-^ стоит в том, что ЛПР проверяет значения
5 целевых функций, рассчитанные системой Ц в текущем решении, затем разделяет целе-§ вые функции на следующие пять классов: (S значение критерия оптимальности должно § быть уменьшено; значение критерия опти-§ мальности должно быть уменьшено до оп-! ределенного уровня; значение критерия Ц оптимальности не должно изменяться; зна-
6 чение критерия оптимальности можно уве-^ личить до определенного значения; значе-Ü ние критерия может изменяться свободно. ¡§ В соответствии с классификацией систе-
ма формирует вспомогательные подзадачи, которые решаются методом Multiobjective Proximal Bundle (MPB) или генетическими алгоритмами. Идея MPB-метода заключается в движении в направлении одновременного улучшения значения всех целевых функций [http://nimbus.mit.jyu.fi/].
Система Easy-Opt разработана в Германии и представляет собой интерактивную программную среду нелинейного программирования, предназначенную для решения задач условной и безусловной одно- и многокритериальной оптимизации. Многокритериальная оптимизация выполняется на основе метода скалярной сверки частных критериев оптимальности. Полученная однокри-териальная задача глобальной условной оптимизации решается методом последовательного квадратичного программирования [http://www.ai7.uni-bayreuth.de/easy_opt.htm].
DYNARDO optiSLang — программное решение для оценки чувствительности, многокритериальной оптимизации, анализа эксплуатационной надежности и отказоустойчивости. Разработчик — DYNARDO, Германия. Программа работает совместно с различными CAE-приложениями, в частности, с программным комплексом ANSYS, возможна интеграция в среду ANSYS Workbench. Отличительные особенности программы — эффективная автоматизация расчетов, широкий выбор методов анализа данных, большая база верификации. Многокритериальная оптимизация производится методами генетических алгоритмов, Парето, весовых множителей [www.dynardo.de].
ANSYS — многоцелевой конечно-элементный пакет для проведения анализа в широкой области инженерных дисциплин. Разработчик — ANSYS, INC., США [www.ansys.com]. Более подробную информацию можно получить на сайтах www.ansys.msk.ru,www.ansyssolutions.ru.
Компания «КАДФЕМ Си-Ай-Эс» реализует и осуществляет техническую поддержку программных продуктов ANSYS и DYNARDO optiSLang на территории России и стран СНГ [http://www.emt.ru/news.php?id=331].
№ 2 (44) 2013
ModeFRONTIER — это среда для решения задач критериальной и многокритериальной оптимизации, работающая с разными программными комплексами. В ней имеется возможность работы в режиме автоматического проектирования — виртуальный анализ и оптимизация деталей, узлов, механизмов и изделий в целом. Принятие решений при проведении МКО базируется на следующих подходах: аспект Гурвица линейный алгоритм, генетические алгоритмы, минимакс. ModeFRONTIER интегрирована с современными расчетными комплексами ANSYS, ANSYS CFX, ANSYS WORKBENCH и др. Система функционирует в ОС MS Windows, Linux и UNIX. Официальный сайт: http://www.esteco.com/home/mode_frontier/ mode_frontier.html.
Система DAKOTA (Design Analysis Kit for Optimization and Terascale Applications), написанная в C++, разработана в Sandia National Laboratories США. Это программа общего назначения для проведения системного анализа и проектирования на высокопроизводительных компьютерах. Она включает алгоритмы для оптимизации конструкции, неопределенность количественного параметра оценки, планирования эксперимента и анализа чувствительности, а также целый ряд параллельных вычислений и услуг, моделирование взаимодействия. Многоцелевые генетические алгоритмы реализованы в пакете JEGA [http://dakota.sandia.gov/release_ notes.html].
Система ParadisEO-MOEO: Metaheuristics для многокритериальной оптимизации (Франция) является универсальным программным обеспечением, посвященным разработке, осуществлению и анализу метаэвристик для многокритериальной оптимизации. Реализованы различные эволюционные алгоритмы: MOGA, NSGA, NSGA-II, SPEA2, IBEA, SEEA. ParadisEO-MOEO представляет собой программу на C++, для Linux, MacOS и Windows систем [http://paradiseo.gforge.inria.fr/index. php?n=Main.MOEO].
Kimeme является открытой платформой для многокритериальной оптимизации
и междисциплинарной оптимизации конст- <§ рукции. Система разработана компанией Cyber Dyne и включает ведущие мировые * алгоритмы многокритериальной оптимиза- c-j. ции [http://www.kimeme.com/].
MOCOlib представляет собой набор тестовых данных для различных проблем многокритериальной комбинаторной оптимизации [http://xgandibleux.free.fr/MOCOlib/].
MACBETH (Measuring Attractiveness by a Categorical Based Evaluation Technique) представляет собой интерактивный подход, который требует только качественных суждений о различиях между проектами [http://www.m-macbeth.com/en/m-home. html].
4eMka2 является системой поддержки принятия решений для нескольких критериев классификации задач, основанных на доминировании на основе грубых множеств (DRSA). JAMM более продвинутый наследник 4eMka2. Обе системы находятся в свободном доступе для некоммерческих целей на сайте «Лаборатория интеллектуальных систем поддержки принятия решений»: http://idss.cs.put.poznan.pl/site/ software.html.
Intelligent Decision System использует подход доказательных рассуждений ER — Evidential reasoning approach, который в теории принятия решений является общим для решения проблем, имеющих как количественные, так и качественные критерии при различных неопределенностях. Программное обеспечение системы Intelligent Decision System расположено по адресу: http://www.e-ids.co.uk/.
Метод организации рейтинга предпочтений для обогащения оценок и геометрический анализ для интерактивной помощи, лучше известные как PROMETHEE и GAIA метод, предлагают дополнительные описательные и предписывающие подходы к анализу дискретных многокритериальных задач. Описательный подход, названный GAIA, позволяет ЛПР визуализировать основные особенности решения проблемы. Директивный подход PROMETHEE позволяет
-N ПРИКЛАДНАЯ ИНФОРМАТИКА
№ 2 (44) 2013 ' -
t
5
с о
>!S
0
1
t
й
6
12 I
со
0
Si
1
§
I
&
о &
& §
ранжировать действия. PROMETHEE-мето-ды были реализованы в нескольких интерактивных компьютерных программах, таких как PROMCALC, DECISION LAB 2000, D-Sight and PROMETHEE доступны по адресу: http://www.d-sight.com/.
jRank является инструментом поддержки принятия решений для решения многокритериального выбора и ранжирования проблем. Это Jaya-приложение, реализующее методы анализа данных, предоставляемых на основе доминирования Rough Set-под-хода. Данное программное обеспечение представлено на сайте Европейской рабочей группы многокритериального принятия решений (EURO Working Group Multicriteria Decision Aiding): http://www.cs.put.poznan.pl/ mszelag/Software/jRank/jRank.html.
Частная задача оценки параметров информационной системы
Теория массового обслуживания широко применяется при моделировании информационных систем. В качестве заявки на обслуживание в ИС могут выступать потребители информации. При этом время между заявками есть величина случайная, аналогично времени между отказами технической системы.
Рассмотрим задачу оценки параметров информационной системы по трем критериям [10]. К основным внешним характеристикам ИС как n-канальной системы массового обслуживания с ограниченной длиной очереди m относятся: вероятность обслуживания заявок, среднее время ожидания заявок в очереди и суммарная стоимость элементов системы.
Вероятность обслуживания заявок рассчитывается по формуле [11, 12]:
Po6c = 1-
п 1 n+ p0 'Л
nmnl|V
(3)
где 1 — интенсивность потока заявок; ц = 1/ То6с — интенсивность обслуживания; !обс — среднее время обслуживания.
Предельная вероятность определяется следующей формулой:
Р0 =
n i k h +
vi, n+1 1- 4 n|
VA' v n|' nn! /
(4)
Среднее время ожидания заявок в очереди —
T=
-1 pn {1 -(р/n)m [m +1 - m (p/n)]}
_ Ц_,
-P0, (5)
п • п!-(1 -р/п)
где р = ^/ц — коэффициент загрузки системы массового обслуживания.
Суммарная стоимость элементов —
с = Со6с п + СоЖ т, (6)
где собс и сож — стоимости единичных элементов, соответственно, обслуживания и ожидания.
Необходимо найти значения параметров п и т, при которых
Po6c(n,m) ^
max ,
(n^max; m^max)
Тож(n,m) ПНЮ
(n^max; m^min)
C(n,m) ^ min .
(n^min; m^min)
(7)
Многокритериальная задача имеет противоречивый характер.
Аналогичная задача возникает при оптимизации показателей центра обслуживания вызовов или в многоканальных измерительных системах. В многоканальной измерительной системе число устройств выборки и хранения ограничено значением т, сигналы образуют случайный поток заявок, а преобразователи в количестве п единиц представляют собой элементы обслуживания заявок.
Особенностями данной задачи является нелинейность двух первых целевых функций
ЭРобс (п,т)
и отсутствие производной
dn
№ 2 (44) 2013
Учитывая целочисленность и ограниченность значений т и п, можно рассчитать все варианты значения целевых функций, таким образом построив множество альтернатив, которое соответствует оценкам критериев. Число вариантов определяется значением т х п.
Введем ограничения на параметры п, т для возможности проверки решения. Зафиксируем следующие значения:
Х = 0,8 мс-1, ц = 0,3 мс-1,
со6с = 4 еД сож = 5 ед 1 < n < 3,1 < m < 3.
(8)
Существует несколько способов сведения множества показателей эффективности к одному обобщенному критерию. Например, в качестве обобщенного критерия выступает дробь. В числителе ставятся те критерии, которые желательно увеличить, а в знаменателе — те, которые надо уменьшить. Основным недостатком такого показателя является возможность потери информации: одно и то же его значение достигается при разных значениях критериев.
Скаляризуем задачу (3-7) и решим в системе компьютерной алгебры Mathcad (рис. 3). С помощью функции Maximiz <список параметров^ вычислим точки максимума обобщенного критерия F (п, т) и соответствующие им значения целевых функций.
задача относится к проблеме минимакса. Метод минимакса состоит в минимизации функционала по множеству допустимых решений и последующей максимизации выделенного решения. Минимальное решение обеспечивает минимум максимальных потерь — самая «скверная» ситуация. Однако, действуя минимаксным образом, всегда получаем гарантированный результат.
Запишем М-файл (ту^п.т), в котором рассчитываются целевые функции. Далее запустим подпрограмму оптимизации, задав начальное предположение о решении х0. >> х0 = [0.1; 0.1]; >> [х, ^а!] = ^птах(@1Г1у^_т, х0) Результат будет следующим: п = 3 т = 2
^а! = 0.8408 0.6217 22.0000 Система Mathcad, снабженная простым в освоении графическим интерфейсом по сравнению с MatLab, требует от пользователя меньше математических и технических знаний. Полученные решения входят во множество Парето, рассчитанное аналитическим путем.
Для задачи (3-7) можно применить описанный ранее алгоритм оптимизации проекта системы, найдя множество Парето для двух критериев. Так как стоимость задана линейной функцией, множество Паре-то строится для критериев вероятности обслуживания заявок и временных затрат. Для найденных точек с учетом значений стоимости по формулам (1), (2) находим оптимальную точку (3,1) и соответствующие ей значения критериев:
Ро6с (3,1) = 0,787, Тож (3,1) = 0,266 мс,
C (3,1) = 17 ед.
Рис. 3. Скаляризация в Mathcad
При решении задачи в Optimization Toolbox вычислительной среды MatLab воспользуемся функцией fminimax, которая минимизирует наихудшие значения системы функций нескольких переменных, начиная со стартовой оценки. В общем смысле эта
Заключение
Как и методы многокритериальной оптимизации, имеющие свои достоинства и недостатки, программные системы являются более или менее эффективными для решения конкретной задачи.
111
s t cj
№ 2 (44) 2013
Многокритериальная оптимизация с помощью множества Парето по сравнению с широко используемыми одномерными потенциальными характеристиками систем дает качественно новую информацию для анализа проектных решений: представления о потенциально возможных значениях совокупности связанных и противоречивых критериев и соответствующих возможностях. В дальнейшем автором планируется создание программы на языке С++, использующей генетические алгоритмы и метод зондирования, наиболее подходящих для многокритериальной оценки параметров. Эффективность генетических алгоритмов во многом определяется как учетом специфики решаемой задачи, так и использованием новых и модифицированных процедур поиска. Метод зондирования позволяет выяснить, как необходимо изменить значения одних показателей качества системы для улучшения других показателей.
При рассмотрении частной задачи (3-7) наиболее удобной для пользователя была бы программа многокритериальной оптимизации оценки параметров информационной системы, в которой необходимо задать только значения коэффициентов § и выбрать метод многокритериальной оп-§ тимизации с возможностью увидеть множе-| ство Парето.
Л Программная система многокритери-
§ альной оптимизации должна удовлетворять
§ требованиям к современному программ-
^ ному обеспечению (надежность, безопас-
^ ность, совместимость, удобный интерфейс
и пр.). Выбор одного решения из множест-
| ва Парето сложная задача, поэтому неред-
§ ко важной особенностью системы является
(5 ся возможность принятия решений ЛПР.
§ Так как для решения задач эффективны
§ различные методы, программная система
! должна поддерживать несколько методов
Ц многокритериальной оптимизации. Современные сложные программные средства
^ многокритериальной оптимизации долж-
Ц ны иметь возможность переноса моделей
сэ в другие системы.
Список литературы
1. Трифонов А. Г. Optimization Toolbox — обзор [Электронный ресурс] Режим доступа: http:// MatLab.exponenta.ru/optimiz/book_1/1.php.
2. Ланнэ А. А., УлаховичД. А. Многокритериальная оптимизация: учебное пособие. СПб.: ВАС-СПб, 1984. — 94 с.
3. Zitzler E, Laumanns M, Thiele L. SPEA2: Improving the strength pareto evolutionary algorithm for multiobjective optimization // K. Giannakoglou, et al., editors, Evolutionary Methods for Design, Optimization, and Control. 2002. Р. 19-26.
4. Deb K, Pratap A, Agarwal S., Meyarivan T. A fast elitist non-dominated sorting genetic algorithm for multiobjective optimization: NSGA-II // in MarcSchoenauer, et al., editors, Parallel Problem Solving from Nature (PPSNVI). Springer, 2000. Р. 849-858.
5. Соболь И. М., Статников Р. Б. Выбор оптимальных параметров в задачах со многими критериями. М.: Наука, 1981.
6. Статников И. Н., Фирсов Г. И. ПЛП-поиск и его реализация в среде MatLab // Проектирование инженерных и научных приложений в среде MatLab. М.: ИПУ РАН, 2004. С. 398-411.
7. Черноруцкий И. Г. Методы принятия решений. СПб.: БХВ-Петербург, 2005.
8. Карпенко А. П., Мухлисуллина Д. Т. Информационная модель и основные функции программной системы многокритериальной оптимизации «Парето» // Наука и образование: электронное научно-техническое издание, 2008. № 4 [Электронный ресурс] Режим доступа: http:// technomag.edu.ru/doc/90282.html.
9. Карпенко А. П., Федорук В. Г. Обзор программных систем многокритериальной оптимизации. Отечественные системы // Информационные технологии. 2008. № 1. С. 15-22.
10. Хабарова Д. С. Решение трехкритериальной задачи оптимизации информационной системы // Информационные системы и технологии. 2013. № 1. С. 54-59.
11. Лебедев А. Н., Чернявский Е. А. Вероятностные методы в вычислительной технике. М.: Высш. шк., 1986. — 312 с.
12. Емельянов А. А. Модели процессов массового обслуживания // Прикладная информатика. 2008. № 5 (17). С. 92-130.