Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оптимиз. модели,Парето,.docx
Скачиваний:
138
Добавлен:
05.06.2015
Размер:
2.56 Mб
Скачать

5.1.3 Вычисление коэффициентов важности для элементов каждого уровня

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

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

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

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

Пример. Рассмотрим следующую матрицу парных сравнений:

Вычислим для данной матрицы главный собственный вектор.

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

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

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

,

где .

Максимальное собственное значение вычисляется по формуле: .

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

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

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

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

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

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

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

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

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

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

Вычисление собственных векторов и значений в пакете Mathematica.

Для вычисления собственных векторов и значений, первым шагом является определение матрицы. Для определение введем в пустом документе название матрицы и поставим знак равенства. Зададим трехмерную матрицу с единицами на главной диагонали. Для этого выберем в меню опциюInputCreate Table/Matrix/Palette... или используем комбинацию клавиш <Shift>+<Ctrl>+<C> (рисунки 8 и 9). В открывшемся окне определим размерность матрицы и отметим необходимость заполнить главную диагональ единицами. Поля, которые необходимо заполнять, выделены на рисунке 9.

Рис. 8. Меню вставки пакета Mathematica

После вставки матрицы и заполнения всех ее элементов необходимо нажать клавиши <Shift>+<Enter> - пакет произведет назначение матрице соответствующих числовых характеристик.

Вычисление собственных значений выполняется функцией Eigenvalues[M], а собственных векторов Eigenvectors[M]. При вычислении желательно сопроводить функции последующим символом N через две косые черты (//N), в противном случае Mathematica проведет вычисления символьно. После ввода строки Eigenvalues[M]//N и нажатия клавиш <Shift>+<Enter>, Mathematica выдаст результат, представленный на рисунке 10.

Рис. 9. Определение размерности матрицы в пакете Mathematica

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

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

Рис. 10. Вычисление собственных значений и векторов матрицы в пакете Mathematica

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

Вычисление собственных векторов и значений в Mathcad.

Вычислим собственные вектора и значения с использованием Mathcad. Определим и введем в рабочий документ матрицу парных сравнений. В Mathcad операция присваивание выполняется посредством оператора:=. Для того, чтобы определить матрицу, введем с клавиатуры ее имя и знак присваивания. Для присваивания необходимо нажать на клавиатуре комбинацию клавиш <Shift>+<:>, в результате чего появится знак присваивания (рисунок 11). Для ввода матрицы воспользуемся одной из опций. Большинство вычислений с матрицами, и другие вычисления в Mathcad, можно выполнить тремя способами – с помощью панелей инструментов, выбором операции в меню или обращением к соответствующей функции.

Воспользуемся первым вариантом. После того как имя матрицы и оператор присваивания были введены, откроем панель операций с матрицами, щелкнув по кнопке (рисунок 11). После этого на появившейся панели щелкнем по кнопкеи зададим размерность матрицы (рисунок 12).

Рис. 11. Панель операций с матрицами в пакете Mathcad

Рис. 12. Окно определения размеров матрицы в Mathcad

После ввода матрицы присвоим некоторой переменной значение функцииeigenvals(А). Данная функция вычисляет собственные значения квадратной матрицы . Присвоение должно быть выполнено правее или ниже определения матрицы, в противном случае матрицадля функции будет неизвестна. После выполнения такого присваивания, введем с клавиатурыС=. Фрагмент рабочего стола, после выполнения всех описанных выше процедур, приведен ниже.

Для вычисления главного собственного вектора, воспользуемся функцией eigenvec(A, z) – вычисление собственного вектора матрицы , отвечающего собственному значению. Чтобы обратиться к функции, введем с клавиатуры ее имя, затем перечислим в скобках ее аргументы: название матрицы и название вектора собственных значений с индексом, задающим номер интересующего нас собственного значения. Индексы координат векторов вMathcad начинаются с нулевого (данная настройка может быть изменена). После ввода функции необходимо поставить знак равенства:

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

Фрагмент рабочего документа Mathcad, содержащий перечисленные выше действия, приведен ниже.

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

Ввод нижнего индекса можно произвести при помощи кнопки панели операций с матрицами (рисунок 11, кнопка вторая справа сверху).

Вычисление собственных векторов и значений по формулам.

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

Матрица 2 2

Для этого случая ,.

Матрица 3 х 3

;  

.

.

Матрица 4 х 4.

.

.

Вычисление собственных векторов и значений в MS Excel.

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