Головная боль, сотрясение мозга, энцефалопатия
Поиск по сайту

Аналитическая иерархическая процедура саати. Применение метода анализа иерархий при оценке городских земель

Одним из наиболее эффективным методов решения слабоструктурированных задач управления является метод анализа иерархий (МАИ), разработанный Т. Саати. Этот метод оказывается полезным при принятии решений на основе как формализованных, так и неформализованных факторов.

Главной чертой МАИ является то, что он отражает естественное мышление человека, принимающего решение независимо от широты спектра проблемы.

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

Цель, факторы показательного оценивания и альтернативы образуют иерархическую структуру (рис. 7).

Рис. 7 Дерево целей МАИ: f1,f2,f3 - факторы (показатели), определяющие описание альтернатив; a1,a2,...an - множество альтернатив

Рассмотрение этой схемы (рис. 7) позволяет сформулировать ряд положений, отражающих сущность метода «анализа иерархий».

1. Число уровней иерархии, описывающих конкретную прикладную задачу, может быть различно и зависит от специфики задачи. Каждый элемент верхнего уровня является «направляющим» для элементов нижнего уровня иерархии. Это означает, что важность (весовой коэффициент факторов описываемой альтернативы) рассматривается относительно цели выбора альтернатив. Поэтому при бинарном сравнении факторов каждый из них оценивается относительно поставленной цели выбора и соответственно определяет уровни взаимного предпочтения.

2. Попарные сравнения факторов осуществляются в терминах доминирования одного из элементов над другим. Эти суждения в шкале МАИ выражаются в целых числах. Если элемент А доминирует над элементом В, то клетка квадратичной матрицы, соответствующей строке А и столбцу В, заполняется целым числом, а клетка, соответствующая строке B и столбцу A, заполняется обратным к нему числом. Если A и B эквивалентны, то в обе позиции записывается 1.

3. Для получения каждой матрицы требуется n×(n-1)/2 суждений, где n – число факторов, если сравнение проводится среди них, или n – число альтернатив, если они сравниваются по каждому фактору.

4. При бинарном сравнении альтернатив, в особенности при близких оценках их показателей, возможны случаи нарушения требований транзитивности или других ошибок в суждениях, поэтому МАИ предусматривает специальный механизм определения согласованности оценок.

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


Таблица 18

Шкала отношений МАИ

Метод анализа иерархий (МАИ) - математический инструмент системного подхода к сложным проблемам принятия решений.

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

Этот метод разработан американским математиком Томасом Л. Саати , который написал о нем книги, разработал программные продукты и в течение 20 лет проводит симпозиумы ISAHP (англ. International Symposium on Analytic Hierarchy Process ). МАИ широко используется на практике и активно развивается учеными всего мира. В его основе наряду с математикой заложены и психологические аспекты. МАИ позволяет понятным и рациональным образом структурировать сложную проблему принятия решений в виде иерархии, сравнить и выполнить количественную оценку альтернативных вариантов решения. Метод анализа иерархий используется во всем мире для принятия решений в разнообразных ситуациях: от управления на межгосударственном уровне до решения отраслевых и частных проблем в бизнесе , промышленности , здравоохранении и образовании .

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

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

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

Следующим этапом анализа является определение приоритетов, представляющих относительную важность или предпочтительность элементов построенной иерархической структуры, с помощью процедуры парных сравнений. Безразмерные приоритеты позволяют обоснованно сравнивать разнородные факторы, что является отличительной особенностью МАИ. На заключительном этапе анализа выполняется синтез (линейная свертка) приоритетов на иерархии, в результате которой вычисляются приоритеты альтернативных решений относительно главной цели. Лучшей считается альтернатива с максимальным значением приоритета.

Пример задачи многокритериального выбора с простейшей иерархией

В данной задаче необходимо выбрать из трех кандидатов одного на должность руководителя (см. рисунок). Кандидаты оцениваются по критериям: возраст, опыт, образование и личные качества. На рисунке показана иерархия для этой задачи. Простейшая иерархия содержит три уровня: цель, критерии и альтернативы. Числа на рисунке показывают приоритеты элементов иерархии с точки зрения цели, которые вычисляются в МАИ на основе парных сравнений элементов каждого уровня относительно связанных с ними элементами вышерасположенного уровня. Приоритеты альтернатив относительно цели (глобальные приоритеты) вычисляются на заключительном этапе метода путём линейной свертки локальных приоритетов всех элементов. В данном примере лучшим кандидатом является Дик, так как имеет максимальное значение глобального приоритета

Сфера образования и научных исследований

Хотя для практического применения МАИ отсутствует необходимость специальной подготовки, основы метода преподают во многих учебных заведениях . Кроме того, этот метод широко применяется в сфере управления качеством и читается в рамках многих специализированных программ, таких как Six Sigma, Lean Six Sigma, и QFD .

