-ч ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS
Vol. 10. No. 3 (57). 2015 '
В. П. Попов, канд. физ.-мат. наук, доцент Нижегородского государственного университета
им. Н. И. Лобачевского, [email protected]
И. В. Майорова, канд. физ.-мат. наук, доцент Нижегородского государственного университета
им. Н. И. Лобачевского, [email protected]
интервальный подход к оптимизации решения многокритериальной задачи о назначениях
Рассматривается оптимизация решения многокритериальной задачи о назначениях, параметры которой заданы в виде интервалов . Оптимизация основана на решении двух задач математического программирования для верхней и нижней границ интервальных оценок, определяющих требования к должностям и претендентам на эти должности по совокупности критериев . Причем число претендентов может превышать количество должностей . Общим решением задачи является пересечение решений этих двух задач по определению оптимальных матриц назначений . При оптимизации минимизируется разница между требованиями к претендентам и должностям . Численное решение получено с помощью венгерского метода для задач о назначениях. Полученные результаты сравниваются с результатами, основанными на использовании нечетких бинарных отношений .
Ключевые слова: оптимизация, назначения, интервальный анализ, венгерский метод, неопределенные бинарные отношения .
введение
Задача оптимального распределения обязанностей между работниками, в решении которой участвует лицо, принимающее решение (ЛПР), имеет многолетнюю историю и различные варианты постановки. Например, в простейшем варианте [1] рассматривается назначениеп рабочих на выполнение п заданий, когда известно, сколько денег запросит каждый рабочий за выполнение того или иного задания. Требуется распределить задания среди рабочих так, чтобы минимизировать суммарные расходы. В более общей задаче, поставленной в [2], ЛПР обязано учитывать взаимное соответствие предъявляемых требований (изначально в вербальной формулировке) к должностям (объектам) и возможностей назначаемых (субъектов) по их удовлетворению. Вариантом такой задачи является кон-
курсный отбор претендентов на вакантные должности, причем число последних может быть меньше, чем число претендентов. Полагается, что в общем случае не существует совокупности очевидных назначений, приводящей к решению многокритериальной задачи о назначениях (МНЗ). Указанная задача оптимизации обычно решается в предположении, что все параметры задачи (например, критериальные оценки) детерминированы. Для задач высокой размерности (как по числу критериев соответствия субъектов объектам, так и по числу элементов) в [2] подчеркивается необычная роль ЛПР. Он выступает как посредник, как консультант в тех случаях, когда без его вмешательства решение задачи заходит в тупик.
Поскольку почти все параметры МНЗ определяются на основе экспертных оценок, то при решении задачи необходимо обратить внимание на следующие обстоятельства.
Том 10. № 3 (57). 2015
1. Экспертные оценки — это субъективная информация, основанная на суждениях высококвалифицированных специалистов (экспертов). Очевидно, что в таких задачах тот или иной способ принятия решения должен опираться на групповые суждения экспертов. В работе[3] рассматриваются такие способы построения групповых решений, которые опирались бы не столько на формальные правила, сколько на «разумные», легко воспринимаемые людьми принципы, позволяющие содержательно толковать получаемые решения.
2. Очевидно, что в условиях неопределенности (нечетких условий) для решения МНЗ целесообразно использовать различные элементы теории нечетких множеств. Здесь уместно сделать следующее замечание относительно поиска оптимальных решений задачи. Классическое математическое программирование и его разновидности — в значительной степени нормативная методология эффективного выбора. Нечеткое же программирование выделяет естественную множественность неточно поставленных целей, значений и ограничений. При этом оптимальность определяется и в терминах поведения, и как качество, присущее решению.
Главная цель нечеткого математического программирования (НПР) — помочь лицу, принимающему решение, разобраться в выдвинутых им допущениях. Нечеткий подход не подменяет собой простейшего анализа в поисках разумной точности. Он облегчает задачу ЛПР, позволяя ему не формулировать явно точные ограничения.
Стандартная задача НПР формулируется обычно как задача максимизации (или ми-нимизации)заданной функции на заданном множестве допустимых альтернатив, которое описывается системой равенств или неравенств [4].
3. Различные способы решения МНЗ с помощью теории нечетких множеств рассматривались неоднократно. Например, в [5] метод нечеткого логического вывода использован для задачи выбора фирмой
кандидата на замещение вакантной должности бухгалтера. В [6] решение в случае нескольких должностей и нескольких вакансий основано на использовании нечетких бинарных отношений ( (тах-тт) — композиция, (тах-ргс^) — композиция, (тт-тах) — композиция), причем проводится сравнение результатов, полученных с помощью этих разных нечетких моделей. Последнее обстоятельство очень важно при использовании нечеткого подхода. Это соображение будет реализовано в нашей задаче.
4. Есть еще одна интересная разновидность МНЗ [7], когда требуется учесть все предпочтения всех субъектов о возможных назначениях. Здесь предлагается использовать метод генетического консилиума как симбиоз людей и компьютера.
5. В работе [8] для МНЗ с большим исходным множеством альтернатив предлагаются «нечеткие» декомпозиционные методы решения задачи выбора и проводится их анализ.
Дополнительно к упомянутым методам рассмотрим еще один полезный вариант решения МНЗ, когда параметры задачи заданы лишь с точностью до интервалов возможных оценок [9], и обсудим его возможности.
Постановка, алгоритм и программная реализация
Проведем качественное и количественное обобщение задачи, рассмотренной в [2]. Рассмотрим задачу оптимального выбора из т претендентов на п вакантных должностей (т > п). С одной стороны, претендент на должность обязан соответствовать определенным требованиям. С другой стороны, ЛПР стремится предоставить каждому из них должность, соответствующую его возможностям. Предположим, что эксперты совместно с ЛПР, ответственным за назначения, разработали следующие критерии (К) для оценки соответствия субъектов (назначаемых СЬ) и объектов (долж-
Vol. 10. No. 3 (57). 2015
ностей Ob): K0 — профессиональная подготовленность, K1 — умение руководить коллективом, K2 — практический опыт.
Будем для простоты полагать, что для оценок значимости субъектов и объектов по выбранным критериям используется десятибалльная система (хотя может быть выбрана и другая шкала оценок). В соответствии с этой системой каждому субъекту (m) и объекту (л) по любому критерию выставляется своя интервальная оценка (здесь как пример в табл. 1 рассмотрены случаи m = 6, л = 3). Индексирование начиная с нуля удобно при программировании на языке C++.
Таблица 1. Интервальные оценки по каждому критерию для объектов и субъектов Table 1. Interval estimates for each criterion for objects and subjects
Объект Критерии
Ob Ko Ki K2
Ob0 [8, 9] [7, 8] [9,10]
Obi [7, 8] [8, 10] [6, 7]
Ob2 [6, 7] [5, 6] [6, 7]
Субъект Критерии
Cb- 1 Ko Ki K2
Cb0 [6, 8] [8, 9] [9, 10]
Cb, [6, 7] [8, 9] [7, 8]
Cb2 [9, 10] [7, 8] [8, 9]
Cb3 [9, 10] [8, 9] [10, 11]
Cb4 [7, 8] [6, 7] [8, 9]
Cb5 [5, 7] [9, 10] [7, 8]
Возникает вопрос: как найти наилучшее решение многокритериальной задачи о назначениях МЗН в данных условиях? Другими словами, как оптимальным образом совместить попарно объекты и субъекты?
В соответствии с теоремой работы [9] необходимо найти вначале решения двух детерминированных задач, соответствующих верхней и нижней границам интервальных оценок (назовем их верхней и нижней граничными задачами). Каждая из этих задач должна минимизировать некий «штраф», по-
казывающий степень критериального несоответствия между объектами и субъектами.
Поскольку важен лишь факт, указывающий на то, что возможности субъекта удовлетворяют (или превышают) выдвинутым требованиям, то естественно принять, что оценки возможностей, превышающие уровень удовлетворения требований, «одинаково хороши». Поэтому при вычислении штрафа используется во всех ячейках табл. 1 одинаковая по смыслу формула, по которой вычисляются разности между оценками субъектов и объектов по каждому критерию. Из приведенного замечания следует, что если эта разность положительна, то она заменяется нулем; отрицательное значение разности указывает величину штрафа. Таблица 2 получена для нижней границы интервальных оценок. Аналогично строится табл. 3 для верхней границы интервальных оценок.
Таблица 2. Штраф за несоответствие по каждому критерию назначаемого на должности (нижняя граница интервальных оценок)
Table 2. The penalty for discrepancy for each candidate by each criterion (the lower bound of the interval estimates)
Ob K Cb0 Cb, Cb2 Cb3 Cb4 Cb5
Ob0 -2 -2 0 0 -1 -3
Ob K0 -1 -1 0 0 0 -2
Ob2 0 0 0 0 0 -1
Ob0 0 0 0 0 -1 0
Ob K 0 0 -1 0 -2 0
Ob2 0 0 0 0 0 0
Ob0 0 -2 -1 0 -1 -2
Ob, K2 0 0 0 0 0 0
Ob2 0 0 0 0 0 0
Полагая важность каждого критерия одинаковой, в табл. 4 просуммируем штрафы по всем критериям для каждой пары назначений СЬ! - ОЬ. (При необходимости важность каждого критерия можно легко учесть, выполняя это суммирование с соответствующими весовыми коэффициентами.)
ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS /-
' Том 10. № 3 (57). 2015
Таблица 3. Штраф за несоответствие по каждому критерию назначаемого на должности (верхняя граница интервальных оценок)
Table 3. The penalty for discrepancy for each candidate by each criterion (the upper boundary of the interval estimates)
Суммарные штрафы за несоответствие по всем критериям назначаемых на должности для нижних и верхних границ интервальных оценок приведены в табл. 4.
Таблица 4. Суммарный штраф за несоответствие по всем критериям назначаемого на должности для нижних и верхних границ интервальных оценок Table 4. The total penalty for discrepancy for each candidate by all criteria (the lower and upper boundaries of interval estimates)
задаче он измеряется отрицательными числами) и дополнительно удовлетворять следующим свойствам:
1) суммы элементов по всем строкам должны быть равны 1 (каждый субъект обязательно занимает одну из должностей);
2) суммы элементов по всем столбцам должны быть равны 1 (каждая должность обязательно занимается одним из субъектов).
Множеством решений исходной интервальной задачи о назначениях с матрицей издержек («штрафов») А = [ А1, А2 ] является пересечение множеств решений нижней и верхней граничных задач [9].
Таким образом, решение поставленной интервальной задачи сводится к поиску одноименных оптимумов по нижней и верхней граничным задачам.
В зависимости от размерности поставленной задачи могут быть разные варианты ее решения. Например, при п = т = 6 (в табл. 4 этому случаю соответствуют ячейки с серой заливкой), решение может быть выполнено без использования специального программного обеспечения методом логических определителей [9].
Опуская несложные вычисления, приведем сразу решения нижней граничной задачи для матриц назначений Х1 и Х2, которые для наглядности представлены в виде таблиц):
оь K Cbo Cb, Cb2 Cb3 Cb4 Cb5
Obо -1 -2 0 0 -, -2
Ob, Ko 0 0 0 0 H
Ob2 0 0 0 0 0 0
Obo 0 0 0 0 0
Ob, K, -1 -, -2 -, -3 0
Ob2 0 0 0 0 0 0
Obo 0 -2 -, 0 -, -2
Ob, K2 0 0 0 0 0 0
Ob2 0 0 0 0 0 0
Ob, Cb0 Cb, Cb2 Cb3 Cb4 Cb5
Ob0 [-2, [-4, -4] H, [0, 0] [-3, -3] [-5, -4]
Ob, H, H, -2] H, -2] [0, [-2, -3] [-2,
Ob2 [0, 0] [0, 0] [0, 0] [0, 0] [0, 0] H, 0]
X =
Ob, Cb0 Cb, Cb2
Ob0 0 0
Ob, 0 0
Ob2 0 0
х, =
Ob, Cb0 Cb, Cb2
Ob0 0 0
Ob, 0 0
Ob2 0 0
Эту таблицу можно представить в виде интервальной матрицы А = [ А1, А2 ], где А1 = |а1|, А2 = |а2| — матрицы «штрафов» для нижней и верхней граничных задач.
Нашей задачей является определение булевой матрицы назначений X = X |, все элементы которой принимают значения 1 или 0 (1 соответствует назначению субъекта СЬ/ на должность ОЬ,). Матрица назначений должна максимизировать значение суммарного штрафа ^^а^ (так как в нашей
I 1
В более компактном виде эти решения (т. е. соответствие номеров субъектов и объектов) можно представить следующим образом:
X
Номер субъекта j 0 2 X2 = Номер субъекта j 0 2
Номер объекта i 2 0 Номер объекта i 2 0
Каждой из этих матриц соответствует максимальное значение штрафа (-2). Тем же методом для верхней граничной задачи полу-
Vol. 10. No. 3 (57). 2015
чаем следующие матрицы назначении с таким же максимальным значением штрафа:
Ob Cbo Cbi Cb2 Ob Cb0 Cb1 Cb2
Obo 0 0 1 X4= Ob0 0 0 1
Ob1 1 0 0 Ob1 0 1 0
Ob2 0 1 0 Ob2 1 0 0
Ob Cb0 Cb1 Cb2
Ob0 1 0 0
Ob1 0 1 0
Ob2 0 0 1
Или в компактном виде:
Номер субъекта j 0 1 2
Номер объекта i 1 2 0
Номер субъекта j 0 1 2
Номер объекта i 0 1 2
Номер субъекта j 0 1 2
Номер объекта i 2 1 0
R = Номер субъекта j 0 1 3 R2 = Номер субъекта j 0 2 3
Номер объекта i 1 2 0 Номер объекта i 1 2 0
R = Номер субъекта j 0 3 4
Номер объекта i 1 0 2
Отметим, что совпадение значении штрафов нижней и верхней граничных задач совсем не обязательно для решения исходной задачи.
Пересечению множеств решений нижней и верхней граничных задач соответствует матрица назначений Х1 = Х3 и Х2 = Х4, которые и являются окончательным решением поставленной задачи (при п = т = 3).
При более высокой размерности задачи (например, в нашем случае т = 6, п = 3) невозможно обойтись без специального программного обеспечения. С этой целью на основе обобщения хорошо известного венгерского алгоритма решения задачи о назначениях [10] на языке С++ была написана программа. Эта программа (листинг 1 и 2) находит все оптимальные решения (Я) верхней и нижней граничных задач и выводит на печать только те решения, которые соответствуют их пересечению. В нашем случае для табл. 4 было получено три решения, которые показывают, каким субъектам какие объекты соответствуют:
описание программы
В листинге 1 определены символические константы, типы данных и объявлены функции программы. В листинге 2 определена главная функция программы — функция main.
В функции main после описания необходимых массивов и переменных происходит вызов функции FunOcSum (строка 10), в которой на основе исходных данных (табл. 1) вычисляются суммарные штрафы (табл. 4). Далее вызывается функция Perestanovka (строка 11), вычисляющая массив перестановок номеров претендентов на должности. Используется известный алгоритм порождения перестановок с помощью векторов инверсий — функция Permut. Для чего нужны перестановки? Дело в том, что венгерский метод эффективен при m = n, но при m > n он находит только одно решение, которое, как показали исследования, зависит от порядка следования столбцов в табл. 4. Перестановки используются, чтобы найти все возможные решения. Вместо перестановки столбцов можно использовать перестановку строк в табл. 4.
Внешний цикл по количеству перестановок (строка 17) организован для поиска возможного решения для нижней границы интервальной оценки. Внутренний цикл (строка 23) организован для поиска возможного решения для верхней границы интервальной оценки. Расчеты выполняются с помощью функции FunRezalt, из которой вызывается функция Hungarian, где реализован венгерский алгоритм. Если решения задач о назначениях для верхней и нижней границ совпадают, то это решение выводится на экран
126
X =
X =
X =
X =
X =
Том 10. № 3 (57). 2015
Листинг 1. Объявление функций Listing 1. Declaration of functions
Listing 1. Declaration of functions
#include <vector>
#include <limits>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <conio.h>
using namespace std;
#define G 2 //Количество границ (верхняя, нижняя)
#define K 3 //Количество критериев
#define N 3 //Количество должностей
#define M 6 //Количество претендентов на должности
#define P 720 //P = M!
typedef pair<int, int> PInt; typedef vector<int> VInt; typedef vector<VInt> VVInt; typedef vector<PInt> VPInt;
const int inf = numeric_limits<int>::max(); // inf = 2147483647 VPInt Hungarian(const VVInt &matrix); //Венгерский алгоритм
void FunOcSum(int OcSum[G][N][M] void FunResult(int Result[N][2], void Sortirovka(int Result[N][2] bool Sravnenie(int Result0[N][2]
; //Вычисление суммарных штрафов(Таблицы 2,3,4) int OcSum[G][N][M], int Per[P][M], int g, int p) ; //Сортировка результата по номеру субъекта int Result1[N][2]); //Сравнение рез-тов
по нижней и верхней границе
void PrintOcSum(int OcSum[G][N][M]); //Вывод в файл суммарных штрафов void PrintOc(int Oc[G][K][N][M]); //Вывод (Таблицы 2,3) void PrintResult(int Result[N][2]); //Ф-ция вывода результата void Perestanovka(int Per[P][M]);//Вычисляет все перестановки столбцов
массива(Таблица 4) void Permut(int V_inv[M], int PM[M], int V_std[M]
void SetArxiv(int Arxiv[2 0][N][2]
bool PoiskArxiv(int Arxiv[20][N][2], ofstream fout("VMSrav_3x6_Perest.txt
int Result[N][2 , int Result[N]
ios::out)
//Вызывается из ф-ции Perestanovka , int &A); //Сохранение
в архиве 2], int A); //Поиск в архиве //Открытие файла
Листинг 2. Функция main Listing 2. Function main
1 int main()
2 {
3 int OcSum[G][N][M]; //Массив для хранения суммарных штрафов (Таблица 4)
4 int Result0[N][2], Result1[N][2]; //Массивы для хранения результатов по
5 нижней и верхней границе
6 int Per[P][M]; //Массив для хранения перестановок номеров столбцов
7 int Arxiv[2 0][N][2] = {0}; //Архив для хранения всех возможных результатов
127
Vol. 10. No. 3 (57). 2015
Окончание листинга 2
8 int g, g1, p, p1, m, A;
9
10 FunOcSum(OcSum); //Вычисление суммарных штрафов(Таблицы 2, 3, 4)
11 Perestanovka(Per); //Вычисляет все перестановки столбцов массива
12
13 fout << "Perestanovka Stolbcov" << endl << endl;
14
15 A = 0; //Архив пустой
16
17 for(p = 0; p < P; p++) //Внешний цикл по количеству перестановок столбцов
18 {
19 g = 0; //Нижняя граница
20 {
21 FunResult(Result0, OcSum, Per, g, p); //Рез-ат по нижней границе
22
23 for(p1 = 0; p1 < P; p1++) //Внутренний цикл по количеству
перестановок столбцов
24 {
2 5 g1 = 1; //Верхняя граница
26 FunResult(Result1, OcSum, Per, g1, p1); //Рез-ат по верхней границе
27 if(Sravnenie(Result0, Result1)) //Сравнение результатов
28 {
29 if(A == 0) //Если в архиве ничего нет
30 {
31 fout << endl << " G(granica) = " << g <<
32 " P(perestanovka) = " << p << endl << endl;
33 PrintResult(Result0);
34 fout << endl << " G(granica) = " << g1 <<
35 " P(perestanovka) = " << p1 << endl << endl;
36 PrintResult(Result1);
37 fout << "Yes" << endl;
3 8 fout << "---------------------------------------" << endl;
39 SetArxiv(Arxiv, Result0, A); //Добавление результата в архив
40 }
41 else //Если в архиве есть результат
42 {
43 if(!PoiskArxiv(Arxiv, Result0, A)) //Поиск в архиве
44 {
45 fout << endl << " G(granica) = " << g <<
46 " P(perestanovka) = " << p << endl << endl;
47 PrintResult(Result0);
48 fout << endl << " G(granica) = " << g1 <<
49 " P(perestanovka) = " << p1 << endl << endl;
50 PrintResult(Result1);
51 fout << "Yes" << endl;
52 fout << "---------------------------------------" << endl;
53 SetArxiv(Arxiv, Result0, A); //Добавление рез-ата в архив
54 }
55 }
56 }
57 }
58 }
59 }
60 cout << "Rezultat - file" << endl;
61 return 0;
62 }
ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS /-
' Том 10. № 3 (57). 2015
монитора, сохраняется в файле — функция PrintResult и заносится в архив — функция SetArxiv. Все последующие найденные решения сравниваются с решениями, занесенными в архив (функция PoiskArxiv). Если найденного решения еще нет в архиве, то оно также заносится в архив и в файл (рис. 1).
2. Но с другой стороны, если отсутствует указанное выше пересечение множеств решений нижней и верхней граничных задач, то поставленная задача не имеет решения [9]. Тогда, по-видимому, ее следует решать на основе нечетких интервалов, но ответ будет получен в виде нечеткой матрицы назначений.
3. Когда поставленная задача имеет несколько четких решений (например, в нашем случае их 3), то требуется уточнение или доопределение условия задачи ЛПР.
4. Но можно несколько изменить постановку задачи и решить ее с помощью нечетких бинарных отношений [6] и сравнить полученные результаты. Это будет являться основанием для более уверенного вывода относительно отбора претендентов, а также корректности используемых моделей. С этой целью, используя табл. 1 с интервальными оценками по каждому критерию для объектов и субъектов, зададим конкретные значения функций принадлежности рассматриваемых нечетких отношений как средние значения интервальных оценок (табл. 5).
Используя методику решения, описанную в [6], нетрудно получить следующие результаты для (max-min) — композиции и (max-prod) — композиции двух исходных нечетких множеств (табл. 6, 7).
Таблица 5. Нечеткие отношения профилирования объектов и субъектов Table 5. Fuzzy relations profiling of objects and subjects
Рис. 1. Файл результатов Fig. 1. File of results
обсуждение результатов
Относительно решенной задачи необходимо сделать ряд замечаний.
1. С одной стороны, используемый интервальный подход устраняет неоднозначность решения исходной задачи, которая имеется для нижней и верхней граничных задач по отдельности.
Объект Критерии
Ob K0 K1 K2
Ob0 8,5 7,5 9,5
Ob1 7,5 9,0 6,5
Ob2 6,5 5,5 6,5
Субъект Критерии
Cb K0 K1 K2
Cb0 7,0 8,5 9,5
Cb, 6,5 8,5 7,5
Cb2 9,5 7,5 8,5
Cb3 9,5 8,5 10,5
Cb4 7,5 6,5 8,5
Cb 6,0 9,5 7,5
Vol. 10. No. 3 (57). 2015
Таблица 6. (Мах-тт)-композиция Table 6. (Max-min)-composition
Ob,. Cb0 Cb, Cb2 Cb3 Cb4 Cb5
Ob0 9,5 7,5 8,5 9,5 8,5 7,5
Ob, 8,5 8,5 7,5 8,5 7,5 9,0
Ob2 6,5 6,5 6,5 6,5 6,5 6,5
Таблица 7. (Max-prod)-композиция Table 7. (Max-prod)-composition
Ob Cbo Cb, Cb2 Cb3 Cb4 Cb5
Obo 90,25 71,25 80,75 99,75 80,75 71,25
Ob, 76,50 76,50 71,25 76,50 58,50 85,50
Ob2 61,75 48,75 61,75 68,25 55,25 52,25
На основе максимальных значений функций принадлежности композиций рассматриваемых нечетких отношений можно рекомендовать следующие варианты матриц назначений (разделенных точкой с запятой): для (тах-1гт)-композиции
Номер субъекта j 0; 3 5 1; 2
Номер объекта i 0 1 2
для (max-prod)-композиции
Номер субъекта j 3 5 0; 2
Номер объекта i 0 1 2
Нетрудно заметить, что для обеих композиций существует определенное совпадение результатов (т. е. можно составить одинаковые матрицы назначений). Однако ни одна из этих матриц не совпадет полностью с матрицами, полученными на основе решения задачи оптимизации (хотя по отдельным назначениям такое пересечение имеется). Впрочем,это не предполагалось, поскольку в этой задаче была использована свертка критериев в виде суммарного штрафа.
Заключение
В работе рассмотрены разные подходы к решению МНЗ в условиях неопределенности. Использование различных нечетких моделей и сравнение их результатов позволяет делать более уверенные назначения. Очевидно также, что выбор моделей в значительной степени зависит от степени неопределенности и размерности задачи (как
по числу критериев соответствия субъектов объектам, так и по числу элементов). В нашем случае в интервальном подходе задача более определенная, чем при использовании метода нечетких бинарных отношений. Следует также заметить, что разработка программного обеспечения в интервальном подходе требует несравненно больших усилий, чем в методе нечетких бинарных отношений. По-видимому, в условиях неопределенности усилия, затраченные на сопоставление разных моделей, — это неизбежное требование, чтобы избежать в задачах управления больших ошибок.
Список литературы
1. Harold W. Kuhn. The Hungarian Method for the assignment problem // Naval Research Logistics Quarterly. 1955. № 2. P. 83-97.
2. Ларичев О. И. Теория и методы принятия решений. М.: Издательская корпорация Логос, 2000. — 295 с.
3. Алтунин А. Е., Семухин М. В. Модели и алгоритмы принятия решений в нечетких условиях. Тюмень: Издательство Тюменского государственного университета, 2000. — 352 с.
4. Кузьмин В. Б. Построение групповых решений в пространствах четких и нечетких бинарных отношений. М.: Наука, 1982. — 168 с.
5. Андрейчиков А. В., Андрейчикова О. Н. Анализ, синтез, планирование решений в экономике. М.: Финансы и статистика, 2000. — 364 с.
6. Использование нечетких бинарных отношений при решении задачи о назначениях (распределение персонала). URL: http://www.habrahabr.ru
7. Протасов В. И., Витиска Н. И, Шустов А. В. Решение многокритериальной задачи назначений методом генетического консилиума. URL: http:// www.e-rej.ru
8. Абаев Лев Ч. Выбор вариантов в нечеткой среде: бинарные отношения и нечеткая декомпозиция. URL: http://www.fuzzy.kstu.ru
9. Левин В. И. Интервальный подход к оптимизации в условиях неопределенности // Информационные технологии. 1999. № 1. С. 7-12.
10. Швед Д. Реализация венгерского алгоритма на C++. URL: http://www.acm.mipt.ru/twiki/bin/view/ Algorithms/
130
Том 10. № 3 (57). 2015
References
1. Harold W. Kuhn. The Hungarian Method for the assignment problem. Naval Research Logistics Quarterly, 1955, no. 2. pp. 83-97.
2. Larichev O. I. Teoriya i metody prinyatiya reshenii [Theory and methods of decision making]. Moscow, «Izdatel'skaya korporatsiya Logos» Publ., 2000. 295 p.
3. Altunin A. E., Semukhin M. V. Modelii algoritmyprinyatiya reshenii v nechetkikh usloviyakh [Models and algorithms for decision making in fuzzy conditions]. Tyumen', Tyumenskogo gosudarstvennogo univer-siteta Publ., 2000. 352 p.
4. Kuz'min V. B. Postroenie gruppovykh reshenii v prostranstvakh chetkikh i nechetkikh binarnykh ot-noshenii [Building a group of solutions in spaces of crisp and fuzzy binary relations]. Moscow, Nauka Publ., 1982. 168 p.
5. Andreichikov A. V., Andreichikova O. N. Analiz, sin-tez, planirovanie reshenii v ekonomike [Analysis, synthesis, planning decisions in the economy]. Moscow, Finansy i statistika Publ., 2000. 364 p.
6. Ispol'zovanie nechetkikh binarnykh otnoshenii pri reshenii zadachi o naznacheniyakh (raspredelenie personala) [The use of fuzzy binary relations when the solution of the assignment (distribution of staff)]. URL: http://www.habrahabr.ru
7. Protasov V. I., Vitiska N. I., Shustov A. V. Reshenie mnogokriterial'noi zadachi naznachenii metodom geneticheskogo konsiliuma [The solution of the mul-ticriteria problem assignments genetic consultation]. URL: http://www.e-rej.ru
8. Abaev Lev Ch. Vybor variantov v nechetkoi srede: binarnye otnosheniya i nechetkaya dekompozitsiya [Choices in fuzzy environment: binary relations and fuzzy decomposition]. URL: http://www.fuzzy.kstu.ru
9. Levin V. I. Interval'nyi podkhod k optimizatsii v usloviyakh neopredelennosti [Interval approach to optimization under uncertainty]. Informatsionnye tekh-nologii, 1999, no. 1, pp. 7-12.
10. Shved D. Realizatsiya vengerskogo algoritma na C++ [The implementation of the Hungarian algorithm in C++]. URL: http://www.acm.mipt.ru/twiki/ bin/view/Algorithms/
V. Popov, Lobachevsky state university of Nizhni Novgorod, Nizhni Novgorod, Russia, [email protected] I. Mayorova, Lobachevsky state university of Nizhni Novgorod, Nizhni Novgorod, Russia, [email protected]
An interval approach to optimization of solving of multi-objective task about appointments
We consider the method of conditional optimization of solving of multi-objective task about appointments on the assumption that the number of candidates is equal or more than the number of vacant positions. Whereas eligibility assessments of task is unclear and is based on the judgment of experts we must use elements of fuzzy sets theory and the fuzzy mathematical programming. In our problem the optimization with interval parameter is supposed the solving of two tasks of mathematical programming with upper and lower value boundaries. In both tasks, as the objective functions are used the total score penalty for non-compliance of subjects (candidates) and objects (appointments) for each criterion.
The meet of two solving is general solving of optimization problem. In this paper we use interval analysis and interval discrete optimization with Boolean variables, which determine appointment matrix. The Hungarian Method for the assignment problem was used for solving of optimization problems. An appointment matrix must provide the minimum of value of difference between requirements to candidates for appointments and requirements to appointments. It should be noted that it is not always the intersection of the sets of solutions to both problems, and then the task has no decision. In this case the problem should be solved on the basis of indistinct intervals, but the solving will be received in the form of an indistinct appointment matrix.
The results of solving of optimization problems are compared with results, which are received on base of fuzzy binary relations ( (max-min) — composition and (max-prod) — composition).
This comparison is necessary for more reliable conclusions about the selection of candidates Keywords: optimization, assignment problem, interval analysis, Hungary Method, fuzzy binary relations. About authors: V. Popov, PhD in Physics & Mathematics, Associate Professor I. Mayorova, PhD in Physics & Mathematics, Associate Professor
For citation: Popov V., Mayorova I. An interval approach to optimization of solving of multi-objective task about appointments. Prikladnaya informatika — Journal of Applied Informatics, 2015, vol. 10, no. 3, pp. 122-131 (in Russian).