Разработка библиотеки классов на Java для построения частных функций предпочтений в многокритериальных задачах

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Математика
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,03 Мб
  • Опубликовано:
    2014-02-16
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка библиотеки классов на Java для построения частных функций предпочтений в многокритериальных задачах











ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

КУРСОВОМУ ПРОЕКТУ

Разработка библиотеки классов на Java для построения частных функций предпочтений в многокритериальных задачах

Введение

приложение коррекция базис

Решение многокритериальных задач (МКЗ) основывается на учете предпочтений лица, принимающего решения (ЛПР). В теории полезности решается задача описания предпочтений ЛПР с помощью функции полезности, проверкой аксиоматики той или иной функции полезности. В рамках данной УИР применяется метод, при котором опрос ЛПР происходит по определенной процедуре. Основное достоинство этого метода в том, что не существует проблем с проверкой построенной ЧНФП. Такой опрос ЛПР позволяет описать произвольное предпочтение.

В многокритериальных задачах выделяются две проблемы: а) неоднородность пространства критериев (частные критерии имеют разные единицы измерения); б) агрегирование (свертка) критериев в скаляр. Обе эти проблемы должны решаться вместе на основе оценок ЛПР предпочтений. Это означает, что в зависимости от того как решается проблема неоднородности критериев зависит решение и проблемы агрегирования.

Каждый критерий предполагает наличие у него области допустимых значений. Все критерии можно условно разделить на четыре класса: конъюнктивные, дизъюнктивные, конъюнктивно-дизъюнктивные, простые. Данное деление снимает вопрос о допустимых значениях критериев: все значения критериев возможны.

В предыдущей УИР рассматривался только частный случай: простые критерии. В рамках данной УИР ─ критерии произвольны.

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

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


В работе предлагается модификация выполненного ранее приложения.

Увеличение универсальности приложения будет достигнуто за счет возможности задания критериев произвольного типа. Построение ЛПР частных функций предпочтения будет производиться при произвольном базисе, что позволит ЛПР с меньшими ошибками оценивать объекты опроса, так как в качестве базиса ЛПР сможет выбрать именно тот объект, с которым он хорошо знаком. Значит, и сравнивать с ним ему будет проще, точнее, быстрее.

В данной УИР поставлены следующие задачи:

1.      Разработка процедуры построения ЛПР частных функций предпочтения при произвольном базисе.

2.      Разработка процедуры проверки ЧНФП.

.        Модификация алгоритма коррекции частных функций предпочтения по результатам опроса ЛПР.

2.      Теоретическая часть

 

.1 Классификация критериев


В многокритериальных задачах задается множество частных критериев kj (j = 1,2, …, m). Для каждого критерия определяется область допустимых значений . Предпочтения лица, принимающего решения, (одного эксперта) описываются функцией предпочтения  Для задания шкалы интервалов измерения предпочтений определяются два эталона: u (k-) = 0 и u (k+) = 1.

В многомерной теории полезности [Кини 1982] нулевое значение u (k-) = 0 определяется минимальными по предпочтению значениями критериев, т.е. первый эталон шкалы интервалов, логическим выражением , а второй эталон, соответствующий , выражением .

Для того, чтобы задать интервальную шкалу предпочтений, для каждого критерия выберем рабочий интервал значений (РИЗ) .

Для удобства иллюстрации основных положений рассмотрим пример задания шкалы интервалов для предпочтений при поиске места работы. Чтобы не увеличивать объем примера ограничимся двумя критериями: k1 - размер заработной платы (тыс. руб.) и k2 - время поездки до места работы (мин.). Определим интервал для k1 - [25; 100], и для критерия k2 - [20; 90].

Обратимся к нашему примеру, при поиске работы нулевое значение предпочтений может быть сформулировано по одному критерию: если заработная плата меньше 25 тыс. руб., то независимо от другого критерия вариант оценивается как нуль. Тогда первый эталон должен определяться условием эталон . Это означает, что допускаются значения критериев вне рабочего интервала , но значение предпочтения будет равно нулю.

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

Подобным образом определим класс дизъюнктивных критериев. Например, если заработная плата равна 100 тыс. руб. или более, то этот вариант выбирается независимо от второго критерия, т.е. его предпочтение оценивается как единица.

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

Один критерий может быть одновременно и конъюнктивным и дизъюнктивным, как, например, в нашем примере заработная плата.

