хороший вопрос.
Я бы порекомендовал вам применить AHP для назначения весов каждого критерия и TOPSIS для оценки и ранжирования критериев.
Большинство алгоритмовMCDC (принятие многокритериальных решений) действительно имеет методы нормализации.
Давайте проанализируем ваш случай:
Ваши критерии: Цена, Размер, Электрический / Неэлектрический, Расстояние.
Цена, размер и расстояние могут быть вычислены как целые числа / числа с плавающей запятой, в то время как для качественной точки данных у вас есть несколько вариантов ...
- Использование логической логики.(So Electric = 1, Non-Electric = 0)
- Использование нечеткой логики.(So Electric = [0-1]) 1
- Использование нечеткой логики (So Electric = [0-1], Non-Electric = [0-1]) 2
- Использование нейтрософизической логики (So Electric = [t, i, f] где t - это степень, в которой автомобиль является электрическим, i - это степень, в которой вы не можете сказать, f - это степеньв котором автомобиль не электрический. 3
Вы должны использовать булеву логику, если ваше пространство для принятия решений состоит из автомобилей, которые являются полностью электрическими или полностью не электрическими, но ничего всередина: нечеткая логика, если есть различные степени, в которых ваш автомобиль электрический (например, если у вас гибридный автомобиль). Вы должны использовать интуизионистскую нечеткую логику, если вы хотите также учитывать степень, в которой определенный автомобиль НЕ электрический.Вы должны использовать нейтрософизическую логику, если у вас есть неполная информация, поэтому, скажем, есть некоторые автомобили, которые вы не можете сказать, что они есть.
Для упрощения, и поскольку у вас есть только две категории, я бы придерживался логического значениявотgic в вашем конкретном случае, и я предполагаю, что электрическая категория желательна, а не электрическая.
Давайте рассмотрим алгоритм TOPSIS 4 ...
Из вашего примера матрица решений будет выглядеть примерно так:
//DECISION MATRIX
Price Size Type Distance
Car1 = [250] , [300] , [1] , [30]
Car2 = [650] , [200] , [0] , [50]
Car3 = [100] , [600] , [0] , [10]
Теперь вы должны вычислить матрицу нормализованных решений.Для этого сначала необходимо вычислить значение производительности.
Формула:
Это означает, что для каждого критерия вынеобходимо рассчитать каждый случай на 2, суммировать все случаи и затем вычислить квадратный корень из суммы.
Итак ...
//DECISION MATRIX + Performance Score
Price Size Type Distance
Car1 = [250] , [300] , [1] , [30]
Car2 = [650] , [200] , [0] , [50]
Car3 = [100] , [600] , [0] , [10]
pScore = [703] , [700] , [1] , [60]
Как только вы наберете оценку производительности, вы сможете нормализовать.Для этого вы просто вычисляете деление между каждым значением ваших критериев с помощью соответствующего показателя эффективности.
//NORMALISED DECISION MATRIX
Price Size Type Distance
Car1 = [0.36] , [0.43] , [1] , [0.51]
Car2 = [0.92] , [0.29] , [0] , [0.85]
Car3 = [0.14] , [0.86] , [0] , [0.17]
Теперь вам нужно вычислить взвешенную матрицу нормализованных решений. (я предполагаю, что вы уже присвоили веса, в противном случае вы можете проверить алгоритм AHP [5]) .
// WEIGHTED NORMALISED DECISION MATRIX
Price Size Type Distance
Car1 = [0.07] , [0.04] , [0.3] , [0.20]
Car2 = [0.18] , [0.03] , [0] , [0.34]
Car3 = [0.03] , [0.09] , [0] , [0.07]
Weight = [0.20] , [0.10] , [0.30], [0.40]
Алгоритм TOPSIS основан на идее, что большинствожелательной альтернативой является та, которая имеет минимальное геометрическое расстояние до идеального решения и наибольшее геометрическое расстояние до антиидеального решения.
Нам нужнопонять, что есть некоторые критерии, которые приносят пользу, а другие - затраты.Так, например, мы могли бы хотеть максимизировать размер и тип, но минимизировать цену и расстояние.
Исходя из этого, давайте вычислим идеальное и антиидеальное решение:
Price Size Type Distance
Car1 = [0.07] , [0.04] , [0.3] , [0.20]
Car2 = [0.18] , [0.03] , [0] , [0.34]
Car3 = [0.03] , [0.09] , [0] , [0.07]
Ideal = [0.03] , [0.09] , [0.3], [0.07]
-Ideal = [0.18] , [0.03] , [0] , [0.34]
Впоследствии,Для каждого автомобиля вы должны рассчитать евклидово расстояние с идеальным и антиидеальным решением:
Формула ...
Например, для расстояния между car1 и идеальным решением было бы ((0.07-0.03)**2 + (0.04-0.09)**2 + (0.3-0.3)**2 + (0.20-0.07)**2) ** 0.5
В python вы можете сделать это с помощью Spicy Library.[6]
Как только вы рассчитываете расстояния до идеальных и антиидеальных решений для каждой альтернативы автомобиля, вы должны вычислить показатель эффективности, который в основном является отношением.
Таким образом, для каждой альтернативы автомобиля расстояние до i- / (расстояние до i- + расстояние до i +).
После того, как вы получите оценку производительности каждого варианта автомобиля для их сортировкипо убыванию, и у вас есть соответствующие звания.
Ресурсы:
ССЫЛКИ:
- 1 Заде, Л. А. (1965).Нечеткие множества.Информация и контроль, 8 (3), 338-353.
- 2 Атанасов, К.Т. (1983).Интуиционистские нечеткие множества, VII сессия ITKR, София, свергнутая в Центральной науке.Техническая библиотека им.Акад.Sci, 1697, 84.
- 3 Smarandache, F. (1995).Нейтрософическая логика и множество, Mss.
- 4 Hwang, CL, & Yoon, K. (1981).Методы принятия решений по нескольким атрибутам.В множественных атрибутных решений (стр. 58-191)Springer, Berlin, Heidelberg.
- 5 Saaty, RW (1987).Процесс аналитической иерархии - что это такое и как оно используется.Математическое моделирование, 9 (3-5), 167. doi: 10.1016 / 0270-0255 (87) 90473-8