Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: II Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 16 апреля 2012 г.)

Наука: Информационные технологии

Скачать книгу(-и): Часть I, Часть II, Часть III, Часть IV, Часть V

Библиографическое описание:
Салманов А.А. ПРИНЯТИЕ РЕШЕНИЙ В УСЛОВИЯХ ОПРЕДЕЛЁННОСТИ — МЕТОД АНАЛИЗА ИЕРАРХИЙ // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. II междунар. студ. науч.-практ. конф. № 3. URL: https://sibac.info/sites/default/files/files/2012_04_16_student/Student_16.04.2012_1.pdf, https://sibac.info/sites/default/files/files/2012_04_16_student/Student_16.04.2012_II.pdf, https://sibac.info/sites/default/files/files/2012_04_16_student/Student_16.04.2012_III.pdf, https://sibac.info/sites/default/files/files/2012_04_16_student/Student_16.04.2012_IV.pdf, https://sibac.info/sites/default/files/files/2012_04_16_student/Student_16.04.2012_5.pdf (дата обращения: 23.11.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов


принятие решений в условиях определённости — Метод анализа иерархий


Салманов Александр Анатольевич


студент 3 курса, факультет ЕНиМ СВГУ, г. Магадан


Е-mail: stemrus@gmail.com


Колесник Ольга Леонидовна


научный руководитель, ст. преподаватель кафедры информатики СВГУ,
г.
 Магадан


 


 

Вся наша жизнь состоит из процессов принятия решений, в результате которых мы стремимся достигнуть какой-то цели наилучшим для нас способом. За ошибки в принятии личных решений человек платит сам — тратит лишние деньги, покупает ненужные вещи, занимается «не тем». А вот деловые решения, которые принимаются руководителями предприятий, регионов, всей страны, влияют на судьбы многих людей и целых народов. Поэтому так высоки требования общества к качеству принятия таких решений, которые становятся все более сложным делом в современном мире. Решение проблем осложняется не только их взаимосвязанностью и ростом количества влияющих факторов, но и наличием большого числа возможных вариантов их принятия.


В начале 1970 года американский математик Томас Саати разработал процедуру поддержки принятия решений, которую назвал Analytic Hierarchy Decision Process— метод «Аналитической иерархической процедуры». В русском переводе это название звучит как «Метод анализа иерархий» (МАИ). [2, с. 224]


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


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


Следующий этап метода анализа иерархий — определение степени важности критериев. При сравнении одни критерии могут быть важнее, чем другие и задача метода определить степень важности каждого критерия. Для сотовых телефонов, например, наличие проигрывателя mp3, может быть гораздо важнее, чем цвет. А может быть и все наоборот, ведь все зависит от человека, который делает выбор. Для определения степени важности производят парные сравнения всех критериев между собой по шкале от 1 до 9 (условная шкала, можно любую иную другую). При сравнении двух критериев А и Б, что соответствует вопросу «Что важнее А или Б, и на сколько?» На этой шкале значение 1 обозначает, что Б намного важнее, чем А. Значение 9,наоборот, что А намного важнее, чем Б. Значение 5, обозначает, соответственно, что А и Б одинаково важны.


На следующем этапе метода производятся парные сравнения всех альтернатив по каждому из критериев. Для сравнений используется всё, та же шкала от 1 до 9. Пример вопроса на этом этапе такой: «На сколько телефон А лучше(хуже) телефона Б по критерию цвет?». После получения всех ответов, данные ответов обрабатываются и все альтернативы получают свою количественную оценку, то есть какая альтернатива на первом месте, какая на втором и так далее.


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


 


 

Метод анализа иерархий


Иерархия возникает тогда, когда системы, функционирующие на одном уровне, функционируют как части системы более высокого уровня, становясь подсистемами этой системы. МАИ является процедурой для иерархического представления элементов, определяющих суть проблемы. Метод состоит в декомпозиции проблемы на более простые составляющие части дальнейшей обработки последовательности суждений лица, принимающего решения по парным сравнениям. Однако МАИ включает процесс синтеза многих суждении, получения приоритетности критериев и нахождения альтернативных решений. [4, с. 545]


 