Критерий, определяющий нулевое и единичное значения шкалы измерений предпочтений, будем называть конъюнктивно-дизъюнктивным.

Функция предпочтения, в которой множество критериев содержит конъюнктивно-дизъюнктивный критерий, относится к классу конъюнктивно-дизъюнктивных ФП.

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

Введение классов конъюнктивных, дизъюнктивных и конъюнктивно-дизъюнктивных критериев снимает вопрос относительно области допустимых значений критериев: все значения критериев возможны. Но появляются рабочие интервалы значений критериев , особенно это важно для области  для дизъюнктивных критериев, такие варианты являются допустимыми, и они оцениваются единичным значением ФП.

2.2    Построение функций предпочтения при произвольном базовом многокритериальном объекте

приложение коррекция нормированный

Для построения предпочтения при произвольном базовом многокритериальном объекте необходимо понимать терминологию и основу построения произвольной ФП, поэтому введем основные определения.

Определение 1. Функция предпочтения (ФП)  - функция с многими переменными (критериями), измеряющая свойство «предпочтение» в заданной шкале интервалов.

Определение 2. Базовый многокритериальный объект (базис)  многокритериальный объект, с которым производится опрос эксперта, в конечном итоге он определяет конкретный вид и параметры ФП.

Отметим, что шкала измерения ФП задается исходя из значений ,  и типов критериев, поэтому выбор базиса не влияет на шкалу ФП.

Оценку базового объекта kб в заданной шкале обозначим как uб=u(kб).

Определение 3. Частная функция предпочтений (ЧФП) для kj критерия  функция предпочтения при фиксированном базовом дополнении kб.

Функцию предпочтения  можно представить как функцию g, в которой аргументами являются ЧФП:

.                                                 (1)

Изменив базовый многокритериальный объект kб, получим другие частные функции предпочтения  и другую функцию gб, но ФП  должна остаться неизменной. Имеется в виду, что оценки любых многокритериальных объектов должны оставаться неизменными при переходе к новому базису, т.к. шкала измерения предпочтений не изменяется.

ЧФП  изменяется в пределах .

Если в базовом объекте , то очевидно, что , также при условии  . Для конъюнктивных критериев  при любом базисе, а для дизъюнктивных критериев .

Значения  и  определяют интервал изменения ЧФП . Он может меняться при переходе к новому базису.

Определение 4. Частная нормированная функция предпочтений (ЧНФП) для kj критерия ‒ ЧФП приведенная к шкале [0; 1] .

Очевидно, что ЧНФП получается линейным преобразованием:

, (2)

откуда ЧФП      


.                    (3)

Напомним, что по каждому критерию kj задается рабочий интервал . На этом интервале эксперт должен указать значение , соответствующее минимальному предпочтению и - максимальному предпочтению.

Частные функции предпочтения зависят от выбора базисного объекта kб. Поэтому остановимся на вопросе выбора базиса. Его следует выбирать так, чтобы экспертам было удобнее и с меньшими ошибками сравнивать и давать оценки предпочтения различных объектов. Базис является своего рода эталонным объектом для сравнения. В качестве неудачного примера базиса приведем пример с МТП [Кини 1981], где базисом является объект k - Это неудобно, т.к. приходится оценивать нереальные объекты. Шкалирующий коэффициент мультипликативной функции полезности  определяется как оценка объекта с максимальным по предпочтению значением одного критерия  и минимальными всех других критериев . Такой объект далек от реальности и ошибка в оценке Wj будет большая.

Поэтому рекомендуется базисом выбрать объект со средними на интервале значениями критериев . Такой объект будет близок к реальным. Если имеется некоторый реальный объект, с которым знакомы эксперты, то его можно выбрать в качестве базиса.

На следующем шаге построения ЧФП необходимо задать шкалу измерения предпочтений. Как указывалось в п. 1. необходимо описать эталоны, определяющие нулевое и единичное значения шкалы интервалов. Для этого следует проанализировать и классифицировать критерии. Если, например, окажутся один или несколько конъюнктивных критериев, то и описание нулевого значения будет , а единичного значения . В случае одного k1 конъюнктивно-дизъюнктивного критерия нулевое значение определяется , а единичное условием .

Классифицировать критерии можно опросив эксперта по следующему плану, представленному в таблице 1.

