Научная статья на тему 'Формализация и метод решения «Задачи инкассатора»'

Формализация и метод решения «Задачи инкассатора» Текст научной статьи по специальности «Математика»

CC BY
525
80
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ / ВРЕМЯ / ДЕНЬГИ / ИНКАССАЦИЯ / МИНИМИЗАЦИЯ / ПЕРЕСТАНОВКА / ALGORITHM / TIME / MONEY / PAYMENT COLLECTION / MINIMIZATION / PERMUTATION

Аннотация научной статьи по математике, автор научной работы — Бабаев Александр Александрович

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

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

Optimization of Collectors Route

The article considers the problem of finding the optimal sequence of payment collection points to be visited by criterion based on minimizing the product of the cash being on vehicle and the delivery time. The essence of the task is illustrated on the numerical example. For solving the task, an algorithm based on the branch and bound method was developed. The availability of the search tree nodes is estimated on the basis of consequences from outspoken theorems.

Текст научной работы на тему «Формализация и метод решения «Задачи инкассатора»»

Вестник СПбГУ. Сер 5. 2010. Вып. 1

УДК 519.6 А. А. Бабаев

ФОРМАЛИЗАЦИЯ И МЕТОД РЕШЕНИЯ «ЗАДАЧИ ИНКАССАТОРА»

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

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

— сбор и перевозка ценных бумаг, банкнот, монет, иностранной валюты, ювелирных изделий, драгоценных металлов (камней);

— инкассация торговой выручки с последующей доставкой в кассу банка или денежной выручки, направляемой в банк на конвертацию;

— доставка заработной платы и денежной наличности;

— подкрепление операционных касс, обменных пунктов, кредитных организаций;

— обслуживание банкоматов и игровых автоматов.

Александр Александрович БАБАЕВ — канд. техн. наук, доцент кафедры информационных систем в экономике Экономического факультета СПбГУ. Окончил факультет радиоэлектроники Военной артиллерийской академии (1972) и адъюнктуру по кафедре автоматизации управления (1976). Служил в Вооруженных силах СССР (1960-1993), полковник в отставке. На Экономическом факультете работает с 2002 г. Стажировался в Гамбургском университете Германии. Сфера научных интересов — исследование операций, комбинаторная оптимизация, алгоритмизация и программирование прикладных задач, информационные технологии в учебном процессе. Автор более 200 научных работ, имеет 7 авторских свидетельств и патентов на изобретения.

© А. А. Бабаев, 2010

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

Некоторое представление о масштабности рассматриваемого вопроса дает, например, следующий материал об управлении инкассации Северо-Западного банка [4], в состав которого входят: отдел организации инкассаторской работы, сектор обеспечения, отдел инкассации и подразделения инкассации в составе отделений банка на территории Ленинградской, Мурманской, Новгородской, Псковской, Калининградской областей и Республики Карелия. Общая численность сотрудников инкассации составляет более 1000 человек, на маршруты инкассации ежедневно выходит более 150 спецавтомобилей.

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

1) минимум суммарных отклонений от установленных сроков доставки;

2) минимум межоперационных простоев спецтранспорта;

3) минимум времени нахождения на маршруте;

4) минимум пройденного спецтранспортом расстояния;

5) максимум вероятности успешной доставки наличности и др.

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

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

Вербальное описание модели заключается в следующем. Некоторый банк обслуживает m обменных пунктов (операционных касс, банкоматов). В установленное время спецмашина осуществляет доставку заказанных сумм денег Sj в n пунктов, j = 1,...,n; n < m. Известно время или математическое ожидание времени следования машины между пунктами Ц, i = 0,., n;j = 0,., n и время передачи денег на каждый пункт Tj,j = 1,...,n.

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

Проведем математическую формализацию задачи:

С = min £ (т. + )f^skyß

j=1 i=0 k=1 V 1 /

при ограничениях:

tx j =1 (2)

j=1

1, i = 1,2,..., n; (3)

j=i

tXj = 1, j = 1,2,...,n; (4)

