Министерство образования и науки Российской Федерации МОСКОВСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ (государственный университет) ФАКУЛЬТЕТ РАДИОТЕХНИКИ И КИБЕРНЕТИКИ КАФЕДРА ИНФОКОММУНИКАЦИОННЫХ СИСТЕМ И СЕТЕЙ Итерационные многометодные алгоритмы многокритериального ранжирования при выборе схемы подключения клиента к оператору связи Выпускная квалификационная работа студента 517 группы Харичкина Александра Евгеньевича Научный руководитель Евдокимов А.В., к.ф.-м.н., доцент г. Москва 2009 1 Содержание ВВЕДЕНИЕ ..................................................................................................................................................... 3 ОБЗОР ИСТОЧНИКОВ ................................................................................................................................ 5 ОБЩИЙ ОБЗОР МЕТОДИК ПРИНЯТИЯ РЕШЕНИЙ ............................................................................................. 5 Решение многокритериальных задач с субъективными моделями.................................................... 5 Задача о назначениях (оптимальное распределение работ) .............................................................. 6 Методы для многокритериальных задач с субъективными моделями ............................................. 7 КЛАССИЧЕСКИЕ МЕТОДЫ МНОГОКРИТЕРИАЛЬНОГО РАНЖИРОВАНИЯ ......................................................... 8 Метод Парето ........................................................................................................................................ 8 Метод ELECTRE (ELimination Et Choix Traduisant la Realite — исключение и выбор, отражающие реальность) ............................................................................................................................... 9 Методы, основанные на многокритериальной теории полезности (MAUT – Multi-Attribute Utility Theory) ............................................................................................................................................................... 10 МНОГОМЕТОДНЫЙ ПОДХОД К ПРОБЛЕМАМ ПРИНЯТИЯ РЕШЕНИЙ ............................................................. 12 КОМБИНИРОВАНИЕ МНОГОКРИТЕРИАЛЬНЫХ МЕТОДОВ ПУТЕМ ПОСТРОЕНИЯ СХОДЯЩЕГОСЯ ИТЕРАЦИОННОГО ПРОЦЕССА ..................................................................................... 14 ОПИСАНИЕ «ПРОСТЕЙШЕГО» ИТЕРАЦИОННОГО ПРОЦЕССА ....................................................................... 15 ОПИСАНИЕ «БАЗОВОГО» ИТЕРАЦИОННОГО АЛГОРИТМА С ИСПОЛЬЗОВАНИЕМ НЕСКОЛЬКИХ МЕТОДОВ МНОГОКРИТЕРИАЛЬНОЙ ОЦЕНКИ АЛЬТЕРНАТИВ.................................................................................................... 16 АНАЛИЗ СХОДИМОСТИ ИТЕРАЦИОННОГО ПРОЦЕССА ................................................................................. 19 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ............................................................................................................ 23 РЕЗУЛЬТАТЫ .............................................................................................................................................. 29 1 ............................................................................................................. ERROR! BOOKMARK NOT DEFINED. 2 ............................................................................................................. ERROR! BOOKMARK NOT DEFINED. ЗАКЛЮЧЕНИЕ ............................................................................................................................................ 35 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ............................................................................... 36 2 Введение В современном мире часто возникают проблемы, связанные с принятием различного рода решений на самых разных уровнях. Иногда последствия результатов решений могут быть очень серьезными и касаться не только лица, принимающего решение (ЛПР), но и множества других людей. При принятии таких решений часто возникают задачи выбора, классификации, упорядочивания всевозможных альтернатив (альтернативных решений). Задачи подобного рода называются ранжированием и обычно сводятся к получению какого-либо рейтинга для каждой из альтернатив (с последующей сортировкой альтернатив по рейтингу). Задачи разбиения альтернатив на упорядоченные группы (задачи группового ранжирования) в данной работе рассматриваться не будут. Ранжирование альтернатив можно было бы осуществлять путем вычисления единственного критерия «качества» альтернативы, однако такой интегральный критерий, как правило, неизвестен. Иногда для получения рейтинга возможно тем или иным способом образом усреднять большое количество интегральных оценок каждой альтернативы (чаще всего такая бескритериальная задача формулируется как задача обработки результатов голосования). Но обычно интегральные оценки отсуствуют, и в задаче ранжирования необходимо учитывать некоторое количество каких-либо свойств альтернатив, называемыми критериями. Т.е. перед нами стоит задача многокритериального ранжирования. В частности такого рода задачами являются отбор персонала на вакантные места компаний, выбор оптимальной схемы подключения клиента в операторе связи, сравнение инвестиционной привлекательности регионов страны с целью привлечения капитала потенциального инвестора. Целью работы является разработка как можно более общей методики автоматического принятия решений, использующей уже известные на сегодняшний день методы, на основе многометодных, и, что более примечательно, итерационных алгоритмов. Усложняя и универсализируя эти алгоритмы, методика призвана наиболее «безопасным» способом исключить участие ЛПР в процессе принятия решения, дать возможность на основе как можно меньшего объема начальных и промежуточных данных, а так же корректировок, вносимых ЛПР, получать, тем не менее, наиболее достоверный результат. Сложность состоит ещё и в том, что в таком объеме разных по специфике, способу представления данных, требованиям к форме результата задач, для обеспечения заявленной степени автоматизации, приходится и эту специфически-ориентированную часть процесса принятия решения доверить автоматике (в данном случае, компьютерной программе). 3 Для достижения указанной цели, в работе решаются следующие задачи: 1. Обзор разнообразных подходов к многокритериальной оценке альтернатив – в том числе, и многометодных 2. Программная реализация большого количества методов многокритериального ранжирования – в том числе, за счет комбинирования (за счет использования реализаций отдельных шагов методов в разных комбинациях). Прежде всего, имеются ввиду методы линейного ранжирования. 3. Построение итерационных и многометодных алгоритмов – в том числе, с использованием одно- и разнородных методов на отдельных шагах построения решения. 4. Сравнение эффективности и пригодности тех или иных методов – как методологическая задача, в большей степени решаемая на основе промежуточных данных и итогового результата предыдущих. 4 Обзор источников Общий обзор методик принятия решений Не существует универсального метода принятия решений. Наиболее существенными с точки зрения построения методов решения являются следующие характеристики проблем: Наличие (или отсутствие) объективной модели, связывающей большинство основных параметров проблемы. Требования, предъявляемые к виду окончательного решения: упорядочивание альтернатив по качеству (определение относительной ценности каждой из альтернатив), распределение альтернатив по классам решений, выделение лучшей альтернативы (одна из основных в принятии решений). Насколько нова рассматриваемая проблема для лица, принимающего решения (ЛПР). При повторяющихся решениях ЛПР может выработать типовые правила принятия решений, так как имеет возможность неоднократно наблюдать результаты их применения. В новых проблемах ЛПР вырабатывает правила в ходе решения проблемы. К новым можно отнести все проблемы, для которых типовые правила еще не разработаны. Информированность ЛПР: проблемы, где ЛПР может быть сам экспертом (сам может оценить варианты решений как в целом, так и по отдельности), роли ЛПР и экспертов значительно отличаются. Размерность проблемы (количество критериев, количество альтернативных вариантов решений). Размерность проблемы влияет на выбор метода ее решения. В данной работе рассматриваются только многокритериальные задачи принятия ре- шения. Решение многокритериальных задач с субъективными моделями К многокритериальным задачам математического программирования применяется подход, основанный на идее выявления предпочтений одновременно с исследованием допустимого множества действий для отыскания эффективных решений. Средством реализации такого подхода являются человеко-машинные (интерактивные, диалоговые) процедуры, которые представляют собой циклический процесс взаимодействия человека (ЛПР) и ЭВМ[1]. Цикл состоит из фазы анализа и принятия решений (постановка задачи для ЭВМ, которую выполняет ЛПР) и фазы оптимизации (поиск решения и вычисление его характеристик), реализуемой ЭВМ. В процессе взаимодействия ЛПР уточняет свои пред5 почтения и сообщает дополнительную информацию ЭВМ, благодаря которой вырабатывается все более совершенное решение (самообучение на реальном материале задачи). В прямых ЧМ-процедурах человек непосредственно ведет поиск предпочтительного значения, задавая на каждом следующее шагу новое решение или новые параметры, то есть в основе этих методов лежит предположение, что ЛПР без труда определяет необходимый компромисс между критериями. В процедурах оценки векторов ЛПР непосредственно оценивает полезность альтернативных вариантов решений, предъявляемых ему в виде векторов в пространстве критериев. В процедурах поиска удовлетворительных значений критериев ЛПР накладывает и изменяет ограничения на значения критериев в точке решения, решает задачу удовлетворительных значений критериев. Задача о назначениях (оптимальное распределение работ) Каждый исполнитель и каждая работа характеризуются вектором оценок по совокупностям критериев. Одному (или нескольким) критерию, характеризующему требования, предъявляемые работой, соответствует один (или несколько) критерий, характеризующий возможности исполнителя. Необходимо определить разбиение на наиболее близкие по своим характеристикам пары объект-субъект. Основная идея решения этой задачи состоит в декомпозиции рассматриваемой проблемы. Для каждого объекта определяется степень соответствия его требованиям характеристик всех субъектов и, наоборот, для каждого субъекта определяется его соответствие требованием объекта. На первом этапе на основе информации об объектах и субъектах определяется идеальные назначения, если такие существуют. На втором этапе от ЛПР получается дополнительная информация и на ее основе определяются наиболее близкие по характеристикам пары объект-субъект. Для каждого объекта находятся векторы соответствия его субъектам. Вычисляются вектора соответствия каждого объекта субъектам и каждого субъекта объектам. Затем строятся и анализируются графы подобия, которые содержат информацию о сходстве объектов и субъектов. На базе информации, полученной при анализе (выделения ядер) графов подобия, строится матрица сходства. Столбцы этой матрицы соответствуют объектам, строки – субъектам, клетка, находящаяся на пересечении v-го столбца и m-ой строки, характеризует оценку v-го объекта со стороны m-ого субъекта и оценку m-ого субъекта со стороны v-го объекта. Наилучшему решению соответствует случай, когда после перестановки столбцов и строк можно получить матрицу сходства, на главной диагонали которой находятся все клетки с элементами индекса эквивалентности вершин в ядре первой степени. 6 Методы для многокритериальных задач с субъективными моделями Аксиоматические методы направлены на построении функций полезности ЛПР. Выдвигаются утверждения о виде функции полезности, ее свойствах, а вся информация, получаемая от ЛПР, рассматривается как средство проверки гипотезы о виде функции полезности. В прямых методах зависимости функции полезности от оценок по многим критериям задается без теоретических оснований, параметры либо задаются, либо оцениваются ЛПР. Наиболее известные из них: метод взвешенной суммы оценок критериев и метод деревьев решений. Прямые методы обычно приводят к полному упорядочиванию вариантов решений. Методы компенсации основаны на идее компромисса между противоречивыми оценками по паре (или большему количеству) критериев. Идея методы порогов сравнимости (к ним относятся метолы ELECTRE) состоит в использовании бинарных отношений между вариантами решений. Бинарное отношение определяет условия, при которых один вариант превосходит другой, они эквивалентны или несравнимы. При изменении условий меняется количество сравнимых альтернатив. Дескриптивно-нормативный подход основан на изучении способов получения информации от ЛПР и экспертов. В рамках этого подхода данные психологических исследований возможностей человеческой системы переработки информации используются для конструирования новых методов принятия решений. Метод непосредственной классификации. Предполагается, что есть несколько вариантов решений, упорядоченных от лучшего к худшему, эти варианты характеризуются словесными определениями. Требуется объединить объекты, по которым принимаются одинаковые решения в классы. ЛПР предоставляется для классификации небольшая часть сочетаний оценок по критериям (объектов), и полученная информация позволяет классифицировать ряд других векторных оценок. Метод ЗАПРОС (Замкнутые Процедуры у Опорных Ситуаций). Каждая векторная оценка создает у ЛПР образ некоторого объекта, обладающего свойствами, которые характеризуются оценками по критериям качества. Наиболее яркими для ЛПР являются два образа (опорные ситуации), соответствующие сочетаниям только лучшим или только худшим оценок по всем критериям. Например, рассматривается идеальная альтернатива как опорная ситуация, содержащая только лучшие оценки по критериям, и, ориентируясь на нее, сравниваются между собой понижения качества вдоль шкал двух критериев. Значения только по двум критериям могут меняться, значения по остальным критериям фиксируются. Сначала ЛПР предъявляется для сравнения пара альтернатив: первая – лучшая 7 по i-ому критерия, вторая – по j-ому, все остальные оценки являются лучшими. Затем худшая альтернатива в первой паре сравнивается с альтернативой, получаемой из лучшей путем понижения на одну градацию худшей оценки, и т.д. По результатам этих сравнений строится единая порядковая шкала (ЕПШ) оценок двух критериев, которая содержит ценную информацию о предпочтениях ЛПР. С увеличением числа критериев увеличивается и количество избыточной информации, получаемой от ЛПР, что позволяет осуществить ее проверку на непротиворечивость. На основе ЕПШ для пар критериев строится ЕПШ для всех критериев. Реальные альтернативы, представленные векторами критериальных оценок, сравниваются попарно. Вывод о превосходстве одной альтернативы над другой (либо об их эквивалентности) сделается исходя из попарного сравнения упорядоченных по ЕПШ оценок этих альтернатив. Если информации ЛПР недостаточно, то альтернативы несравнимы. На основе бинарного отношения в исходном множестве альтернатив выделяется первое ядро, то есть все неподчиненные альтернативы (доминирующие над другими или несравнимые). Среди альтернатив, оставшихся после удаления первого ядра, выделяется второе ядро и т.д. Альтернативе, входящей в i-ое ядро, присвоим i-ый ранг, если над ней доминирует какая-либо альтернатива из (i-l)-го ядра и она сама доминирует над какой-либо альтернативой из (i+l)-го ядра. Если j-я альтернатива подчинена альтернативе из k-го ядра и доминирует над альтернативой из (k+p)-гo ядра, то ее ранг находится в пределах от (k+1) до (k+p-1). Полученные таким образом совокупность ядер и ранги альтернатив могут использоваться для построения частичного (так как не все альтернативы сравнимы) упорядочения. Классические методы многокритериального ранжирования Метод Парето Метод многокритериального ранжирования Парето, пришедший из экономики, основывается на понятии Парето эффективности. Рассмотрим множество всевозможных вариантов решений с n параметрами ( R n ) для каждой точки пространства решений есть m критериев, по которым оценивается точка. Пусть F( R n ) -> R m – функция, которая позволяет количественно оценить каждую точку пространства решений, сопоставив ей точку из пространства критериев (назовем эту точку альтернативой) Положим, что для каждого критерия более предпочтительным является большее значение. Определим операцию сравнения двух альтернатив следующим образом: альтернатива A строго лучше альтернативы B, если значение каждого из критериев альтернативы А не меньше, чем значение соответствующего критерия альтернативы В, а значение 8 хотя бы одного критерия строго больше (Ai ≥ Bi для любого i и существует j: Aj > Bj => A строго лучше B) Парето слой – это множество альтернатив Y, каждая из которых превосходит любую другую хотя бы по одному из параметров. Парето слой включает в себя наиболее контрастные альтернативы, сложные для сравнения. Следует подчеркнуть, что в методе Парето веса критериев не используются. Поэтому зачастую Парето слой используется лишь в качестве исходных данных для многокритериального ранжирования другим методом. Метод ELECTRE (ELimination Et Choix Traduisant la Realite — исключение и выбор, отражающие реальность) Метод ELECTRE разработан группой французских ученых во главе с профессором Б.Руа. В настоящее время разработан ряд методов семейства ELECTRE. В этом методе оценка каждой альтернативы является не абсолютной, а относительной (по сравнению с другой альтернативой). Метод ELECTRE основан на попарном сравнении альтернатив, в методах ELECTRE не определяется количественно показатель качества каждой из альтернатив, а устанавливается лишь условие превосходства одной альтернативы над другой. Пусть заданы N критериев со шкалами оценок (обычно количественные), веса критериев (обычно целые числа) и альтернативы с оценками по критериям. Для определения превосходства альтернативы A над альтернативой B определяется два индекса согласия и несогласия (согласие и несогласие с гипотезой, что альтернатива A превосходит альтернативу В). В данной работе мы используем следующий способ построения индексов согласия и несогласия: Выдвигается гипотеза о превосходстве альтернативы A над альтернативой В. Множество I, состоящее из N критериев, разбивается на три подмножества: I+ - подмножество критериев, по которым A предпочтительнее B; I= - подмножество критериев, по которым A равноценно B; I- — подмножество критериев, по которым B предпочтительнее А. Индекс согласия подсчитывается на основе весов критериев. В использованном методе этот индекс определяется как отношение суммы весов критериев подмножеств I+ и I= к общей сумме весов: 9 AB w = iI , I N w i , 0 < AB 1. i i 1 Индекс несогласия AB с гипотезой о превосходстве A над B определяется на основе самого «противоречивого» критерия — критерия, по которому B в наибольшей степени превосходит А. AB max iI wi z i B z i A N d i wi , 0< AB <1. i 1 Где z iA , z Bi – оценки альтернатив A и B по i-му критерию; d i – длина шкалы i-го критерия. Введенные индексы используются при построении матриц индексов согласия и несогласия для заданных альтернатив. Бинарное отношение превосходства одной альтернативы над другой задается уровнями согласия и несогласия. Если AB > p и AB < q, где p, q – заданные уровни согласия и несогласия, то альтернатива A объявляется лучшей по сравнению с альтернативой B. Если же при этих уровнях сравнить альтернативы не удалось, то они объявляются несравнимыми. При заданных уровнях на множестве альтернатив выделяется ядро недоминируемых элементов, которые находятся либо в отношении несравнимости, либо в отношении эквивалентности. При изменении уровней согласия и несогласия из данного ядра выделяется меньшее ядро и т. д. В последнее ядро входят наилучшие альтернативы. Последовательность ядер определяет упорядоченность альтернатив по качеству. С помощью этого метода ЛПР, меня уровни согласия и несогласия, может получить целую серию возможных решений проблемы в виде различных ядер. Методы, основанные на многокритериальной теории полезности (MAUT – Multi-Attribute Utility Theory) Эти методы основаны на построении многокритериальной функции полезности (зависимости между оценками альтернатив по критериям и общим качеством альтернативы) и оценки каждой альтернативы с помощью этой функции независимо от других альтернатив. При построении функции полезности нужно учитывать, что она должна удовлетворять ряду условий (аксиом): 10 1. Аксиома, утверждающая, что может быть установлено отношение между полезностями любых альтернатив: либо одна из них превосходит другую, либо они равны. 2. Аксиома транзитивности: из превосходства полезности альтернативы A над полезностью альтернативы B и превосходства полезности B над полезностью C следует превосходство полезности альтернативы A над полезностью альтернативы С. 3. Для соотношений между полезностями альтернатив A, B, C, имеющими вид U(A)>U(B)>U(C), можно найти такие числа a, b, которые меньше 1 и больше 0, так что: a*U(A)+ (1-a)*U(C)=U(B), U(A)*(l-b)+b*U(B)>U(B). Эта аксиома основана на предположении, что функция полезности непрерывна и что можно использовать любые малые части полезности альтернатив. 4. Аксиомы (условия) независимости, которые позволяют утверждать, что некоторые взаимоотношения между оценками альтернатив по критериям не зависят от значений по другим критериям: a) Независимость по разности. Предпочтения между двумя альтернативами, отличающимися лишь оценками по порядковой шкале одного критерия C 1, не зависят от одинаковых (фиксированных) оценок по другим критериям Сз,..., С N. b) Независимости по предпочтению являются одним из наиболее важных и часто используемых условий. Два критерия C1 и C2 независимы по предпочтению от других критериев Сз,...,СN, если предпочтения между альтернативами, различающимися лишь оценками по C1, C2, не зависят от фиксированных значений по другим критериям. Существуют два основных недостатка подхода MAUT: во-первых, предположение, что человек может делать точные количественные измерения; во-вторых, от ЛПР требуется «немедленные» назначения всех основных параметров, не давая ему возможности провести исследования проблемы привычным для человека методом «проб и ошибок». В данной работе использовались следующие функции полезности: N w Арифметическая Fa = i i 1 Геометрическая Fg = N Гармоническая Fh = Степенная F p = i 1 di i 1 wi z i N N (w i 1 zi d i 1 zi di i zi p ) di 11 Многометодный подход к проблемам принятия решений Наряду с «простыми», однометодными расчетными схемами, в ходе исследования проблем многокритериальной оптимизации были введены так называемые интерактивные (человеко-машинные) процедуры, где ЛПР и автоматизированная система по очереди вступают в процесс принятия решений. Положительные стороны такого подхода очевидны: применение различных, а возможно даже и разнородных методов при решении одной задачи повышает надежность результата, исключает, или, по крайней мере, занижает элемент «случайности», методологической ошибки в процессе. Эти же преимущества характерны и для полностью независимых от ЛПР многометодных алгоритмов, которые также допускают распараллеливание вычислительного процесса по методам (а это огромная выгода с точки зрения вычислительной математики)[6]. Одной среди известных многометодных схем является схема с переключением методов в процессе принятия решения [3]. Важной стороной такого процесса является возможность передачи информации, полученной одним методом, в вычислительную среду другого метода. При этом все множество методов можно разбить на группы (по формату начальных данных и результата). Для того, чтобы корректно строить процедуру переключения, на начальном этапе строится матрица «переключения», в строках которой находятся методы-«источники» информации, а столбцы представляют принимающую сторону. Здесь введены обозначения: A – множество допустимых решений, Р – начальная точка (полученное пробное решение), I – идеальное решение, N – наихудшее решение, DM() – необходимость вмешательства ЛПР, К – подмножество критериев, w – вектор весовых коэффициентов, Т – пороги согласия/несогласия, Пустые ячейки соответствуют ситуации, в которой не происходит передача информации. 12 Среди перечисленных в таблице методов следует расшифровать следующее[3,5]: AHP – Analytic Hierarchy Process, метод аналитической иерархии BIP – Bireference Procedure, метод двух ориентиров GDF – метод Джиоффриона – Дайра – Фейнберга. IGP – Interactive Goal Programming, метод интеллектуального целевого программирования STEM – Step Method, метод линейных ограничений LXG – метод лексикографической оптимизации Далее вводится понятие информационного профиля как полной и безызбыточной совокупности информационных компонент, используемых в интерактивной процедуре принятия решений. Для управления переключением методов используются данные о подобии текущего информационного профиля процедуры принятия решения информационным профилям каждого из методов. На основе этого подобия формируется управляющий сигнал, переводящий один элемент из множества методов в другой. Таким образом, процедура замыкается на себя, многометодность в общем случае реализуется сполна, и из процесса извлекается максимальная выгода. 13 Комбинирование многокритериальных методов путем построения сходящегося итерационного процесса Комбинирование методов (т.е. использование т.н. многометодных алгоритмов) необходимо с целью повышения надежности результатов многокритериального ранжирования. Цель достигается путем согласования результатов, получаемых разными методами (которые по сути эвристические и поэтому не имеют никакой меры качества, которая бы позволила их сравнивать друг с другом). Примечание. Комбинированные алгоритмы встречаются в оптимальном управлении, но к задачам многокритериального ранжирования они до сих пор не. Впрочем, новизна здесь не столько в многометодности, столько в итерационности. Для конкретности будем рассматривать методы линейного ранжирования (или методы группового ранжирования, сводящиеся к методам линейного ранжирования). Также будем считать, что все методы сводятся к вычислению числового рейтинга каждой альтернативы (методам, не вычисляющим вещественнозначный рейтинг альтернативы, формально будем сопоставлять целочисленный рейтинг, равный месту альтернативы в списке, отсортированном в порядке возрастания приоритета). Наиболее простой способ комбинирования методов (линейного ранжирования) – усреднять рейтинги альтернатив, полученные разными методами (с одновременным подсчетом среднеквадратичного отклонения как меры неопределенности получаемого результата). Этот способ в любом случае подлежит реализации, хотя бы для сравнения его результатов с результатами более хитрых (рассматриваемых ниже) способов. Кроме того, сочетание этого способа с методами принятия решений в условиях неопределенности Error! Reference source not found.может дать некоторый обладающий новизной метод анализа надежности предлагаемых решений. Основная предлагаемая идея (итерационный многометодный алгоритм) заключается в том, чтобы рассматривать рейтинги некоторой альтернативы, получаемые разными методами, в качестве оценок этой альтернативы при решении задачи многокритериального ранжирования на следующем шаге некоторого итерационного процесса (где в качестве критериев выступают уже методы). Дополнительная идея состоит в том, чтобы интегральную оценку альтернативы экспертом (если таковая имеется) учитывать в том же качестве, что и результат метода (рейтинг альтернативы); различие между этими двумя рейтингами будет чисто количественное (отличие в весах, с которыми рейтинги выступа14 ют в качестве исходных данных). Если экспертов больше одного, то они (как и методы) могут иметь неравные веса – причем веса экспертов могут не только автоматически вычисляться в итерационном процессе (см. ниже), но и могут быть жестко заданы неравными (также возможен компромиссный вариант, чтобы изначально заданные веса экспертов не слишком сильно изменялись автоматически). С учетом близости методов и экспертов во многих отношениях, в дальнейшем для них будем использовать общий термин – «оценщик» (estimator). Примечание. Разные эксперты (умеющие давать интегральные оценки) могут как выступать в качестве независимых оценщиков, так и вносить свой вклад в «единый экспертный» рейтинг альтернативы (выбор одного из этих двух вариантов подлежит исследованию). Аналогично, разные методы могут как смешиваться с экспертом(ами), так и не смешиваться, а давать «единый методический» рейтинг (который затем с некоторым весом войдет в общий «экспертно-методический» рейтинг). Весовой коэффициент , обуславливающий «доверие к методам» (по сравнению с «доверием к интегральным оценкам экспертов»), может регулироваться в полуинтервале (0;1] и является единственным глобальным параметром алгоритма (если не считать глобальные параметры, формализующие неопределенность от отсутствующих данных). В случае смешения обоих видов оценщиков (в исходных данных одной многокритериальной задачи) их веса домножаются на для методов и на (1–) для экспертов. Кстати, при использовании арифметической функции полезности случаи смешивания и не-смешивания разных видов оценщиков являются эквивалентными. Описание «простейшего» итерационного процесса Входные данные: m альтернатив, вектор альтернатив {alt i } , i 1, m ; n критериев оценки альтернатив, {crit j }, j 1, n ; n m оценок альтернатив по соответствующим критериям {mark i j } ; Опционально: вектор весов критериев j (Может и не задаваться при первоначальной постановке задачи); Метод решения – фунция на пространстве alt crit , возвращающая вектор конечных оценок альтернатив(«оценок по методу», рейтингов) M (marki j , j ) {ri } . Описание итерационного процесса: На первом шаге решается данным методом исходная задача, {ri1} M (marki j , j ) , причем, если веса критериев не заданы первоначально, можно принимать их равными 1 ( или 1 , что нормирует сумму всех весов на единицу). n Переход от k-го шага к (k+1)-му сопровождается пересчетом вектора весов j следующим образом: 15 В пространстве размерности m (по числу альтернатив) построим векторы {v j } , в качестве координат которых выступают оценки по соответствующему критерию каждой из альтернатив, т. е. вектор v j (mark1j ,..., mark mj ) , в этом же пространстве построим вектор r . В качестве нового значения параметра jk , т. е. вес j-го критерия, вычисленного на k-м шаге, возьмем значение косинуса угла между вектором результата r k и соответствущим вектором оценок v j . Иными словами** jk 1 (v j , r k ) . Единицу к этому выражению мы прибавляем нарочно для того, v j rk чтобы вес критерия не оказался отрицательным *(что возможно, если допустить отрицательные оценки альтернатив или отрицательные итоговые рейтинги), в крайнем случае 0. Целесообразно ввести и на этом шаге нормировку весов на 1, то есть вычислить w jk , и принять впоследствии jk j jk w . На (k+1)-м шаге решается задача подобная исходной, разница лишь в векторе jk , входящем в качестве параметра в метод. {ri k 1} M (marki j , jk ) . В качестве условия остановки метода можно выбрать достижение разумно малой разницы между векторами { k } и { k 1} или между {r k } и {r k 1} по какой-либо норме. *Случай с отрицательными весами тоже не исключен, возможно, он будет рассмотрен позже, если удастся обосновать состоятельность и «физический смысл» отрицательного веса критерия. **Формула для веса может быть и другой, это лишь один из вариантов корректировки на основе скалярного произведения векторов. Описание «базового» итерационного алгоритма с использованием нескольких методов многокритериальной оценки альтернатив В качестве начальных данных к задаче используется таблица оценок для m альтернатив по n критериям: alt mn , а также вектор весов критериев weight n . Такой набор данных 16 является наиболее часто употребительным в задачах многокритериальной оценки альтернатив. На первом шаге алгоритма решается задача (alt mn , weight n ) (1 scores m ) - выставление оценок альтернативам – каждым методом из предложенного набора. При наличии k методов, участвующих в расчетах, в результате получится таблица scores mk . Эту таблицу теперь можно рассматривать как входные данные для тех же методов при решении новой задачи. Метод расчета теперь можно считать критерием оценки альтернативы, столбцы таблицы (нумеруемые i 1, k ) становятся формально показателями этих «критериев». Для перехода на следующий шаг необходимо задать веса так называемым критериям. Способы задания весов см. ниже. Результат этого действия – вектор 1 weight k , размерности, совпадающей с количеством участвующих методов. Теперь можно переходить к следующей итерации алгоритма. На i-й итерации решается задача ( i scores mk , i weight k ) ( i 1 scores mk , i 1 weight k ); i 1 , при этом для первого перехода i 1 scores используются те же методы, что и на первой итерации, в таком случае размерность результата будет такой же, как и после первого шага. Для перехода i 1 weight используется опять же указанный ранее способ расчета весов. Таким образом для i 1 выход i-го шага и вход i+1-го однородны и совпадают по размерности, следовательно, этот расчет можно замкнуть самого на себя и повторять сколько угодно раз. О сходимости и критерии остановки расчета: для анализа сходимости необходимо ввести норму на пространстве решений и определить пороговое значение разности между двумя решениями, полученными на последовательных шагах расчета. В качестве нормы матрицы scores mk можно взять, к примеру, наибольшее значение нормы её столбца, или сумму норм всех столбцов. В качестве нормы столбца – обычную пифагорову длину или максимум модуля его элементов. Тогда ошибка определяется нормой разницы между соседними решениями, если понимать её как поэлементную разность матриц. В число строк матрицы можно включить и вектор весов, если при решении нам важна стабильность расчетных весов методов при переходе к новым итерациям. Соответственно шаг алгоритма, на котором норма разности результата с предыдущим не будет превосходить некоторого наперед заданного значения, и будет считаться финальным. Как будет сказано в разделе, посвященном сходимости, существует и другой критерий остановки вычислений, основанный на анализе последовательностей альтернатив, 17 отсортированных по оценке. Этот метод применим, в первую очередь, когда в результате не важны численные значения оценок, а лишь расположение альтернатив среди других (здесь имеется ввиду отношение «лучше-хуже»), а также при большом числе альтернатив, когда этот способ приобретает особую точность. О целесообразности применения многометодных итерационных алгоритмов: так как в расчетах может участвовать неограниченное число методов, и чем их больше, тем незначительнее влияние каждого отдельно взятого на результат, можно таким образом сравнивать методы между собой по эффективности (например, если требуется доказать или опровергнуть состоятельность новоизобретенного расчетного алгоритма, он может участвовать в расчетах наряду с проверенными, доверительными методами. Оценкой метода в таком случае может быть его вес, назначенный в соответствие с правилом назначения весов на промежуточных итерациях, или просто сравнение результатов, полученных этим методом лицом, принимающим решение или аналогичным расчетным алгоритмом), подготовить набор данных для других расчетных алгоритмов, требующих специфического формата входа. В конце концов, алгоритм, повторяющий вычисления итерационно, да к тому же с применением многих методов, результаты которого в процессе вычислений взаимодействуют друг с другом, претендует на достижение большой точности вычислений за малое число итераций. Таким образом можно «заставить» сходиться алгоритмы, расходящиеся при применении «в одиночку», при этом результат, скорее всего, будет обладать хоть некоторой достоверностью.(В случае расхождения ни о какой достоверности речи не идет). Алгоритм пересчета весов между итерациями. 1) Вычисляются взаимные индексы критериев C ij . 2) Результаты заносятся в таблицу[2] Criteria C2 C1 C1 C11 C2 C12 … Cm C m1 C 21 … Cm C mm C1m Ясно, что диагональные элементы равны единице, а все прочие меньше единицы. Таблица вмещает ценную информацию, характеризующую область допустимых значений. Так, если значения каких-то двух столбцов близки для каждой из строк (кроме строк, содержащих единицы в этих столбцах), то два соответ18 ствующих критерия сильно зависимы, так как изменения всех иных критериев (кроме этих двух) одинаково влияют на эти два критерия. Можно выявить также и противоречивые критерии: высокая оценка по одному сопровождается низкой оценкой по другому. 3) По таблице вычисляются индексы (или веса) критериев. Пусть i - среднее значение, взятое по всем элементам i-го столбца, кроме единицы. Тогда i - индекс (или вес) i-го критерия – вычисляется по формуле[4] i 1 i m ; j 1 j 1 j j 1 В качестве формулы для вычисления взаимного коэффициента двух критериев можно взять обычное скалярное произведение векторов оценок, полученных соответствующими методами: C ij 1 cos( scores i , scores j ) 2 . Такая нормировка даст диапазон взаимных индексов как раз [0;1], причем на равных векторах он равен единице, на противоположных – нулю. Ещё один способ вычислить C ij - посчитать корреляцию критериев как функций на пространстве альтернатив (Так как критерии после первой итерации соответствуют методам, оценка альтернативы данным методом и будет являться значением функции). m C ij (score k 1 i k score i )( score kj score j ) m Di D j , где score j - среднее значение компонент j-го вектора, а Di - среднее значение квадрата отклонения компоненты от среднего (попросту, дисперсия). Анализ сходимости итерационного процесса Предлагается рассмотреть сходимость исследуемого итерационного процесса на основе сравнения последовательностей вычисленных результатов (а не на основе «чистых» рейтингов альтернатив, полученных данным методом). Заметим, что такой анализ будет применяться только при исследовании сходимости, но не для составления исходных данных метода. В примитивном случае мощность множества последовательностей сравнима с n! , где n – число участвовавших в процессе альтернатив. Это просто число перестановок n элементов между собой. Но если учесть, что рейтинги могут быть равны (в точности, или при допущении некоторой погрешности/нечеткости в результате), и можно дать несколько первых «мест», то все пространство выходных последовательностей можно представить 19 как n-мерное дискретное, имеющее по каждому измерению ровно n значений, мощность такого множества ~ n n .Тогда сам результат задается вектором длины n с дискретными значениями от 1 до n. Для таких векторов можно использовать понятия меры (длины) и расстояния, вычисляемых по обычным пифагоровым формулам. Самым, пожалуй, удобным случаем будет случай, в котором начиная с какого-то шага итераций последовательность альтернатив в результате применения метода будет оставаться постоянной (соответствующей конкретной точке пространства). Тогда в сходимости метода сомневаться нет причин, особенно если в результате решения задачи принятия решения нам нужны только соотношения предпочтения между альтернативами (какая «лучше», какая «хуже»), и искомым и единственно существующим решением задачи является эта самая терминальная последовательность. Чуть более сложной будет ситуация, при которой на соседних шагах с большим номером итераций будут получаться разные последовательности, но «близкие» по норме в пространстве. Некая неустойчивость может быть заложена в самом процессе вычисления, поэтому отвергать метод не стоит. В качестве искомого решения можно выбрать любую из получаемых последовательностей, «близких» к результатам соседних шагов, либо каким-то образом усреднять результат (что тоже не может вывести нас далеко от расчетных решений). Единственная неясность здесь – определение самого понятия «близость», но при большом числе альтернатив можно доверить ЛПР задание разумного порога близости. Однако, может случиться, что получаемые результаты ни при каких допустимых порогах не будут оставаться в окрестности какой-то точки, могут пробегать совершенно отстоящие друг от друга точки пространства последовательностей с различными частотами на больших номерах шагов. Так как в пространстве векторов, соответствующих последовательностям альтернатив, отсутствуют отношения «больше/меньше», то отдать предпочтение какому-то из получившихся результатов невозможно. К тому же, усреднять в таком случае по пространственной метрике эти решения не имеет всякого смысла. Для сравнения: пусть на четных шагах процесса первой альтернативе отдается 5-е место, а на нечетных – 1-е. Предположим, что «эффективность» результата решения задачи как функция последовательностей зависит от рейтинга первой альтернативы (от её положения среди других), к примеру, как C ( x 3) 2 , тогда множитель при константе в полученном методом случае равен 4, а при усреднении, если отдать в результате данной альтернативе компромиссное 3-е место, получается (о ужас!) нулевая эффективность. В большей степени это замечание имеет отношение не к обычным задачам выбора лучшей альтернативы, а, например, к расстановке приоритетов при запуске новых проектов компании. В таком случае далекие друг от друга, может быть, даже противоположные после20 довательности дадут оптимальный результат, в то время как попытка усреднить эти последовательности приводит к провалу. Но никто не запрещает в таком случае объявить о наличии нескольких «неблизких» результатов. Если мы будем фиксировать частоту появления того или иного результата на очередном шаге, отнесенное к номеру текущего шага, то при больших n, ( а в пределе при n ) получим некое подобие вероятностного пространства, где каждому элементарному событию соответствует конкретная последовательность альтернатив, получившаяся в результате применения данного метода, а вероятности этого события – относительная эффективность конкретной последовательности. 1) Эту сетку вероятностей можно предоставить ЛПР для выбора оптимального решения (тут сыграть может даже простое большинство, особых усилий от самого ЛПР не требуется), 2) либо объявить какой-то порог сравнимости и выдать несколько последовательностей как неразличимые, «одинаково оптимальные» в решении данной задачи, 3) либо назначить правило отбора эффективных решений, 4) либо сузить число альтернатив, отбросив заведомо неэффективные (или оставив только наиболее эффективные, если это возможно по результату), и начинать решение снова. В любом случае правило, принятое к применению в случае возникновения такой сложной ситуации с «далекими» эффективными последовательностями, без затрат сужается на первый и второй случай, так что можно изобрести универсальный способ определения условий сходимости (пусть в общем виде очень сложный), который на некоторых наборах данных будет сводиться к чему-то очень простому, даже без участия ЛПР. Число итераций, которой необходимо выполнить перед окончательным принятием решения, можно рассчитать на основе теории принятия статистических гипотез. Рассматриваемая сетка частот появления в результате той или иной последовательности, если ее рассматривать как вероятностное пространство, позволяет построить подходящую статистическую модель и рассчитать необходимые параметры. К преимуществам этого способа анализа сходимости стоит отнести следующее: 1) Если в результате применения метода получаются несколько эффективных решений исходной задачи, они все будут продемонстрированы ЛПР вместе с их «приоритетами» (иначе, степенью эффективности). Отбрасывать то или иное решение из-за отклонения от сходимости не приходится. 2) вплоть до последнего шага процесс полностью автоматизирован, от ЛПР не требуется контролировать каждую итерацию, и его участие на решающем этапе сведено к минимуму. 21 3) В простых (более-менее) задачах, все-таки, сходимость будет ограничиваться первым случаем, когда начиная с какого-то времени последовательности результатов не будут меняться при переходе от одного шага к другому. 4) Относительно просто работать с дискретными последовательностями, для этого потребуется ограниченный объем памяти, несложные вычисления и довольно примитивный математический аппарат Нельзя закрывать глаза и на недостатки: 1) Если в методе изначально есть предпосылки к неопределенности, и небольшие изменения промежуточных данных будут приводить к серьезным отклонениям в области результатов, решения получатся слишком «размазанными» по всему пространству последовательностей, будет трудно (или даже невозможно) выделить те из них, которые наиболее эффективны. 2) Невозможно избавиться от участия ЛПР. 3) При анализе дискретных последовательностей можно потерять некоторую информацию о решении, которая извлекается из непрерывных результатов работы метода. Непрерывный анализ дает более точные результаты. Пара слов о непрерывном анализе: В вещественных пространствах результатов гораздо сложнее пришлось с определением понятия «расстояния», «близости», «окрестности», это потребовало бы априорного знания многих параметров применяемого метода (как то: разброс шкалы значений, минимальные, максимальные отклонения результатов от среднего и т. д.) К тому же, при использовании непрерывных оценок ещё больше велика вероятность совершить ошибку и усреднить результаты по всем итерациям. Как было показано в примере, это может приводить к катастрофическим результатам. Промежуточные оценки (сводку, статистику по ним) можно предоставлять ЛПР в качестве вспомогательной информации, если возникнут трудности с принятием решения на основе анализа последовательностей. 22 Программная реализация Расчеты в данной работе произведены с использование языка Java и библиотеки классов AbstractMath, предназначенной для решения разнообразных задач. Все вычислительные алгоритмы оформлены в виде отдельных классов, реализующих стандартные интерфейсы, описанные в AbstractMath. Это позволяет использовать реализованные алгоритмы в различных средах. Отличительной особенностью является, то, что для операций над числами используются не стандартные классы из Java API, а специальный интерфейс Number, описанный в AbstractMath, что позволяет, создавая различные реализации этого интерфейса, работать с разными типами чисел, практически не меняя алгоритмы. В данной работе используются две разновидности чисел: ScalarNumber – действительные числа, FuzzyNumbers – нечеткие числа. Причем для нечетких чисел есть различные реализации: GaussianNumber и TriangleNumber, описывающие нечетки числа с разными функциями принадлежности. Так как целью работы является построение наиболее универсальной автоматической системы, за основу взято J2EE приложение, установленное на Web-сервере Sun Application Server. Исходные данные о задачах, методах и алгоритмах вводятся на формах ввода Web-приложения, или же импортируются в файлах специального формата. Для хранения используется база данных Oracle XE, установленная на том же сервере. В качестве модели данных выбрана объектно-ориентированная метамодель, подобная используемой в NetCracker. Метамодель выбрана для обеспечения наибольшей универсальности приложения, чтобы на этапе построения и формализации задачи не задумываться о структуре таблиц, типах данных, настройке запросов и формате ввода/вывода. Всё это в самом общем виде реализовано на уровне приложения, и взаимодействие с такой моделью происходит через дружественный интерфейс html-страниц. Структура данных представлена на следующей схеме: 23 Таблица DSS_OBJECTS используется для хранения абсолютно всех объектов, так или иначе задействованных в процессе расчетов. Здесь находятся имена, описания, информация о связях типа parent-child, и ссылка на объектный тип. DSS_OBJECT_TYPES перечисляет все объектные типы, которым могут принадлежать объекты. Объектный тип определяется именем, описанием, положением в parentchild-иерархии, косвенно определяет принадлежность тех или иных атрибутов объектам. DSS_ATTRIBUTES содержит информацию об атрибутах объектов, их типе, способе вычисления (в случае калькулируемых типов), о возможности редактировать значение атрибута, о необходимости отображения соответствующего значения на форме. DSS_PARAMS, DSS_REFERENCES содержат непосредственно значения параметров объектам по соответствующим атрибутам (PARAMS для простых типов, REFERENCES для ссылочных). Эти таблицы имеют наибольший объем данных среди остальных. DSS_ATTR_OBJECT_TYPES связывает объектные типы с атрибутами, которые данному объектному типу принадлежат. Такая модель обладает большой гибкостью по отношению к формату хранящихся данных (так как любые отношения, будь то иерархии, внешние ключи хранятся в виде записей в соответствующих таблицах), к изменению их структуры (если меняется модель внешних данных, нет необходимости изменять структуру таблиц, достаточно лишь внести соответствующие изменения об атрибутах, объектных типах, их связях), к типам данных (ссылки, даты, числа, строки, даже перечислимые значения (LIST_VALUES) равноправ24 ны). Несмотря на кажущуюся сложность, модель доказала свою состоятельность. В реализованном J2EE приложении пользователь даже не подозревает о наличии подобной модели, для него данные представляются так, как если бы за этим лежала обычная реляционная структура таблиц. На основе изложенной структуры создана специфическая для нашей задачи модель данных, описывающая систему принятия решений. Схема модели имеет следующий вид: Problems, Marks, Criteria, Scores, Methods – это и есть сущности, используемые в описании алгоритмов в данной работе. Resources, Resource_types, Grades в данный момент не применяются, но были включены в структуру для дальнейшей возможности расширять круг решаемых проблем (например, проблема группового ранжирования – разбиение альтернатив на группы). В том или ином виде эти сущности в данный момент полностью описаны в рамках изложенной метамодели, в таблицах DSS_OBJECT_TYPES, DSS_ATTRIBUTES, DSS_OBJECTS находятся соответствующие записи. 25 Описание взаимодействия функционала системы принятия решения с базой данных, а так же с Web-браузером на стороне пользователя слишком громоздко, поэтому имеет смысл привести лишь несколько опорных моментов. Основные классы, используемые в работе можно изобразить на UML диаграмме, что бы показать взаимоотношения между ними: DecisionProblem DecisionSolver DecisionSolution GroupingAlgorithm AbstractDecisionAlgoritр m ParetoAlgorithm UtilityFunctionAlgorithm ElectreAlgorithm ArithmeticFunctionAlgorit hm GeometricFunctionAlgori thm PowerFunctionAlgorithm HarmonicFunctionAlgorit hm При решении проблемы выбора с помощью Decision алгоритмов структура классов тривиальна: объект решателя с помощью алгоритмов ранжирования (DecisionAlgorithm) и группировки создает объект решения (DecisionSolution), при этом все вычисления делегируются непосредственно алгоритмам. В случае когда для решения проблемы применяются алгоритмы, основанные на предпочтении (неважно для нечетких чисел или нет), структура классов заметно усложняется: 26 DecisionSolution PreferenceSolver PreferencePreprocesso r PreferenceAlgorith m Fuzzy2PrefPreprocessor Assesment2PrefPreproce ssor PreferenceAggregationMeth od PreferenceProblem Preferences ScoreFromPreferencesMeth od TaninoPreferenceAggregationM ethod UtilityPreferenceAggregationMethod (Adapter) HarmonicFunction Основным отличием здесь является то, что решение происходит в 3 этапа: С помощью какого-либо из Preprocessor исходный объект проблемы DecisionProblem преобразуется в объект класса PreferenceProblem, который содержит в себе набор матриц предпочтений между альтернативами отдельно для каждого критерия (объект Preferences) PreferenceSolver c помощью PreferenceAlgorithm решает эту задачу: С помощью одного из PreferenceAggregationMethod производится агрегация предпочтений, т.е создание одной матрицы предпочтений между альтернативами. В этом месте происходит переход от многокритериальной задачи к однокритериальной. C помощью одного из методов ScoreFromPreferenceMethod вычисляется конечный рейтинг альтернативы PreferenceSolver создает объект DecisionSolution. Таким образом, алгоритмы, основанные на предпочтениях, представляют собой один обобщенный алгоритм, который можно параметризовать различными методами: подготовки матриц предпочтений (Preprocessor), агрегации предпочтений (PreferenceAggregationMethod) и вычисления рейтингов (ScoreFromPreferenceMethod), получая при этом различные алгоритмы. Начальная информация о задаче из базы данных заносится в виртуальную машину Java, затем, после того, как пользователь запустит процесс расчета, нажав соответствую27 щую кнопку Calculate, начинается итерационный процесс. Для наглядности ниже приведен фрагмент кода программы: Как видно из кода, сначала в цикле по методам задача решается каждым из предложенных методов «простым» итерационным алгоритмом (sovleSimple()), причем условие выхода из цикла – достижение необходимой точности либо превышение порога допустимого числа итераций. Затем результат сохраняется в базу (storeResult()), предложенная задача решается один раз многометодным алгоритмом (solve()), и затем вступает цикл уже по итерациям многометодного итерацонного алгоритма (execute()). Все необходимые промежуточные и конечные данные сохраняются в базу внутри перечисленных методов, либо же в завершение всего процесса. 28 Результаты Задача выбора оптимальной схемы подключения клиента в операторе связи Вступление В задаче ниже предлагается рассмотреть три наиболее популярные в настоящее время технологии доступа last mile: 1. HFC (Hybrid fiber-coaxial) В настоящее время очень динамично развивающаяся технология. Примером оператора, дающего доступ по HFC является бельгийский Telenet. 2. xDSL (его разновидности ADSL, ADSL2+, VDSL, VDSL2, SHDSL, etc) Данная технология является одной из наиболее распространенных и, ввиду дешевизны развертывания, удобной для Service Provider’а. 3. FTTx (его разновидности FTTH, FTTB, etc) FTTH на данный момент получает всё большую и большую популярность из-за высокой пропускной способности (несмотря на высокую стоимость развертывания и обслуживания сетей). Описание бизнес-кейса и формальных критериев оценки Пользователь OSS-системы сначала выясняет параметры расположения кастомера, обычно таким параметром является ZIP-код. По этому коду с помощью homing таблиц определяются возможные варианты подключения. Таким образом, на первом же шаге отсекаются принципиально невозможные варианты. Оставшиеся варианты «скармливаются» разрабатываемой нами системе многокритериального ранжирования. Со стороны пользователя системы это выглядит как стандартная для многих провайдеров операция, называемая Feasibility Check. Формальные критерии Рейтинг аксеса (от 0 до 3) – это число показывает индивидуальный рейтинг типа подключения, связанный например, с политикой компании, продвигающей ту или иную технологию. Стоимость деплоймента сети до кастомера - данный критерий достаточно специфический и потребует некоторых исследований для уточнения. Однако среди указанных технологий по убыванию стоимости типы аксеса можно расположить в следующем порядке: FTTH, HFC, xDSL. FTTH лидирует с большим отрывом 29 Bandwidth – чем больше, тем лучше - случай, когда пропускной способности канала будет недостаточно для сервисов, заказанных кастомером, здесь не рассматривается, поскольку обычно такого рода несостыковки отслеживаются системой заказа сервисов. То есть имеется в виду, что если есть две технологии, одна из которых дает 10 Mbps, а другая 25, то выигрывает вторая. Для указанных выше технологий стандартные теоретические значения пропускной способности выглядят следующим образом: FTTH: ~52 Mbps HFC: ~25 Mbps ADSL: ~8 Mbps ADSL2: ~12 Mbps ADSL2+: ~24 Mbps Данные значения очень сильно коррелируют с критерием ниже. Чем хуже связь, тем хуже bandwidth, количественные оценки часто определяются экспериментальным путем. Качество и длина кабеля от Network Access Point до дома кастомера - например, в случае xDSL – это расстояние от DSLAM до распределительного щитка в доме. Вообще, данный параметр обычно берется из внешних систем, хранящих подобного рода информацию о кабелях. Поэтому его можно отнести к разряду «трудно добываемых», однако важных, поскольку он влияет на значение bandwidth. Особенно сильно данный параметр влияет в xDSL технологии, так как обычно используется существующая кабельная инфраструктура не всегда хорошего качества. Анализ критериев Количественная оценка второго и последнего критериев требует более глубокого исследования, однако в целом картина приоритетов каждого из указанных критериев выглядит следующим образом: Рейтинг аксеса важен примерно также, как и стоимость деплоймента сети. Перекос в одну или другую сторону зависит от политики каждой конкретной компании. За ними следуют критерии качества и после - Bandtwidth Расчеты Начальные данные формализованной задачи подавались на вход разработанной DSSсистеме. При этом сначала она решалась каждым программно реализованным методом с помощью первого, «простейшего» расчетного алгоритма, с пересчетом весов исходных критериев между итерациями, затем – «базовым» итерационным процессом, с применением совокупности всех этих методов. 30 На первом этапе расчетов среди методов были три, основанные на функции полезности (арифметической, степенной, гармонической и геометрической), один метод типа «голосования» (метод Борда) и метод ELECTRE. Ниже приведены две таблицы, соответственно, первая демонстрирует результат решения «одиночными» методами, вторая – итог расчетов «базовым» многометодным алгоритмом. Ariithmetic Function Algorithm ALTERNATIVE Harmonic Function Algorithm Electre Algorithm Power Function Algorithm 1.1 HFC (Hybrid fibercoaxial) 1.2 xDSL 1.3 FTTx 0.6104 0.6639 0.432 ALTERNATIVE Borda Ariith metic Geo metric Electre Harmo nic Power Function Summary 1.3 FTTx 1.2 xDSL 1.1 HFC (Hybrid fiber-coaxial) 0.8018 0.5345 0.9933 0.1029 1 0 1 0 1 0 0.9994 0.0344 0.97284855 0.09418415 0.2673 0.0519 0 0 0 0.0088 0.04571225 0.5774 0.5774 0.5774 0.5493 0.5247 0.6503 0.4976 0.8245 0.2696 Число итераций многометодного алгоритма равно 5, финальная погрешность ~0.005. При этом в финале расчетов таблица «весов» соответствующих методов выглядела следующим образом Name Weight mipt.math.sys.alt.impl.ArithmeticFunctionAlgorithm 0.1765 mipt.math.sys.alt.impl.GeometricFunctionAlgorithm 0.1727 mipt.math.sys.alt.impl.ElectreAlgorithm 0.1727 mipt.math.sys.alt.impl.HarmonicFunctionAlgorithm 0.1727 mipt.math.sys.alt.impl.PowerFunctionAlgorithm 0.1745 mipt.math.sys.alt.impl.vote.BordaAlgorithm 0.131 Как видно из результата, во-первых одиночные методы не всегда дают однозначное решение, во-вторых, полученное решение не всегда совпадает (хотя бы приблизительно) с решением, полученным многометодным алгоритмом. Но здесь же видны недостатки и самого многометодного алгоритма – три из шести использованных методов дают совершенно одинаковые результаты, отличающиеся особой крайностью и потому не претендующие на высокую степень доверия. Тем более абсолютно равные веса на выходе говорят о том, что эти методы по сути являются троекратным повторением одного и того же, а значит, вносят искажения в ход вычисления. С тем же успехом можно было три раза включить, к примеру, метод ELECTRE, получить точно такой же результат, однако с методической 31 точки зрения такой подход кажется нелепым, это сужает рамки модели, искажает чистоту эксперимента. На основе этих наблюдений далее из многометодного алгоритма исключались различные методы, по одному или по несколько, составлялись различные комбинации, и в итоге получился результат, вполне оправданный с точки зрения методологии. ALTERNATIVE 1.3 FTTx 1.2 xDSL 1.1 HFC (Hybrid fibercoaxial) Ariithmetic Function Algorithm Power Function Algorithm Borda Algorithm Summary 0.8804 0.4297 0.9679 0.2445 0.8018 0.5345 0.883074 0.403608 0.2007 0.0587 0.2673 0.176129 И соответствующие веса Name mipt.math.sys.alt.impl.ArithmeticFunctionAlgorithm mipt.math.sys.alt.impl.PowerFunctionAlgorithm mipt.math.sys.alt.impl.vote.BordaAlgorithm Weight 0.3394 0.3287 0.3319 Число итераций также равно 5, ошибка ~0.007 Как видно, здесь уже веса различны, хоть и близки – следовательно, каждый метод вносит примерно равные поправки на каждом шаге вычисления, но эти поправки не коррелированы. Примечательно, что результат, полученный шестью исходными методами, совпадает (по крайней мере по порядку отранжированных альтернатив) с результатом последнего вычисления, с применением только трех методов. Задача отбора студентов в учебный центр Описание задачи Будем рассматривать задачу ранжирования студентов-второкурсников, поступающих на отдельные кафедры ФРТК МФТИ и в учебный центр в учебном центре МФТИ им. В.В.Калашникова, где студенты учатся разработке программ и телекоммуникационным технологиям. На основании анализа зависимости успешности учебы студентов в центре от их качеств (известных на этапе собеседований) были выделены следующие критерии отбора: Средний балл по зачетке Средний балл за последнюю сессию Уровень знаний по программированию и телекоммуникациям Область интереса разработка ПО или телекоммуникации 32 Зрелость интереса к данной области Мотивация Мнение интервьюера, стоит ли брать Некоторые критерии, такие как средний балл, определяются точно. Другие опреде- ляются на основе мнения интервьюера. Как правило, интервьюер выражает свое мнение о студенте по каждому из критериев ключевым словам, которым соответствуют определенные числовые оценки. Различные критерии могут иметь различную важность с точки зрения ЛПР. Приоритеты критериев задавались при помощи весового вектора, т.е. каждому критерию назначался вес, который отражал собой важность данного критерия при оценке студентов, также с каждым критерием связывалась шкала оценок для данного критерия. ЛПР назначил веса критериям, с учетом, что все критерии имеют примерно одинаковую значимость, кроме последнего критерия (мнение интервьюера, стоит ли брать), который имеет важность примерно такую же, как все остальные вместе взятые. Оценки каждого студента по всем этим критериям (кроме двух первых критериев) оцениваются несколькими интервьюерами. Это необходимо дня того, чтобы уменьшить влияние субъективности мнения интервьюера. Заметим, что иногда не удается оценить студента по некоторым критериям. При формализации задачи существует несколько способов обхода такой проблемы, в данной работе использовалось усредненных по всем альтернативам значений оценки по критерию. Расчеты Расчетный процесс для этой задачи строился подобно предыдущей, поэтому нет смысла повторять все его шаги с приведением промежуточных результатов. Наиболее «состоятельными» в этой задаче оказались три метода, указанных в предыдущем пункте (Борда, арифметической и степенной функции полезности), а также метод ELECTRE. Ниже в таблице выделены только несколько первых результатов и несколько последних: ALTERNATIVE #65 : Казеев Владимир #29 : Мусиенко Михаил #2 : Аскаров Даулет #0 : Абдрашитов Виталий #59 : Гусейнов Руслан #14 : Ерофеев Павел #8 : Васильев Алексей #34 : Полбицин Алексей #75 : Теплыгин Владимир #66 : Камышникова Нина .impl.vote. BordaAlgo rithm ithmeticFu nctionAlg orithm alt.impl.El ectreAlgor ithm pl.PowerF unctionAl gorithm 0.1686 0.1728 0.1801 0.1771 0.1614 0.1825 0.1752 0.1686 0.1469 0.1566 0.1736 0.1709 0.1679 0.1655 0.1671 0.1612 0.1581 0.1593 0.1618 0.1549 0.1219 0.1219 0.1219 0.1219 0.1219 0.1219 0.1219 0.1219 0.1219 0.1219 0.2301 0.2219 0.2126 0.206 0.2117 0.1946 0.1866 0.1897 0.1981 0.1788 33 Score 0.173764 0.172107 0.170886 0.167877 0.16572 0.165322 0.160698 0.1601 0.157321 0.153234 #17 : Иванов Сергей #30 : Некрылов Дмитрий #19 : Калимуллин Рустам ……………………………… #32 : Петровский Дмитрий #48 : Чурсин Андрей #74 : Старостенков Владимир #21 : Карпова Марина #35 : Рамазанов Александр 0.1698 0.1554 0.1668 ……… 0.0602 0.0482 0.0379 0.0385 0.0283 0.1473 0.1475 0.1427 …………… 0.0705 0.0767 0.0699 0.061 0.0159 0.1219 0.1219 0.1219 ………….. 0.1219 0.1219 0.1219 0.061 0 0.1611 0.161 0.151 ………….. 0.0431 0.0487 0.0431 0.0283 0.003 0.15025 0.146627 0.145811 ……………. 0.073588 0.073523 0.067784 0.047205 0.011989 0.0271 0.0253 0.0229 0.0211 0.0162 0.0146 0.0142 0.014 0 0 0 0 0.003 0.0025 0.0024 0.0023 0.011762 0.010772 0.010036 0.009504 #60 : Даштиев Назир #42 : Тимонина Анна #57 : Голубев Дмитрий #61 : Жеребцов Алексей К сожалению, приведение таблицы принятых решений ранжированию студентов будет слишком громоздко, и к тому же это потребует сопоставления и анализа результата. Стоит лишь сказать, что среди первых двадцати студентов, выделенных в данном расчете, и в начале списка рейтингов принятых на кафедру, наблюдается практически стопроцентное совпадение фамилий. Впрочем, последние двадцать фамилий из таблицы выше оказались в списке незачисленных в центр. Эти совпадения подтверждают применимость разработанного алгоритма и к задаче большей размерности, чем, к примеру, задача о подключении клиента, где имеется всего три альтернативы и четыре критерия. Анализ результатов На основе проведенных вычислений понятно, что применение некоторых методов МКПР к конкретным задачам в отдельных случаях не оправдано, а порой и вредоносно с точки зрения чистоты результата. Однако, в процессе многошагового человекомашинного решения той или иной задачи можно исключить все «непригодные» методы, проанализировать (на основе информации о финальных весах), насколько те или иные методы коррелируют или, наоборот, различны, сделать методологические выводы о пригодности конкретных методов к конкретным типам задач. Если удастся каким-либо образом формализовать оценку методов, автоматизировать процесс их отсеивания, не требовать участия в этом ЛПР, то получится система, которая не только находит оптимальное решение задачи МКПР, но и позволяет сильно упростить процесс последующего решения подобных задач, явно указав те методы, которые являются наиболее пригодны для них. Под оптимальным решением здесь в очередной раз понимается наиболее надежное, обладающее большой степенью доверия, с учетом того, что получено оно абсолютно автоматическим путем, без участия ЛПР. 34 ЗаключениеError! Reference source not found.Error! Reference source not found. В данной работе были разработаны, реализованы и применены при решении различного рода оптимизационных задач итерационные алгоритмы многокритериального ранжирования, основной идеей которых является использование многометодности как залога надежности и «доверительности» результатов. Введены понятия сходимости итерационного процесса, критерии прекращения расчетов, рассмотрены различные способы перехода от одной итерации к другой. На основе результатов вычислений проведен сравнительный анализ как самих нововведенных алгоритмов, так и конкретных методов, используемых в них. По итогам нескольких циклов расчетов показано, что приемлемость того или иного метода при решении конкретной задачи определяется прежде всего спецификой и задачи, и метода. Также построена интерактивная процедура «отсеивания» непригодных методов, повышающая детерминированность и надежность получаемых результатов. Таким образом, одним из направлений дальнейшей работы остается полная автоматизация процедуры принятия решений, сведение к нулю участия ЛПР в процессе. С чисто практической стороны следует применить разработанные алгоритмы к решению более сложных задач из указанной предметной области (в данном случае это телеком), с более обширными моделями и более полной информацией о предмете. И, конечно, существует чисто методологическое направление, нацеленное на исследование и усовершенствование существующих методов многокритериального принятия решений, а возможно и изобретение новых. 35 Список использованных источников 1. Емельянов С.В., Ларичев О.И. Многокритериальные методы принятия решений – М: Знание, 1985. –с. 32 2. Ларичев О.И. Теория и методы принятия решений. - М.: Логос, 2000.- с. 296 3. Любченко В. В. Переключение методов в интерактивной процедуре принятия решений // Труды Одесского политехнического университета - 2002, вып. 2(18) – с. 2-3 4. Jaap Spronk Interactive multiple objective programming methods - Springer, 1981 – pp. 114-122 – http://publishing.eur.nl/ir/repub/asset/10709/HFDSTK.5.PDF 5. Philippe Nemery de Bellevaux On the use of multicriteria ranking methods in sorting problems - Universite Libre de Bruxelles, 29th of November 2008. 6. Гурман В. И. Модели и методы теории управления // Программные системы: теория и приложения, Переславль-Залесский, 2004 – с. 109 36