Входные данные:
m альтернатив, вектор альтернатив , ;
n критериев оценки альтернатив, ;
оценок альтернатив по соответствующим критериям ;
Опционально: вектор весов критериев (Может и не задаваться при первоначальной постановке задачи);
Метод решения – фунция на пространстве , возвращающая вектор конечных оценок альтернатив(«оценок по методу», рейтингов) .
Описание итерационного процесса:
На первом шаге решается данным методом исходная задача,
, причем, если веса критериев не заданы первоначально, можно принимать их равными 1 ( или , что нормирует сумму всех весов на единицу).
Переход от k-го шага к (k+1)-му сопровождается пересчетом вектора весов следующим образом:
В пространстве размерности m (по числу альтернатив) построим векторы , в качестве координат которых выступают оценки по соответствующему критерию каждой из альтернатив, т. е. вектор , в этом же пространстве построим вектор.
В качестве нового значения параметра , т. е. вес j-го критерия, вычисленного на k-м шаге, возьмем значение косинуса угла между вектором результата и соответствущим вектором оценок . Иными словами**
. Единицу к этому выражению мы прибавляем нарочно для того, чтобы вес критерия не оказался отрицательным *(что возможно, если допустить отрицательные оценки альтернатив или отрицательные итоговые рейтинги), в крайнем случае 0.
Целесообразно ввести и на этом шаге нормировку весов на 1, то есть вычислить , и принять впоследствии.
На (k+1)-м шаге решается задача подобная исходной, разница лишь в векторе , входящем в качестве параметра в метод.
.
В качестве условия остановки метода можно выбрать достижение разумно малой разницы между векторами и или между и по какой-либо норме.
*Случай с отрицательными весами тоже не исключен, возможно, он будет рассмотрен позже, если удастся обосновать состоятельность и «физический смысл» отрицательного веса критерия.
**Формула для веса может быть и другой, это лишь один из вариантов корректировки на основе скалярного произведения векторов.
Описание «базового» итерационного алгоритма с использованием нескольких методов многокритериальной оценки альтернатив
В качестве начальных данных к задаче используется таблица оценок для m альтернатив по n критериям: , а также вектор весов критериев . Такой набор данных является наиболее часто употребительным в задачах многокритериальной оценки альтернатив.
На первом шаге алгоритма решается задача - выставление оценок альтернативам – каждым методом из предложенного набора. При наличии k методов, участвующих в расчетах, в результате получится таблица .
Эту таблицу теперь можно рассматривать как входные данные для тех же методов при решении новой задачи. Метод расчета теперь можно считать критерием оценки альтернативы, столбцы таблицы (нумеруемые ) становятся формально показателями этих «критериев». Для перехода на следующий шаг необходимо задать веса так называемым критериям. Способы задания весов см. ниже. Результат этого действия – вектор , размерности, совпадающей с количеством участвующих методов. Теперь можно переходить к следующей итерации алгоритма.
На i-й итерации решается задача , при этом для первого перехода используются те же методы, что и на первой итерации, в таком случае размерность результата будет такой же, как и после первого шага. Для перехода используется опять же указанный ранее способ расчета весов. Таким образом для выход i-го шага и вход i+1-го однородны и совпадают по размерности, следовательно, этот расчет можно замкнуть самого на себя и повторять сколько угодно раз.
О сходимости и критерии остановки расчета: для анализа сходимости необходимо ввести норму на пространстве решений и определить пороговое значение разности между двумя решениями, полученными на последовательных шагах расчета. В качестве нормы матрицы можно взять, к примеру, наибольшее значение нормы её столбца, или сумму норм всех столбцов. В качестве нормы столбца – обычную пифагорову длину или максимум модуля его элементов. Тогда ошибка определяется нормой разницы между соседними решениями, если понимать её как поэлементную разность матриц. В число строк матрицы можно включить и вектор весов, если при решении нам важна стабильность расчетных весов методов при переходе к новым итерациям.
Соответственно шаг алгоритма, на котором норма разности результата с предыдущим не будет превосходить некоторого наперед заданного значения, и будет считаться финальным.
Как будет сказано в разделе, посвященном сходимости, существует и другой критерий остановки вычислений, основанный на анализе последовательностей альтернатив, отсортированных по оценке. Этот метод применим, в первую очередь, когда в результате не важны численные значения оценок, а лишь расположение альтернатив среди других (здесь имеется ввиду отношение «лучше-хуже»), а также при большом числе альтернатив, когда этот способ приобретает особую точность.
О целесообразности применения многометодных итерационных алгоритмов: так как в расчетах может участвовать неограниченное число методов, и чем их больше, тем незначительнее влияние каждого отдельно взятого на результат, можно таким образом сравнивать методы между собой по эффективности (например, если требуется доказать или опровергнуть состоятельность новоизобретенного расчетного алгоритма, он может участвовать в расчетах наряду с проверенными, доверительными методами. Оценкой метода в таком случае может быть его вес, назначенный в соответствие с правилом назначения весов на промежуточных итерациях, или просто сравнение результатов, полученных этим методом лицом, принимающим решение или аналогичным расчетным алгоритмом), подготовить набор данных для других расчетных алгоритмов, требующих специфического формата входа. В конце концов, алгоритм, повторяющий вычисления итерационно, да к тому же с применением многих методов, результаты которого в процессе вычислений взаимодействуют друг с другом, претендует на достижение большой точности вычислений за малое число итераций. Таким образом можно «заставить» сходиться алгоритмы, расходящиеся при применении «в одиночку», при этом результат, скорее всего, будет обладать хоть некоторой достоверностью.(В случае расхождения ни о какой достоверности речи не идет).
Алгоритм пересчета весов между итерациями.
-
Вычисляются взаимные индексы критериев .
-
Результаты заносятся в таблицу[2]
Ясно, что диагональные элементы равны единице, а все прочие меньше единицы. Таблица вмещает ценную информацию, характеризующую область допустимых значений. Так, если значения каких-то двух столбцов близки для каждой из строк (кроме строк, содержащих единицы в этих столбцах), то два соответствующих критерия сильно зависимы, так как изменения всех иных критериев (кроме этих двух) одинаково влияют на эти два критерия.
Можно выявить также и противоречивые критерии: высокая оценка по одному сопровождается низкой оценкой по другому.
-
По таблице вычисляются индексы (или веса) критериев. Пусть - среднее значение, взятое по всем элементам i-го столбца, кроме единицы. Тогда - индекс (или вес) i-го критерия – вычисляется по формуле[4]
В качестве формулы для вычисления взаимного коэффициента двух критериев можно взять обычное скалярное произведение векторов оценок, полученных соответствующими методами:
.
Такая нормировка даст диапазон взаимных индексов как раз [0;1], причем на равных векторах он равен единице, на противоположных – нулю.
Ещё один способ вычислить - посчитать корреляцию критериев как функций на пространстве альтернатив (Так как критерии после первой итерации соответствуют методам, оценка альтернативы данным методом и будет являться значением функции).
, где - среднее значение компонент j-го вектора, а - среднее значение квадрата отклонения компоненты от среднего (попросту, дисперсия).
Достарыңызбен бөлісу: |