Раз в два года проводится Международный симпозиум, посвященный МАИ (International Symposium on Analytic Hierarchy Process, ISAHP), на котором встречаются как ученые, так и практики, работающие с МАИ. В 2007 году симпозиум проходил в Вальпараисо, Чили, где было представлено более 90 докладов ученых из 19 стран, включая США, Германию, Японию, Чили, Малайзию, и Непал .

Методика применения МАИ

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

Порядок применения МАИ:

Рассмотрим эти шаги подробнее.

Моделирование проблемы в виде иерархии

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

Определение иерархической структуры

Объяснение иерархических структур, используемых в МАИ

Иерархические структуры, используемые в МАИ, представляют собой инструмент для качественного моделирования сложных проблем. Вершиной иерархии является главная цель; элементы нижнего уровня представляют множество вариантов достижения цели (альтернатив); элементы промежуточных уровней соответствуют критериям или факторам, которые связывают цель с альтернативами.

Существуют специальные термины для описания иерархической структуры МАИ. Каждый уровень состоит из узлов. Элементы, исходящие из узла, принято называть его детьми (дочерними элементами). Элементы, из которых исходит узел, называются родительскими. Группы элементов, имеющие один и тот же родительский элемент, называются группами сравнения. Родительские элементы альтернатив, как правило, исходящие из различных групп сравнения, называются покрывающими критериями. Используя эти термины для описания представленной ниже диаграммы, можно сказать, что четыре критерия - это дети цели; в свою очередь, цель - это родительский элемент для любого из критериев. Каждая Альтернатива - это дочерний элемент каждого из включающих её критериев. Всего на диаграмме присутствует две группы сравнения: группа, состоящая из четырех критериев и группа, включающая три Альтернативы.

Вид любой иерархии МАИ будет зависеть не только от объективного характера рассматриваемой проблемы, но и от знаний, суждений, системы ценностей, мнений, желаний и т. п. участников процесса. Опубликованные описания применений МАИ часто включают в себя различные схемы и объяснения представленных иерархий . Последовательное выполнение всех шагов МАИ предусматривает возможность изменения структуры иерархии, с целью включения в неё вновь появившихся, или ранее не считавшихся важными, критериев и Альтернатив .

Расстановка приоритетов

После построения иерархии участники процесса используют МАИ для определения приоритетов всех узлов структуры. Информация для расстановки приоритетов собирается со всех участников и математически обрабатывается. В данном разделе приведена информация, на простом примере поясняющая процесс вычисления приоритетов.

Определение приоритетов и пояснения

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

На рисунке показана иерархия, в которой приоритеты всех элементов не устанавливались ЛПР. В таком случае по умолчанию приоритеты элементов считаются одинаковыми, то есть все четыре критерия имеют равную важность с точки зрения цели, а приоритеты всех альтернатив равны по всем критериями. Другими словами, альтернативы в этом примере неразличимы. Заметим, что сумма приоритетов элементов любого уровня, равна единице. Если бы альтернатив было две, то их приоритеты были бы равны 0.500, если бы критериев было 5, то приоритет каждого был бы равен 0.200. В этом простом примере приоритеты альтернатив по разным критериям могут не совпадать, что обычно и бывает на практике.

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

Если приоритеты критериев изменятся, то изменятся значения глобальных приоритетов альтернатив, следовательно, может измениться их порядок. На рисунке показано решение данной задачи с изменившимися значениями приоритетов критериев, при этом наиболее предпочтительной альтернативой становится A3.

См.также

Примечания

  1. Saaty, Thomas L. (2008-06). “Relative Measurement and its Generalization in Decision Making: Why Pairwise Comparisons are Central in Mathematics for the Measurement of Intangible Factors - The Analytic Hierarchy/Network Process” (PDF) . RACSAM (Review of the Royal Spanish Academy of Sciences, Series A, Mathematics) . 102 (2): 251-318. Проверено 2008-12-22 . Проверьте дату в |date= (справка на английском)
  2. Drake, P.R. (1998). “Using the Analytic Hierarchy Process in Engineering Education” (PDF) . International Journal of Engineering Education . 14 (3): 191-196. Архивировано из оригинала (PDF) 2007-11-28. Проверено 2007-08-20 . Используется устаревший параметр |deadlink= (справка)
  3. Bodin, Lawrence; Saul I. Gass (January, 2004). “Exercises for Teaching the Analytic Hierarchy Process” ((недоступная ссылка) - Scholar search) . INFORMS Transactions on Education . 4 (2). Проверено 2009-03-11 . Используется устаревший параметр |coauthors= (справка); Проверьте дату в |date= (справка на английском)
  4. Hallowell, David L. (January 2005). “Analytical Hierarchy Process (AHP) – Getting Oriented” . ISixSigma.com . Архивировано из оригинала 2007-08-11. Проверено 2007-08-21 . Используется устаревший параметр |month= (

С то – затраты на техническое обслуживание, включая заработную плату персонала ИС;

С лс – затраты, связанные с использованием глобальных вычислительных сетей (Internet и др.);

С ни – затраты на носители информации;С проч – прочие затраты.

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

Метод анализа иерархий (МАИ)

Метод анализа иерархий (МАИ) – математический инструмент системного подхода к сложным проблемам принятия решений. МАИ не предписывает ЛПР, какого-либо «правильного» решения, а позволяет ему в интерактивном режиме найти такой вариант (альтернативу), который наилучшим образом согласуется с его пониманием сути проблемы и требованиями к ее решению. Этот метод разработан американским математиком Томасом Саати .

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

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

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

На заключительном этапе анализа выполняется синтез (линейная свертка) приоритетов на иерархии, в результате которой вычисляются приоритеты альтернативных решений относительно главной цели. Лучшей считается альтернатива с максимальным значением приоритета.

Порядок применения МАИ :

1) Построение качественной модели проблемы в виде иерархии, включающей цель, альтернативные варианты достижения цели и критерии для оценки качества альтернатив (см. рис. 3).

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

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

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