Если оценка  окажется равной нулю, а , то критерий k1 конъюнктивный. Если оценка , и , то критерий k1 конъюнктивно-дизъюнктивный. В случае  и  критерий k1 дизъюнктивный. Если  и , то критерий k1 простой. Анализируя подобным образом оценки  и , решается вопрос о типе критерия k2 и далее о типе критерия k3. На этом этапе в опрос следует включить оценку предпочтения базисного объекта .

Табл. 1. Таблица опроса для классификации критериев

Оцениваемые объекты

Критерии

Оценки эксперта


k1

k2

k3


Объект эталон В+

1.0




Объект В1




Объект В2




Объект В3




Объект В4




Объект В6




Объект эталон В-

0.0




Базис kб





Строить ЧФП в единой шкале предпочтений неудобно, поэтому от ЧФП перейдем к частным нормированным функциям предпочтения.

Чтобы построить  для непрерывных числовых критериев, эксперту достаточно указать, как изменяется предпочтение на интервале . Для построения ЧНФП отдельно по каждому критерию следует использовать методы построения шкал интервалов.

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

Для удобства построения ЧНФП следует использовать несколько типовых аналитических функций с несколькими параметрами. Тогда ЛПР сможет подобрать функцию, наиболее точно описывающую его предпочтения. Имея один или два параметра функции, он сможет изменять ее при проверке правильности ЧНФП. Такой подход был положен в основу реализации построения ЧНФП в данной УИР.

После задания ЧНФП все безразмерные критерии  становятся возрастающими по предпочтению, т.е. чем больше его значение, тем более предпочтительный объект.

Отметим, что построение ЧНФП производится одинаково для всех классов критериев (простых, конъюнктивных, дизъюнктивных, конъюнктивно-дизъюнктивных). Они строятся в личных шкалах экспертов. Следовательно, для их построения не требуется задание единой шкалы предпочтений (см. п. 1). Поэтому построение ЧНФП можно производить сразу после выбора базисного объекта.

Пусть в нашем примере для критериев заработная плата и время поездки до места работы ЛПР задал ЧНФП, приведенные на рис. 1 и 2.


Рис. 1. ЧНФП для заработной платы u1 (k1)

Рис. 2. ЧНФП для времени поездки до места работы u2 (k2)

А проверять правильность заданных экспертами ЧНФП необходимо. Дело в том, что частные нормированные функции предпочтения, также как и ЧФП должны определять предпочтения по шкале интервалов.

Если использовать функцию предпочтения безразмерных критериев (5), то для каждой ЧНФП получим линейную функцию: . Линейность g (uj, ) надо проверить.

Для этого зафиксируем значение безразмерного критерия  и определим для всех критериев значения в исходных единицах . ЛПР предъявим для оценки предпочтений множество объектов, представленных в табл. 2.

Дополнительно введем объект , имеющий в безразмерных единицах равные значения u(1) всех критериев. ФПБК при равных значениях безразмерных критериев образует функцию одной переменной , которую будем называть функцией равных значений безразмерных критериев (ФРЗБК).

Табл. 2. Таблица опроса для проверки ЧНФП

Оцениваемые объекты

Критерии

Оценки ЛПР


k1

k2


Объекты МКО(1), задающие единичное значение шкалы предпочтений

1.0



Если k1 дизъюнктивный



Базисный объект

U0



Объект В=



Объект В1



Объект В2



Объекты МКО(0), задающие нулевое значение шкалы предпочтений

0.0



Если k1 конъюнктивный




2.3    Коррекция ЧНФП

Напомним, что если значения  (i=1,2., n) образуют линейную функцию  (см. рис. 3), то выполняется линейность g (uj, 0). Это означает, что ЧНФП отражают предпочтения по критерию в шкале интервалов.



Так как все g(uj,0) линейные, то сумма  также линейна относительно u(i):


Если  (i=1,2., n) не образуют линейную функцию, то по оценкам  следует откорректировать ЧНФП. Рассмотрим процедуру коррекции на нашем примере. Для проведения опроса при u(i) равных: 0,3; 0,5; 0,85; 1,0, из ЧНФП, приведенных на рис. 1, 2, определим k(i) (см. табл. 3).

Табл. 3. Значения обратных ЧНФП для заработной платы () и времени поездки ()

u(i)

0.0

0.3

0.5

0.85

1.0

25526373100






9070625320







Пусть после опроса ЛПР для каждого u(i) по форме табл. 1 получили оценки , представленные в табл. 2.

Табл. 4. Результаты опроса эксперта при проверке ЧНФП

u(i)

R(i)






0,0

=0,0=0,3






0,3

0,20

0,66

