Меню Рубрики

Метод анализа иерархий как инструмент

Этот метод, разработанный Т. Саати, применяется при решении многих проблем, таких как:

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

· Проектирование сложных технических систем;

· Планирование развития фирм;

· Прогнозирование цен на продукцию;

· Выбор новых информационных систем или прикладных программ конкурирующих производителей.

В общем случае иерархия определяет расположение некоторых объектов (элементов иерархии) в порядке от высшего к низшему, от старшего к младшему по степени подчиненности (Рис. 15.2).

Рис. 15.2. Схематическое изображение иерархии.

Метод анализа иерархий включает:

· иерархическое структурирование проблемы;

· попарное сравнение элементов иерархии;

· поэтапное выявление приоритетов.

Высший уровень соответствует цели проблемы. Элементы последующих уровней могут отождествляться:

· с возможными решениями (альтернативами);

· со сторонами, заинтересованными в том или ином решении проблемы;

· с показателями (критериями) эффективности и т.п.

Простейшей является трехуровневая иерархия, включающая (Рис. 15.3):

· уровень цели – первый уровень

· уровень альтернатив (возможных решений) – второй уровень;

· уровень критериев – третий уровень.

Иногда в качестве второго уровня рассматривается уровень критериев, а в качестве третьего – уровень альтернатив.

Рис. 15.3. Простейшая трехуровневая иерархия.

Пример. Менеджер отбирает одного из трех претендентов на вакантную должность на основании следующих критериев: 1) возраст, 2) образование, 3) владение информационными технологиями, 4) знание иностранного языка, 5) коммуникабельность, 6) психологическая устойчивость, 7) способность к самообучению. Здесь иерархия является трехуровневой: число элементов второго уровня (уровня альтернатив) равно трем, а третьего (уровень критериев) — семи.

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

Ø Все элементы одного уровня должны быть попарно сравнимы. Это позволяет выявить предпочтения среди альтернатив и определить наилучшее решение.

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

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

Пример. Решается вопрос о закупке технологической линии для производства компьютеров. Основными критериями выбора для менеджера являются стоимость и производительность линии, причем относительную важность (вес) производительности он оценивает в 17% (0,17), а стоимости — в 83% (0,83). Рассматривается возможность покупки линий трех конкурирующих производителей . Оценка линий этих производителей путем попарных сравнений с точки зрения интересующих менеджера критериев дает следующий результат:

Фирма — производитель
A B C
Производительность линии 12,9 % 27,7% 59,4%
Стоимость 54,5% 27,3% 18,2%

Структура задачи принятия решений приводится на рисунке ниже.

Оценка различных альтернатив основывается на вычислении комбинированного весового коэффициента для каждой из фирм-производителей:

На основании этих оценок фирма A рассматривается как наиболее приемлемый поставщик производственной линии.

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

Теперь для расчета, например, комбинированного весового коэффициента фирмы A нужно рассчитать величину

и провести аналогичные расчеты для всех остальных фирм; сравнение полученных значений позволяет найти наилучшее решение.

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

Определим матрицу сравнений для первого примера (подобные расчеты для второго примера нужно проводить для обоих менеджеров).

С точки зрения менеджера, стоимость линии значительно важнее ее производительности, в связи с чем он приписал элементу (1,2) матрицы попарных сравнений значение 5 (). Таким образом, получается матрица

.

Относительные веса критериев могут быть определены путем деления элементов каждого столбца на сумму элементов этого же столбца. Таким образом, для нормализации матрицы делим элементы первого столбца на величину

а элементы второго – на величину

Искомые относительные веса критериев вычисляются как средние значения элементов соответствующих строк нормализованной матрицы

Столбцы матрицы N одинаковы, что имеет место лишь в случае, когда ЛПР проявляет идеальную согласованность в определении матрицы A.

Относительные веса альтернативных решений, соответствующих фирмам A, B, C, вычисляются в пределах каждого критерия с использованием следующих матриц сравнения