Рис. 4. Простейшая иерархия МАИ

2) Определение приоритетов всех элементов иерархии с использованием метода парных сравнений.

Иерархические структуры, используемые в МАИ, представляет собой инструмент для качественного моделирования сложных проблем. Вершиной иерархии является главная цель; элементы нижнего уровня представляют множество вариантов достижения цели (альтернатив); элементы промежуточных уровней соответствуют критериям или факторам, которые связывают цель с альтернативами.

Существуют специальные термины для описания иерархической структуры МАИ. Каждый уровень состоит из узлов. Элементы, исходящие из узла, принято называть его детьми (дочерними элементами). Элементы, из которых исходит узел, называются родительскими. Группы элементов, имеющие один и тот же родительский элемент, называются группами сравнения. Родительские элементы Альтернатив, как правило, исходящие из различных групп сравнения, называются покрывающими Критериями. Используя эти термины для описания представленной ниже диаграммы, можно сказать, что четыре Критерия – это дети Цели; в свою очередь, Цель – это родительский элемент для любого из Критериев. Каждая Альтернатива – это дочерний элемент каждого из включающих ее Критериев. Всего на диаграмме присутствует две группы сравнения: группа, состоящая из четырех Критериев и группа, включающая три Альтернативы. Вид любой иерархии МАИ будет

зависеть не только от объективного характера рассматриваемой проблемы, но и от знаний, суждений, системы ценностей, мнений, желаний и т. п. участников процесса. Опубликованные описания применений МАИ часто включают в себя различные схемы и объяснения представленных иерархий. Последовательное выполнение всех шагов МАИ предусматривает возможность изменения структуры иерархии, с целью включения в неё вновь появившихся, или ранее не считавшихся важными, Критериев и Альтернатив.

3) Синтез глобальных приоритетов альтернатив путем линейной свертки приоритетов элементов на иерархии.

После построения иерархии участники процесса используют МАИ для определения приоритетов всех узлов структуры. Информация для расстановки приоритетов собирается со всех участников и математически обрабатывается.

Приоритеты – это числа, которые связаны с узлами иерархии. Они представляют собой относительные веса элементов в каждой группе. Подобно вероятностям, приоритеты – безразмерные величины, которые могут принимать значения от нуля до единицы. Чем больше величина приоритета, тем более значимым является соответствующий ему элемент. Сумма приоритетов элементов, подчиненных одному элементу выше лежащего уровня иерархии, равна единице. Приоритет цели по определению равен 1.0. Рассмотрим простой пример, поясняющий методику вычисления приоритетов (рис. 5).

Рис. 5. Простейшая иерархическая структура МАИ с приоритетами, определенными по умолчанию

На рисунке показана иерархия, в которой приоритеты всех элементов не устанавливались ЛПР. В таком случае по умолчанию приоритеты элементов считаются одинаковыми, то есть все четыре критерия имеют равную важность с точки зрения цели, а приоритеты всех альтернатив равны по всем критериями. Другими словами, альтернативы в этом примере неразличимы. Заметим, что сумма приоритетов элементов любого уровня, равна единице. Если бы альтернатив было две, то их приоритеты были бы равны 0.500, если бы критериев было 5, то приоритет каждого был бы равен 0.200. В этом простом примере приоритеты альтернатив по разным критериям могут не совпадать, что обычно и бывает на практике. Приведем пример, в котором локальные приоритеты альтернатив по разным критериям не совпадают. Глобальные приоритеты альтернатив относительно цели вычисляются путем умножения локального приоритета каждой альтернативы на приоритет каждого критерия и суммирования по всем критериям (рис. 6).

Рис. 6. Иерархическая структура МАИ, содержащая глобальные и локальные значения приоритетов по умолчанию

Если приоритеты критериев изменятся, то изменятся значения глобальных приоритетов альтернатив, следовательно, может измениться их порядок. На рисунке показано решение данной задачи с изменившимися значениями приоритетов критериев, при этом наиболее предпочтительной альтернативой становится A3 (рис. 7).

Рис. 7. Иерархическая структура МАИ, содержащая глобальные и локальные значения приоритетов по умолчанию

4) Проверка суждений на согласованность.

5) Принятие решения на основе полученных результатов.


