Метод анализа иерархий выбор компьютера

Обновлено: 02.07.2024

M(ио) - среднее значение индекса однородности случайным образом составленной матрицы парных сравнений, которое основано на экспериментальных данных. Значение есть табличная величина, входным параметром выступает размерность матрицы (таблица 6).

Пример . Рассмотрим матрицу парных сравнений и вычислим приближенное значение главного собственного вектора:

Просуммируем элементы каждой строки и найдем сумму всех элементов матрицы:

Нормализуя вектор Ws делением каждой координаты на величину S, получаем приближенное значение главного собственного вектора:

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

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

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


Пример (из книги Т. Саати). Рассмотрим общее благополучие индивидуума – высший уровень иерархии. На этот уровень в основном влияют детские, юношеские и взрослые впечатления. Факторы развития и зрелости, отражающиеся в благополучии, могут включать как влияние отца и матери в отдельности, так и их совместное влияние как родителей, социоэкономический фон, отношения с братьями и сестрами, группу ровесников, школьное обучение, религиозный статус и т.д.
На перечисленные выше факторы, которые составляют второй уровень иерархии, влияют соответствующие критерии. Например, влияние отца может быть разбито на категории, включающие его темперамент, строгость, заботу и привязанность. Отношение с братьями и сестрами можно дальше характеризовать их количеством, разницей в возрасте, полом; моделирование воздействия и роли ровесников обеспечивает более яркую картину влияния друзей, обучения в школе и учителей.
В качестве альтернативной основы описания для второго уровня можно включить чувство собственного достоинства, уверенность в будущем, адаптируемость к новым людям и новым обстоятельствам и т.д., влияющих или находящихся под влиянием расположенных выше элементов.
Более полная основа психологической предыстории может включать несколько сотен элементов на каждом уровне, выбранных экспертами и расположенных таким образом, чтобы получить максимальное понимание рассматриваемого индивидуума.
Рассмотрим ограниченный случай, где испытуемый чувствует, что уверенность в его силы подорвана и его социальная приспособляемость ослаблена запретами в детстве. Ему задают вопросы только о детских впечатлениях и просят попарно установить связь между следующими элементами на каждом уровне.
Построим иерархию, в которой: ОБ – общее благополучие; Д – чувство собственного достоинства; У – чувство уверенности в будущем; А – способность адаптироваться к другим; П – явная привязанность, проявленная по отношению к субъекту; Э – идеи строгости, этики; Н – действительное наказание ребенка; Л – подчеркивание личной приспособляемости к другим; М – влияние матери; О – влияние отца; Р – влияние обоих родителей.

Рисунок 1 - Иерархическая схема общего благополучия индивидуума
WОБ=(0.701; 0.193; 0.106), λmax=3.26; ИС=0.07; OC=0.12
WД=(0.604; 0.213; 0.064; 0.119), λmax=4.35; ИС=0.12; OC=0.13
WУ=(0.604; 0.213; 0.064; 0.119), λmax=4.35; ИС=0.12; OC=0.13
WA=(0.127; 0.281; 0.120; 0.463), λmax=5.42; ИС=0.47; OC=0.52
WП=(0.721; 0.210; 0.069), λmax=4; ИС=0.33; OC=0.57
WЭ=(0.333; 0.333; 0.333), λmax=3; ИС=0.0; OC=0.0
WН=(0.713; 0.061; 0.176), λmax=3.11; ИС=0.06; OC=0.10
WЛ=(0.701; 0.097; 0.202; 0.463), λmax=3.14; ИС=0.07; OC=0.12
Осуществим иерархический синтез:

При принятии решения часто возникают ситуации, где приходится рассматривать множество альтернатив. Одна из трудностей в процессе принятия решения – это необходимость осуществить выбор лучшего варианта, лучшей альтернативы, действия при этом в условиях неопределенности. В таких ситуациях требуется сравнение достоинств и недостатков нескольких вариантов решений, оценка их по различным критериям, поэтому основными возникающими трудностями при выборе решений являются многокритериальность и неопределенность. Для их преодоления разработаны научные методы, способные повысить помочь выбрать наилучший вариант решения.
Объектом изучения является покупка планшетного компьютера для девятилетнего мальчика. Единственное ограничение – покупка не должна превышать установленный ценовой максимум в 15 тыс. руб..
Большинство родителей при выборе планшета для ребенка делают ставку на как можно больший размер экрана и качество графики. На самом деле необходимо учитывать и прочность корпуса планшета, и прочность экрана, и емкость аккумулятора. К тому же, ладони детей не приспособлены для больших экранов планшета. Оптимальным размером экрана детского планшетного компьютера является 7-9”.
После выбора параметров для сравнения, необходимо изучить различные способы и методы принятия решений, направленные на облегчение процесса выбора. Одним из рассмотренных алгоритмов оптимизации принятия решений является метод анализа иерархий (МАИ), разработанный Т.Саати [1]. Представленный метод позволяет алгоритмичным образом структурировать проблему принятия решений в виде иерархии, сравнить и, в дальнейшем, выполнить количественную оценку альтернативных вариантов решения, в том числе и в случаях, когда критерий является неформализованным, и оценивается по мнению экспертов.
Метод анализа иерархий применяется многими исследователями и в самых разных областях. В.И.Борисов и др. [2] применяли метод анализа иерархий для поиска оптимальной системы безопасности, наилучшим образом удовлетворяющей желаниям заказчика. В.Э.Григоров [3] при поддержке Агентства США по международному развитию (USAID) предложил алгоритм отбора социальных инвестиционных проектов для финансирования из бюджета или муниципалитета с использованием попарных сравнений приоритетов, основанный на методе анализа иерархий. М.Г.Илларионов [4] обосновал применение метода анализа иерархий в принятии управленческих решений путем сравнения альтернатив по степени их предпочтительности к выбору по качественной шкале, предложенной Т. Саати. МАИ как основу для создания технологии анализа информационных рисков, которая позволяет повысить точность оценок параметров угроз, описываемых экспертами использовал А.С.Лысов [5]. В работах Г.Х.Ирзаева показано применение МАИ для выбора оценки преемственности технологии, технологичности изделия, безопасности информационных систем 7. О.Ю.Чередниченко, Н.Ю.Тарабанова [9] проанализировав публикации, посвященные стратегическому планированию развития ВУЗов, остановились на МАИ, посчитав его наиболее оптимальным. Применили МАИ для усовершенствования системы оценки конкурсных предложений для окончательного выбора поставщиков материальных ресурсов для ОАО «РЖД» Ю.В.Пересветов и И.А.Епишкин [10]. Р.И.Баженов использовал МАИ в обучении различных дисциплин 15. Зарубежные ученые исследовали применение МАИ в различных областях 17.
После изучения проблемы и опроса потенциальных потребителей были выбраны несколько критериев для сравнения: 1) емкость аккумулятора;
2) процессор;
3) размер оперативной памяти;
4) встроенная память;
5) разрешение экрана.
Для исследования были выбраны несколько планшетных компьютеров, примерно равных по размеру экрана: 1. Samsung Galaxy Tab 2 7.0 P3110 8Gb
2. ViewSonic ViewPad 10e
3. Lenovo IdeaTab A1000 16Gb
4. ASUS Google Nexus 7 (2013) 32Gb
Основные характеристики выбранных планшетов приведены в табл.1.

Основные характеристики Samsung Galaxy Tab 2 7.0 P3110 8Gb ViewSonic ViewPad 10e Lenovo IdeaTab A1000 16Gb ASUS Google Nexus 7 (2013) 32Gb
Емкость аккумулятора 4000 мАч 5400 мАч 3500 мАч 3950 мАч
Процессор 1000 МГц 1000 МГц 1200 МГц 1,5 ГГц
Размер оперативной памяти 1 Гб 512 Мб 1 Гб 2 Гб
Встроенная память 8 Гб 4 Гб 16 Гб 32 Гб
Разрешение экрана 1024х600 1024х768 1024х600 1920х1200

