Научная статья на тему 'РАЗРАБОТКА ПРОБЛЕМНО-ОРИЕНТИРОВАННОЙ СИСТЕМЫ ДЛЯ РЕШЕНИЯ ОПТИМИЗАЦИОННОЙ ЗАДАЧИ УПРАВЛЕНИЯ ПОТОКОМ ПОСТУПАЮЩИХ ЗАЯВОК'

РАЗРАБОТКА ПРОБЛЕМНО-ОРИЕНТИРОВАННОЙ СИСТЕМЫ ДЛЯ РЕШЕНИЯ ОПТИМИЗАЦИОННОЙ ЗАДАЧИ УПРАВЛЕНИЯ ПОТОКОМ ПОСТУПАЮЩИХ ЗАЯВОК Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
49
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОПТИМИЗАЦИОННАЯ ЗАДАЧА / ПРОБЛЕМНО-ОРИЕНТИРОВАННАЯ СИСТЕМА / МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ / МЕТОД ИМИТАЦИИ ОТЖИГА / ЗАДАЧА О НАЗНАЧЕНИЯХ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дятчина А.В., Олейникова С.А., Недикова Т.Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дятчина А.В., Олейникова С.А., Недикова Т.Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF A PROBLEM-ORIENTED SYSTEM FOR SOLVING OPTIMIZATION TASK OF MANAGING THE FLOW INCOMING APPLICATIONS

The work is devoted to the development of methods and problem-oriented programs for the task of determining the best match between the flow of incoming applications and specialists who can fulfill them. In the classic version, this task is a task about assignments. The fundamental difference between the considered task and the known option is the use of several arbitrary criteria reflecting the quality of the chosen solution, the availability of a schedule of specialists servicing applications that came earlier, as well as time constraints on the performance of work. One of the combinatorial methods of discrete optimization, the method of simulated annealing, was chosen as an approach for developing the algorithm. It is advisable to use this method for complex NP-complete discrete optimization problems, to which the problem under study belongs. Special attention is paid to the development of a problem-oriented system, which is based on the practical implementation of the described algorithm. The structure of this system is developed, the database is designed, the main forms of the application are presented. In addition, the article presents the results of the proposed algorithm on test data. The developed algorithm and the problem-oriented system can be used at any enterprises and organizations in which it is required to solve the problem of distributing the flow of incoming applications to specialists from the point of view of a variety of criteria

Текст научной работы на тему «РАЗРАБОТКА ПРОБЛЕМНО-ОРИЕНТИРОВАННОЙ СИСТЕМЫ ДЛЯ РЕШЕНИЯ ОПТИМИЗАЦИОННОЙ ЗАДАЧИ УПРАВЛЕНИЯ ПОТОКОМ ПОСТУПАЮЩИХ ЗАЯВОК»

Б01 10.36622^Ти.2023.19.4.005 УДК 519.8

РАЗРАБОТКА ПРОБЛЕМНО-ОРИЕНТИРОВАННОЙ СИСТЕМЫ ДЛЯ РЕШЕНИЯ ОПТИМИЗАЦИОННОЙ ЗАДАЧИ УПРАВЛЕНИЯ ПОТОКОМ ПОСТУПАЮЩИХ ЗАЯВОК

А.В. Дятчина, С.А. Олейникова, Т.Н. Недикова

Воронежский государственный технический университет, г. Воронеж, Россия

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

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

Введение

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

В рамках данного исследования будет рассмотрен вариант представления разработки проблемно-ориентированной системы (ПОС), предназначенной для решения задачи, обладающей следующими особенностями:

1. Наличие нескольких критериев, различных по степени важности,

2. Наличие временных ограничений,

3. Наличие расписания занятости выполнением заявок, поступивших ранее.

Эти ограничения создают дополнительные сложности в решении модифицированной задачи о назначениях, которую с учетом всех осо-

© Дятчина А.В., Олейникова С.А., Недикова Т.Н., 2023

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

1. Теоретический анализ

Подробное описание формализованной оптимизационной задачи и алгоритма, учитывающего данные особенности, приводилось в [3]. Ее можно сформулировать следующим образом. Пусть имеется поток проектных задач (заявок), каждая из которых может быть выполнена одним из N специалистов. Без ограничения общности предполагаем, что данные задачи поступают одновременно. Пусть к моменту поступления задач у каждого из специали-

стов имеется расписание, показывающего его загрузку в каждый момент времени t:

fl, если спец. i занят в момент t; /1 \

Sch. (t) = •)' 4 (!)

1 [ 0, в противном случае

Предполагается, что каждый специалист i, i = 1,..., N выполняет данную задачу j, j = 1,..., M в течение времени tij.

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

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

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

!г=1 Е?=1 Еу=1 afiljXij ^ min. (2)

Здесь с у - значения матрицы с у, приведенные к так называемой единой балльной шкале.

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

В качестве ограничений рассмотрим необходимость выполнения всех задач в поставленные сроки. Для этого сначала определим возможное время начала выполнения задачи j у специалиста i.

^нач(Х У)

min(t*: Schi (О = 0, t* < t < t* + ttj) (3)

Тогда временные ограничения на директивный срок завершения работы можно описать следующим образом:

2(=1 xij (рнач(},УО + £(_/') < tj

дир •

(4)

Акцентируем внимание, что данная задача является развитием задачи о назначениях. В классическом варианте требуется распределить N задач по N специалистам с точки зрения некоторого критерия [1, 2].

Существуют различные разновидности данной задачи. В частности, в [4] представлен подход к решению многокритериальной задачи о назначениях, а также задаче с разным числом исполнителей и заданий.

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

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

Предложим алгоритм решения поставленной задачи. В основу положим метод имитации отжига, являющийся одним из наиболее эффективных алгоритмов комбинаторной оптимизации [5, 6].

Основная идея данного алгоритма заключается в последовательном перемещении по пространству состояний таким образом, чтобы каждая новая точка претендовала бы на то, чтобы улучшить с точки зрения цели новое решение. В общем виде алгоритм имеет следующую структуру [6]:

Шаг 1. Определить начальное решение.

Шаг 2. Скорректировать согласно некоторому алгоритму данное решение и проверить целевую функцию на новом варианте.

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

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

Под решением будем понимать массив х = (хь...,хп), каждый элемент которого содержит идентификатор задачи, которая будет закреплена за исполнителем хь { = 1,., N.

В качестве целевой функции Б без ограничения общности, рассмотрим свертку критериев, представленную в (2).

Для данной задачи алгоритм будет иметь следующий вид:

Шаг 1. Предварительная работа алгоритма.

1.1. Цикл Нц

Распределить случайным образом работы по специалистам (массив Е5)

Кц (До тех пор, пока не будут выполнены ограничения)

1.2. Если эталонного решения не найдено (например, цикл проработал 100 раз впустую),

то задача не имеет решений Иначе переходим к шагу 2.

Шаг 2. Т=Т

А А нач

В цикле (по ! пока Т>Ткон) Нц

2.1. Цикл Нц

Выбрать случайным образом двух специалистов

Поменять между ними работы Записать результат в массив ТБ

Кц (пока не получим решения удовлетворяющего всем ограничениям)

2.2. Если Е(Т8)<Е(ЕБ) // нашли решение лучше

то ЕБ=ТБ

иначе Р(П = ехр (-БЛ;) // опреде-

лить вероятность замены Es на ТБ,

где , 1! - текущий шаг

2.3. с вероятностью Р ES = TS

2.4. ti=ti-Temp(ti) // понижаем температуру с помощью функции Тетр()

Кц

выдаем в качестве ответа ES - новое решение.

Для практического решения задачи и реализации описанного выше алгоритма разработан программный комплекс на языке С#. В структуру комплекса входят: база данных и вычислительный блок, содержащий различные модули, необходимые для решения многокритериальной оптимизационной задачи управления потоком поступающих заявок. Структура проблемно-ориентированной системы представлена следующим образом (рис. 1).

Рис. 1. Структура проблемно-ориентированной системы

В базе данных хранятся необходимые сведения обо всех работах, специалистах, критериях и других сущностях, которые требуется для решения поставленной задачи. Ее структура приведена на рис. 2.

Рассмотрим пример расчетов. Работу алгоритма протестируем на учебных данных.

Pro[set *

• Id Project name Time end Categ ' Id

Id Task Status Time limits

Schedu

! Id Id Task Id~HR Time_L£mits Time free

"Id Task Task

Tasks Criterion *_

»Id_Task Id Critical Value Ratio

: Id First_Name Last_Name Lasr&First Name

■ Id_Critical Name

J" Crit Tùtk HR

Id_Crit Id_Task Id HR Value

Рис. 2. Структура базы данных

В табл. 1 представлен фрагмент исходных данных, содержащий время выполнения каждой из работ каждым из сотрудников. В данной матрице по строкам отложены работы, по столбцам - специалисты. Каждая ячейка содержит временное значение, которое данный специалист тратит на выполнение данной работы.

Таблица 1 Матрица значений длительности

выполнения работ исполнителями

Раб.1 Раб.2 Раб.3 Раб.4 Раб.5

Исп.1 2 20 6 2 4

Исп.2 5 15 5 3 3

Исп.3 1 24 7 4 5

Исп.4 4 18 9 1 2

Исп.5 3 16 10 2 4

Исп.6 1 18 6 4 3

Исп.7 6 23 8 3 4

В табл. 2 приведен пример временных ограничений, которые действуют на время вы-

полнения работ и сужают поле вариативности назначения работ исполнителям.

Таблица 2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Временные ограничения

Раб.1 Раб.2 Раб.3 Раб. 4 Раб.5

3 20 7 3 3

Без ограничения общности, система тестировалась на трех критериях.

В системе имеется возможность добавить или выбрать сотрудника, просмотреть о нем основные данные и заполнить экспертный раздел - данные по проделанным работам.

Также есть возможность просмотреть каждую задачу и выставить для нее приоритетные критерии исполнения, которые повлияют на основные вычисления при итоговом распределении проектных заявок (задач) по исполнителям (рис. 3). Следующая страница ИС позволяет выбрать задачи и исполнителей для дальнейшего распределения (рис. 4).

■Ц И С СУП пз

X

Сотрудники Задачи и Критерии Вычисления

Ревью кода стажеров

Выбор критерия качества

О Скорость решения {человека-чэсы)

Основная информации о задаче

Провести ревыо кода стажера Карпова Александра. 0 Корректность решения (отсутствие багов) Дать развернутый комментарий. Г~1 Г ' Н чкИ

Заполнить опросный лист прохождения стажировки. '—' соае «1 с

Дополнительная информация о задаче

Учесть ранее допущенные стажером ошибки. При их повторе провести менторскую сессию.

Добавить задачу

Сохранить

Рис. 3. Вид страницы «Задачи и критерии»

40

Рис. 4. Вид страницы «Вычисления»

Перед тем как перейти к результату работы проблемно-ориентированной системы, обратимся к результатам свертки критериев представленной в виде матрицы в табл. 3.

Таблица 3

Результат свертки критериев_

Раб.1 Раб.2 Раб.3 Раб.4 Раб.5

Исп.1 56,37 55,67 62,42 63,5 59,87

Исп.2 59,48 66,11 66,48 58,61 55,84

Исп.3 59,17 59,71 66,44 60,06 62,08

Исп.4 61,18 67,59 64,98 56,4 55,12

Исп.5 64,25 38,97 64,25 56,77 53,84

Исп.6 64,98 63,69 64,42 59,71 61,72

Исп.7 53,52 62,05 61,48 60,63 55,84

Каждая ячейка данной таблицы содержит обобщенный результат, который показывает предпочтительность выполнения данной задачи данным специалистом с точки зрения всех (в данном примере - трех) критериев.

На рис. 5 представлен результат итогового распределения 5 работ по 7 исполнителям с учетом их занятости предыдущими заданиями (отражено в сущности Schedule) и временных ограничений методом имитации отжига.

Таким образом, разработано проблемно-ориентированный комплекс, предназначенный для решения оптимизационной задачи о назначениях с множеством критериев и временными ограничениями.

.А, ИС СУП ПЗ - Расчет распределения задач — □ X

Минимальное значение для первой гадачим 55,14 Минимальное значение для второй задании 43,29 Минимальное значение для Третьей задачим 63,64 Минимальное значение для четвертой эадачим 56,67 Минимальное значение для пятой задачим 54,92

Итоговое распределение задач:

Для первой задачи выбран разработчик номер -1 Для второй задачи выбран разработчик номер - 5 Для третьей задачи выбран разработчик номер - 6 Для четвертой задачи выбран разработчик номер-4 Для пятой задачи выбран разработчик номер - 2

Рис. 5. Итоговое распределение работ

Выводы

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

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

2. Предложен предварительный вариант искомой ПОС, учитывающий особенности и ограничения, описанные выше.

3. Проведено тестирование работы данного алгоритма на различных исходных данных для оценки качества его работы и обоснованию его эффективности.

Следующим этапом будет являться последовательное тестирование разработанной си-

стемы на множестве данных, а также дополнение ее наличием расписания специалистов, учитывающим работы, которые пришли ранее.

Литература

1. Беленький А.С. Исследование операций в транспортных системах: идеи и схемы методов оптимизации планирования. М.: Мир, 1992. 582 с.

2. Вагнер Г. Основы исследования операций. Т. 1. Пер. с англ. М.: Мир, 1972. 336 с.

3. Олейникова С.А., Дятчина А.В. Разработка специального математического обеспечения системы управления потоком поступающих заявок // Вестник Воронежского государственного технического университета. T. 19. № 2. 2023. С.33-37.

4. Лелякова Л.В., Харитонова А.Г., Чернышева Г.Д. Прикладные задачи о назначениях // Вестник ВГУ. Серия: Системный анализ и информационные технологии. 2017. № 2. С. 22 -27.

5. Батищев Д.И. Генетические алгоритмы решения экстремальных задач: учебное пособие. Воронеж: ВГТУ, 1995. 65 с.

6. Пападимитриу X., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. М.: Мир, 1984. 512 с.

Поступила 13.06.2023; принята к публикации 15.08.2023 Информация об авторах

Дятчина Анастасия Владимировна - аспирант, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, 84), e-mail: thenochnaya@mail.ru

Олейникова Светлана Александровна - д-р техн. наук, профессор кафедры автоматизированных и вычислительных систем, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, 84), e-mail: s.a.oleynikova@gmail.com, ORCID: https://orcid.org/0000-0002-0333-2313

Недикова Татьяна Николаевна - канд. техн. наук, доцент кафедры автоматизированных и вычислительных систем, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, 84), e-mail: nedikova.tatyana@mail.ru, тел. +79036508606, ORCID: https://orcid.org/0000-0001-9915-4242

DEVELOPMENT OF A PROBLEM-ORIENTED SYSTEM FOR SOLVING OPTIMIZATION TASK OF MANAGING THE FLOW INCOMING APPLICATIONS

A.V. Dyatchina, S.A. Oleinikova, T.N. Nedikova Voronezh State Technical University, Voronezh, Russia

Annotation: the work is devoted to the development of methods and problem-oriented programs for the task of determining the best match between the flow of incoming applications and specialists who can fulfill them. In the classic version, this task is a task about assignments. The fundamental difference between the considered task and the known option is the use of several arbitrary criteria reflecting the quality of the chosen solution, the availability of a schedule of specialists servicing applications that came earlier, as well as time constraints on the performance of work. One of the combinatorial methods of discrete optimization, the method of simulated annealing, was chosen as an approach for developing the algorithm. It is advisable to use this method for complex NP-complete discrete optimization problems, to which the problem under study belongs. Special attention is paid to the development of a problem-oriented system, which is based on the practical implementation of the described algorithm. The structure of this system is developed, the database is designed, the main forms of the application are presented. In addition, the article presents the results of the proposed algorithm on test data. The developed algorithm and the problem-oriented system can be used at any enterprises and organizations in which it is required to solve the problem of distributing the flow of incoming applications to specialists from the point of view of a variety of criteria

Key words: optimization problem, problem-oriented system, multi-criteria optimization, annealing simulation method, assignment problem

References

1. Belenky A.S. "Research of operations in transport systems: ideas and schemes of planning optimization methods" ("Issledo-vaniye operatsiy v transportnykh sistemakh: idei i skhemy metodov optimizatsii planirovaniya"), Moscow, Mir, 1992, 582 p.

2. Wagner G. "Fundamentals of operations research" ("Osnovy issledovaniya operatsiy"), vol. 1, trans. from Eng, Moscow, Mir, 1972, 336 p.

3. Oleynikova S.A., Dyatchina A.V. "Development of special mathematical support for the flow control system of incoming applications", The Bulletin of Voronezh State Technical University (Vestnik voronezhskogo gosudarstvennogo tekhnicheskogo uni-versiteta), 2023, vol. 19, no. 2, pp.33-37.

4. Lelyakova L.V., Kharitonova A.G., Chernysheva G.D. "Applied tasks on assignments", The Bulletin of the Voronezh State University (Vestnik voronezhskogo gosudarstvennogo universiteta), ser. System Analysis and Information Technologies, 2017, no. 2, pp. 22 -27.

5. Batishchev D.I. "Genetic algorithms for solving extreme problems" ("Geneticheskiye algoritmy resheniya ekstremal'nykh zadach"), Textbook, Voronezh, VSTU, 1995, 65 p.

6. Papadimitriu X., Steiglitz K. "Combinatorial optimization. Algorithms and complexity", Moscow, Mir, 1984, 512 p.

Submitted 13.06.2023; revised 15.08.2023 Information about the authors

Anastasiya V. Dyatchina - Postgraduate student, Voronezh State Technical University, (84 20-letiya Oktyabrya str., Voronezh 394006, Russia), e-mail: thenochnaya@mail.ru

Svetlana A. Oleynikova - Dr. Sc. (Technical), Professor, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia), e-mail: s.a.oleynikova@gmail.com, ORCID: https://orcid.org/0000-0002-0333-2313

Tatyana N. Nedikova - Cand. Sc. (Technical), Associate Professor, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia), e-mail: nedikova.tatyana@mail.ru, +79036508606, ORCID: https://orcid.org/0000-0001-9915-4242

i Надоели баннеры? Вы всегда можете отключить рекламу.