0,35

0,17

0,3

0,5

0,30

0,6

0,40

0,2

3

0,5

0,85

0,5

0,59

0,45

0,18

3,3

0,85

1,0

=0,60,6=0,50,231,0







Чтобы выполнялась линейность , бj (тангенс угла) должен быть постоянным. Итак, производим сравнение элементов бj столбца табл. 4.

В то же время при сравнении по строкам должно выполняться постоянным отношение , это означает, что отношения должны сохраняться во всех строках. Как следует из приведенных соотношений, важной оценкой являются оценки  и .

Если быть уверенным в этих оценках, то исходя из ЧНФП можно в опросной таблице 1. вычислить все ожидаемые оценки . ЛПР достаточно будет подтвердить правильность . Если он отмечает расхождение между вычисленной оценкой и своим предпочтением, то необходимо откорректировать либо границы интервала изменения ЧФП  и , либо ЧНФП.

При опросе экспертов вместо одной оценки можно использовать интервал  и . Тогда для каждого критерия получить линейную функцию  можно нахождением  и бj из условия .

Рассмотрим вопросы коррекции ЧНФП  по оценкам . Оценки ЛПР связаны с ЧНФП следующим соотношением .

Чтобы g(uj,0) была линейная, отношение  должно равняться , тогда значение , что означает правильность ЧНФП в этой точке. Значит, во всех точках  необходимо скорректировать ЧНФП таким образом, чтобы .

Алгоритм коррекции ЧНФП включает:

Задание коэффициентов бj и . Либо оставить заданные экспертом ,  и вычислить , либо вычислить их на основе оценок .

Если критерий kt конъюнктивный, то линия должна проходить через нуль , т.е. . Коэффициент бt определяется как среднее . Расчетное значение , которое может отличаться от оценки .

Если критерий ks дизъюнктивный, то линия проходит через единицу , тогда . Коэффициент бs определяется как среднее . Расчетное значение .

Если критерий kj простой, то необходимо построить методом наименьших квадратов линейную регрессионную модель . Коэффициент

, а ,

где ,

Тогда расчетными границами ЧФП будут: , а .

Полученные от эксперта оценки  не всегда соответствуют вычисленным по полученным линейным моделям . Отличия  от  следует отразить на графиках ЧНФП. Для этого оценку , полученную в шкале функции предпочтения, следует перевести в шкалу ЧНФП в соответствии с выражением:

.

Таким образом, на графике ЧНФП получим точки , соответствующие оценкам . Используя параметры типовых аналитических функций можно скорректировать ЧНФП, так чтобы она прошла через . Либо по точкам  построить гладкую ЧНФП.

3.      Практическая часть


3.1    Средства разработки


Целью УИР была разработка библиотеки классов, которая должна быть включена в настольное приложение. В дальнейшем, возможно, эта библиотека классов будет добавлена в WEB-пакет для решения многокритериальных задач, поэтому выбор среды и языка был очевиден, это NetBeans 6.9 и Java.

Большинство современных WEB-приложений написано на Java, преимущества в том, что это объектно-ориентированный язык программирования с расширенными сетевыми возможностями.

Среда разработки NetBeans 6.9, тоже выбрана не случайно. Она является полностью бесплатной, имеет открытый исходный код и поддерживает несколько операционных систем, в том числе и: Microsoft Windows, Linux, Macintosh OS X.

Построение UML-диаграмм проводилось в Microsoft Visio, а также использовался палагин NetBeans StarUML.

3.2    Реализация ЧНФП


Функциональные требования

Основные проверки и последующая коррекция введенных критериев будет происходить с ЧНФП, т.к. это удобнее, потому, что она задана в безразмерных величинах. Переход от ЧФП к ЧНФП будет происходить по линейному преобразованию, описанному в п. 2.2 формуле (3). В предыдущей УИР в качестве базиса выбирался объект k - Легко догадаться, что это неудобно, т.к. приходится оценивать нереальные объекты. Шкалирующий коэффициент МФП  определяется как оценка объекта с максимальным по предпочтению значением одного критерия  и минимальными всех других критериев . Такой объект далек от реальности и ошибка в оценке Wj будет большая. Теперь же, в ходе преобразований по формуле (2) из п. 2.2, в качестве базиса эксперт берет некоторый реальный объект с которым он знаком.

Изменений в реализации исходных ФП внесено не было, т.к. они полностью описывают все множество возможных видов предпочтений.

Описание логической структуры