Сумма элементов столбцов = [1,83 3,67 5,5]

Сумма элементов столбцов = [ 8 3,5 1,7 ].

Аналогично получаем следующие нормализованные матрицы

средние значения элементов строк

Средние значения элементов строк

определяют соответствующие веса для фирм A, B, C с точки зрения стоимости выпускаемых ими линий, а

есть относительные веса, характеризующие производительности линий.

Вопросы для самоконтроля

1. В чем суть экспертного оценивания?

2. Что называется экспертизами?

3. Что представляют собой экспертные оценки?

4. В чем состоит отличие простых экспертиз от сложных?

5. В каких случаях производится декомпозиция проблем?

6. В чем суть экспертного оценивания важности объектов?

7. Что такое матрица экспертных оценок?

8. Кратко охарактеризуйте процедуру усреднения экспертных оценок.

9. Что определяют коэффициенты компетентности экспертов?

10. Что представляет собой матрица взаимосвязи экспертных оценок?

11. В каких случаях производится попарное сравнение объектов?

12. Что представляет собой матрица относительных значимостей объектов?

13. Для чего применяется шкала относительных важности объектов?

14. Сформулируйте требование транзитивной согласованности матрицы относительных значимостей объектов.

15. Что представляют собой интуитивные вероятности?

16. В чем суть метода дерева целей.

17. Что определяет иерархия?

18. В чем суть метод анализа иерархий?

19. С чем могут отождествляться уровни иерархии?

20. Перечислите возможные уровни простейшей трехуровневой иерархии.

21. Сформулируйте основные требования, предъявляемые к процессу структурирования проблемы в рамках метода анализа иерархий.

1. Холод, Н.И. Экономико-математические модели и методы принятия решений: учеб. пособие / Н.И. Холод, А.В. Кузнецов, Я.И.Жихар [ и др.]; под общ. ред. А.В. Кузнецова. – Минск: БГЭУ, 2000. – 412 с.

2. Таха Х.А. Введение в исследование операций / Х.А. Таха — М.: Вильямс, 2005. — 912 с.

3. Мур, Дж. Экономическое моделирование в Microsoft Excel /Дж. Мур, Л. Уэдерфорд, Г. Эллен. [и др.] — М. Вильямс, 2004. — 1018 с.

4. Костевич, Л.С. Математическое программирование. Информационные технологии оптимальных решений / Л.С. Костевич. — Мн.:Новое знание, 2003. — 424 с.

5. Марков, Л.Н. Анализ и процедуры принятия решений / Л.Н. Марков. — Мн.: Институт упр. и предпринимательства, 2001. — 163 с.

6. Гринберг, А.С. / Информационные технологии оптимальных решений: курс лекций для системы открытого образования / А.С Гринберг, Б.В. Новыш, В.К. Шешолко — Мн.: Акад. упр. при Президенте Респ. Беларусь, 2003. — 410 с.

7. Новыш, Б.В. Математические основы теории принятия решений. Практикум / Б.В. Новыш, О.Б. Плющ, В.К. Шешолко. — Мн.: Акад. упр. при Президенте Респ. Беларусь, 2007. — 123 с.

8. Афанасьев М.Ю., Суворов Б.П. Исследование операций в экономике: учеб. пособие — М.: Инфра-М, 2003. — 445 с.

9. Вентцель Е.С. Исследование операций / Е.С. Вентцель. — М.: Высш. школа, 2005. — 208 с.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Увлечёшься девушкой-вырастут хвосты, займёшься учебой-вырастут рога 9896 — | 7724 — или читать все.

195.133.146.119 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

источник

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

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

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

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

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