q - qj + < n -1, i < i * j < n (5)

Xj,yjk e{0,1}, i = 0,1,...,n; j,k = 1,2,...,n, (6)

где Xj = 1, если инкассатор из i-го пункта следует в j-й пункт; х^ = 0 — в противном случае;

f1,еслиqj<qk; . , ^

yjk = L j > 1 < j * к < n;

J [0, есл и qj > qk,

qj — очередность инкассации j-го обменного пункта, j = 1,..., n.

Формализованную задачу, в соответствии с классификацией [6], следует отнести к классу задач упорядочения работ. По своему физическому смыслу ее критерий оптимизации как бы объединяет противоречивые требования задач о коммивояжере и минимизации взвешенной средней длительности прохождения работ без переналадок [7]. Однако целочисленная формулировка задачи (1)-(6) существенно отличается от традиционной модели Таккера для задачи о коммивояжере. Поэтому она не может быть решена известными инструментальными средствами, в частности, в среде MS Excel.

Целевая функция (1) содержит принципиально новый сомножитель sky^k, который представляет собой сумму денег, находящихся на спецтранспорте и не доставленных еще в обменные пункты. Экономический смысл целевой функции состоит в том, что сумма произведений денежных средств на время их доставки из исходного пункта в пункты назначения должна быть минимальной. В целевой функции заложен механизм учета не только времени, но и количества наличности, т. е. следование принципу «время — деньги». Ограничения (2), (4), (5) идентичны соответствующим ограничениям модели Таккера, в частности условие (5) предотвращает внутренние подциклы на маршруте спецтранспорта. Новым является ограничение (6), а ограничение (3) получено из аналогичного ограничения в задаче о коммивояжере заменой знака «=» на знак «<». Это объясняется тем, что по условию задачи не оговариваются затраты на холостой пробег транспортного средства при возвращении его в исходный пункт.

Анализ физической сущности задачи показывает, что можно перейти от ее математической формализации в терминах переменных Xj к формализации на перестановках [8]:

P = \Pp P2, Pn}.

С = С(р)=±трк1рк ±spt ^ min, (7)

k=1 l=k

где TPk-1Pk =тpt + ^, k = 1'...'n;

pk — пункт, для которого инкассация производится в k-ю очередь, k = 1,..., n.

Преимущество формализации (7) состоит в том, что ограничения задачи в явном виде отсутствуют, и требуется указать такую перестановку, которая минимизирует эту целевую функцию. Отсутствие ограничений в явном виде объясняется тем, что они вошли в целевую функцию: перестановка пунктов объезда автоматически удовлетворяет ограничениям (5) — (6), а ограничения (2) — (4) неявно присутствуют во втором слагаемом целевой функции (7).

Интерпретацию физической сущности задачи рассмотрим на примере доставки наличности в 5 пунктов. Пусть временная матрица (минут) и суммы передаваемой наличности (млн рублей) заданы в табл. 1.

Таблица 1

1 Т

0 25 35 15 10 30

1 - 35 30 15 50

2 30 - 50 25 40

3 30 45 - 25 35

4 15 20 25 - 35

5 55 40 35 30 -

] 1 2 3 4 5

4 5 2 3 1

В условиях примера необходимо найти такой маршрут доставки денег, который минимизирует минуто-рубли (мин-руб.). Из исходного пункта требуется вывезти в пункты назначения 4 + 5 + 2 + 3 + 1 = 15 млн рублей.

Предположим, что мы будем доставлять наличность в порядке нумерации пунктов, т. е. из нулевого пункта в 1-й пункт, из 1-го — во 2-й,..., из 4-го — в 5-й, то значение целевой функции составит С = 15 • 25 + 11 • 35 + 6 • 50 + 4 • 25 + 1 • 35 = 1195 млн мин-руб.

Если осуществлять развозку в порядке невозрастания сумм доставляемой наличности по маршруту 0 ^ 2 ^ 1 ^ 4 ^ 3 ^ 5, то целевой ресурс будет иметь следующее значение: С = 15 • 35 + 10 • 30 + 6 • 15 + 3 • 25 + 1 • 35 = 1025 млн мин-руб.

В том случае, когда мы будем осуществлять доставку, выбирая ближайший пункт назначения, т. е. следовать по маршруту 0 ^ 4 ^ 1 ^ 3 ^ 5 ^ 2, то получим значение ресурса С = 15 • 10 + 12 • 15 + 8 • 30 + 6 • 35 + 5 • 40 = 980 млн мин-руб.

Если будет производиться объезд пунктов назначения по маршруту, минимизирующему время доставки (критерий задачи коммивояжера): 0 ^ 3 ^ 1 ^ 4 ^ 2 ^ 5, то расход ресурсов составит С = 15 • 15 + 13 • 30 + 9 • 15 + 6 • 20 + 1 • 40 = 910 млн мин-руб.

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

Метод решения задачи

Сформулированная в виде (7) задача может быть решена с использованием одного из методов комбинаторной оптимизации — метода ветвей и границ [9].

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

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

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

т. = тт7; = тт^, . = 1,2,..., п; I = . -1; (8)

у 1<к < п 0<1<п J

А. > А. > ... (9)

7 7 Т

^0,1 1,2 1п-1,п

то перестановка Р = (1, 2, ..., п) является оптимальным маршрутом инкассатора, а минимальное значение целевой функции (7) вычисляется по формуле

С = 1Т-м Ъ. • (10)

¿=1

Теорема 2. Если некоторая перестановка Р = (р1, р2: ..., рп) минимизирует целевую функцию п п

С(Р) = ЖР1! I ^ «

к=0 I=к (11)

то эта же перестановка минимизирует и целевую функцию

C*(P) = XTUh lsP, + X sÄ+1 X %, (12)

k=0 l=k k=1 l=k+1

где

wk = U + vk, k = 1,..., n; (13)

uk = minTj, i = 0,1,..., n; (14)

1< j<n J

Vj = min(Tj - Uj), j = 1,..., n; (15)

J 0<i<n J

T*j = Tj -ut - Vj, i = 0,1,..., n, j = 1,...,n. (16)

Справедливо и обратное утверждение.

Теорема 3. Оптимальное значение целевой функции (11) отличается от оптимального значения целевой функции (12) на величину

AC = C (P) - C*( P) = U + W,

где

и = U0XSk; W = £i

к=1 к=1

Теорема 4. Если одновременно выполняются два условия:

А. > А > ... > А; (17)

Ч1 Ч2 Чп

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

7*1 = 7*2 = ... = тп-1п = Тп*0 = 0, (18) то перестановка Р* = (1, 2, ..., п) является решением задачи. При этом минимальное значение целевой функции (12) вычисляется по формуле

С(Р) = 1Ч I А,• (19)

к=1 ,=к+1

Теорема 2 дает нам право производить предварительные преобразования исходных данных задачи инкассатора и определять на дереве вариантов при поиске оптимального маршрута для вершины Pr нижнюю границу решения

Hr(P) = HJ + H2 + Hv (20)

Теорема 3 позволяет достаточно просто вычислять первую составляющую нижней границы по формуле i i

Hi = £ (^ +t * ) £ sPt ■ (21)

¿=1 j=i

Теорема 4 дает возможность определять вторую составляющую нижней границы

H2 = (гя + t*Pl_lPl )tspi. (22)

i=r

Результат теоремы 1 позволяет использовать следующее выражение в качестве третьей составляющей нижней границы на дереве вариантов для вершин r-го яруса:

n—1 n

H3 = min £ wP, £ sPj • (23)

i= r+1 j'e{r +1, •■■, n}

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

Hr (P ) > C0, 1 < r < n, (24)

где С0 — значение целевой функции для известного (приближенного) решения.

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

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

Демонстрация алгоритма

Рассмотрим процесс решения задачи (7) по исходным данным, представленным в табл. 1.

В соответствии с теоремой 2 по правилам (13) — (15) находим приводящие константы {Mi} = {10, 15, 25, 25, 15, 30}, {vj} = {0, 5, 5, 0, 10}, {wj} = {15, 30, 30, 15, 40}, а по формуле (16) преобразуем исходные данные к виду, показанному в табл. 2.

Процедура поиска оптимального решения иллюстрируется на дереве вариантов (рисунок). Вершины дерева (кружки) являются элементами перестановки пунктов искомого маршрута доставки наличности. Вершины расположены по ярусам r = 0, 1, ..., 5. Из корневой вершины осуществляются возможные ветвления к вершинам первого яруса, от исследуемой вершины первого яруса — к вершинам второго яруса, и т. д. Для каждой из вершин по формуле (20) осуществляется вычисление нижней границы (оптимистическая оценка перспективности исследуемой ветви маршрута). Значения нижних границ на рисунке проставлены над вершинами дерева вариантов. Концевая вершина последнего яруса завершается ветвью, которая и определяет маршрут инкассатора. Нижняя граница концевой вершины является значением целевой функции для рассматриваемого маршрута.

1 Т* У

0 15 20 5 0 10

1 — 15 10 0 25

2 5 - 20 0 5

3 5 15 - 0 0

4 0 0 5 - 10

5 25 5 0 0 -

1 2 3 4 5

4 5 2 3 1

15 30 30 15 40

При расчете нижней границы Н0(Р0) для корневой вершины на нулевом ярусе дерева вариантов по формулам (21), (22) имеем: Н1 = 0; Н2 = 0. Что касается выражения (23), то следует учесть, что это своего рода вспомогательная оптимизационная задача. Для ее решения предварительно необходимо в соответствии с теоремой 4 добиться выполнения условия (17), упорядочив отношения в/т: 4/15 = 0,267; з/15 = 0,200; 5/30 = 0,167; 2/30 = 0,067; 1/40 = 0,025. После чего, предположив, что выполняется условие (18), получим: Н3 = 10 (4 + 3 + 5 + 2 + 1) + 15 (3 + 5 + 2 + 1) + 15 (5+ 2 + 1) + 30 (2 + 1) + 30 (1) = 555. В итоге — Н0(0) = 0 + 0 + 555 = 555.

555

Дерево вариантов.

При расчете нижней границы Н1(Р1) на первом ярусе дерева вариантов для вершины р1 = 1 по формулам (21), (22) имеем: Н1 = 0; Н2 = (10 + 15) (4 + 5 + 2 + 3 + 1) = 375. Для решения вспомогательной оптимизационной задачи (23) предварительно необходимо исключить строку и столбец табл. 2, соответствующие нулевому пункту отправления и 1-му пункту назначения, скорректировать значения приводящих констант (13) — (15) и в соответствии с теоремой 4 добиться выполнения условия (17). После чего, в предположение (18) получим: Н3 = 15(3 + 5 + 2 + 1) + 30 (5 + 2 + 1) + 30 (2 + 1) + 40 (1) = 535. Тогда нижняя граница для первой вершины первого яруса будет следующей: Н1(1) = 0 + 375 + 535 = 910.

Аналогично определяются нижние границы и для остальных вершин первого яруса дерева вариантов. Последовательность расчетов показана в табл. 3. Анализ полученных оценок показывает, что вершина 4 первого яруса имеет наименьшее значение нижней границы. В соответствии со стратегией локально-избирательного ветвления [9] из этой вершины осуществляются возможные ветвления к вершинам второго яруса.

Таблица 3

г Рг Н Н Н НРг) Р* г С0

1 0 375 535 910

2 525 370 895

1 3 225 550 775

4 150 530 680

5 450 630 1080 4

1 150 180 450 780

2 2 240 320 710

3 300 370 820

5 420 435 1005 2

1 390 210 125 725

3 3 350 115 855

5 280 150 820 1

4 3 600 90 35 725

5 150 70 820 3

5 5 690 35 0 725 5 725

При расчете нижней границы Н2(Р2) на втором ярусе дерева вариантов для вершины р2 = 1 по формулам (21), (22) имеем: Н1 = 10 (4 + 5 + 2 + 3 + 1) = 150; Н2 = (15 + 0) (4 + 5 + 2 + + 1) = 180. Для решения задачи (23) исключаем строку и столбец табл. 2, соответствующие 4-му пункту отправления и 1-му пункту назначения, корректируем значения приводящих констант (13)-(15) и добиваемся выполнения условия (17). С учетом таких преобразований получим: Н3 = 40(5 + 2 + 1) + 30 (2 + 1) + 40 (1) = 450. Это дает нам оптимистическую оценку для первой вершины второго яруса — Н2(1) = 150 + 180 + 450 = 780. Для второй, третьей и пятой вершин второго яруса расчеты проводятся аналогично. Наименьшую нижнюю границу имеет вершина 2. Она подвергается ветвлению на третий ярус.

Результаты расчета нижних границ для исследуемых вершин и последовательность их ветвления для остальных ярусов при поиске оптимального маршрута на дереве вариантов показаны в табл. 3. На третьем ярусе вершина р3 = 1 имеет наименьшую нижнюю границу и подвергается ветвлению на 4-й ярус (см. рисунок). В результате на пятом ярусе получаем приближенное решение задачи со значением целевой функции С = Н5(Р5) = 725.

Последовательный просмотр показывает, что на дереве вариантов не осталось ни одной неветвленной вершины, нижняя граница которой была бы меньше значения С0 = 725. Отсюда делаем вывод, что в вершине Р5 = (0, 4, 2, 1, 3, 5) достигается оптимальное решение

со значением целевой функции С = С0 = 725.

* *

*

На основе предложенного алгоритма осуществлена программная реализация решения задачи инкассатора на алгоритмическом языке Паскаль.

Следует отметить, что в качестве дальнейших исследований представляется целесообразным обобщение задачи инкассатора на случай использования & транспортных средств при доставке наличности в т пунктов, 1 < & < т, а также формализация и решение задачи в стохастических и теоретико-игровых постановках [10].

1. Канаев А. В. Банковская деятельность в свете теории финансового посредничества: традиции и инновации // Вестн. С.-Петерб. ун-та. Сер. 5: Экономика. Вып. 3. С. 113-123.

2. Сайт Сбербанка России. URL: http://www.sbrf.ru/ruswin/collect.htm (дата обращения: 21.12.2009).

3. Доставка и инкассация денежной наличности и других ценностей. URL: http://www.budgetrf.ru /Pub-lications/Magazines/VestnikCBR/2002/vestnikcbr10122002/vestnikcbr10122002060.htm (дата обращения: 21.12.2009).

4. Сайт Северо-Западного банка Сбербанка России. URL: http://www.nwsbrf.ru/departaments/ukoi.asp (дата обращения: 21.12.2009).

5. Таха Х. А. Введение в исследование операций. 7-е изд. / Пер. с англ. М.: Вильямс, 2005. 902 с.

6. Кузин Б. И., Юрьев В. Н., Шахдинаров Г. М. Методы и модели управления фирмой. СПб.: Питер, 2001. 432 с.

7. Бабаев А. А. Упорядочение работ по степени их важности и времени переналадок //Экономика и математические методы. 1990. Т. 26. Вып. 5. С. 902-908.

8. Бабаев А. А. Процедуры кодирования и декодирования перестановок // Кибернетика. 1984. № 6. С. 75-76.

9. Бабаев А. А. Организация поиска решений на деревьях детерминированной структуры // Электронное моделирование. 1985. № 1. С. 19-25.

10. Бабаев А. А. Формализация задачи инкассатора // Актуальные проблемы экономики и новые технологии преподавания. Материалы VIII Международной научно-практической конференции. Т. 3. СПб.: МБИ, 2009. С. 88-90.

Статья поступила в редакцию 21 января 2010 г.

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