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

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

Авторы публикации

Рубрика

IT-Технологии

Просмотры

10

Журнал

Журнал «Научный лидер» выпуск # 1 (99), Январь ‘23

Дата публикации 14.01.2023

Поделиться

В данной статье рассматриваются методы многокритериального анализа принятия решения и их применение для конкретных данных. Разрабатывается библиотека на языке Python, происходит сравнение методов анализа TOPSIS, ELECTRE I, SAW.

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

  1. electre.py — многокритериальный метод анализа решений ELECTRE.
  2. saw_method.py — многокритериальный метод анализа решений SAW.
  3. topsis.py — многокритериальный метод анализа решений TOPSIS.
  4. 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].

Список литературы

  1. Егорычев, Д. Н. Управленческие решения : учебник по специальности «Менеджмент организации» / Л. И. Лукичёва, Д. Н. Егорычев, Ю. П. Анискина. — 4-е изд. — Москва : Омега-Л, 2009. — 383 c. — Текст : непосредственный.
  2. Клоков, С. А. MCDM_Methods / Github. [Электронный ресурс] — Режим доступа: https://github.com/R1k0523/MCDM_Methods (дата обращения 06.01.2023).
  3. Лазарев, В. Н. Управленческие решения : текст лекций / В. Н. Лазарев. — 1-е изд. — Ульяновск : УлГТУ, 2011. — 56 c. — Текст : непосредственный.
Справка о публикации и препринт статьи
предоставляется сразу после оплаты
Прием материалов
c по
Осталось 2 дня до окончания
Размещение электронной версии
Загрузка материалов в elibrary
Публикация за 24 часа
Узнать подробнее
Акция
Cкидка 20% на размещение статьи, начиная со второй
Бонусная программа
Узнать подробнее