Этапы МАИ:

  1. Очертить проблему и определить общую цель.
  2. Построить иерархию, начиная с вершины: цель, критерии, перечень альтернатив.
  3. Для каждого критерия построить шкалу оценок, определив диапазон возможных изменений.
  4. Построить множество матриц парных сравнений для каждого из нижних уровней по принципу: одна матрица для каждого элемента примыкающего сверху уровня. Этот элемент называется управляемым по отношению к элементу, находящемуся на нижнем уровне. Элементы любого уровня сравниваются друг с другом относительно их воздействия на управляемые элементы.
  5. Матрицы парных сравнений строятся с учетом свойства обратной симметрии, т. е. aij*aji=1, aji=1, что гарантирует согласованность матриц парных сравнений (согласованность матрицы с точки зрения математики, — это линейная зависимость всех строк и всех столбцов матрицы). Для согласованной матрицы парных сравнений произведение всех её элементов в точности равно единице.
  6. Этапы 3, 4, 5 необходимо провести для всех уровней и групп иерархии.


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


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


Для линейного метода анализа иерархий матрицу парного сравнения достаточно представить одним столбцом, — в силу согласованности.

  1. Для каждой матрицы парных сравнений вычисляется вектор-свёртка, получаемый в результате нормированияуказанной матрицы. Сумма (произведение) элементов вектора-свёртка равно в точности единице для линейного (нелинейного) метода. Для линейного МАИ элементы вектора-свёртки получаются в результате деления каждого элемента столбца матрицы парных сравнений на сумму элементов этого столбца. Для нелинейного МАИ элементы вектора-свёртки получаются в результате вычисления среднего геометрического элементов строк матрицы парных сравнений.
  2. Далее необходимо вычислить вектора локальных приоритетов как результат умножения матриц парных сравнений на соответствующие им вектора-свёртки.
  3. На каждом уровне иерархий из векторов локальных приоритетов строится сводная матрица, которая умножается на вектор локального приоритета вышележащего уровня. В результате получается итоговый вектор глобальных приоритетов. [2, с. 912]


Постановка задачи


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


Описание языка программирования


Языком программирования был выбран VisualBasic.


VisualBasic (VB) — является языком программирования третьего поколения (событийный язык программирования) и среда разработки от Microsoft для модели программирования COM. Этот язык был получен из BASIC и допускает быструю прикладную разработку (RAD) графического интерфейса пользователя (GUI), доступ к базам данных при помощи DAO, RDO, ADO, создание элементов управления ActiveX и объектов. Языки сценариев (VBA, VBScript) синтаксически подобны VisualBasic, но отличаются от него.


Язык VisualBasic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бэйсик, у которого есть немало диалектов. В то же время VisualBasic — современный язык программирования, сочетающий процедуры и элементы объектно-ориентированных и компонетно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса. Программист может создавать приложение, используя компоненты предоставленные в VisualBasic. Программы, написанные в VisualBasic, могут также использовать Windows API (требует объявление внешних функций).


Последняя версия (шестая) была выпущена в 1998 году. Корпорация Microsoft продлила поддержку продукта до 2008, и объявила преемника — Visual Basic.NET. [1]


Языковые особенности


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


Компиляция программ была введена в VisualBasic 5, но при этом исполняемые программы до сих пор требуют наличия определенных библиотек для запуска. Эти библиотеки включены в Windows, начиная с Windows 2000, но для более ранних версий Windows они должны поставляться вместе с программой.


Формы создаются при помощи технологии «перетащи и брось» (draganddrop). Элементы управления просто размещаются на форме (например, поля ввода, кнопки, и т. д.). Элементы управления имеют свои атрибуты и обработчики событий. Многие атрибуты могут быть изменены во время исполнения программы, что позволяет создавать программы, динамически реагирующие на действия пользователя.