Рассмотрим диаграмму классов для пакета Aggregation. PlotGraphics, она представлена на рисунке 4.

Рис. 4. диаграмма классов пакета Aggregation. PlotGraphics

Как видно из диаграммы, все классы являются наследниками одного абстрактного класса Function. Рассмотрим классы несколько подробней.

o   AffineFunction - класс реализующий линейную функцию предпочтенияда.

o   GaussianFunction - класс реализующий Гауссову функцию предпочтения с 2-мя параметрами.

o   BetaFunction - класс реализующий бета функцию предпочтения.

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

private double base - основание функции для показательной функции предпочтения

private double xMinGaus - нижнее значение x Гауссовской функции предпочтения

protected double slope - параметр для расчета крутизны у бета функции предпочтения.

И так далее. Соответственно, для расчета того, как будет выглядеть функция предпочтения каждый класс имеет общие перегруженные методы, которые, учитывая особенности и параметры функции, позволяют строить и отображать частно нормированные функции предпочтения.

protected double calculateUValue (double kValue) - метод позволяет просчитать все значения функции предпочтения на основе параметров критериев, указанными пользователем.

public void plotFunctionOnPanel (JPanel jpnlOnForm) - метод позволяет отобразить уже рассчитанную функцию предпочтения на любой объект JPanel в интерфейсе программы. Он так же учитывает тип поведения функции.

3.3    Реализация алгоритма коррекции ЧНФП

 

Функциональные требования

Необходимо модифицировать алгоритм вывода подсказок ЛПР и реализовать последующую коррекцию ЧНФП по результатам опроса ЛПР.

Алгоритм вывода подсказок ЛПР:

.        ЛПР либо соглашается с предложенным значением оценки W для данного U (предложенная оценка обеспечивает линейность ФПБК), либо вводит свое.

.        Строится новая линейная модель, по уже введенным оценкам ЛПР.

.        По построенной модели, вычисляется и выводится подсказка для ЛПР для данного U, переходим к шагу 1.

Алгоритм коррекции ЧНФП по результатам опроса ЛПР представлен в пункте 2.3. После коррекции ЧНФП не является гладкой, что делает ее менее наглядной для пользователя. В связи с чем, было принято решение о реализации сглаживания графика ЧНФП.

Рассматривались основные численные методы для построения гладкой кривой: аппроксимации полиномиальными многочленами, интерполяция сплайном, МНК. В результате было принято решение провести интерполяцию кубическим сплайном. В качестве узлов интерполяции были выбраны точки, в которых ЛПР явно задал значения (их мы считаем точными). По ним и был построен кубический сплайн. Код, реализующий данный метод интерполяции представлен в приложении. (Фрагмент исходного, кода-2).

Описание логической структуры

Для выведения подсказок был модифицирован алгоритм построения линейной модели, по данным опроса ЛПР. Представлен в приложении (Фрагмент исходного кода-2).

Полученные после коррекции ЧНФП не являются гладкими, поэтому была произведена интерполяция сплайном. В качестве узлов интерполяции были выбраны те точки, в которых ЛПР задал оценку, а наше приложение соответственно откорректировало эту оценку. Ясно, что значения оценок в этих точках являются точными. Код, реализующий построение кубического сплайна, по заданным узлам интерполяции представлен в приложении (Фрагмент исходного, кода-2).

3.4    Реализация функций ПО

 

Функциональные требования

Необходимо реализовать и интегрировать в исходное приложение следующие процедуры:

1.      Построения ЛПР частных функций предпочтения при произвольном базисном многокритериальном объекте.

2.      Проверки ЧНФП.

.        Коррекции частных функций предпочтения по результатам опроса ЛПР.

Описание логической структуры

Диаграмма прецедентов для написанного приложения представлена на рисунке 5.

Рис. 5. Диаграмма прецедентов

          Теперь приведем диаграмму классов для пакета Aggregation, она представлена на рисунке 6. Основной пакет Aggregation содержит два вложенных пакета и два класса.

Пакет PlotGraphics хранит в себе реализацию всех ЧНФП, т.е. отвечает за построение ЧНФП. Пакет MZVK содержит класс ObjectMZVK, который в свою очередь реализует сущность МКЗ. Таким образом, в класс ObjectMZVK были созданы все атрибуты и методы, необходимые для решения МКЗ.

Рис. 6. Диаграмма классов для пакета Aggregation

