аВтОматИзацИя РазРаБОткИ РацИОнаЛьных гРафИкОВ

advertisement
90
Технологии информатизации и управления
А. В. Чмак
АВТОМАТИЗАЦИЯ РАЗРАБОТКИ
РАЦИОНАЛЬНЫХ ГРАФИКОВ РАБОТЫ
СОТРУДНИКОВ ПУНКТОВ ТАМОЖЕННОГО
ОФОРМЛЕНИЯ
Описываются некоторые проблемы в работе пунктов таможенного оформления. Строится модель
булевого стохастического программирования оптимизации графика работы сотрудников таможенного поста для обслуживания случайного потока автомобилей через границу с целью минимизации
затрат на оплату труда. Для нахождения решения задачи строится детерминированный эквивалент
данной модели. На основе генетического алгоритма разработан программный модуль, позволяющий
находить решения детерминированной задачи.
Введение
Поток движущихся транспортных средств через пункты таможенного оформления (ПТО) непостоянен
и изменяется с течением времени под воздействием различных, в том числе и случайных, факторов. Поэтому возникает проблема оптимизации деятельности работы таможенного поста таким образом, чтобы пропускная способность его наилучшим образом соответствовала транспортному потоку в конкретный момент
времени.
Одним из факторов, влияющих на изменение пропускной способности, является количество сотрудников таможенной службы, работающих в данный момент времени на ПТО. Поэтому для рациональной деятельности таможенного поста необходимо оптимальное планирование графиков работ персонала.
В работе с помощью статистических методов выполнен анализ структуры и динамики транспортного
потока, проходящего через пункты пропуска Гродненской региональной таможни [1]. Для анализа использовались данные о ежедневных потоках транспорта по трем пунктам пропуска за два месяца (сентябрь и
91
Информационные системы и их приложения в производстве и управлении октябрь) 2009 года. В результате было установлено, что для всех таможенных постов характерна синхронность между потоками легковых автомобилей на въезд и выезд. Также на всех пунктах пропуска замечена
некоторая сезонность, связанная с уменьшением транспортного потока в воскресенье.
В общем случае рассмотрим произвольный пункт таможенного контроля. На таможенном пункте пропуска работают n человек в четыре смены по 12 часов по очереди. График работы каждого сотрудника
следующий:
1 день. Сотрудник приходит на работу в 8:00 и работает до 20:00.
2 день. Сотрудник приходит на работу с 20:00.
3 день. Сотрудник работает до 8:00.
4 день. Сотрудник отдыхает.
5 день. Сотрудник выходит на работу с 8:00.
Пример графика работы смен представлен в табл. 1.
Таблица 1
Пример графика работы смен
дни
смены
1
1
2
8:00– 20:00– 8:00–
20:00 8:00 20:00
X
3
20:00– 8:00– 20:00–
8:00 20:00 8:00
8:00–
20:00
5
20:00–
8:00
8:00–
20:00
X
2
6
20:00–
8:00
8:00–
20:00
X
X
20:008:00
X
X
3
4
4
X
X
X
X
X
X
В каждой смене одинаковое количество сотрудников. Каждый сотрудник имеет определенное звание
и должность. Работниками таможенного пункта (кроме начальника отдела) осуществляется оформление
передвигающихся через границу транспортных средств и перевозимых грузов.
В произвольный момент времени количество автомобилей, прибывших на границу, может превысить
пропускную способность обслуживания пункта таможенного оформления за смену, в результате чего на
границе образуется очередь, что вызывает недовольство граждан. А в другой момент времени (например
ночью) поток транспортных средств наоборот может быть очень маленький, в результате смена сотрудников
может быть полностью не задействована в работе.
Задача в том, чтобы так составить график работы сотрудников и количество сотрудников в сменах,
чтобы более эффективно использовать имеющиеся кадровые ресурсы с целью минимизации затрат по заработной плате и не допустить долгого простоя автомобилей в очереди на границе.
График сотрудников будем составлять для всех сотрудников смены за исключением начальников смены (4 человека), так как присутствие одного из них обязательно в каждый день работы. Таким образом, мы
переходим от планирования графика работы смены к графику работы каждого сотрудника.
Модель построения рационального графика работы
Математическая модель построения рационального графика работы сотрудников ПТО с использованием информации о цикличности потока автотранспорта и его случайном характере имеет следующий вид [1]:
m
1
(1)
k = 0 i =1 j =1
m
s ∑ yijk ≥ xdk ( w), i = 1, m, d = 1,7 , k = 0,1 ;
(2)
yij0 × ( yij1 + yij0+1 ) = 0 , i = 1, m - 1 , j = 1, n ; (3)
yij1 × ( yij1 +1 + yij0+1 + yij1 + 2 + yij0+ 2 ) = 0 , i = 1, m - 2 , j = 1, n ; (4)
j =1
1
n
∑ ∑∑ yijk → min , m
∑ ∑ yijk ≤ tm ,
i = 1, m ;
(5)
k = 0 j =1
yijk ∈{0;1}
(6)
92
Технологии информатизации и управления
Здесь i – индекс дня в графике ( i = 1, m ); m – количество рассматриваемых для планирования дней;
j – индекс сотрудника ( j = 1, n ); k – индекс «день-ночь» ( k ∈{0;1} ),
если
сотрудник
работал
дневную
смену,
åñëè
ñî òðóäí
èê ðàáî
òàë â äíв åâí
óþ ñì åí
ó,
0,
k = 1, в противном случае
;
â ï ðî òèâí î ì ñëó÷àå
1,