VisualBasic может создать исполняемые программы (EXE файлы), элементы управления ActiveX, библиотеки DLL, но, прежде всего, используется для разработки Windows приложений. Диалоговые окна с ограниченными функциональными возможностями могут использоваться для обеспечения подсказок. Элементы управления обеспечивают основные функциональные возможности приложения, а программист может расширить логику программы при помощи обработчиков событий. Например, выпадающий список автоматически отображает список и позволяет пользователю выбрать элемент. Обработчик событий вызывается для исполнения дополнительного кода в зависимости от выбранного элемента.


Язык использует справочную информацию для сбора мусора, имеет большую библиотеку сервисных объектов, объектно-ориентированную разработку. В отличие от многих других языков программирования, VisualBasic не зависим от регистра. Сравнение строк зависит от регистра, но может быть выполнено без учета регистра.


Компилятор VisualBasic поставляется вместе с другими языками VisualStudio (C, C++), но ограничения в интегрированной среде разработки не позволяют создание некоторых видов приложений.


 


Характеристики VisualBasic


VisualBasic обладает следующими чертами:

  • булевская постоянная «истина» имеет числовое значение −1 и «ложь» значение 0, потому что тип Boolean хранится как 16-разрядное целое число со знаком. Они взаимосвязаны между собой через логическую операцию Not иначе говоря Истина = Не Ложь.
  • логические и битовые операторы объединены. Этим он непохож ни на один C подобный язык (Java, Perl).
  • массивы объявляются с определением верхней и нижней границ, как это делается вPascal и Fortran. Возможно, при использовании оператора OptionBase, установить нижнюю границу по умолчанию, но это приводит к запутанности программ. Нижняя граница массивов не ограничена 0 или 1 и можно устанавливать более низкие границы. В VisualBasic .NET и VBScript нижняя граница фиксирована.
  • сильная интеграция с операционной системой Windows и COM.
  • целые числа автоматически преобразуются в вещественные при использовании деления (/). Оператор (\) производит деление с усечением дробной части.
  • для переменных, которые были объявлены без указания типа, используется по умолчанию тип variant. Но при использовании оператора Deftype можно установить иной тип по умолчанию ( DefInt, DefBool, DefVar, DefObj, DefStr и др.). Тип по умолчанию может быть отменен для переменной при использовании специального символа-суффикса в имени переменной. [1]


Описание программы


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


Максимальное количество объектов и критериев равно десяти. При задании «цены» критерию идет проверка на принадлежность его к числовому значению.


Форма «выбор объектов»:



Рис 1. Форма выбора объектов


 


Форма «выбор критериев»:



Рис 2. Форма выбора критериев


Форма «Составление матрицы приоритетов»:



Рис 3. Форма составления матрицы приоритетов


Форма «Оценка объектов»:



Рис 4. Форма оценки объектов по первому критерию


 



Рис 5. Форма оценки объектов по второму критерию


 



Рис 6. Форма оценки объектов по третьему критерию


 



Рис 7. Форма оценки объектов по четвёртому критерию


 


Форма «Вычисления»:



Рис 8. Форма вычисления


 


Форма «Результаты»:



Рис 9. Форма результаты


 



Рис 10. Начальная форма программы


 


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


 

  1. Описание языка программирования VisualBasic [Электронный ресурс] / Энциклопедия языков программирования. — Режим доступа: http://progopedia.ru/dialect/visual-basic/. — Загл. с экрана
  2. Саати Т. Л., К. Кернс. «Аналитическое планирование. Организация систем» Издательство: «Радио и связь», 1991 — 224 с.
  3. Саати Т. Л. «Принятие решений. Метод анализа иерархий»: Пер. с англ. — М.: Издательство: «Радио и связь», 1993 — 278 с.
  4. Хедми А. Таха. Введение в исследование операций, 7-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 912 с.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Комментарии (1)

# Слава 15.05.2012 03:58
Очень нужны исходники.

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.