Для оптимального выбора планшета по данным критериям использовалась свободно распространяемая программа «MPRIORITY 1.0» [20]. Применение предлагаемой системы рассмотрено А.С.Винокуровым, И.В.Беловым, Р.И.Баженовым, Р.Е.Бойчиным, Е.А.Приходько, Н.А.Садовским 21.
На рис.1 отображено попарное сравнение выбранных критериев планшета. Программа автоматически производит расчет приоритета. По данным результатам можно сделать вывод, что наиболее приоритетными являются частота процессора и емкость аккумулятора, что неудивительно, так как первый критерий является значимым для быстродействия планшета в целом, что немаловажно для нетерпеливых подростков, а энергоемкость позволяет пользователю использовать компьютер дольше без возможности использования источников питания.


Рисунок 1 – Результаты попарного сравнения критериев

Далее необходимо сравнить выбранные планшетные компьютеры относительно каждого из критериев (рис. 2-6).

Программная система показывает сводные результаты в специальном окне (рис. 7).


Рисунок 7 – Результат сравнения планшетных компьютеров по выбранным критериям

В результате представленных расчетов видно, что планшетный компьютер ASUS Google Nexus 7 (2013) 32Gb является наиболее приоритетным по выбранным критериям. Справедливости ради хочется заметить, что он же был самым дорогим из представленных планшетов, практически вплотную приблизившись к ценовому ограничению. Исследование показало, что метод анализа иерархий, а также основанная на этом методе программа «MPRIORITY 1.0» удобны для применения при решении проблемы многокритериального выбора и доступны для понимания.


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

© 2021. Электронный научно-практический журнал «Современная техника и технологии».

В начале 1970 года американский математик Томас Саати разработал процедуру поддержки принятия решений, которую назвал “Analityc hierarchy process”. Авторы русского издания перевели это название как «Метод анализа иерархий» (МАИ).

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

Системы программного обеспечения широко применяются в проектировании и производстве электронных схем. Хорошо известно ПО таких фирм, как Mentor Grafics, Altium, Cadence.

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

Таблица 1. Шкала относительной важности

Если при сравнении одного фактора i с другим j получено a(i,j) = b, то при сравнении второго фактора с первым получаем a(j,i) = 1/b.

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

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

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

Пусть: A1An — множество из n элементов; W1Wn — соотносятся, как показано в таблице 2.

A1 An
A1 1 W1/Wn
1 An
An Wn/W1 1

Оценка компонентов вектора приоритетов производится по схеме, представленной в таблице 3.

Таблица 3. Оценка компонентов вектора приоритетов

A1 An
A1 1 W1/Wn X1 = [1×(W1/W2)×… ×(W1/Wn)]1/n Вес (A1) = X1/сумма (Xi)
1 An
An Wn/W1 1 Xn = [(Wn/W1)×… ×(Wn/Wn–1)×1]1/n Вес (An) = Xn/сумма (Xi)
Сумма (Xi)

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

Формула

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

Таблица 4. Значения случайной согласованности

Если разделить ИС на число, соответствующее случайной согласованности матрицы того же порядка, получим отношение согласованности (ОС). Величина ОС должна быть порядка 10% или менее, чтобы быть приемлемой. В некоторых случаях допускается ОС до 20%, но не более, иначе нужно проверить свои суждения.

В список критериев, по которым мы будем сравнивать ПО по технологии электромонтажа, вошли:

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

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

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

Иерархическая структура МАИ

Рисунок. Иерархическая структура МАИ

Заполняем таблицу 5. Для этого попарно сравниваем критерий из строки с критерием из столбца по отношению к цели. Значения из шкалы относительной важности (табл. 1) вписываем в ячейки, образованные пересечением соответствующей строки и столбца.

Таблица 5. Оценка критериев

Cначала определяем оценки компонентов собственного вектора. Так, для критерия «Возможность импорта библиотек» это будет: (7×6×1×1/4) 1/4 = 1,8001.