Общая характеристика метода анализа иерархий
Метод Анализа Иерархий (МАИ) – математический инструмент системного подхода к решению проблем принятия решений. МАИ не предписывает лицу, принимающему решение (ЛПР), какого-либо «правильного» решения, а позволяет ему в интерактивном режиме найти такой вариант (альтернативу), который наилучшим образом согласуется с его пониманием сути проблемы и требованиями к ее решению. Этот метод разработан американским ученым Томасом Л. Саати в 1970 году, с тех пор он активно развивается и широко используется на практике. Метод анализа иерархий можно применять не только для сравнения объектов, но и для решения более сложных проблем управления, прогнозирования и др.

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

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

В типичной ситуации принятия решения:

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

Постановка задачи в процессе применения метода анализа иерархий: Пусть имеется множество альтернатив (вариантов решений): В 1 , В 2 , … В k . Каждая из альтернатив оценивается списком критериев: К 1 , К 2 , … К n . Требуется определить наилучшее решение.


Этапы применения метода анализа иерархий:

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

2. Попарное сравнение критериев по важности по девятибалльной шкале с составлением соответствующей матрицы (таблицы) размера (n х n). Система парных сведений приводит к результату, который может быть представлен в виде обратно симметричной матрицы. Элементом матрицы a(i,j) является интенсивность проявления элемента иерархии i относительно элемента иерархии j, оцениваемая по шкале интенсивности от 1 до 9, где оценки имеют следующий смысл:

  • равная важность – 1;
  • умеренное превосходство – 3;
  • значительное превосходство – 5;
  • сильное превосходство – 7;
  • очень сильное превосходство – 9;
  • в промежуточных случаях ставятся четные оценки: 2, 4, 6, 8 (например, 4 – между умеренным и значительным превосходством).

При этом при проведении попарных сравнений в основном ставятся следующие вопросы при сравнении элементов А и Б:

  • какой из них важнее или имеет большее воздействие?
  • какой из них более вероятен?
  • какой из них предпочтительнее?

Затем формируется матрица (схема представлена в Таблице 2). В процессе заполнения матрицы если элемент i важнее элемента j, то клетка (i, j), соответствующая строке i и столбцу j , заполняется целым числом, а клетка (j, i), соответствующая строке j и столбцу i, заполняется обратным числом (дробью).

Например, если К 1 умеренно превосходит К 4 , то в клетку (1;4) (на пересечении первой строки и четвертого столбца) ставится число 3, а в клетку (4;1) (четвертая строка первый столбец) – обратная величина, равная 1/3. Если же элемент j более важен, чем элемент i, то целое число ставится в клетку (j, i), а обратная величина – в клетку (i, j). Если считается, что i, j одинаковы, то в обе клетки ставится единица.

Заполнение таблицы (см.примерная схема в табл.2) проводится построчно с наиболее важного критерия. Сначала проставляют целочисленные оценки, тогда соответствующие им дробные оценки получаются из них автоматически (как обратные к целым числам). Чем важнее критерий, тем больше целочисленных оценок будет в соответствующей ему строке матрицы, и сами оценки имеют большие значения. Так как каждый критерий равен себе по важности, то главная диагональ матрицы всегда будет состоять из единиц. Очевидно, что сумма компонентов равна единице. Каждый компонент НВП представляет собой оценку важности соответствующего критерия (например, 1-й компонент представляет собой оценку важности первого критерия). где ПСС – показатель случайной согласованности, определяемый теоретически для случая, когда оценки в матрице представлены случайным образом, и зависящий только от размера матрицы, как это представлено в таблице 1:

Таблица 1 - Значение показателя случайной согласованности (ПСС)

Размер матрицы 1 2 3 4 5 6 7 8 9 10
ПСС 0 0 0,58 0,90 1,12 1,24 1,32 1,41 1,45 1,49

Оценки в матрице считаются согласованными, если ОС≤10-15%, в противном случае их надо пересматривать.

5. Проводится попарное сравнение вариантов по каждому критерию аналогично тому, как это делалось для критериев, и заполняются соответствующие таблицы (см.ниже – схема представлена в Таблице 3). Для каждой таблицы проводится проверка согласованности локальных приоритетов путем расчета трех характеристик (см.описание 4-го этапа).

6. Определяется общий критерий (приоритет) для каждого варианта:

К(В 1) = оценка В 1 по первому критерию х 1 й компонент НВП + оценка В 1 по второму критерию х 2 й компонент НВП + … + оценка В 1 по n му критерию х n й компонент НВП (6)

Аналогично подсчитываются К(В 2), К(В 3) и т.д., при этом в выражении В 1 заменяется на В 2 , В 3 и т.д. соответственно. Заполняется таблица (см.ниже – схема представлена в Таблице 4).

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

8. Проверяется достоверность решения:

8.1. расчет обобщенного индекса согласования:

ОИС = ИС 1 х 1 й компонент НВП + ИС 2 х 2 й компонент НВП + … + ИС n х n й компонент НВП (7)

8.2. расчет обобщенного отношения согласованности:

ООС = ОИС/ ОПСС (8)

где ОПСС определяется по таблице 1 на уровне ПСС (показателя случайной согласованности) для матриц сравнения вариантов по критериям.

Решение считается достоверным, если ООС≤10-15%, в противном случае нужно корректировать матрицы сравнения вариантов по критериям.

Таблица 2 - Форма таблицы сравнения критериев

К 1 К 2 …. К n Средние геометрические НВП(по фор-муле (2))
К 1
К 2
….
К n
ИТОГО по формуле (1)
λ max по форм. (3)
ИС по форм. (4)
ОС по форм. (5)

Таблица 3 - Форма таблицы сравнения вариантов по критериям (заполняется по каждому j-му критерию сравнения K j j=1,n)

К j В 1 В 2 …. В k Средние геометрические НВП(по фор-муле (2))
В 1
В 2
….
В k
ИТОГО по формуле (1)
λ maxj по форм. (3)
ИС j по форм. (4)
ОС j по форм. (5)

Таблица 4 - Форма таблицы расчета итоговых значений приоритетов

К 1 К 2 …. К n Итоговые значения приоритетов (расчет по формуле (6))
приводятся значения 1-го компонента НВП из таблицы 2 приводятся значения 2-го компонент НВП из таблицы 2 приводятся значения n-го компонента НВП из таблицы 2
В 1 К(В 1)=
В 2 К(В2)=
….
В k К(В 3)=
ИС приводится зна-чение ИС 1 по К 1 приводится зна-чение ИС 2 по К 2 приводится зна-чение ИС n по К n приводится сумма по столбцу
ОИС расч. по форм. (7)
ООС расч. по форм. (8)


Основные понятия метода анализа иерархий

В соответствии с формулировкой задачи принятия решения структура модели принятия решения в методе анализа иерархий представляет собой схему (граф), которая включает:

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

Структура модели отражает результат анализа ситуации принятия решения. Основные группы понятий метода анализа иерархий:

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

1. Cтруктуры

1.1) Узел – общее название для всех возможных решений (альтернатив), главного критерия (главной цели) рейтингования решений, всех факторов, от которых, так или иначе, зависит рейтинг. Название узла совпадает с названием соответствующего решения, критерия или фактора. Заметим, что с математической точки зрения схема ситуации принятия решения (структура модели), которая строится в методе анализа иерархий, является графом. Таким образом, понятие «узел» вполне оправдано. Ясно также, что решения, критерий и факторы являются «узлами» проблемы принятия решения.

1.2) Уровень – группа всех однотипных (равноправных, однородных, гомогенных и т.п.) узлов. Название уровня отражает назначения, функцию группы узлов в ситуации принятия решения. Каждый узел определяется не только своим названием, но и названием уровня, которому он принадлежит. Ясно, что отдельный уровень образуют альтернативные решения (узлы этого уровня однотипны в том смысле, что они являются решениями; прочие узлы таковыми не являются). Главный критерий рейтингования, как правило, один – это отдельный уровень. На рейтинг оказывают влияние несколько групп факторов – это также уровни.

1.3) Вершина – узел, соответствующий главному критерию (главной цели) отбора альтернатив.

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

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

Кластер определяется: 1) своей вершиной, 2) названием уровня, 3) списком узлов. 1.6) Система (структура модели, схема ситуации принятия решения) – совокупность всех узлов, сгруппированных по уровням, и всех связей между узлами.

С математической точки зрения системы, которыми приходится оперировать в методе анализа иерархий, являются – направленными графами (сетями). Связи образуют пути, ведущие от одних узлов к другим. Все пути так или иначе являются частями основных путей, ведущих от главного критерия рейтингования через факторы к альтернативам, т.е. основные пути, по сути, являются логическими цепочками, ведущими к выбору одной из альтернатив.

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

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

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

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

2. Данные

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

2.2) Пaрные сравнения узлов кластера – оценки (качественные или количественные) отношения приоритета одного узла к приоритету другого, т.е. результаты парных сравнений – это оценки важности (предпочтительности, вероятности и т.п.) каждого узла кластера относительно каждого из других по критерию, заключенному в вершине кластера. Результат парного сравнения – оценка отношения «весов» сравниваемых объектов («веса» объектов численно выражают их предпочтительность, оптимальность, значимость и т.п.). Цель парных сравнений – определение приоритетов узлов кластера. Для того, чтобы уточнить, в каком смысле название вершины кластера является критерием для проведения сравнений используется формулировка критерия для парных сравнений. Для проведения парных сравнений задаются параметры: шкала сравнений и способ сравнений. При проведении парного сравнения объектов и достаточно установить только один из результатов (оценка отношения «веса» объекта и весу объекта) или, так как.

2.3) Шкала сравнений – упорядоченный набор градаций (терминов, чисел и т.п.) для выражения результатов парных сравнений. Шкала сравнений позволяет выражать оценки отношений значений приоритетов узлов, поэтому ее деления – безразмерные величины. Шкалы, использующиеся в методе анализа иерархий, являются шкалами отношений. Т.е. если результату сравнения пары объектов ставится в соответствие значение на шкале, то число — оценка отношения «весов» объектов («веса» объектов численно выражают их предпочтительность, оптимальность, значимость и т.п.)

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

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