d – день недели ( d = 1,7 ); xdk ( w) – случайная величина, характеризующая количество автомобилей, пришедших на ПТО за d -ый день недели днем (если k = 0 ) или ночью (если k = 1 ); s – среднее количество
автомобилей, которые может обслужить в нормальном режиме один сотрудник за 1 смену; tm – количество
смен, которые сотрудник должен отработать в течении m планируемых дней; I d = {i1 ,..., i p } – множество,
состоящее из индексов дней, которые попадают на d -ый день недели ( d = 1,7 ) ( iq ∈{1, 2,..., m}, q = 1, p , где
p – количество d -ых дней недели в рассматриваемом периоде планирования).
Введем переменные:
åñëè jû-é ñî òðóäí è ê ðàáî òàåò í à iû-å ñóòê è äí åì (k = 0) èëè í î ÷üþ (k = 1),
1,
yijk = 1, если j-тый сотрудник работает на i-тые сутки днем (k = 0) или ночью (k = 1),
если
сотрудник
работает
åñëè
0,
ñî òðóäí
èê í å не
ðàáî
òàåò.
0,
Ограничение (2) является условием того, что в любой день недели в любую смену пропускная способность поста в эту смену должна быть не меньше потока транспортных средств в данный момент. Условия
(3) и (4) следуют из описанного нами выше режима работы сотрудников в дневную и ночную смены.
Каждый сотрудник не должен переработать больше чем определенную допустимую норму количества
смен для рассматриваемого периода планирования (условие (5)).
Задача (1)–(6) – это задача дискретного стохастического программирования [1]. В ней 2 × m × n переменных, (2m - 3) × n нелинейных ограничений и не более 14 × m линейных ограничений. Данная задача
является нелинейной. Детерминированный эквивалент задачи (1)-(6) с М-постановкой ограничений будет
отличаться от исходной задачи только одним ограничением ((2)), которое примет вид:
n
s ∑ yijk ≥ M ( xdk ( w)), ∀i ∈ I d , d = 1,7 , k = 0,1 ,
(7)
j =1
где M ( xdk ( w)) – математическое ожидание случайной величины xdk ( w) . В результате имеем нелинейную
модель дискретного программирования.
Программа поиска рационального
графика работы
Для нахождения решения поставленной задачи (1)–(6) с помощью детерминированного эквивалента в
Delphi 7 разработан программный модуль.
Основной алгоритм поиска решений в данной программе основан на генетическом алгоритме [2]. Генетический алгоритм (ГА) представляет собой метод оптимизации, основанный на концепциях естественного отбора и генетики. В этом подходе переменные, характеризующие решение, представлены в виде ген
в хромосоме. ГА оперирует конечным множеством решений (популяцией) – генерирует новые решения как
различные комбинации частей решений популяции, используя такие операторы, как отбор, рекомбинация
(кроссинговер) и мутация.
Поместим все yijk ( k = 0,1; i = 1, n; j = 1, m ) в некоторый вектор
0
0
0
1
y s = ( y11
, y12
,..., yn01 ,... ynm
, y11
,..., y11m ,..., y1n1 ,..., y1nm ) , который будет играть роль хромосомы. Введем матрицу
Y = ( y1 ,..., yr )T , состоящую из r потенциально возможных решений, которая и будет составлять нашу начальную популяцию.
Алгоритм работы программы следующий:
1. Генерация начальной популяции – заполнение популяции особями, в которых элементы матрицы Y
заполнены случайным образом. Каждая строка данной матрицы – возможное решение задачи (1),(3)–(7).
2. Выбор родительской пары. Для рассматриваемой задачи используется элитный отбор, т. е. берем
k векторов y s , которые наиболее подходят под условия (2)–(4) (т. е. выполняется большее количество
условий (2)–(4) (фитнес-функция)) и составляем из них все возможные пары ( k × ( k - 1) 2) . Такой принцип
предотвращает потери лучших с точки зрения фитнес-функции признаков (генов) в популяции.
3. Кроссинговер – берем случайную точку t на векторе y s ( t = 1,(2 × n × m ) ).
93
Информационные системы и их приложения в производстве и управлении 4. Теперь все элементы вектора с индексами от 1 до t новой особи (потомка) заполняем элементами
с теми же индексами, но из вектора y p первой родительской особи. Остальные элементы заполняются из
вектора yq второй родительской особи. Для второго потомка делается наоборот – элементы от 1 до t берут
от второго потомка, а остальные – от первого.
5. Новые особи с некоторой вероятностью мутируют – инвертируется случайный бит вектора y s этой
особи. Вероятность мутации положим равной 5 %. Благодаря этому могут рассматриваться точки из другой
области пространства возможных решений, что повышает вероятность нахождения не локального, а глобального оптимума.
6. Полученные особи-потомки добавляются в популяцию после переоценки. Новую особь добавляют
взамен самой плохой с точки зрения фитнес-функции (т. е. для которой выполняется меньше всего количество условий (2)–(4)) старой особи.
7. Если самое лучшее решение в популяции нас не удовлетворяет, то переходим на шаг 2. Переход на
шаг 2 может осуществляться до момента исчерпания числа поколений, отпущенных на эволюцию.
8. Если найдено какое-либо решение, то оно сохраняется и поиск продолжается до истечения определенного числа поколений. При нахождении еще одного подходящего решения – сравниваются значения целевых функций нового и старого решения, и выбирается решение с меньшим значением целевой функции.
Рассматриваемый алгоритм является не только устойчивым к локальным минимумам, но и благодаря
внутреннему параллелизму, выраженному в работе не с отдельными решениями, а с целыми классами решений, обеспечивает относительно быстрый поиск оптимального решения.
Проведем анализ качества алгоритма. Количество переменных задачи – 2 × n × m , каждая переменная
может принимать одно из двух значений 0 или 1. Таким образом в задаче может быть 22× n × m теоретически
возможных вариантов графика работы. При увеличении количества сотрудников или дней на k единиц
количество потенциально возможных планов увеличивается в 2km или в 2kn раза соответственно, что не
может повлиять в лучшую сторону на сокращение времени поиска решения.
Примеры работы программы
Пример 1
Количество сотрудников – 8, количество дней для планирования – 7, дневная норма обслуживания для
одного сотрудника – 53 автомобиля, ночная норма обслуживания для одного сотрудника – 27 автомобилей.
Дневная и ночная нормы округлены в меньшую сторону для того, чтобы спланировать работу таможенного
поста так, чтобы ожидаемый поток транспортных средств был гарантировано обслужен.
Таблица 2
Ожидаемый поток транспортных средств
день недели ПН
ожидаемый
поток
днем
37
19
ночью
ВТ
СР
ЧТ
ПТ
СБ
ВС
46
23
45
23
49
25
51
26
48
24
44
22
В результате работы программы график работы сотрудников имеет вид, представленный в таблице 3.
Здесь значения, равные 1 на пересечении соответствующих строк и столбцов, означают, что сотрудник работает в данную смену в определенный день, а 0 – не работает в это время.
Таблица 3
График работы 8 сотрудников за 7 суток
сутки
1
сотрудники
1
2
2
3
4
5
6
7
д
н
д
н
д
н
д
н
д
н
д
н
д
н
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
94
Технологии информатизации и управления
Окончание табл. 3
сутки
1
сотрудники
3
4
5
6
7
8
2
3
4
5
6
7
0
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
Как видно из табл. 3, график работы сотрудников удовлетворяет ограничениям задачи, но в некоторые
дни количество сотрудников превышает в несколько раз ожидаемый поток транспорта, что говорит о нерациональном использовании трудовых ресурсов. Полученный график работы является допустимым, но не
является оптимальным.
Пример 2
Количество сотрудников – 10, количество дней для планирования – 5, дневная норма обслуживания
для одного сотрудника – 27 машин, ночная норма обслуживания для одного сотрудника – 17 машин. Ожидаемый поток транспортных средств в зависимости от дня недели представлен в таблице 4.
Таблица 4
График работы 10 сотрудников за 5 суток
сутки
сотрудники
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
д
н
д
н
д
н
д
н
д
н
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
В данном примере ситуация аналогична предыдущему, и найденный программой график работы сотрудников допустимым, но он не оптимален.
Выходом из этой ситуации может быть уменьшение нормы часов, которые сотрудник может работать
в течение определенного периода времени. Но при этом может увеличиться время поиска решения задачи
программой.
Заключение
Разработанная программа позволяет строить допустимые графики работы по критерию минимума занятости сотрудников, описанные моделью (1),(3)–(7), наилучшие в некоторой окрестности допустимых
графиков. Но полученные графики работы не всегда являются оптимальными. Это может быть связано с
особенностью генетического алгоритма, лежащего в основе программы (произвольный выбор начальной
популяции может привести к попаданию в локальный оптимум при поиске решения с помощью программы,
поиск решения останавливается при достижении предельного числа поколений) или с недостаточно жесткими условиями в ограничениях задачи.
Информационные системы и их приложения в производстве и управлении 95
Литература
1. Проблемы прогнозирования и государственного регулирования социально-экономического развития:
материалы XI Международной научной конференции: в 5 т. / Минск: НИЭИ; редкол.: А.В. Черняков [и др.].
Минск, 2010. Т. 5.
2. Информационные технологии и программирование: Межвузовский сборник статей. Вып. 2 (14) /
МГИУ; ред. К.В. Шмат. М., 2005.
Чмак Александр Владимирович, старший инспектор отдела информационных технологий и информационной безопасности Гродненской региональной таможни, магистрант факультета экономики и управления Гродненского государственного университета имени Янки Купалы, chmak.av@gmail.com
УДК 004
Download