Таблица 3 — Форма таблицы сравнения вариантов по критериям (заполняется по каждому j-му критерию сравнения Kj 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.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) Приоритет кластера в модели. Если некоторый узел является вершиной только одного кластера, то приоритет кластера в модели совпадает с приоритетом его вершины. (В модели, структура которой является строгой иерархией, так определяется приоритет для каждого кластера.) Если некоторый узел является вершиной нескольких кластеров, то для них устанавливаются приоритеты относительно общей вершины. Приоритет каждого из таких кластеров определяется как произведение приоритета относительно вершины на приоритет узла-вершины в модели.

источник

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

Метод анализа иерархии (MAI), разработанный известным американским математиком Томасом Саати, с успехом используется для решения многих практических задач на различных уровнях планирования [70]. Этот метод получил широкое распространение в последнее десятилетие. Согласно этому методу выбор приоритетных решений осуществляется с помощью парных сравнений. Предположим, что мы имеем три камня. Попробуем оценить их вес. Скажем, А тяжелее Б, а Б тяжелее С. Аналогично можно сравнить относительную важность любых количественно неопределенных факторов.

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

Правомерность этой шкалы доказана теоретически и практически при сравнении со многими другими известными данными. Опыт показал, что при проведении парных сравнений, в основном, относятся вопрос: «Какой из элементов важнее Какой самый вероятный Какой из них самый привлекательный?».

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

• доминантные — похожи на перевернутое дерево;

• холархии — с обратной связью;

• модульных — от простого к сложному.

Таблица 5.51. Шкала парных сравнений Т.Саати

Относительная важность (баллы)

Определение

оба элемента вносят одинаковый вклад

один элемент немного важнее второй

опыт позволяет поставить один элемент немного выше второй

опыт позволяет установить безусловное преимущество одного над другим

один элемент настолько важнее второй, практически значимым

абсолютное преимущество одного над другим

очевидность преимущества подтверждается большинством

промежуточные оценки между соседними утверждениями

обратные величины чисел, приведенных выше

если при сравнении одного элемента со вторым, полученное одно из вышеуказанных цифр (1-9), то при сравнении второго 3 первым, иметь обратную величину

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

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

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

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

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

Рисунок 5.51. Иерархическое представление задачи о приобретении офисного помещения

Цель стратегического менеджмента — определить направление экономической деятельности фирмы. Воспользуемся матрицей Санкт-Петербургского государственного технического университета (СПбГТУ) (рисунок 5.52), которая позволяет определить направление экономической деятельности фирмы в зависимости от степени привлекательности внешней среды, характеризующееся детерминантой национального ромба Dн.р. и стратегического потенциала фирмы (СПФ) [71].

Стратегический потенциал фирмы

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

Предположим, что альтернативными стратегическими зонами хозяйствования определены ОСО-1, ОСО-2, ОСО-3, ССО-4.

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

ОСО-1 характеризуется потенциальным ростом спроса на товары фирмы, но это очень рискованный бизнес при невысокой рентабельности; ОСО-2 характеризуется несколько ниже ростом спроса, невысокой рентабельностью и гибкостью, хотя более рентабельна, чем ОСО-3 и не такая рискованная; ОСО-3 характеризуется значительно более низким уровнем спроса, существенно ниже рентабельностью и невысокой гибкостью, хотя есть рискованной по ССО-4; ССО-4 — достаточно рентабель на зона при самых низких спроса и гибкости, но наименее рискованной зоной.

Построим иерархическую структуру системы принятия решения о приоритетности для фирмы той «или другой ССО (рисунок 5.53).

Рисунок 5.53. Иерархическая структура задачи о приоритетности для фирмы той или иной ССО

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

Таблица 5.52. Экспертные оценки важности

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

На пересечении строк и столбцов матриц 1-8 (таблицы 5.52, 5.53) приведены экспертные оценки в баллах преобладание одного элемента над другим с точки зрения влияния каждого элемента уровня на элемент предыдущего уровня иерархии.

Сначала составляем матрицы важности элементов привлекательности ССО на основе экспертных оценок согласно матрицей СПбДГУ (таблица 5.52).