Получив сумму оценок собственных векторов (= 6,24005), вычисляем нормализованные оценки вектора приоритета для каждого критерия, разделив значение оценки собственного вектора на эту сумму. Для того же критерия «Возможность импорта библиотек» имеем: 1,8001/6,24005 = 0,288475.

Сравнивая нормализованные оценки вектора приоритета, можно сделать вывод, что наибольшее значение при выборе ПО придается критерию «Удобство пользования».

Далее необходимо проверить, насколько эти предположения были непротиворечивыми при составлении матрицы попарных сравнений критериев. Для этого необходимо рассчитать индекс согласованности для этой матрицы. Разделив его на число, соответствующее случайной согласованности матрицы четвертого порядка, равно 0,9 (табл. 4), получим ОС. В данном случае OC = 6,93% < 10%, то есть пересматривать свои суждения не нужно.

Числовые оценки матрицы попарных сравнений

Строим матрицу сравнений, для чего попарно сравниваем альтернативу из строки с альтернативой из столбца по отношению к предоставляемому дисковому пространству (табл. 6–9). Никакие другие критерии при этом не учитываем. Значения из шкалы относительной важности (табл. 1) вписываем в ячейки, образованные пересечением соответствующей строки и столбца.

Таблица 6. Конструкции и технологии плат печатного монтажа

Таблица 7. Автоматизация расчетов плат в программных продуктах

Таблица 8. Возможность импорта библиотек

Таблица 9. Удобство пользования

Диагональ этой матрицы заполняем значением «1», а ячейки, лежащие ниже диагонали, — обратными значениями.

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

Заполняем таблицу 10. В самую верхнюю строку переносим из таблицы 5 значения вектора приоритета для каждого критерия. Для каждой из альтернатив заполняем столбцы критериев значениями локальных векторов приоритета, полученными соответственно в таблицах 6–9.

Таблица 10. Расчет глобального приоритета

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

Формула

Выбранной считается альтернатива с максимальным значением глобального приоритета. В данном случае это Altium, на котором следует остановить свой выбор.

Заключение

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

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


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

Чем больше возможностей, тем труднее выбрать.

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

Сегодня наблюдается большой интерес к теме «Big Data» и серверные технологии являются неотъемлемой их частью. Данная тема представляет большую значимость в нашем времени из-за массового перехода к использованию цифровой техники для обработки, передачи и хранении информации. Потребность в серверных технологиях неуклонно растет, потому что постоянно растет количество создаваемой информации разными компаниями. Первые серверные технологии начали применяться в 1991 году под руководством Стива Джобса. Сервер позволил очень быстро принимать, обрабатывать данные и выдавать результаты в кратчайшее время, которые могут потребоваться нескольким пользователям одновременно и в любой момент, а также очень эффективно использовать ИТ-ресурсы компании. Для оптимального выбора типа серверного оборудования подойдет метод анализа иерархий, который был разработан Т.Саати в 80-ых годах и математически обосновывающий решение исходя из предложенных альтернатив и важности критериев, задаваемых лицом, принимающим решения.

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

В 70–80-е годы американский учёный Т. Л. Саати разработал и развил «иерархический аналитический процесс»– мощный метод сопоставительного анализа и ранжирования объектов, характеризующихся наборами критериев и показателей, количественных и качественных. В литературе этот метод называют также методом анализа иерархий (МАИ). Метод применяется для многих задач, основными из них являются:

  1. Сравнительный анализ объектов (многокритериальное ранжирование).
  2. Многокритериальный выбор лучшего объекта (лучшей альтернативы).
  3. Распределение ресурсов между проектами.
  4. Проектирование систем по количественным и качественным характеристикам.

Шаги метода анализа иерархий:

  1. Представление исходной проблемы в виде иерархической структуры (Рисунок 1).

