Санкт-Петербургский государственный университет
Кафедра математического моделирования энергетических систем
Иванова Анастасия Александровна
Выпускная квалификационная работа бакалавра
Математическое моделирование интегрированной цепи
поставок компании
Направление 010400
Прикладная математика и информатика
Научный руководитель,
доктор физ.-мат. наук,
профессор
Захаров В.В.
Санкт – Петербург
2016
ОГЛАВЛЕНИЕ
Введение ...................................................................................................................................................... 2
Постановка задачи................................................................................................................................... 6
Краткий обзор литературы.................................................................................................................. 7
Глава 1. Моделирование и оптимизация цепей поставок .................................................................... 9
1.1 Основные свойства цепей поставок ................................................................................................ 9
1.2 Системное моделирование ........................................................................................................ 10
1.3 Подходы для решения задач оптимизации ........................................................................... 11
Глава 2. Описание элементов интегрированной цепи поставок ........................................................ 14
2.1 Общая характеристика ООО "Пивоваренная компания Балтика" ............................................. 14
2.2 Моделирование цепи поставок на примере ООО "Пивоваренная компания Балтика"....... 15
2.3 Общий вид математической модели интегрированной цепи поставок............................. 17
Глава 3. Программная реализация......................................................................................................... 21
3.1 Выбор программного средства ...................................................................................................... 21
3.2 Описание методов решения задачи .......................................................................................... 25
3.3 Реализация математической модели в среде Mathematica ............................................... 26
Выводы ....................................................................................................................................................... 30
Заключение ................................................................................................................................................ 31
Список литературы .................................................................................................................................... 32
Приложение ............................................................................................................................................... 34
2
Введение
Развитие современной экономики невозможно представить без учета
особенностей развития отдельных экономических систем. При определении
экономических процессов необходимо учитывать и другие факторы помимо
производства. Это связано с тем, что существует необходимость в описании
полных затрат, которые возникают в экономической среде при
взаимодействии материальных, денежных и информационных потоков.
Именно процессы контроля и оптимизации таких потоков являются
предметом исследования для логистики. Благодаря ей возможно
формирование целесообразного управления потоками товаров и услуг,
движущихся от поставщиков сырья до конечных потребителей[1].
При руководстве любыми промышленными компаниями огромное
значение имеют моделирование и дальнейшая оптимизация логистических
систем. Это вызвано большим количеством различных причин. Основные из
них:
Изменение экономических отношений на рынке;
Перемены в организационной структуре предприятия;
Развитие хозяйственных связей, которые возникают в пределах
одной компании, а также между несколькими компаниями,
обладающими схожими сферами производства.
Логическую систему любой коммерческой организации можно
изобразить следующим образом (см. Рис.1) [2]:
3
Для каждой компании в современном мире, где доминируют рыночные
отношения, очень значимыми являются такие аспекты как
конкурентоспособность, создание и распространение продукции, которая бы
отвечала существующим требованиям, предъявляемым к качеству [3].
Большое значение на рынке имеет конкуренция. Из-за неѐ появляются
производители, которые ставят своей целью монополизацию производства.
Такие производители, как правило, реализуют товары и услуги, смещая при
этом своих конкурентов [4,5]. Из-за глобализации экономических процессов
и серьезной конкуренции все предприятия вынуждены соперничать по части
уменьшения своих издержек. В таком случае очень важна роль логистики,
так как именно с еѐ помощью формируются конкурентные достоинства
членов экономической системы за счет рационального построения
материальных и финансовых потоков [1,6,7].
Для большинства промышленных, дистрибьюторских компаний и
розничных предприятий, логистические системы вносят существенную долю
в общих расходах. Известный американский специалист в области логистики
Herbert W. Davis изучал в течение нескольких лет логистические издержки в
промышленности Северной Америки, связанной со складами,
4
транспортировками, управлением заказами, управлением дистрибуцией и
управлением запасами. В конечном счете он опубликовал результаты,
согласно которым оказалось, что логистические издержки составляют 7-16%
от общей выручки. В то же время, доля затрат на логистику продолжает
увеличиваться в результате цепочки поставок становятся все более
изощренными, система заказов претерпевает изменения, и требования к
качеству обслуживания ужесточаются [8].
В настоящее время, многие страны с хорошо развитой рыночной
экономикой используют логистику в качестве эффективного инструмента в
бизнесе. Основные принципы логистики успешно применяются при
управлении крупными компаниями.
Таким образом, в ходе интеграции логистики, маркетинга и
менеджмента происходит логистизация предпринимательства, что
положительно сказывается не только на отдельных экономических агентах,
но и на состоянии национальной экономики в целом.
5
Постановка задачи
Цель исследования. На основе описанной проблемной области
определяется следующая цель:
Совершенствование действующих форм управления организацией при
помощи моделирования интегрированной цепи поставок;
Задачи исследования. Поставленной в работе цели соответствует
решение следующих задач:
Разработка математической модели, определяющей оптимальные
параметры при изучении задачи максимизации дохода компании;
Программная реализация сформированной модели.
Предмет исследования. Объектом исследования является
логистическая деятельность предприятия, а также повышение ее
эффективности.
6
Краткий обзор литературы
При написании выпускной квалификационной работы были
использованы следующие источники литературы: учебно – методические
пособия, статьи из научных журналов, глобальная сеть Internet.
Представлен краткий обзор литературы, указанной в конце работы.
В статье [1] проводится анализ особенностей современных
логистических систем. Исследуются и оцениваются методы и модели
теоретической логистики.
В работе [3] формируются практические рекомендации, используемые
при моделировании и оптимизации логистических систем предприятий.
Разрабатывается математическая модель логистической системы
предприятия, поиск оптимального решения этой модели осуществляется с
помощью симплекс-метода.
В книгах [6]-[7] формируется системное представление о
хозяйственной деятельности предприятия в целом.
В работах [4]-[5] проводится статистический анализ данных
международного товарообмена на примере России в 19 веке и СССР. Также в
указанных работах подробно рассматривается влияние конкуренции на
рынок.
В книге [9] изложены методологические основы интегрированного
планирования и моделирования цепи поставок. Подробно рассматриваются
модели линейного программирования.
В работе [10] исследуются современные проблемы применения
методов прикладной математики для моделирования и оптимизации цепей
поставок, процессов маршрутизации и управления запасами.
7
В литературе [12-13] приводится обзор некоторых экономический
показателей ООО "Пивоваренная компания Балтика", а также сформированы
цели и стратегии компании, направленные на устойчивое развитие.
Статья [15] посвящена изучению новой стратегии складирования в
современной логистике - кросс-докинг.
В статье [16] рассматривается построение математической модели,
описывающей цепочку поставок продукции из Эквадора в Санкт - Петербург
с минимизацией издержек компании.
В статье [17] в общем виде представлена математическая модель
производственно - логистической системы предприятия. Рассматривается
возможность применения пакета Xpress-Optimizer для решения задачи
максимизации маргинального дохода компаниии.
8
Глава 1. Моделирование и оптимизация цепей поставок
1.1 Основные свойства цепей поставок
Производственно - логистическая цепь предприятия представляет
собой географически расположенные объекты. На этих объектах
приобретается, хранится и продаѐтся сырьѐ и готовая продукция. Объекты
цепи соединяются при помощи каналов распределения. Благодаря этим
каналам осуществляется транспортировка продукции. Современные
производственно - логистические цепи - это весьма сложные системы,
состоящие из самых различных элементов. Представить цепь поставок
можно при помощи следующей схемы (см. на Рис.2) [9]:
Рис.2 Производственно-логистическая сеть предприятия
Таким образом, при рассмотрении цепи поставок как объекта,
подразумевается множество таких организаций как: поставщики сырья,
заводы - изготовители, склады и дистрибуторы, взаимодействующих в
потоках вещественных объектов, финансов и информации.
9
Под интегрированной цепью поставок подразумевается такая цепь,
которая содержит в себе весь комплекс потоков вещественных объектов, а
также всю совокупность денежных и информационных потоков [10].
Основная цель управления цепями поставок - минимизация издержек
компании (максимизации еѐ дохода) при удовлетворении фиксированного
потребительского спроса [3,10].
1.2 Системное моделирование
При решении прикладных задач в области логистики используются в
основном такие методы как: системное моделирование, методы теории
исследования операции, прогностика и кибернетический подход. Автором
данной работы был использован системный анализ. Его основное
преимущество заключается в том, что он создаѐт основу для
последовательного и логически обоснованного принятия решения.
Под системой подразумевается совокупность объектов произвольной
природы. Эти объекты образуют некую целостность при том или ином
контексте.
Основа методологии системного моделирования заключается в
структуризации рассматриваемой предметной области. Результат системного
моделирования представляет собой формирование некой модели системы.
Кроме того, происходит построение предметной области, без которой
невозможно описание главных аспектов этой системы.
В общем случае под моделью понимается такое представление
системы, которое отражает самые основные закономерности еѐ структуры, а
также ключевые особенности еѐ функционирования. Любая математическая
модель может быть сопоставлена существующему в действительном мире
объекту или же системе.
10
Математическое моделирование интегрированной цепи поставок ценно
в практическом смысле для таких российских специалистов, работа которых
основана на поиске решения логистических проблем для предприятий. Это
связано со следующими причинами:
Для правильного описания и дальнейшей качественной оптимизации
сложных и многофакторных процессов необходим аналитический
аппарат. Кроме того, существует необходимость использования
современных компьютерных технологий и мощных вычислительных
систем;
Необходима разработка правильной стратегии для поиска решения
логистических проблем предприятия. Данную стратегию невозможно
выполнить путѐм последовательного сложения простых решений
отдельно взятых логистических задач. Способы решения таких
многосторонних задач требуют построения и оптимизации
интегрированных моделей управления цепями поставок. [9]
1.3 Подходы для решения задач оптимизации
Для реализации логистических процессов необходимо рациональное
управление, которое периодически требует оптимизации из-за меняющейся
деятельности компании или изменившейся внешней среды. Число задач
оптимизации в логистике очень велико, а их состав разнообразен.
Любая математическая задача оптимизации и способ еѐ решения
зависят от следующих основных факторов:
Содержательная постановка задачи;
Описание ограничений к рассматриваемой задаче;
Цели конкретной задачи [11].
11
Содержательная постановка задачи подразумевает под собой еѐ
формулировку. Именно на этом этапе имеют место логические размышления
по конкретной проблеме. Благодаря анализу всех имеющихся ресурсов,
необходимых для построения модели, могут приниматься решения,
например, об уменьшении масштаба решаемой задачи (это имеет место в
силу отсутствия необходимых ресурсов) [9]. Кроме того, исходя из анализа
ресурсов, формируются ограничения по рассматриваемой задаче.
Цели конкретной задачи описываются при помощи критериальной
(целевой) функции. Она представляет собой оценочную функцию,
необходимую для количественного сравнения нескольких альтернатив и
выбора наилучшей из них. В данной работе при рассмотрении задачи
оптимизации выбор наилучшей альтернативы конкретизируется с помощью
требования максимизации целевой функции [9,11].
В связи с тем, что большая часть задач оптимизации интегрированных
цепей поставок не имеет аналитического решения представляемого в виде
расчетных формул, возникает потребность в выборе наиболее подходящего
вычислительного метода, а также наиболее подходящего программного
обеспечения. При выборе метода существенное значение имеет характер
математической модели. При подборе подходящего программное средства
основной акцент делается на существующие математические пакеты
(MATLAB, Wolfram Mathematica, Mathcad, MS Excel), основным
преимуществом которых является наличие большого количества встроенных
математических функций и вычислительных алгоритмов, необходимых для
практических подсчетов.
В настоящее время всѐ большую популярность приобретают такие
оптимизационные пакеты как: ILOG Cplex и Xpress-Optimizer. Они
используются многими аналитиками для поиска решения различных бизнес проблем, в том числе и крупномасштабных задач, содержащих около 106
12
переменных. Основные преимущества использования этих оптимизационных
пакетов:
Гибкий язык описания математических моделей, благодаря
которому существует возможность, позволяющая учесть
большой спектр ограничений;
Надѐжные алгоритмы, используемые при решении сложных
задач;
Высокая производительность. Предоставляются все возможности
для решения крупномасштабных задач по оптимизации. При этом
обеспечивается оптимальная скорость поиска решений;
Гибкие интерфейсы;
Наличие пробных версий обоих рассматриваемых программных
продуктов.
13
Глава 2. Описание элементов математической модели
интегрированной цепи поставок
В данной главе осуществляется структуризация предметной области
для поставленных задач на примере ООО "Пивоваренной компания Балтика".
При этом формируется интегрированная цепь поставок для этого
предприятия.
2.1 Общая характеристика ООО "Пивоваренная компания
Балтика"
Компания "Балтика" - это одно из наиболее крупных предприятий в
сфере производства товаров народного потребления в России. Компания
является производителем уникальных брендов как алкогольных, так и
безалкогольных напитков. Новейшее технологическое оснащение и
применение передовых технологий при изготовлении продукции
обеспечивают выпуск товаров высокого качества.
В настоящее время на территории России компания имеет восемь
заводов, расположенных в пяти регионах страны. Контроль над работой всех
пяти регионов осуществляется с помощью штаб - квартиры, которая
находится в Санкт - Петербурге.
Динамика доли компании на российском рынке пива за последние
несколько лет представлена на следующей диаграмме в процентах (см.
Рис.3):
14
38,8
38,6
38,4
38,2
38
37,8
37,6
37,4
2011г.
2012г.
2013г.
2014г.
Рис.3 Динамика доли компании на российском рынке
Уменьшение доли компании в 2014 году объясняется ухудшением
общей макроэкономической ситуации, которое повлияло на потребительский
спрос в отношении категории пива. Кроме того, в настоящее время
существует тенденция к сокращению потребления пива. Но несмотря на эти
причины, компания "Балтика" удерживает лидирующую позицию на рынке
производителей пива, опережая по долям своих ближайших конкурентов в
два раза [12,13,14].
2.2 Моделирование цепи поставок на примере ООО
"Пивоваренная компания Балтика"
В данной работе рассматривается планирование производства для
наиболее популярных брендов компании "Балтика" в Северо - Западном
регионе для двух случаев:
Формирование интегрированной цепи поставок для завода компании
"Балтика" в Санкт - Петергбурге;
15
Моделирование интегрированной цепи поставок для двух заводов
предприятия, находящихся в Санкт - Петербурге и Ярославле.
В качестве пунктов интегрированной цепи поставок рассматриваются
следующие основные элементы:
Заводы - поставщики;
Заводы - изготовители;
Распределительные центры.
Заводы - изготовители, используют для создания продукции сырьѐ,
производимое на заводах - поставщиках. Для любой компании выбор
поставщиков является очень ответственным решением. Это объясняется тем,
что у каждого поставщика свои тарифы на тот или иной тип сырья и кроме
того, необходимо учитывать транспортные издержки, возникающие при
доставке сырья заводам - изготовителям. Необходимо учитывать также то,
что каждый завод - изготовитель обладает своим уникальным числом
производственных линий, которые в свою очередь имеют собственные
производственные мощности и коэффициенты утилизации.
В качестве распределительных центров рассматриваются такие пункты,
в которые доставляются готовые изделия, где осуществляется их сортировка
и дальнейшее отправление заказчикам. В данной работе при моделировании
деятельности заводов компании "Балтика" рассматривается случай, когда
готовая продукция сразу же доставляется дистрибуторам. Например, в
последнее время всѐ большую популярность приобретает кросс- докинг [15].
Это такой процесс приѐма и отгрузки товаров, при котором не
осуществляется их долговременное хранение на складе. Основные
преимущества кросс-докинга - это качественное обслуживание потребителя и
снижение затрат на хранение.
Таким образом, весь процесс производства представим в виде
непрерывного движения сырья, незавершенной продукции и готовых товаров
16
по всем пунктам интегрированной цепи поставок. В каждом из этих пунктов
возникают какие - либо затраты. В данной работе рассматриваются такие
издержки как: затраты на производство, затраты на покупку сырья и
транспортные издержки.
На основе описанного выше материала и на основе исследовательских
работ [10,16,17], была сформирована интегрированная цепь поставок
компании "Балтика" для двух случаев.
2.3 Общий вид математической модели интегрированной цепи
поставок
Рассматривается математическая оптимизационная модель
производственно - логистической системы компании. Задача состоит в
максимизации дохода.
Данная задача формулируется как задача линейного
программирования. В качестве целевой функции рассматривается доход
предприятия от реализации готовой продукции с учетом факторов
снабжения, производства и транспортировки.
Набор индексов, используемый в модели:
r - индексы (тип) используемого сырья, r ∈ R;
I - номер завода;
p - индексы поставщиков, р ∈ Р;
j - номер производимого продукта, j ∈ J;
l - номер производственной линии, l ∈ Li;
k - номер дистрибутора, k ∈ K;
t - тип транспортного средства (ТС) для доставки готовой продукции, t
∈ T;
17
N - количество периодов горизонта планирования;
m - номер периода, в котором продукт производится;
n - номер периода, в котором продукт отгружается дистрибутору;
PRijkn - цена единицы продукта j, произведенной на заводе i и
доставляемой дистрибутору k в период n;
γiljm - стоимость производства единицы продукции j на линии l на
заводе i в период m;
αirpm - стоимость единицы сырья r, получаемого заводом i от
поставщика p в период m;
brpm - максимально возможный объѐм поставки сырья r поставщиком p
в период m;
βjr - затраты сырья r при производстве единицы продукции типа j;
wjlm - коэффициенты утилизации производственной линии l по
продукту j в период m;
ailm - максимальный объѐм производства линии l на заводе i в период m;
djkn - объѐм спроса на продукт j дистрибутора k в период n.
T1iktm - тариф за использование единицы транспортного средства типа t
на маршруте от завода i до дистрибутора k для доставки продукции,
произведенной и доставляемой в одном и том же периоде m;
T2iktm - тариф за использование единицы транспортного средства типа t
на маршруте от завода i до дистрибутора k для доставки продукции,
произведенной в период m и доставляемой дистрибутору k в
последующие периоды;
CAPt - вместимость ТС типа t;
FTtm - доступное количество единиц ТС типа t в период m.
В качестве основных переменных, оптимальные значения которых
будут давать максимальный доход, рассматриваются:
yiljm - объѐм производства продукта j на линии l завода i в период m;
18
Qijkmn - объѐм отгрузки продукта j c завода i в период m, доставляемый
дистрибутору k в период n;
xirpm - количество единиц сырья r, получаемого заводом i от поставщика
p в период m;
Ziktm - количество единиц транспортного средства типа t, используемого
для отгрузки продукции с завода i, произведенной и доставляемой
дистрибутору k в одном и том же периоде m;
Siktm - количество единиц ТС типа t, используемого для отгрузки
продукции с завода i, произведенной в период m и доставляемой
дистрибутору k в последующие периоды.
Исходя из анализа имеющихся ресурсов, при формировании модели
необходимо учесть также возникающие ограничения, накладываемые на
переменных задачи:
1) Ограничения по сырью типа r у поставщика p в период m
𝐼
𝑖=1 𝑥 irpm ≤
brpm
2) Уравнение баланса поставок сырья и объѐмов производства на заводе i
в период m
𝑝∈𝑃 𝑥 irpm
-
𝑗 ∈𝐽
𝛽jr
𝑙∈𝐿𝑖
𝑦iljm = 0,
где i = 1,...,I, m = 1,...,N, r ∈ R
3) Ограничения по производственным линиям l в период m
𝑗 ∈𝐽
𝑤 jlmyiljm ≤ ailm,
где l ∈ Li, i = 1,...,I, m = 1,...,N.
4) Ограничения по поставкам дистрибутору k продукции j в период n
𝐼
𝑖=1
𝑛
𝑚 =1 𝑄 ijkmn
≤ djkn, k ∈ K, j ∈ J, n = 1,....,N,
19
5) Баланс по объѐмам производства и объѐмам отгрузки:
𝑙∈𝐿𝑖
𝑦iljm -
𝑁
𝑛=𝑚
𝑘∈𝐾
𝑄ijkmn =0,
j∈J, для случая одного завода i =1 (для двух будет: i=1,2), k∈K, m=1,2,...N.
6) Ограничения по собственным ТС
𝐼
𝑖
𝐾
𝑘 (𝑍 iktm +Siktm)
= FTtm,, m=1,2,...N, t∈T.
7) Ограничения по вместимости ТС
𝐽
𝑗
𝐼
𝑖
𝐾
𝑘
𝑁
𝑛=𝑚
𝑄ijkmn ≤ CAPt× FTtm, j∈ 𝐽, 𝑛 = 1,2, … 𝑁.
Целевая функция, представляющая собой доход компании от
реализации готовой продукции и подлежащая максимизации, имеет
следующий вид:
Marg(Q,x) =
𝑁
𝑖=1
𝐼
𝑖=1
𝑙∈𝐿𝑖
𝑘∈𝐾
𝑗 ∈𝐽
𝑡∈𝑇
𝐼
𝑖=1
𝑗𝜖𝐽
𝑁
𝑚 =1 𝛾 iljmyiljm
𝑘∈𝐾
𝑁
𝑖=1
-
𝑁
𝑚 =1 𝑇1iktmZiktm
𝑁
𝑛 =1
-
𝐼
𝑖=1
𝑛
𝑚 =1 𝑃 RijknQijkmn
𝑝∈𝑃
𝑘∈𝐾
𝑟∈𝑅
𝑡∈𝑇
-
𝑁
𝑚 =1 𝑎 irpmxirpm 𝑁
𝑚 =1 𝑇2iktmSiktm
Таким образом, данная модель позволяет определить оптимальные
значения переменных для целевой функции, при которых достигается
максимальный доход компании. Учитываются такие факторы, как:
снабжение, производство и дистрибуция.
20
Глава 3. Программная реализация математической
3.1 Выбор программного средства. Описание встроенной
функции
В настоящее время существует большое количество оптимизационных
пакетов, позволяющих определить решения задачи линейного
программирования. Автором при выборе программного средства для
реализации описанной модели акцент уделялся следующим критериям:
Функциональность, то есть способность программного обеспечения
решать все возлагаемые на него задачи (имеются в виду те задачи, для
которых решение существует);
Удобство и простота в применении.
Автором осуществлялся выбор среди трѐх программных средств:
1. ILOG Cplex;
2. Xpress-Optimizer;
3. Wolfram Mathematica.
Среди ключевых особенностей оптимизационного пакета ILOG Cplex
можно выделить следующие:
Высокая точность. Округление чисел установлено по умолчанию, но
пользователь с помощью специальных настроек может, например,
удвоить точность вычислений;
Наличие возможности использования параллельных вычислений;
Возможность отслеживания процесса решения задачи и возможность
сбора характеристик работы осуществляемой программы. С помощью
программы профилирования существует возможность получения
информации о продолжительности выполнения каждого этапа
программы и об использовании памяти;
В пакете ILOG Cplex возможно обнаружение конфликтов и
выполнение рекомендаций по их устранению. Это работает благодаря
21
встроенному средству устранения конфликтных обстоятельств, с
помощью работы которого, например, отображаются конфликтующие
ограничения;
В случае, когда исходная задача содержит количество ограничений,
превышающее количество переменных, в пакете ILOG Cplex
происходит автоматических переход к решению двойственной задачи.
Это выгодно с точки зрения оптимизации времени решения задачи, так
как в двойственной задаче содержится меньшее количество
ограничений [18].
Для оптимизационного пакета Xpress-Optimizer автором были
выделены следующие отличия:
Основу пакета составляют математические функции, реализованные на
С++;
Ввод данных возможен через базу данных или при помощи текстового
файла;
За счѐт гибкого языка, используемого при описании математических
моделей, возможен учѐт большого спектра ограничений. Кроме того,
благодаря введѐнным в него элементам функционального
программирования, процесс формализации модели становится более
лѐгким [19,20].
Как в оптимизационном пакете ILOG Cplex, так и в Xpress-Optimizer
для решения задачи линейного программирования может использоваться
встроенный дфухфазный симплекс-метод. Он используется в том случае,
когда при приведении задачи линейного программирования к канонической
форме, определение начального допустимого базисного решения путѐм
элементарных преобразований (приведение системы к треугольному виду)
затруднительно. Исходные данные рассматриваемой задачи могут
считываться из текстового файла. Формирование ограничений возможно при
помощи условных операторов или циклов. В обоих пакетах содержится
22
встроенная функция максимизации, при запуске которой осуществляется
рассматриваемый оптимизационный процесс.
Для среды Wolfram Mathematica автором были выделены следующие
особенности:
Автоматизация в вычислениях, визуализации и разработке. В среде
Wolfram Mathematica возможно создание высокоуровневых и
удобочитаемых программ. Благодаря такой автоматизации возможно
получение высококачественных результатов;
Интегрированная универсальная платформа. За счет существования
дополнительных инструментов нет ограничений для творческой
работы. Кроме того, система Mathematica не требует покупки
дополнительных пакетов. В ней существуют специализированные
функции, необходимые для многих технических направлений;
Мультипарадигмальный язык. Система Mathematica выделяется из
многих языков программирования тем, что поддерживает различные
программные парадигмы: функциональную, процедурную и другие;
Наличие встроенной информации. В рассматриваемой
оптимизационном пакете содержится большая коллекция данных
самых разных типов. Эти данные регулярно обновляются и
пополняются;
Наличие информативной справочной системы. При осуществлении
запроса, например, по неизвестной функции справочной системой
предоставляются описание работы искомой функции, а также
приводятся различные примеры еѐ применения.
Учитывая все описанные характеристики, был сделал выбор в пользу
среды Wolfram Mathematica. На данный выбор повлияли вышеперечисленные
плюсы указанной системы, а также более длительный опыт работы автора в
этой среде по сравнению с другими оптимизационными пакетами. Благодаря
огромному количеству встроенных разработчиками функций, возможности
23
этой среды практически безграничны. Wolfram Mathematica имеет высокую
скорость вычислений и поддерживает числа любой точности, что является
немаловажным при решении задач оптимизации [21,22].
В системе Mathematica существует коллекция алгоритмов для решения
линейных оптимизационных задач с реальными переменными. Доступ к этим
алгоритмам осуществляется через такие функции как: LinearProgramming,
FindMinimum, FindMaximum, NMinimize, NMaximize. Функция
LinearProgramming обеспечивает прямой доступ к алгоритмам линейного
программирования и является наиболее эффективной для задач большой
размерности (около 106 переменных). FindMinimum, FindMaximum,
NMinimize, NMaximize удобно использовать для решения задачи линейного
программирования в виде уравнения и неравенства [23].
Автором данной работы для поиска решения рассматриваемой
проблемы была выбрана функция NMaximize. Далее проводится краткий
обзор еѐ возможностей.
NMaximize реализует поиск глобального максимума заданной
пользователем функции, с учетом заданных ограничений. По умолчанию, все
переменные предполагаются вещественными. Если NMaximize определяет,
что ограничения не могут быть удовлетворены, то она возвращает
следующее:
{-Infinity, {x→Indeterminate,...}}.
Принцип еѐ работы демонстрируется на следующих примерах:
1) In[2]:= NMaximize[{x^2 + (y-6)^2, x^2+y^2<9}, {x, y}]
Out[2]:= {81., {x →2.41388×10-7, y → -3.}}
2) In[45]:= NMaximize[-3x^2-5x-1, {x, -20, 20}]
Out[45]:= {1.08333, {x → -0.833333}}
In[46]:= Plot [-3x^2-5x-1, {x, -20, 20}]
Функция Plot осуществляет построения графика (см.Рис.4):
24
Рис.4 График максимизируемой функции
3.2 Описание методов решения задачи
Рассматриваемая задача относится к классу задач линейного
программирования большой размерности. Существует несколько возможных
подходов к еѐ решению.
Функцией NMaximize при решении задач оптимизации используется
один из следующих алгоритмов:
1. Симплекс - метод;
2. Модифицированный симлекс - метод;
3. Метод внутренней точки.
По умолчанию, система выбирает наиболее подходящий алгоритм
автоматически, исходя из размерности задачи и требуемой точности.
Симплекс - метод и модифицированный симплекс - метод определяют
решение задачи линейного программирования путѐм перебора вершин
многогранника, описанного заданными ограничениями. Такой перебор
продолжается до тех пор, пока не будет найдено решение задачи,
удовлетворяющее необходимым требованиям. Каждое последующее
25
решение, в общем случае, улучшает значение целевой функции. Можно
выделить два основных этапа работы этих методов:
1. Определение начального решения, которое удовлетворяет
заданным ограничениям;
2. Последующее улучшение начального решения до тех пор, пока
не будет получено оптимальное решение задачи.
В среде Wolfram Mathematica реализация этих алгоритмов
осуществляется при помощи использования понятия плотных матриц
линейной алгебры. Также особенностью реализации данных методов
является то, что можно решать задачу, требуя при этом повышенной
точности. Именно поэтому рассматриваемые алгоритмы эффективнее
используются при решении задач малой размерности.
Метод внутренних точек начинает осуществлять перебор с внутренних
точек многогранника. Это метод быстрее находит решение, но в отличие от
предыдущих двух алгоритмов, он не находит решение точно. В среде
Wolfram Mathematica реализация алгоритма внутренних точек
осуществляется при помощи использования понятия разреженных матриц
линейной алгебры. В связи с этим он чаще употребляется при решении
крупномасштабных оптимизационных задач (около 106 переменных), так как
алгоритмы, не учитывающие разряженную структуру матрицы работают
медленно и требуют значительных объѐмов памяти.
3.3 Реализация математической модели в среде Mathematica
Реализацию математической модели интегрированной цепи поставок
в пакете Mathematica можно условно разбить на несколько этапов:
1. Описание множества индексов модели;
2. Задание параметров и переменных модели;
26
3. Вызов встроенной функции максимизации.
Перед запуском встроенной функции осуществляется определение и
инициализация описанных параметров задачи. При запуске функции
максимизации начинается оптимизационный процесс, завершением которого
является вывод на экран решения рассматриваемой задачи.
В силу большого количества исходных данных, значения всех
параметров не приводятся. В таблицах, представленных ниже описаны
некоторые тестовые параметры рассматриваемой задачи.
Таблица 1. Тестовые параметры задачи, рассматриваемые для одного завода в
Санкт - Петербурге
Количество видов сырья
7
Количество поставщиков
8
Количество типов ТС
2
Количество производимых продуктов
5
Количество дистрибуторов
7
Остальные параметры, а также программная реализация для данных из
Таблицы 1 представлены в Приложении 1. Результаты оптимизации для
указанной задачи описаны в Приложении 2.
Таблица 2. Некоторые тестовые параметры задачи, рассматриваемые для двух
заводов компании "Балтика" в Санкт - Петербурге и Ярославле
Количество видов сырья
14
Количество поставщиков
15
Количество типов ТС
5
Количество производимых продуктов
14
Количество дистрибуторов
10
27
Оставшиеся параметры, не указанные в Таблице 2, содержаться в
Приложении 3. Результаты этой оптимизации отличаются от результатов
оптимизации для одного завода, только количеством переменных, отличных
от нуля, а также числовыми значениями этих переменных.
В большинстве случаев оптимизация на тестовых данных прошла
успешно. Исключение составляли ситуации с некорректными входными
параметрами. Например, при задании малой цены за единицу готовой
продукции, в результате все выходные переменные получались равными
нулю, то есть при заданной некорректной цене, производство продукции
становилось невыгодным. Или, например, при задании малого количества
запасов ресурсов у поставщиков и небольшого значения максимальных
мощностей производственных линий, также возникала ошибка, связанная с
тем, что при таких некорректных данных не выполнялось ограничение по
сырью у поставщиков.
На графике, представленном ниже, отображена зависимость затрат по
времени (в секундах) от количества переменных. Данная зависимость
строилась на разных наборах данных с использованием случайных чисел (см.
Рис.5):
Рис.5 Зависимость затрат времени от количества переменных
28
В результате работы написанной программы, определяются
оптимальные значения переменных для целевой функции, при которых
достигается максимальный доход компании. Именно эта задача являлась
предметом исследования автора.
29
Выводы
Основные результаты, полученные автором, в процессе работы над
рассматриваемой задачей:
1. Подробно изучена значимость управления интегрированной цепью
поставок на примере ООО "Пивоваренная компания Балтика";
2. Описана и формализована предметной область рассматриваемой
задачи;
3. Построена математическая модель производственно - логистической
системы предприятия.
4. Выбран оптимизационный пакет для реализации рассматриваемой
задачи и обосновано решение данного выбора;
5. Описаны некоторое возможности, выбранной встроенной функции
NMaximize;
6. Описаны методы среды Wolfram Mathematica, которые используются
для решения задач линейного программирования;
7. Получены конечные результаты работы реализованной программы.
30
Заключение
Автором данный работы рассматривалась задача моделирования
интегрированной цепи поставок на примере ООО "Пивоваренная компания
Балтика". Сформулированная задача является актуальной в современном
мире, где преобладают рыночные отношения. Именно хорошо развитая
логистическая система предприятия является его важным конкурентным
преимуществом на рынке.
Основная сложность при построении математической модели
заключалась в уровне детализации рассматриваемой предметной области.
Это имеет большую значимость при выборе переменных и параметров
модели, а также при описании ограничений. Но учесть все факторы,
возникающее при производстве и математически описать их очень сложно.
Это объясняется появлением огромного числа исходных данных, что в свою
очередь влияет на вычислительный процесс. Не каждый даже мощный
компьютер способен справиться с этим.
Автором в данной работе рассмотрены основные факторы,
возникающее при производстве. Однако, остался и ряд неучтенных
процессов и явлений. Например, не всегда существует возможность сразу же
доставлять дистрибуторам готовую продукцию. Это приводит к появлению
издержек хранения, которые также возможно учесть в данной модели. Также,
к примеру, в сформированной модели возможно рассмотрение таких
факторов как: дополнительные мощности производственных линий или
объѐм недогрузки транспортных средств и т.д. Учѐт этих факторов и
расширение рассматриваемой математической модели являются предметом
дальнейших исследований автора.
31
Список литературы
1. Вегера А.В. "Моделирование логистической сети управления запасами
производственной организации", 2004г. [1];
2. Сайт: http://www.wl-center.ru/logistika74.htm [2];
3. Диссертационная
работа
Гордеевой
С.Е.
«Моделирование
и
оптимизация логистических систем промышленных предприятий»,
2012 г. [3]
4. Колпак Е.П., Горыня Е.В., Иванова А.А. "Показатели конкуренции.
Международная торговля в России в 19 веке", "Издательство молодой
ученый", №3 (107), стр.534 2016г. [4];
5. Колпак Е.П., Горыня Е.В., Иванова А.А. "Показатели конкуренции.
Международная торговля СССР","Издательство молодой ученый", №4
(108), стр.402 2016г. [5];
6. Аксѐнов А.П., Берзинь И.Э., Иванова Н.Ю. "Экономика предприятия",
под ред. С.Г. Фалько, М.:КНОРУС, 2013г. [6];
7. Мормуль Н.Ф. "Экономика предприятия", М.: ОМЕГА-Л, 2015г. [7];
8. Gasratova N.A., Gasratov M.G. "A Network Model of Inventory Control in
the Case of a Quantitative Competition", 2014г. [8];
9. Бочкарѐв А.А. "Планирование и моделирование цепи поставок", М.:
"Альфа-пресс", 2008г. [9];
10.Сборник трудов международной научной конференции аспирантов и
студентов, статья Захарова В.В. «Методы и модели прикладной
математической логистики», СПб.: Издат. Дом Федоровой Г.В., стр.
742, 2015г.[10];
11.Ю.Е. Мегель, А.П. Руденко, А.И. Рыбалка "Математическая модель
задачи оптимизации и метод еѐ решения для оптимизации потерь в
сетях", 2011г. [11];
12.Отчѐт об устойчивом развитии компании "Балтика" 2014г. [12];
13.Годовой отчѐт компании "Балтика" 2012г. [13];
32
14.http://corporate.baltika.ru/ [14];
15.Jesper Larsen "Vehicle Routing with Cross-Docking" 2015г. [15];
16.Каганова Е.И. "Оптимизация цепи поставки грузов с использованием
современных
международной
программных
научной
средств",
конференции
сборник
аспирантов
трудов
и
40-й
студентов
факультета ПМ - ПУ, СПБ.: Издат. Дом С.-Петерб. гос. ун-та, стр.707,
2009г. [16];
17.Каганова Е.И., Перцовский А.К. "Оптимизация производственно логистической системы с использованием Xpress-optimizer", сборник
трудов 40-й международной научной конференции аспирантов и
студентов факультета ПМ - ПУ, СПБ.: Издат. Дом С.-Петерб. гос. унта, стр.546, 2008г. [17];
18. http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/
[18];
19.https://rsdn.ru/article/XpressOptimizer/XpressOptimizer.xml [19];
20.Гарнаев А.В., Захаров В.В., Перцовский А.К. "Задачи оптимизации в
оптимизационном пакете Xpress Optimizer и поиске решений MS
Excel", 2010г. [20];
21.https://habrahabr.ru/post/113588/ [21];
22.https://www.wolfram.com/mathematica/comparemathematica/index.ru.html? [22];
23.https://reference.wolfram.com/language/tutorial/ConstrainedOptimizationLi
nearProgramming.html [23].
33
Приложение 1.
Индексы
i (* индексы заводов *)
r (* индексы (номера) видов используемого сырья *)
p (* индексы поставщиков *)
m (* номер периода, в котором продукт производится *)
j (* индекс производимого продукта *)
l (* индекс производственной линии *)
k (* индекс дистрибутора *)
n (* номер периода, в котором продукт поставляется дистрибутору *)
t (* тип транспортного средства *);
Параметры
in=1; (* количество заводов *)
rn=7; (* количество видов сырья *)
pn =8; (* количество поставщиков *)
mn=3; (* количество периодов горизонта планирования *)
tn=2; (* количество типов ТС *)
jn =5;(* количество производимых продуктов *)
kn =7;(* количество дистрибуторов *)
b[r_,p_,m_]:=r+p+m+10000 (* максимально возможный объѐм поставки сырья r
поставщиком p в период m *)
w[j_,l_,m_]:=12/15 (* коэффициенты утилизации производственной линии l по
продукту j в период m *)
β[j_,r_]:=j+r +10 (* затраты сырья r при производстве единицы продукции типа j *)
ln[i_]:=i+4 (* количеств производственных линий на заводе i *)
a[i_,l_,m_]:=9000+i+l+m(* максимальный объѐм производства линии l на заводе i в
период m *)
d[j_,k_,n_]:=j+k+n+1000 (* объѐм спроса на продукт j дистрибутора k в период n *)
pr[i_,j_,k_,n_]:=i+j+k+n+100000 (* цена единицы в у.е. продукта j, произведенной на
заводе i и доставляемой дистрибутору k в период n *)
γ[i_,l_,j_,m_]:=i+l+j+m+30 (* стоимость производства единицы продукции j на линии
l на заводе i в период m *)
α[i_,r_,p_,m_]:=i+r+p+m +600(* стоимость единицы сырья r, получаемого заводом i
от поставщика p в период m *)
v[t_]:=t+100 (*вместимость ТС типа t*)
34
tr[t_,m_]:=t+m+9 (*доступное кол-во единиц ТС t в период m*)
tar1[i_,k_,t_,m_]:=i+k+t+m+50 (* тариф в у.е. за использование единицы
транспортного средства типа t на маршруте от завода i до дистрибутора k для
доставки продукции,произведенной и доставляемой в одном и том же периоде m *)
tar2[i_,k_,t_,m_]:=i+k+t+m+55 (* тариф в у.е. за использование единицы
транспортного средства типа t на маршруте от завода i до дистрибутора k для
доставки продукции,произведенной в период m и доставляемой дистрибутору k в
последующие периоды *)
Переменные
x[i,r,p,m] (* количество единиц сырья r, получаемого заводом i от поставщика p в
период m *)
y[i,l,j,m] (* объѐм производства продукта j на линии l завода i в период m *)
q[i,j,k,m,n] (* объѐм отгрузки продукта j c завода i в период m, доставляемый
дистрибутору k в период n *)
z[i,k,t,m] (* количество единиц транспортного средства типа t,используемого для
отгрузки продукции с завода i,произведенной и доставляемой дистрибутору k
в одном и том же периоде m *)
s[i,k,t,m] (* количество единиц ТС типа t,используемого для отгрузки продукции с
завода i,произведенной в период m и доставляемой дистрибутору k в
последующие периоды *)
Решение
vars = Flatten[{
Table 𝑞 𝑖, 𝑗, 𝑘, 𝑚, 𝑛 , 𝑖, in , 𝑗, jn , 𝑘, kn , 𝑛, mn , 𝑚, 𝑛 ,
Table[𝑦[𝑖, 𝑙, 𝑗, 𝑚], {𝑖, in}, {𝑙, ln[𝑖]}, {𝑗, jn}, {𝑚, mn}],
Table[𝑥[𝑖, 𝑟, 𝑝, 𝑚], {𝑖, in}, {𝑝, pn}, {𝑟, rn}, {𝑚, mn}],
Table[{𝑧[𝑖, 𝑘, 𝑡, 𝑚], 𝑠[𝑖, 𝑘, 𝑡, 𝑚]}, {𝑖, in}, {𝑘, kn}, {𝑡, tn}, {𝑚, mn}]
}];
vars//Length (*длина*)
35
NMaximize[{
(*целевая функция*)
jn
in
kn
mn
𝑛
pr[𝑖, 𝑗, 𝑘, 𝑛]𝑞[𝑖, 𝑗, 𝑘, 𝑚, 𝑛]
𝑖
𝑗
𝑚
𝑛
𝑘
ln [𝑖]
in
jn
mn
−
𝛾[𝑖, 𝑙, 𝑗, 𝑚]𝑦[𝑖, 𝑙, 𝑗, 𝑚]
𝑖
𝑙
in
pn
𝑗
rn
𝑚
mn
−
𝛼[𝑖, 𝑟, 𝑝, 𝑚]𝑥[𝑖, 𝑟, 𝑝, 𝑚] −
𝑖
in
kn
tn
𝑟
𝑝
𝑚
mn
(tar1 𝑖, 𝑘, 𝑡, 𝑚 𝑧 𝑖, 𝑘, 𝑡, 𝑚 + tar2[𝑖, 𝑘, 𝑡, 𝑚]𝑠[𝑖, 𝑘, 𝑡, 𝑚]),
𝑖
𝑘
𝑡
𝑚
(∗ Ограничения по сырью типа 𝑟 у поставщика 𝑝 в период 𝑚 ∗)
in
Table[
𝑥[𝑖, 𝑟, 𝑝, 𝑚] ≤ 𝑏[𝑟, 𝑝, 𝑚], {𝑟, rn}, {𝑝, pn}, {𝑚, mn}],
𝑖
(∗ Уравнение баланса поставок сырья и объѐмов производства на заводе 𝑖 в период 𝑚 ∗)
jn
ln [𝑖]
pn
Table[
𝑥[𝑖, 𝑟, 𝑝, 𝑚] −
𝛽[𝑗, 𝑟]
𝑝
𝑦[𝑖, 𝑙, 𝑗, 𝑚] =
𝑙
𝑗
= 0, {𝑖, in}, {𝑚, mn}, {𝑟, rn}],
(∗ Ограничения по производственным линиям 𝑙 в период 𝑚 ∗)
36
jn
Table[
𝑤[𝑗, 𝑙, 𝑚]𝑦[𝑖, 𝑙, 𝑗, 𝑚] ≤ 𝑎[𝑖, 𝑙, 𝑚], {𝑖, in}, {𝑚, mn}, {𝑙, ln[𝑖]}],
𝑗
(∗ Ограничения по поставкам дистрибутору 𝑘 продукции 𝑗 в период 𝑛 ∗)
in
𝑛
Table[
𝑞[𝑖, 𝑗, 𝑘, 𝑚, 𝑛] ≤ 𝑑[𝑗, 𝑘, 𝑛], {𝑗, jn}, {𝑘, kp + 1, kn}, {𝑛, mn}],
𝑚
𝑖
(∗ Баланс по объѐмам производства и объѐмам отгрузки ∗)
kn
ln [𝑖]
Table[
mn
𝑦[𝑖, 𝑙, 𝑗, 𝑚] ==
𝑙
𝑞[𝑖, 𝑗, 𝑘, 𝑚, 𝑛] , {𝑖, in}, {𝑗, jn}, {𝑚, mn}],
𝑘
𝑛 =𝑚
∗ Ограичения по собственным вагонам ∗
in
kn
Table[
(𝑧[𝑖, 𝑘, 𝑡, 𝑚] + 𝑠[𝑖, 𝑘, 𝑡, 𝑚]) == tr[𝑡, 𝑚], {𝑡, tn}, {𝑚, mn}],
𝑘
𝑖
(∗ Ограничения по вместимости ТС*)
in
jn
kn
mn
Table[
(𝑞[𝑖, 𝑗, 𝑘, 𝑚, 𝑛]) ≤ 𝑣[𝑡]tr[𝑡, 𝑚], {𝑡, tn}, {𝑚, mn}],
𝑖
𝑗
𝑘
𝑛 =𝑚
37
Приложение 2.
Таблица 3. Оптимальные значения объѐмов отгрузки (в далах) для завода в Санкт Петербурге
номер
завода
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Q
тип
продукта
1
1
1
1
1
1
1
1
1
1
1
1
1
1
дистрибутор
5
5
5
6
6
6
6
6
7
7
7
7
7
7
период
производства
1
2
3
1
2
1
2
3
1
1
2
1
2
3
период
отправки
3
3
3
2
2
3
3
3
1
2
2
3
3
3
Таблица 4. Оптимальные значения объѐмов производства (в далах)
y
номер
продукта
1
1
1
линия
1
1
1
завод
1
1
1
период
1
2
3
Таблица 5. Оптимальные значения количества единиц ТС
z
завод
1
1
1
1
1
дистрибутор
1
1
1
1
1
тип ТС
1
1
2
2
2
период
2
3
1
2
3
значение
12
13
12
13
14
Таблица 6. Оптимальные значения количества единиц сырья
38
значение
1111
1212
1313
значение
71,355
104,39
182,044
71,5057
103,837
234,15
277,46
498,39
71,8679
631,349
378,651
30,7726
347,662
632,566
завод
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
тип сырья
1
1
2
2
2
3
3
3
4
4
4
5
5
5
6
6
6
7
7
7
1
1
2
2
2
3
3
3
4
4
4
5
5
5
6
6
6
7
7
7
5
6
6
7
7
поставщик
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
период
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
3
2
3
2
3
значение
10004
10005
10004
10005
10006
10005
10006
10007
10006
10007
10008
10007
10008
10009
10008
10009
10010
10009
10010
10011
4540
5751
4439
5751
7063
5549
6962
8375
6659
8173
9687
7769
9384
10010
8879
10010
10011
9989
10011
10012
989
585
2300
1795
3611
39
Значение целевой функции: 1,31083*108.
Значения остальных переменных, не указанных в таблицах, не
приводятся так как эти значения очень близки к нулю.
40
Приложение 3.
in=2; (* количество заводов *)
rn=14; (* количество видов сырья *)
pn =15; (* количество поставшиков *)
mn=5; (* количество периодов горизонта планирования *)
tn=5; (* количество типов ТС *)
jn =14;(* количество производимых продуктов *)
kn =10;(* количество дистрибуторов *)
b[r_,p_,m_]:=r+p+m+80000 (* максимально возможный объѐм поставки сырья
r поставщиком p в период m *)
w[j_,l_,m_]:=12/15 (* коэффициенты утилизации производственной линии l
по продукту j в период m *)
β[j_,r_]:=j+r +10(* затраты сырья r при производстве единицы продукции
типа j *)
ln[i_]:=5(* количеств производственных линий на заводе i *)
a[i_,l_,m_]:=10000+i+l+m(* максимальный объѐм производства линии l на
заводе i в период m *)
d[j_,k_,n_]:=j+k+n+3000(* объѐм спроса на продукт j дистрибутора k в период
n *)
pr[i_,j_,k_,n_]:=i+j+k+n+170000(* цена единицы продукта j, произведенной на
заводе i и доставляемой дистрибутору k в период n *)
γ[i_,l_,j_,m_]:=i+l+j+m+30(* стоимость производства единицы продукции j на
линии l на заводе i в период m *)
α[i_,r_,p_,m_]:=i+r+p+m +600(* стоимость единицы сырья r, получаемого
заводом i от поставщика p в период m *)
v[t_]:=t+100 (*вместимость ТС типа t*)
tr[t_,m_]:=t+m+9 (*доступное кол-во единиц ТС t в период m*)
41
Отзывы:
Авторизуйтесь, чтобы оставить отзыв