Если число — верхний предел шкалы, то — нижний предел шкалы, т.е. все результаты парных сравнений, выраженные в такой шкале, лежат в пределах от до. Если результату сравнения пары объектов соответствует единица, то значения «весов» объектов оцениваются как равные. Кроме того, для дискретной шкалы — количество градаций для выражения превосходства одного из сравниваемых объектов над другим. При этом дискретная шкала имеет градации. В качестве градаций непрерывной шкалы может использоваться любое из действительных чисел от до.

Непрерывная шкала имеет непрерывный набор градаций (между основными делениями шкалы есть всевозможные промежуточные). Градациям непрерывной шкалы соответствуют числа на отрезке числовой прямой. Непрерывные шкалы отличаются по величине наибольшего значения (при количественных сравнениях) или по количеству основных градаций (при качественных сравнениях). Если «вес» объекта оценивается как превышающий «вес» объекта, результату парного сравнения объектов и соответствует значение на шкале, большее единицы. В противном случае лежит на шкале слева от единицы. В соответствии с этим правилом осуществляется и перевод градаций качественных шкал в числовые значения.

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

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

2.6) Матрица сравнений – таблица числовых значений парных сравнений (для узлов кластера или для кластеров, имеющих общую вершину).

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

2.8) Достоверность результата сравнения – количественной оценка, характеризующая степень неточности (размытости) результата сравнения, связанная с компетентностью эксперта, уровнем доверия к данным и т.п. Достоверность сравнения выражается долей единицы (или в процентах). Нулю соответствуют абсолютно недостоверные сравнения, единице (или 100%) – абсолютно достоверные сравнения. На основе значений достоверности сравнений для кластеров, имеющих общую вершину, и значений достоверности парных сравнений в кластерах определяется достоверность данных в масштабах всей системы.

2.9) Относительная согласованность матрицы сравнений – отношение индекса согласованности к среднестатистическому значению индекса согласованности при случайном выборе коэффициентов матрицы сравнений. Относительная согласованность для системы в целом характеризует взвешенное среднее значение относительной согласованности по всем матрицам сравнений. Данные можно считать практически непротиворечивыми (достаточно согласованными), если значение относительной согласованности меньше чем 0,1. Это заключение справедливо как для данных кластера, так и для данных в масштабе всей системы.

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

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

3. Результаты

3.1) Итоговый вектор приоритетов – рейтинг альтернатив. Каждой альтернативе (каждому возможному решению) ставится в соответствие положительное число – приоритет. Приоритет количественно выражает важность (предпочтительность, вероятность, оптимальность и т.п.) альтернативы в соответствии с главным критерием. Сумма приоритетов всех альтернатив равна единице. Вследствие этого часто допустимо отождествление приоритетов с вероятностями. Для поддержки принятия решения в основном с помощью итогового вектора приоритетов производится интерпретация результатов применения метода. Например, принимается решение с наибольшим приоритетом, отвергается решение с наименьшим приоритетом и т.п.

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

3.3) Вектор приоритетов кластера – рейтинг узлов кластера. Вектор приоритетов узлов кластера может задаваться напрямую (без проведения сравнений) или рассчитываться на основе матрицы сравнений.

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

3.5) Устойчивость вектора приоритетов – качественная характеристика чувствительности значений приоритетов к малым изменениям данных или структуры модели. Очевидно, данные, использующиеся для принятия решений, всегда более или менее неточны. Поэтому чем меньше чувствительность значений приоритетов, тем больше обоснованность использования этих приоритетов для поддержки принятия решения. В зависимости от решаемой задачи определяется понятие «существенное изменение рейтинга» (смена лидера, смена аутсайдера и т.п.). Если при малых изменениях данных или структуры рейтинг изменяется несущественно, то он считается устойчивым.

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

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

3.8) Приоритет кластера в модели . Если некоторый узел является вершиной только одного кластера, то приоритет кластера в модели совпадает с приоритетом его вершины. (В модели, структура которой является строгой иерархией, так определяется приоритет для каждого кластера.) Если некоторый узел является вершиной нескольких кластеров, то для них устанавливаются приоритеты относительно общей вершины. Приоритет каждого из таких кластеров определяется как произведение приоритета относительно вершины на приоритет узла-вершины в модели.