Что касается классов ListOfCriterias и WByStepU, то они хранят данные характеризующие каждый критерий в отдельности. Структура класса ListOfCriterias такова: объект класса ListOfCriterias содержит массив объектов класса Criteria, а объект класса Criteria содержит массивы объектов класса Ru и Element соответственно.

Структура класса WByStepU полностью аналогична структуре класса ListOfCriterias.

Входные данные

В качестве входных данных используется те данные, которые пользователь явно указывает в приложении. Таким образом это: параметры функций предпочтения и результаты заполнения опросной таблицы.

Выходные данные

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

3.5    Демонстрация работы приложения


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

.        Заработная плата

.        Время поездки до места работы

.        Карьерный рост

Данное окно является основным пользовательским интерфейсом. Введем последовательно ниши три критерия.

Рис. 7. Критерий деньги

Рис. 8. Критерий карьерный рост

Для ввода многокритериального базисного объекта предусмотрены поля на форме опроса ЛПР. После ввода базиса производится опрос ЛПР. Все необходимые данные ЛПР заносит в таблицу, при этом это заполнение сопровождается подсказками (значение оценки, при котором сохраняется линейность ФПБК) Если ЛПР соглашается с подсказками, то линейность будет сохраняться, если же нет, то после опроса ЛПР будет вынужден откорректировать ЧНФП. Для этого он нажмет на соответству

Рис. 9. Ввод базиса. Опрос ЛПР. Вывод результата

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

Рис. 10. Откорректированная, линейная, частная нормированная функция предпочтения (Деньги)

Рис. 11. Откорректированная, гауссовская, частная нормированная функция предпочтения (Время)


Рис. 12. Откорректированная, гауссовская, частная нормированная функция предпочтения (Карьерный рост)

После корректировки ЧНФП, результаты опроса ЛПР станут достоверными, и линейность ФПБК будет выполняться. Все данные эксперта о критериях (т.е. массив объектов класса Criteria) будут сохранены в файл. Набор таких файлов, впоследствии, будет передан коллеге для построения коллективного решения.

 



Заключение

приложение коррекция нормированный

В рамках данной УИР произведена модификация выполненного ранее приложения. Увеличена универсальность приложения. Это достигнуто за счет возможности задания критериев произвольного типа. Произведено улучшение, касающееся удобства работы с приложением ЛПР. Теперь построение ЛПР частных функций предпочтения будет производиться при произвольном базисе, что позволит ЛПР с меньшими ошибками оценивать объекты опроса, так как в качестве базиса ЛПР сможет выбрать именно тот объект, с которым он хорошо знаком. Значит, и сравнивать с ним ему будет проще, точнее, быстрее. В ходе опроса важно проверять работу эксперта и помогать корректировать полученные им данные. Ошибки, допущенные ЛПР при опросе, исправляются в ходе коррекции частных функций предпочтения.

В результате выполнения учебно-исследовательской работы:

·        Увеличена функциональность приложения.

·        Реализованы процедуры построения ЛПР частных функций предпочтения при произвольном базисе.

·        Модифицирован пользовательский интерфейс, адаптированный для ввода базового многокритериального объекта.

·        Реализованы процедуры проверки построенных ЛПР частных функций предпочтения.

·        Модифицирована процедура коррекции ЧНФП по результатам опроса ЛПР.

Таким образом, в результате доработки функциональности приложения были увеличены удобство, точность и скорость работы ЛПР.

В дальнейшем, работа над данным приложением будет продолжена.

 


Используемая литература


1.   Елтаренко Е.А. Описание предпочтений в многокритериальных задачах с иерархической системой критериев // Информационные технологии. - 2013. − №2. - С. 2-10

2.      Кини Р.Л., Райфа Х. Принятие решений при многих критериях: предпочтения и замещения: Пер. с анг. - М.: Изд-во Радио и связь, 1981, 560 с.

.        Низаметдинов Ш.У. Анализ данных: учебное пособие. - М.: Изд-во МИФИ, 2006. 248 с.

.        Эккель Б. Философия Java. 4-е изд. - СПб.: Изд-во Питер, 2010. - 640 с.

.        Волков Е.А. Глава 1. Приближение функций многочленами. § 11. Сплайны // Численные методы. - Учеб. пособие для вузов. - 2-е изд., испр. - М.: Наука, 1987. - С. 63-68. - 248 с.

Похожие работы на - Разработка библиотеки классов на Java для построения частных функций предпочтений в многокритериальных задачах

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!