В ходе данной работы будут изучены методы многокритериального анализа принятия решений и будет разработана библиотека на языке программирования Python, необходимая для принятия решения. Для рассмотрения работы методов был написан программный пакет, состоящий из 4 файлов:
- electre.py — многокритериальный метод анализа решений ELECTRE.
- saw_method.py — многокритериальный метод анализа решений SAW.
- topsis.py — многокритериальный метод анализа решений TOPSIS.
- DecisionHelper.py — класс для взаимодействия с методами сравнения знаками.
Метод SAW имеет две основные функции:
__count__ — Метод подсчета суммы произведений матрицы на веса.
saw_method — SAW метод для сравнения альтернатив по весам.
Метод TOPSIS содержит пять функций:
__normalize__ — Метод нормализации исходных данных.
__get_worst_best__ — Метод поиска лучшей и худшей альтернативы.
__get_worst_best_distanse__ — Метод поиска "дистанции" до худшего и лучшего элементов.
__topsis__ — Внутренний метод со значениями по умолчанию для сравнения альтернатив по весам.
topsis — метод для сравнения альтернатив по весам.
Метод ELECTRE разделен на 7 функций.
__normalize__ — Метод нормализации исходных данных.
__concordance_matrix__ — Метод составления матрицы согласия.
__discordance_matrix__ — Метод составления матрицы несогласия.
__dominance_matrix__ — Метод составления матрицы удовлетворения пороговым значения индексов согласия и несогласия.
__lim_concordance_list__ — Метод поиска предельных значений индекса согласия.
__lim_discordance_list__ — Метод поиска предельных значений индекса несогласия.
electre — ELECTRE I метод для сравнения альтернатив по весам.
Были рассмотрены IDE для разработки на языке Java. Для этого выбраны характеристики, по которым происходит сравнение. Важность характеристики измеряется числом от 0 до 1. Характеристики отображены в таблице 1.
Таблица 1.
Раскрытие выбранных характеристик
Характеристика (Субхарактеристика) |
Причина выбора |
Измерение |
Важность |
функциональная пригодность — степень, в которой продукт или система обеспечивают выполнение функции в соответствии с заявленными потребностями при использовании в указанных условиях
|
IDE можно было использовать для прохождения заданий Учебного плана |
Покрытие плана: 1: 0-50% 2: 51-90% 3: 90-100% |
0.18 |
временные характеристики —степень соответствия требованиям по времени отклика, времени обработки и показателей пропускной способности продукта или системы |
Трата меньшего времени на запуск, компиляцию |
1: >2 минут 2: 1-2 минуты 3: 30-59 секунд 4: 15-30 секунд 5: 0-15 секунд |
0.13 |
использование ресурсов — степень удовлетворения требований по потреблению объемов ресурсов системой при выполнении их функций. |
мощность аппаратного обеспечения в ВУЗе достаточно низкая |
Загрузка ресурсов 1: 100% и этого недостаточно 2: 90-100% 3: 50-89% 4: <50% |
0.17 |
изучаемость —возможность использования продукта определенными пользователями для достижения конкретных целей обучения для эксплуатации продукта или системы с эффективностью, результативностью. |
недостаточная осведомленность студента о всех возможностях, опциях, настройках IDE |
1: отсутствие документации 2: есть сжатая документация 3: есть качественная документация 4: подсветка ошибок + №3 5: контекстные подсказки + №4 |
0.09 |
защищенность от ошибки пользователя — уровень системной защиты пользователей от ошибок. |
недостаточная осведомленность студента о всех возможностях, опциях, настройках IDE |
1: отсутствие предупреждений об ошибке 2: показ причины возникшей ошибки 3: предупреждение о возникновении ошибки |
0.04 |
восстанавливаемость —способность продукта или системы восстановить данные и требуемое состояние системы в случае прерывания или сбоя. |
несовершенность аппаратного обеспечения и частых “вылетов” |
1: отсутствие возможности восстановить данные 2: возможность автоматически сохранять изменения 3: возможность восстановить несохраненные изменения
|
0.13 |
отказоустойчивость —способность системы, продукта или компонента работать как предназначено, несмотря на наличие дефектов программного обеспечения или аппаратных средств. |
не нужно тратить время на настройку системы в случае возникновения ошибки |
1: неспособность работать в случае дефектов 2: способность работать в случае отказа некоторых модулей 3: независимость от дефектов |
0.09 |
взаимозаменяемость —способность продукта заменить другой конкретный программный продукт для достижения тех же целей в тех же условиях.
|
можно открыть созданный код стандартными программами Windows и Linux и другими IDE |
1: работает только в данной IDE 2: возможность запустить код в других IDE 3: возможность запустить код из других IDE + №2 |
0.17 |
Характеристики для каждой выбранной системы отображены в таблице 2.
Таблица 2.
ПО и выбранные характеристики
Характеристика/ Субхарактеристика |
IntelliJ IDEA |
Eclipse |
NetBeans |
DrJava |
Android Studio |
функциональная пригодность |
3 |
3 |
3 |
2 |
2 |
временные характеристики |
3 |
3 |
2 |
5 |
1 |
использование ресурсов |
3 |
3 |
3 |
4 |
2 |
изучаемость |
5 |
4 |
3 |
2 |
5 |
защищенность от ошибки пользователя |
3 |
3 |
3 |
2 |
3 |
восстанавливаемость |
2 |
2 |
2 |
1 |
3 |
отказоустойчивость |
2 |
1 |
2 |
2 |
2 |
Данные были преобразованы для приложения в матрицу. В методы передаются матрица, веса, список, показывающий, отрицательный или положительный критерий. Были получены результаты и представлены на рисунке 1.
Рисунок 1. Полученные результаты
1 место занимает ПО под номером 1 (IntelliJ IDEA) во всех методах, использованных в данной практической работе.
Результаты различаются в методах SAW и TOPSIS лишь в относительно близких по уровню качества альтернативах. (№2 и №4).
Причинами того, что методы выдают не одинаковые результаты, являются:
- различие в силе учета весов
- формирование числовых значений разных способами;
- различие в видах нормализации матрицы;
- учет значений альтернативных вариантов в TOPSIS и ELECTRE.
В результате можно сделать вывод, что нельзя основываться на одном лишь методе сравнения. Не менее важным критерием является вывод информации обо всех альтернативах, внесенных в качестве исходных данных, чтобы пользователь получал право выбора из нескольких лучших вариантов, учитывая критерии, которые не внесены в исходные данные и зависят не от показателей, а от восприятия пользователя представленных товаров.
Библиотека была загружена на репозиторий в веб-сервисе GitHub [2].
Список литературы
- Егорычев, Д. Н. Управленческие решения : учебник по специальности «Менеджмент организации» / Л. И. Лукичёва, Д. Н. Егорычев, Ю. П. Анискина. — 4-е изд. — Москва : Омега-Л, 2009. — 383 c. — Текст : непосредственный.
- Клоков, С. А. MCDM_Methods / Github. [Электронный ресурс] — Режим доступа: https://github.com/R1k0523/MCDM_Methods (дата обращения 06.01.2023).
- Лазарев, В. Н. Управленческие решения : текст лекций / В. Н. Лазарев. — 1-е изд. — Ульяновск : УлГТУ, 2011. — 56 c. — Текст : непосредственный.