. .
  • Графические оболочки
    • Tutorial

    Это 4-я статья цикла по разработке, управляемой моделями. В предыдущих статьях мы познакомились с , и . Сегодня научимся описывать метамодели в текстовой нотации (а не в виде диаграмм как раньше) и познакомимся с табличным представлением моделей в Sirius. Сделаем это на примере кризиса среднего возраста и метода анализа иерархий. Возможно, это пригодится вам при разработке ИИ в играх, при принятии решений или в работе.

    Введение

    Вообще, я планировал статью про разработку DSL и преобразование моделей. Но мои планы внезапно нарушили мысли о смысле жизни, о том, тем ли я вообще занимаюсь.

    Самое очевидное, что может при этом сделать специалист по разработке, управляемой моделями, это

    • Выбрать метод, который позволит получить интересующие ответы (раздел 1)
    • Создать метамодель под этот метод (раздел 2)
    • Создать инструмент разработки моделей в соответствии с метамоделью (раздел 3)
    • Создать модель (раздел 4)
    • Profit
    Именно этим мы и займемся.

    1 Метод анализа иерархий

    Меня интересовали следующие вопросы:
    • Чем мне интересно заниматься?
    • Достаточно ли времени я уделяю интересным вещам?
    • Что можно изменить в жизни к лучшему?
    • Не станет ли от этих изменений хуже?
    Когда я учился в вузе, для получения ответов на разные вопросы мы использовали метод анализа иерархий . Суть метода следующая.
    1. Вы определяете
      • цель,
      • критерии достижения цели и
      • возможные альтернативы.
    2. Оцениваете значимость критериев.
    3. Оцениваете альтернативы по каждому из критериев.
    4. Рассчитываете приоритеты альтернатив.
    5. Принимаете решение.
    Более подробно этот метод описан в книге Томаса Саати «Принятие решений. Метод анализа иерархий» (она легко гуглится). Кстати, в ней много примеров от психологии до мировой экономики.
    1.1 Построение иерархии
    Итак, в простейшем случае иерархия должна содержать цель, критерии и альтернативы.

    Если суммировать все мои вопросы, то, по большому счету, меня интересует стоит ли мне сменить работу. Поэтому цель: выбрать работу .

    При выборе работы меня интересует

    • сколько денег я буду зарабатывать,
    • на сколько интересно мне будет этим заниматься,
    • будет ли у меня время на жизнь,
    • карьерные перспективы,
    • смогу ли я бывать на природе или буду видеть солнце и деревья раз в год,
    • на сколько близка мне культура коллег, соседей и остальных людей.
    При этом возможны следующие альтернативы:
    • ничего не менять,
    • переехать в Москву,
    • переехать за границу,
    • заняться фрилансом или каким-нибудь предпринимательством.
    В соответствии с методом анализа иерархий строится следующая иерархия:
    1.2 Оценка критериев
    У разных людей при принятии решений могут быть примерно одинаковые критерии. Однако, их значимость может сильно различаться. Кто-то работает в большей степени ради денег, кто-то ради интереса, кому-то просто нравится общаться с коллегами и т.д.

    В соответствии со своими приоритетами один человек не раздумывая выберет более денежную работу, а другой – более интересную. Не существует работы, которая по всем критериям подходит абсолютно всем.

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

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

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

    В методе анализа иерархий предлагается формальный алгоритм принятия подобных решений: все критерии попарно сравниваются друг с другом по шкале от 1 до 9.

    Например, что для меня важнее: интерес или деньги? Интерес важнее, но не сказать, что очень сильно. Если максимальная оценка 9 к 1, то для себя я оцениваю приоритеты как 5 к 1.

    Или, например, что важнее: деньги или наличие времени для жизни, хобби? Готов ли я ради дополнительных денег работать в выходные или стоять по два часа в пробках? Я для себя оцениваю значимость этих критериев как 1 к 7.

    В итоге заполняется подобная таблица:

    Очевидно, что по диагонали всегда будут единицы. Также очевидно, что все оценки будут обратно-симметричны относительно главной диагонали. Например, если я оцениваю значимость «интерес-деньги» как 5 к 1, то значимость «деньги-интерес» будет 1 к 5. Иногда такие матрицы называют обратно-симметричными.

    В общем случае, если мы сравниваем N критериев, то необходимо сделать (N*(N-1))/2 сравнений. Казалось бы, всё только усложнилось. Если изначально было 6 критериев, то сейчас целая матрица каких-то чисел. Чтобы снова вернуться к критериям, рассчитаем собственный вектор матрицы. Элементы этого вектора и будут относительной значимостью каждого критерия.

    В книге Томаса Саати предлагается несколько упрощенных методов расчета собственного вектора в уме или на бумаге. Мы воспользуемся более точным итеративным алгоритмом :

    N = количество критериев m = матрица оценок размерностью NxN eigenvector = вектор размерностью N, заполненный значениями 1/N Повторяем пока eigenvalue не начнет сходиться к определенному значению или пока не сделаем максимально допустимое количество итераций x = m * eigenvector eigenvalue = sum(x) eigenvector = x / eigenvalue
    В итоге получаем следующий вектор:
    Наиболее значимый критерий – время (0,3846), наименее значимый – карьера (0,0555).

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

    Оценить меру этой несогласованности поможет собственное значение матрицы сравнений. Оно равно 6,7048.

    Очевидно, что собственное значение пропорционально количеству критериев. Чтобы оценка согласованности не зависела от количества критериев, рассчитывается так называемый индекс согласованности = (собственное значение - N) / (N - 1).

    Наконец, чтобы оценка была совсем объективной необходимо разделить данный индекс на усредненный индекс согласованности для случайных матриц. Если полученная величина (отношение согласованности) меньше 0,1000, то парные сравнения можно считать более-менее согласованными. В нашем примере оно равно 0,1137, это значит, что рассчитанным приоритетам можно более-менее доверять.

    1.3 Оценка альтернатив
    Теперь необходимо сравнить все альтернативы по каждому из критериев.

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

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

    Полученные собственные векторы записаны в столбцах:

    Отношения согласованности по каждому критерию записаны в следующем векторе:
    [ 0,0337; 0,0211; 0,1012; 0,1399; 0,1270; 0,9507 ]
    Большинство значений меньше или незначительно превышают 0,1000. Однако для критерия «культура» отношение согласованности получилось очень большое. Это связано с тем, что я неправильно расставил часть оценок. Хотел поставить 7 для «ничего не менять – переехать за границу», потому что жить в родном городе гораздо комфортнее. Но по ошибке поставил 1/7.

    1.4 Определение приоритетов альтернатив
    Итак, мы оценили критерии, навесили на каждую альтернативу ярлычок: какой вариант более денежный, какой более интересный и т.д. Теперь необходимо оценить альтернативы по всем критериям в сумме. Для этого достаточно умножить матрицу

    На вектор
    [ 0,0592; 0,2323; 0,3846; 0,0555; 0,1220; 0,1462 ]
    В итоге мы получим следующий вектор:
    [ 0,3184; 0,1227; 0,2049; 0,3540 ]
    Это и есть значимости альтернатив относительно достижения цели.

    1.5 Принятие решения
    Теперь изобразим все рассчитанные значения на следующем рисунке:

    В скобках указано отношение согласованности оценок.

    Толщина линий пропорциональна приоритетам. Наиболее интересна и перспективна в плане карьеры текущая работа. Фриланс позволил бы больше бывать на природе и больше времени тратить на жизнь. Более денежная работа в Москве и заграницей.

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

    2 Создание метамодели

    Теперь опишем как всё это рисуется и считается.

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

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

    При этом нам нужны две функции для преобразования оценок из или в строковое представление. На Xcore это будет выглядеть так:

    Type Weight wraps int create { if (it.matches("\\d+")) { Integer.parseInt(it) } else if (it.matches("1\\s*/\\s*\\d+")) { val result = Integer.parseInt(it.replaceFirst("1\\s*/\\s*", "")) if (result <= 1) 1 else -result } else { throw new NumberFormatException("The weight must be either n or 1/n") } } convert { if (it >= 1) { it.toString } else if (it >= -1) { "1" } else { "1/" + (-it).toString } }
    Xcore позволяет описывать также и относительно сложную логику.

    Вот, например, операция расчета приоритетов в иерархии.

    class Hierarchy { op void updatePriorities() { priorities.clear inconsistencies.clear val mat = new JudgmentMatrix(criteria) val criteriaJudgments = judgments.filter(typeof(CriterionJudgment)).filter(cj | cj.goal == goal) for (judgment: criteriaJudgments) { mat.set(judgment.first, judgment.second, judgment.weight) } for (criterion: criteria) { val GoalCriterionPriority priority = AHPFactory.eINSTANCE.createGoalCriterionPriority priority.goal = goal priority.criterion = criterion priority.value = mat.findEigenvectorElement(criterion) priorities.add(priority) } val goalInconsistency = AHPFactory.eINSTANCE.createGoalInconsistency goalInconsistency.goal = goal goalInconsistency.value = mat.inconsistency inconsistencies.add(goalInconsistency) val mat2 = new Matrix(alternatives.size, criteria.size) criteria.forEach ] val mat4 = mat2.multiply(mat.eigenvector) alternatives.forEach } }


    Наконец, для Xcore-модели (как и для Ecore-модели) вы можете создать диаграмму классов.

    Так выглядит метамодель для метода анализа иерархий. Это максимально упрощенный вариант. А в общем случае, иерархия может содержать более трех уровней (например, у критериев могут быть подкритерии). Матрицы связей между уровнями могут быть разреженными. Оценки могут ставить несколько экспертов, а не один.

    Так выглядит спецификация редактора диаграмм и таблиц:

    Так выглядит результирующий редактор:

    Совсем декларативно описать редактор иерархий не получилось, пришлось писать расширения на Java. Думаю, стоит остановиться на этом немного подробней. В Sirius есть по крайней мере два варианта расширений: службы (service) и действия (action).

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

    Public class Service { public String toString(Priority priority) { return String.format("%.4f", priority.getValue()); } public int getEdgeWidth(Alternative alternative, EdgeTarget targetView) { DSemanticDecorator targetNode = (DSemanticDecorator)targetView; Criterion criterion = (Criterion)targetNode.getTarget(); Priority priority = alternative.getPriority(criterion); return (int) (priority.getValue() * 7); } }
    Удобно то, что эти операции вы можете использовать прямо в AQL-выражениях. Однако, вы не можете с их помощью изменять модель.

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