Цель составляет высший уровень иерархии (уровень 1). На этом уровне может находиться лишь один объект. На следующих вниз уровнях находятся критерии. По системе этих критериев оцениваются сравниваемые объекты (называемые «альтернативами»). Альтернативы располагаются на самом нижнем уровне. В задаче могут присутствовать несколько уровней критериев, но обычно применяют иерархии 3- уровневые (цель — критерии — альтернативы) и 4-х уровневые (цель — комплексные критерии — критерии — альтернативы).

http://nootron.net.ua/system/help/nootron_help_chapter3.1/nootron_help_chapter3_1-1.jpg

Рис. 1. Трёхуровневая иерархия «цель — критерии — альтернативы»

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

Соответственно заполняются матрицы парных сравнений (Таблица 1): одна — для критериев, n матриц — для альтернатив; здесь n — количество критериев.

Матрица попарных сравнений

http://nootron.net.ua/system/help/nootron_help_chapter3.1/nootron_help_chapter3_1-2.jpg

Операция парного сравнения: два объекта, находящихся на одном уровне сравниваются по своей относительной значимости для одного объекта высшего уровня. Если критерий имеет определенную числовую меру, например, масса, производительность, цена, то в качестве результата оценки удобно взять отношения соответствующих характеристик в некоторой шкале отношений. Если критерий не имеет принятой меры, то сравнение в МАИ проводится с использованием специальной «шкалы относительной важности». (Таблица 2).

Шкала Предпочтений

Степень предпочтения

Определение

Комментарии

1

Две альтернативы одинаково предпочтительны с точки зрения цели

2

Слабая степень предпочтения

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

3

Степень наибольшего предпочтения

Опыт эксперта позволяет считать одну из альтернатив явно предпочтительнее другой

4

Опыт эксперта позволяет считать одну из альтернатив гораздо предпочтительнее другой

5

Очевидность подавляющей предпочтительности одной альтернативы над другой имеет неоспоримое подтверждение

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

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

В МАИ доминирование одного объекта над другим бывает:

а) по предпочтению;

в) по вероятности.

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

  1. Математическая обработка матриц парных сравнений для нахождения локальных и глобальных приоритетов.

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

где A — матрица парных сравнений (МПС), X — n-мерный вектор, составленный из искомых приоритетов, λ — собственное значение МПС;

и последующего нормирования этого вектора:

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

Вектор локальных приоритетов может быть приближенно вычислен упрощенным способом:

http://nootron.net.ua/system/help/nootron_help_chapter3.1/nootron_help_chapter3_1-5.jpg

Для каждой строки матрицы парных сравнений находим среднее геометрическое ее элементов:

Находим сумму всех этих средних геометрических.

Делим каждое среднее геометрическое на их сумму («нормировка на единицу»). Результат — вектор локальных приоритетов данной матрицы.

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

На сегодняшний день существует 3 основных типа серверного оборудования: Blade-сервер, Tower-сервер и стоечный сервер.

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

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

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

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


Рис. 2. Окно альтернатив.

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


Рис. 3. Окно ввода критериев.

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


Рис. 4. Расстановка важности критериев.

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

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

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


Рис. 5. Результат вычислений программы.

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

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

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


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

Введение

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

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

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

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


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 критериев, то сейчас целая матрица каких-то чисел. Чтобы снова вернуться к критериям, рассчитаем собственный вектор матрицы. Элементы этого вектора и будут относительной значимостью каждого критерия.

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


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

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

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

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

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

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

1.3 Оценка альтернатив

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


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

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

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


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

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

1.4 Определение приоритетов альтернатив

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


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

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

1.5 Принятие решения

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


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

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

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

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

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

Сначала необходимо описать метамодель: виды сущностей, которые используются в методе анализа иерархий. Причем, в отличие от предыдущей статьи мы не будем рисовать метамодель в виде диаграммы, а опишем её в текстовой нотации 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-модели) вы можете создать диаграмму классов.


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

3 Разработка инструмента для работы с моделями

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

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


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


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

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


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

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

Пример действия, которое пересчитывает приоритеты в иерархии.

4 Создание модели

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

Читайте также: