DSS-система распределения работ при запуске торговых точек
В.А. Светличная1, О.В. Ченгарь2, К.Б. Зуй1
1Донецкий национальный технический университет
2Федеральное государственное бюджетное образовательное учреждение высшего образования «Севастопольский государственный университет»
Общая постановка проблемы.
Современная торговая сфера характеризуется высокой степенью конкуренции. Это приводит к повышению динамики организации торговых точек, закрытию одних и открытию других. Особенно это характеризует сети небольших бистро, аптек, сети торговых точек фирм и т.п. Сроки исполнения таких действий имеют крайне большое значение, поскольку в условиях жесткой конкуренции возможные стратегические просчеты определяют проигрыши конкуренту. Финансовая составляющая также имеет огромное значение, поскольку невыполнение некоторых обязательств может понести за собой определенные потери [1].
Таким образом, возникает задача управления проектом, смысл которого заключается в открытии фиксированного числа торговых точек. Каждая торговая точка должна быть сдана в эксплуатацию к определенной дате. В отдельности организация торговой точки состоит в выполнении определенного списка работ. Для достижения поставленной цели необходимо составить график выполнения работ, что является основной задачей календарного планирования. Цель календарного планирования – получить точное и полное расписание проекта с учетом работ, их длительностей, необходимых ресурсов, что служит основой для исполнения проекта [2].
Для решения задач календарного планирования служат пакеты Easy Projects, Microsoft Project 2013, PlanWIZARD. Данные пакеты схожи по функциональным возможностям. Их основная задача – построение графика работ в виде диаграммы Ганта или сетевого графика. Но все вышеперечисленные пакеты не решают главную задачу – оптимизация графика выполнения работ с целью эффективного распределения денежных средств [3,4,5].
Постановка задачи.
Подсистема поддержки принятия решений при распределении работ по организации торговых точек предназначена для менеджера проекта. Он устанавливает сроки выполнения, определяет необходимый объем средств, требуемых для выполнения всего проекта. Эту информацию менеджер вносит в подсистемы и получает на выходе последовательность выполнения работ. Обобщенная схема работы такой системы приведена на рис. 1.
Рисунок 1 – Обобщенная схема работы системы поддержки принятия решения.
Целью такой системы является минимизация времени выполнения проекта с тем, чтобы оптимизировать использование денежных средств, выделяемых на проект. Критериями достижения цели являются:
- →открытие заданного количества торговых точек до указанного срока;
- →бюджет проекта не должен быть превышен;
- →сроки выполнения проекта должны быть минимальны, но с учетом ограничения бюджета.
Для достижения поставленной цели необходимо составить график выполнения работ, что является основной задачей календарного планирования [1,2]. При увеличении количества торговых точек увеличивается количество различных вариантов календарного плана.
Отдельно организация торговой точки заключается в выполнении определенного списка работ, которые, в свою очередь, могут выполняться как параллельно, так и последовательно согласно технологиям работ и реальным возможностям [6,7]. Инвестирование производится через фиксированные промежутки времени в соответствии с графиком финансирования, который определяется финансовым менеджером.
Реализация поставленной цели.
Главной составной частью системы, реализующей составление оптимального календарного плана выполнения проекта, являются методы и алгоритмы, используемые при решении поставленной задачи. Математическую постановку ее можно сформулировать следующим образом.
Проект P состоит в открытии множества торговых точек T {T1, T2, ..., Tn}, где n - количество торговых точек.
Финансирование осуществляется через постоянные промежутки времени t суммой M денежных единиц.
Каждая торговая точка характеризуется:
- →множеством работ Wi {Wi1, Wi2 ..., Wim}, где m - количество работ, необходимых для открытия торговой точки Ti;
- →датой сдачи в эксплуатацию Di.
Каждая работа W имеет:
- →продолжительность dk;
- →стоимость ck;
- →множество работ, предшествующих данной PW {PW1, PW2 ..., PWk}, где k - количество работ, предшествующих;
- →дату начала sdk;
- →дату окончания fdk.
Обозначим продолжительность всего проекта как Pt, тогда функция, которую необходимо минимизировать можно записать следующим образом [6]:
Pt = f(T, t, M) → min (1)
Для реализации был выбран синтез метода имитационного моделирования и муравьиного алгоритма.
Метод позволяет имитировать выполнение модели бизнес-процессов так, как оно происходило бы в действительности, с учетом графиков рабочего времени и занятости временных ресурсов при наличии необходимого количества материальных ресурсов.
В результате, можно оценить реальное время выполнения как одного процесса, так и заданного множества [8].
Алгоритм решения задачи базируется на алгоритме моделирования процесса выполнения работ для открытия торговых точек. Для поиска оптимальной последовательности работ моделирования проводится в несколько итераций. В конце каждой итерации полученное решение сравнивается с лучшим. Для обеспечения корректного завершения работы алгоритма количество последовательных повторений оптимального решения нужно ограничить, например, m повторений. Максимальное количество итераций также должна быть ограничена - n итераций. Числа m и n определяются опытным путем.
Приведем описание процесса моделирования выполнения работ для одной итерации алгоритма. Входной информацией для данного шага алгоритма является информация обо всех торговых точках, входящих в проект, все работы для открытия этих торговых точек. Для каждой работы приведены перечень работ, предшествующих данной.
В данном подходе нет привязки работы к торговой точке, поскольку это никак не влияет на работу алгоритма. Алгоритм учитывает только зависимости между работами.
Исходной информацией алгоритма будет список работ с указанием времени начала и времени окончания. Алгоритм работает таким образом, что продолжительность работ является абстрактным числом, которое никак не связано с датой и временем. Важно только понимать, что единицы, в которых задан период инвестирования, должны сопоставляться с продолжительностью работ. Например, период измеряется в днях, и продолжительность должна также быть задана в днях. Или период задано в часах, тогда и продолжительность должна быть задана в часах.
После моделирования полного перечня работ рассчитывается продолжительность проекта в целом. Этот показатель будет минимизироваться в ходе алгоритма. Следует учитывать, что конечным результатом работы алгоритма может быть проект не с оптимальным временем выполнения, а с близким к оптимальному. Алгоритм не гарантирует оптимального решения, так как работает на основе эвристических алгоритмов.
Алгоритм моделирования процесса выполнения работ состоит из следующих шагов:
- Обновление текущего баланса (M). На этом этапе, учитывая текущее время, будет увеличиваться баланс на сумму, равную объему инвестиций.
- Поиск перечня работ, которые можно начать выполнять в данный момент времени. Работу можно выполнять, если все работы, предшествующие данной, уже выполнены, или данная работа не имеет предшествующих работ. Также для ускорения алгоритма сразу надо отсеивать работы, стоимость которых превышает текущий баланс. После данного шага дальнейшие расчеты ведутся только с работами, которые могут начать выполняться в данный момент времени.
- Расчет суммы стоимости (S) работ вычисленных на шаге 2.
- Сравнение текущего баланса (M) с суммой (S), которая была рассчитана на шаге 3. Если S меньше или равно M, то работы, вычисленные на шаге 3 переходят на шаг 5. В противном случае, выполняется вероятностный выбор работ для дальнейшего исполнения.
- Начало выполнения работ, отобранных на этапе 4.
- Поиск следующего момента времени. Возможны два варианта. Первый: следующий момент времени - это момент завершения выполнения одной или нескольких работ. В этом случае надо обновить перечень выполненных работ, влияющих на дальнейший выбор работ, который выполняется на шаге 2. Во втором варианте следующий момент времени - плановый перерасчет инвестиций.
- Проверка количества невыполненных работ. Если это количество равно 0, алгоритм завершается, иначе нужен переход к шагу 1.
Принцип отбора работ для дальнейшего выполнения заимствован из подхода, который используется в муравьином алгоритме [9]. Для каждой работы существует такое свойство, как оптимальное время выполнения. На первой итерации этот показатель равен нулю. После каждой итерации для всего перечня работ обновляется оптимальное время выполнения. Но только в случае, если текущая продолжительность всего проекта меньше, чем предыдущая минимальная продолжительность.
Оптимальное время выполнения работы имеет прямое влияние на вероятность выбора работы в текущий момент времени.
di = [currentTime - optimalTime] (2)
Sd = ∑i=1n di (3)
pi = (sd - di)/sd (4)
где:
di - разность между временами.
currentTime - текущее время.
optimalTime - оптимальное время.
sd - сумма разностей времен.
n - количество работ.
pi - вероятность выбора работы.
Используя вероятности выбора работ, рассчитанных по приведенной формуле (4) необходимо смоделировать полную группу событий. Если i-ая работа была выбрана, то она автоматически удаляется из списка избранных работ и дальнейшее моделирование полной группы событий выполняется без ее участия. То есть на каждом шагу выбора работы вероятности пересчитываются. Процесс выбора работ заканчивается, когда текущий баланс исчерпан. После этого процесс поиска работ для выполнения закончен.
Такой подход к отбору работ позволяет генерировать различные варианты работ для выполнения. Это отличает разработанный алгоритм от классического алгоритма моделирования, в котором каждая работа имеет одинаковую вероятность выбора. Также данный подход позволяет запоминать оптимальную последовательность прохождения работ, и позволяет отходить от него ради поиска новых, более оптимальных последовательностей. На рисунке 2 приведена блок-схема алгоритма вероятностного выбора работ для дальнейшего выполнения.
Рисунок 2 – Вероятностный выбор работ
Рассчитывается минимальное момент завершения, который в дальнейшем станет текущим временем для всего алгоритма моделирования. В зависимости от работ, которые были выполнены до сих пор, корректируются перечни работ, предшествующих для всех невыполненных работ. После этого обновляется список выполненных работ.
Приведенный алгоритм был программно реализован и на его базе были проведены экспериментальные исследования. Объектом для исследований взят процесс открытия фиксированного количества торговых точек аптечного холдинга. Для анализа рассматривался процесс открытия трех торговых точек. Каждая торговая точка имеет разные начальные условия для ввода в эксплуатацию и разное количество работ, первая точка – 12 работ, вторая -10, третья – восемь. Для выполнения проекта менеджеру предложены следующие варианты финансирования: - финансирование проводится с промежутком от 20 до 40 дней; - размер инвестиций должен быть от 4000 до 10000 у.е. Менеджеру проекта необходимо выбрать оптимальный промежуток финансирования и, размер инвестиций. На рисунке 3 приведено окно с которым работает менеджер проекта, в котором приведены результаты решения задачи с рассчитанной последовательностью работ и продолжительностью проекта
Рисунок 3 – Окно с результатами расчетов
Полученные для приведенного набора данных результаты сведены в таблицу 1.
Таблица 1. Продолжительность проекта в зависимости от условий финансирования.
| № | Период (дн.) | Объем инвестиций (у.е.) | Продолжительность проекта (дн.) |
|---|---|---|---|
| 1 | 20 | 10000 | 242 |
| 2 | 20 | 8000 | 302 |
| 3 | 30 | 10000 | 352 |
| 4 | 20 | 6000 | 402 |
| 5 | 30 | 8000 | 442 |
| 6 | 40 | 10000 | 462 |
| 7 | 20 | 4000 | 502 |
| 8 | 40 | 8000 | 582 |
| 9 | 30 | 6000 | 592 |
| 10 | 40 | 6000 | 782 |
| 11 | 30 | 4000 | 892 |
| 12 | 40 | 4000 | 1182 |
Данные таблицы показывают изменение продолжительности проекта в зависимости от длительности интервала и объема финансовых поступлений. Полученные результаты дают возможность менеджеру проекта выбрать наиболее выгодный для фирмы вариант.
Выводы
В статье приведена система, позволяющая рассмотреть варианты управления проектом открытия нескольких торговых точек, сокращая время реализации проекта с учетом имеющихся ограничений. Данная подсистема является инструментом, который помогает распределить работы и позволяет рассчитать возможную продолжительность проекта. Менеджер проекта может корректировать последовательность работ. Но с помощью подсистемы он сможет получить несколько вариантов и выбрать тот, который соответствует всем имеющимся ограничениям.
Литература
- Бизнес-планирование фирмы / В.И. Захарченко, Н.В. Халикян, 4-е изд., перераб. – О.: Наука и техника, 2007. – 112 с.
- Ильин А.И. Планирование на предприятии: учеб. пособие / А.И. Ильин. – 7-е изд., испр. и доп. – Мн.: Новое знание, 2006. – 668 с.
- About us, EASYPROJECTS / [Электронный ресурс]. – Режим доступа: http://www.easyprojects.net/about/
- Портал по Microsoft Project / [Электронный ресурс]. – Режим доступа: http://www.microsoftproject.ru
- PlanWIZARD – программа для календарного планирования / [Электронный ресурс]. – Режим доступа: http://www.wizardsoft.ru/product/planwizard
- Дрыкин В.А., Светличная В.А., Шумаева Е.А. Разработка функциональной схемы компьютеризированной подсистемы распределения временных ресурсов при управлении проектом. Збірка матеріалів V всеукраїнської науково-технічної конференції студентів, аспірантів та молодих вчених «Информатика и компьютерные технологии–2013» Донецьк, ДонНТУ 2013.
- Зуй К.Б., Светличная В.А., Ченгарь О.В. Разработка диаграммы деятельности с синхронизацией параллельных действий при создании компьютеризированной системы управления проектом. Збірка матеріалів VI всеукраїнської науково-технічної конференції студентів, аспірантів та молодих вчених «Информатика и компьютерные технологии–2014» Донецьк, ДонНТУ 2014.
- Кельтон В., Лоу А. Имитационное моделирование. Классика CS. 3-е изд. - СПб: Питер, 2004. - 847 с.ил.
- Ченгарь О.В. Разработка «направленного» муравьиного алгоритма для оптимизации производственного расписания. Вестник Херсонского национального технического университета, ISBN 5-7763-2514-5 – г. Херсон, 2013 - №1(46)
- Экспертные системы: принципы разработки и программирование, 4-е издание. : Пер. с англ. – М.: ООО "И.Д. Вильямс", 2007. – 1152 с.