Определив важность элементов привлекательности, составляем согласно правилу матрицы приоритетности ССО путем сравнения альтернативных ОСО-1, ОСО-2, ОСО-3, ССО-4 (элементов низшего уровня) между собой по росту спроса на товары фирмы, рентабельности производства, гибкости производственного потенциала фирмы, риска (интенсивности конкуренции, сезонных колебаний, возникновение угроз), то есть относительно воздействия на направляющий элемент (таблица 5.53).

Читайте также:  Как правильно отбирать мочу на анализы

Таблица 5.53. Балльные оценки приоритетности ССО по отношению к каждому из параметров привлекательности

Дня получения, на основе приведенных матриц, глобальных оценок приоритетности той или иной ССО, используется алгоритм, схема которого имеет следующий вид (в приложении приведена стандартная компьютерная программа для расчетов с помощью MAI):

1. Считаем сумму исходной матрицы по столбцам и получаем вектор (матрица 1): (X) = 2,83; 7, 5, 3,5.

2. Делим начальную матрицу (а) на вектор (X) и получаем нормализованную матрицу:

источник

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

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

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

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

Именно этим мы и займемся.

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

Меня интересовали следующие вопросы:

  • Чем мне интересно заниматься?
  • Достаточно ли времени я уделяю интересным вещам?
  • Что можно изменить в жизни к лучшему?
  • Не станет ли от этих изменений хуже?

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

  1. Вы определяете
    • цель,
    • критерии достижения цели и
    • возможные альтернативы.
  2. Оцениваете значимость критериев.
  3. Оцениваете альтернативы по каждому из критериев.
  4. Рассчитываете приоритеты альтернатив.
  5. Принимаете решение.

Более подробно этот метод описан в книге Томаса Саати «Принятие решений. Метод анализа иерархий» (она легко гуглится). Кстати, в ней много примеров от психологии до мировой экономики.

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

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

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

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

При этом возможны следующие альтернативы:

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

В соответствии с методом анализа иерархий строится следующая иерархия:

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

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

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

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

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

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

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

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

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

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

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

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

В итоге получаем следующий вектор:

Наиболее значимый критерий – время (0,3846), наименее значимый – карьера (0,0555).

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

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

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

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

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

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

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

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

Отношения согласованности по каждому критерию записаны в следующем векторе:

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

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

В итоге мы получим следующий вектор:

Это и есть значимости альтернатив относительно достижения цели.

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

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

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

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

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

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

Как и раньше понадобится Eclipse Modeling Tools. Установите Xcore и Sirius.

Вы можете взять либо готовый проект, либо сделать всё самостоятельно. Если самостоятельно, то создайте Xcore-проект. В папке model создайте файл ahp.xcore со следующим содержимым:

Смысл должен быть интуитивно понятен. Мы описали иерархию, которая содержит одну цель, хотя бы один критерий, две или более альтернативы. У всех трёх сущностей есть имя.

После сохранения файла автоматически сформируется Java API для работы с иерархиями в папке src-gen. А также будут созданы 3 дополнительных проекта. Нечто подобное мы уже делали в статье про EMF. Только там было две модели (ecore и genmodel), и генерацию кода мы запускали вручную. Xcore делает это автоматически.

Думаю, что описывать всю метамодель в статье нет смысла, вы можете посмотреть её самостоятельно.

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

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

Xcore позволяет описывать также и относительно сложную логику.

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

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

Метамодель готова, теперь нужен редактор иерархий и матриц. Наверное, нет смысла подробно описывать как всё это сделано. Если вам это интересно, то можете прочитать предыдущую статью про Sirius и посмотреть готовый проект.

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

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

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

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

Удобно то, что эти операции вы можете использовать прямо в AQL-выражениях. Однако, вы не можете с их помощью изменять модель.

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

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

После прочтения данной статьи вы должны

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

источник