Имитационная модель цепи поставок

Понятие, цели и область применения имитационного моделирования. Исследование основных бизнес-процессов транспортной компании. Построение имитационной модели логистических процессов транспортной компании, её калибровка и верификация в целях оптимизации.

Рубрика Экономико-математическое моделирование
Вид дипломная работа
Язык русский
Дата добавления 18.02.2017
Размер файла 4,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Если условие не выполняется, то происходит:

for (Map.Entry e : orderList.get(0).product_needs.entrySet()) {

String prod=(String)e.getKey();

int quant=(int)e.getValue();

orderList.get(0).order_department.product_stock.put(prod,orderList.get(0).order_department.product_stock.get(prod)+quant);

}

orderList.remove(0);

expenses=expenses+2500;

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

Если же условие выполнилось, то выполняется действие: distance=this.distanceByRoute(orderList.get(0).order_department)/1000;

moveTo(orderList.get(0).order_department);

Рассчитывается значение в км до нужного склада (может оказаться, что грузовик уже находится на нужном складе). И направляется на склад, ссылка на который находится внутри агента Order. Таким образом, транспортное средство оказывается в состоянии ToNeededDepartment. Если к тому времени как грузовик достиг нужного склада лимит времени будет исчерпан, то опять же происходит возврат списанного товара, а транспортное средство возвращается в исходную точку. В противном случае происходит переход в состояние Packing, отражающее упаковку товара, как следствие переход от этого состояния занимает время пропорциональное количеству товара. Далее происходит очередная проверка по тайм-ауту, однако грузовик не сразу возвращается на исходный склад, а сначала протекает процесс распаковки товара. Если же со сроками доставки все хорошо, то выполняются следующие действия: distance=distance+this.distanceByRoute(orderList.get(0).order_delivery)/1000;

moveTo(orderList.get(0).order_delivery);

То есть параметр distance к уже проделанному пути между складами добавляет расстояние от склада товара до места доставки, и происходит движению к заказчику. Таким образом, достигается состояние MovingToDelivery. При выходе из этого состояния переменной flag присваивается значение true, что свидетельствует о факте доставки. Если грузовик прибыл к месту доставки в момент, когда временное ограничение закончилось, процесс разгрузки и доставки будет продолжен, однако со штрафом для компании: if (orderList.get(0).status==2)

expenses=expenses+distance*10; в затраты уходит 50% от тех денег, что будут получены за доставку. Происходит переход в состояние распаковки, по окончании этого действия переменная distance в которой происходит подобное вычисление distance+this.distanceByRoute(getNearestAgent(main.department))/1000, свидетельствующее о фиксировании в данной переменной еще и расстояние до склада.

По завершению распаковки происходит переход с затратой времени 0.0375*orderList.get(0).product_needs.values().stream().reduce(0, Integer::sum), это подтверждает зависимость времени распаковки от количества товара в заказе. Кроме того, в момент перехода, до наступления события MovingToDepartment происходит действие:

main.success.add(orderList.get(0));

orderList.remove(0);

boolean bol = false;

int num=-1;

for (int i=0;i<orderList.size();i++) {

if (orderList.get(i).status==1) {

bol = true;

num=i;

break;

}

}

В коллекцию success, отраженную на уровне main добавляется доставленный заказ. Из списка заказов, который должен доставить этот грузовик, удаляется первый элемент, в силу того, что он доставлен. Из списка оставшихся заказов происходит поиск тех, которые не просрочены по времени. Если хотя бы один заказ такой находится, то переменная num запоминает его порядковый номер из списка, а булевая переменная bol принимает значение true. Если такового заказа не будет, то bol сохранит значение false, а переменная num будет равна -1.

if (bol==true) {

for (int i=0;i<num;i++) {

for (Map.Entry e : orderList.get(i).product_needs.entrySet()) {

String prod=(String)e.getKey();

int quant=(int)e.getValue();

orderList.get(i).order_department.product_stock.put(prod, orderList.get(i).order_department.product_stock.get(prod)+quant);

}

}

for (int i=0;i<num;i++) {

orderList.remove(0);

}

moveTo(orderList.get(0).order_department);

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

} else {

for (int i=0;i<orderList.size();i++) {

for (Map.Entry e : orderList.get(i).product_needs.entrySet()) {

String prod=(String)e.getKey();

int quant=(int)e.getValue();

orderList.get(i).order_department.product_stock.put(prod, orderList.get(i).order_department.product_stock.get(prod)+quant);

}

}

orderList.clear();

moveTo(getNearestAgent(main.department));

}

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

По прибытию на склад срабатывает логика:

Tend=time();WorkTime=WorkTime+Tend-Tstart;

expenses=WorkTime*200;

if (flag==true)

{income=income+distance*20;

distance=0;}

Согласно которой переменная Tend фиксирует окончание поездки, WorkTime рассчитывает время, затраченное на доставку грузов, происходит расчёт затрат expenses из ставки 200 р/ч за труд водителя, если груз был доставлен flag==true, то переменная доходов income увеличится из расчёта, что один километр движения стоит 20 рублей. И переменная расстояния distance обнулится. Остальные действия будут следовать логики описанной ранее, так как мы вернулись в исходное состояние. Говоря о финансах, стоит отметить, что переменная income отвечает за доходы, а expenses за расход. Может возникнуть ситуация, когда доходы превысят доходы. Это возможно в ситуации, когда ограничение по времени пройдет, а заказ не будет доставлен, в таком случае оплата водителям будет понесена, а покупателю будет выплачен штраф.

Также на верхнем уровне - на агенте main отражается переменная revenue, заполняемая событием rev

revenue=0;rev2=0;

for (int i=0;i<truck.size();i++)

{revenue=revenue+truck.get(i).income-truck.get(i).expenses;

revenue=revenue-department.size()*1000/24*time();// прибыль с учетом постоянных затрат на содержание склада

Расчет производится суммарный по всем грузовикам. Сначала вычитаются все переменные издержки, зависящие непосредственно от каждого заказа.

А потом вычитается и расходы на содержание складов. Считается, что содержание склада в среднем обходится в 1000 рублей в день.

Так как мы работаем с моделью, для которой модельным временем являются часы, а наше событие по расчету прибыли отрабатывает каждый час, то чтобы найти затраты в конкретный период времени, то необходимо 1000/24*time(), а так как склад у нас ни один, то умножаем на их количество department.size().

Также в ходе построение модели были реализованы оптимизационные задачи:

1) Максимизация объема прибыли при изменении количества складов

2) Максимизация прибыли при варьировании количества грузовиков

3) Максимизация прибыли при переменных значениях обоих вышеперечисленных параметров.

В первом эксперименте берется дискретный тип параметра department_quantity со значениями от 1 до 6 и шагом 1. Максимизируется значение параметра revenue.

При второй оптимизации вариативные значения принимает параметр numberOfTrucks, в диапазоне от 1 до 20 с шагом 1.

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

3.3 Результаты работы модели

В данной модели использовано 6 агентов, 14 параметров, 10 переменных и 6 событий. Полученная модель отвечает всем требованиям транспортной логистики, перечисленным в главе 1, подразделе 1.1. Данная модель доставляет именно требуемый товар, для этого была введена проверка на складах достаточного количества товара, указанного в заказе. Она происходит на объекте Delivery в событии createOrder, описанном в подразделе 3.2. Транспортное средство движется по наиболее оптимальному маршруту, для этого, во-первых, выбирается подходящий грузовик, согласно логики описанной для объекта Order в подразделе 3.2 Во-вторых, в событии createOrder, упомянутом выше, также происходит выбор ближайшего склада с доступным количеством товара, а не произвольного, кроме того после доставки заказа, грузовик возвращается на ближайший склад, что указано в диаграмме событий агента Truck в подразделе 3.2. Из чего следует, что движение его будет совершаться по оптимальному маршруту. Кроме того, он будет доставлен именно в ту точку, откуда поступил заказ. Это условие достигается самой логикой агента Order, хранящего значение места доставки как параметр order_delivery, и с помощью встроенного функционала AnyLogic, способного достаточно точно осуществлять движение по автомобильным дорогам.

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

Агент Delivery, реализуемый с помощью системной динамики, содержит накопитель People=100000, что соответствует среднему числу жителей в выбранных городах, функция спроса имеет вид: 1000+A*Math.sin(PI/2*t), где a принимает значения от -40 до 40, согласно нормальному распределению. Ее вид свидетельствует о наличии незначительных колебаний спроса. Оценки эффективности логистического и юридического отделов равные 0,6462 и 0,7252 соответственно были выведены в результате калибровки модели, при значении данных показателей происходит генерация реалистичного количества заказов в день. Параметры department_quantity, numberOfTrucks, deliver_quantity соответствующие количеству складов, количеству грузовиков и количеству мест доставок были взяты произвольно, однако на основание именно этих параметров решаются оптимизационные задачи, приводящие к максимизации прибыли при изменении этих значений.

По мере выполнения ряда экспериментов было введено ограничение на время. Рассматриваются 48 часов деятельности компании. В ходе нескольких экспериментов было установлено, что в целом компания имеет положительную прибыль, которая, однако, может значительно колебаться в зависимости от дальности перевозок заказов. Имея 6 складов, 7 грузовиков и 12 потенциальных точек доставок, в целом за 2 дня компания успевает доставить от 4 до 7 заказов, тем не менее, кроме доставленных заказов возникают и неуспешные: reject - в следствии отсутствия нужных товаров на складе и timeOut в следствии превышения срока доставки. На основании этих данных собирается статистика и отражаются графики, иллюстрирующие количество невыполненных заказов в следствии как отсутствия товара, так и несоблюдения сроков и выполненных заказов.

Рис. 17 Результаты эксперимента

Рис. 18 Результаты эксперимента

Кроме этого, в процессе реализации модели были решены оптимизационные задачи.

Рассмотрим первую из них. Цель первого эксперимента: максимизировать значение переменной revenue, отвечающей за прибыль, при изменении числа складов. Стоит понимать, что каждый новый склад с одной стороны, в целом, сокращает время доставки товара, как следствие, увеличивает количество заказов, которые можно привести за час работы, что положительно сказывается на прибыли; с другой стороны, каждый новый склад стоит дополнительного содержания со стороны компании, что негативно отражается на прибыли. Так как мы генерируем не бесконечное количество заказов, то не имеет смысла рассматривать большое количество складов. Количество складов изменяется от 1 до 6. В результате эксперимента максимум прибыли составил: 46432, который достигается при 6 складах при неизменном числе грузовиков:7 и мест доставки:12.

Рис. 19 Оптимизационная задача по максимизации прибыли при изменяемом числе складов

Вторая оптимизационная задача решает проблему максимизации прибыли при изменяемом размере автопарка. Число грузовиков варьируется от 1 до 20. Максимум прибыли 66389 рубля достигается при 10 грузовиках. Стоит отметить, что варьирование автопарка позволяет достичь большой прибыли, чем изменение количества складов в заданных приделах.

Рис. 20 Оптимизационная задача по максимизации прибыли при изменяемом размере автопарка

Последняя оптимизационная задача меняет два параметра: число складов и количество грузовиков с той же целью. Стоит заметить, что у этих показателей существует обратная зависимость в рамках реализации данной задачи. Это означает, что чем больше у нас становится складов, тем меньше нам нужно грузовиков, так как число заказов в целом не изменяется, так как оно зависит от количества мест доставки-delivery_quantity, а этот параметр не изменен. Так же верно и то, что увеличение грузовиков ведет к уменьшению числа требуемых складов. Поэтому это наиболее интересная задача, однако при вариации нескольких параметров, число доступных сочетаний значительно возрастает. Всего при вариации складов от 1 до 6 и грузовиков от 1 до 20, число возможных комбинаций равно 120. В процессе работы эксперимента были рассмотрены все возможные комбинации, при 48 часах работы компании. Максимум прибыли: 68139 был достигнут при 2 складах и 11 грузовиках. Сравнивая полученный результат с первым оптимизационном экспериментом, стоит отметить, что прибыль выросла практически на 50% за счет значительного расширения автопарка. По сравнению же со вторым оптимизационном экспериментом прибыль выросла незначительно, так как возможность варьировать количество грузовиков уже обеспечила значительное изменение прибыли второму эксперименту. Однако, увеличение прибыли наблюдается. Достигается оно за счет сокращения числа складов, и как следствие расходов на их содержание, и увеличения автопарка, которое компенсирует уменьшение складов.

Рис. 21 Оптимизационная задача по максимизации прибыли при изменяемом числе складов и грузовиков

Выводы:

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

Заключение

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

Среди ключевых особенностей модели можно отметить следующие:

· В основе генерации заказов учитывается работа отделов компании.

· Процесс повторного обращения клиентов является не случайным событием, а также зависит от эффективности работы подразделений.

· Транспортное средство подбирается с учетом построения оптимального маршрута.

· Осуществляются проверки на наличие товара на складе при формировании заказа.

· Собирается статистика по успешно выполненным, отклоненным в следствии отсутствия товара на складах и отклоненным по временным ограничениям заказам.

· Кроме того, на основе данной модели можно получить оценку финансовой деятельности компании.

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

Список используемой литературы

1.Акопов А.С. Имитационное моделирование. Учебник и практикум для академического бакалавриата. - М.: Издательство Юрайт, 2014. - 389 с.

2.Аникин Б. А. Логистика: Учебник-М.:ИНФРА-М, 2008.-368 с.

3.Бауэрсокс Доналд Дж., Клосс Дейвид Дж. Логистика: интегрированная цепь поставок. 2-е изд./[Пер. с англ. Н.Н. Барышниковой, Б.С. Пинскера]/Доналд Дж. Бауэрсокс., Дейвид Дж. Клосс. - М.: ЗАО «Олимп-Бизнес», 2008. - 640 с.

4.Бережная Е.В., Бережной В.И. Математические методы моделирования экономических систем: Учебное пособие. -М.: Финансы и статистика, 2005. -426 с.

5.Боев В. Д. Исследование адекватности GPSS World и AnyLogic при моделировании дискретно-событийных процессов. Монография-- СПб.: ВАС, 2011. -- 404 с.

6.Боев В. Д. Компьютерное моделирование: Пособие для практических занятий, кур-сового и дипломного проектирования в AnyLogic7:. -- СПб.: ВАС, 2014. -- 432 с.

7.Бронов С.А. Имитационное моделирование: учеб. Пособие -Красноярск: СФУ, 2007-82 с.

8.Гинзбург А.И. Экономический анализ: Предмет и методы. Моделирование ситуаций. Оценка управленческих решений: учебное пособие. -СПб.: Питер, 2003. -622 с.

9.Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование информационных систем: Учеб. пособие. - М.: Интернет-Ун-т Информ технологий, 2005. - 304 с.

10.Замятина О. М. Моделирование систем: Учебное пособие. - Томск: Изд-во ТПУ, 2009. - 204 с.

11.Емельянов, А. А. Имитационное моделирование экономических процессов: учеб. пособие / А. А. Емельянов, Е. А. Власова, Р. В. Дума ; под ред. А. А. Емельянова. -М.: Финансы и статистика, 2002. - 368 с.

12.Еремеева Л.Э. Логистика: учебно-методический комплекс / Л.Э. Еремеева. - Сыктывкар: СЛИ, 2008. - 96 с.

13.Кнут Д., Грэхем Р., Паташник О. Конкретная математика. Основание информатики. -- М.: Мир; Бином. Лаборатория знаний, 2006. -- 703 с.

14.Кобелев Н. Б. Основы имитационного моделирования сложных экономических систем: Учеб. пособие. - М.: Дело, 2003. - 336с

15.Курочкин, Д. В. Логистика: [транспортная, закупочная, производственная, распределительная, складирования, информационная]: курс лекций / Д. В. Курочкин. - Минск: ФУАинформ, 2012. - 268 с.

16.Лоу А.М., Кельтон В.Д. Имитационное моделирование 3-е издание: -СПб.: Питер, Издательская группа BHV, 2004- 847c.

17.Лукьянов В. С., Слесарев Г. В. Проектирование компьютерных сетей методами имитационного моделирования: Учеб. Пособие - Волгоград: ВолгГТУ, 2001. - 72с.

18.Лычкина Н.Н. Имитационное моделирование экономических процессов - М.:Инфра-М, 2012 - 164с.

19.Миротин Л.Б. и др. "Эффективность логистического управления" Учебник для вузов / Под общ. ред. д. т. н., проф. Л.Б. Миротина. -- М.: Издательство «Экзамен», 2004. -- 448 с.

20.Миротин Л.Б., Некрасов А.Г. "Логистика интегрированных цепочек поставок": Учебник / Л.Б. Миротин, А.Г.Некрасов. М.: Издательство «Экзамен», 2003. -- 256 с.

21.Миротин Л.Б., Ташбаев Ы.Э. "Системный анализ в логистике". - М.: Изд-во "Экзамен", 2002 - 480 с.

22.Мичасова О.В. Имитационное моделирование экономических систем: учеб. Пособие. - Нижний Новгород: Нижегородский университет, 2014 - 186 с.

23.Смирнова Е.А. Управление цепями поставок: Учебное пособие. /Е.А. Смирнова. - СПб.: Изд-во СПбГУЭФ, 2009. - 120 с.

24.Томашевский В., Жданова E. Имитационное моделирование в среде GPSS. - М.:Бестселлер, 2003. - 416 c.

25.Уотерс Д. Логистика. Управление цепью поставок: Пер. с англ./Д. Уотерс. - М.: ЮНИТИ-ДАНА, 2003. - 503 с. - (Серия «Зарубежный учебник»)

26.Фёдоров Л. С., Персианов В. А., Мухаметдинов И. Б. Общий курс транспортной логистики: учебное пособие по дисциплине специализации специальности "Менеджмент организации" - М.: КноРус, 2011. - 309 с.

27.Шикин Е.В. Математические методы и модели в управлении. -М.: Финансы и статистика, 2002. -430 с.

28.Bart-Jan Hommes The Evaluation of Business Process Modeling Techniques// TU Delft. (2004). p.272.

29.Алгол. [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D0%BB(Дата обращения: 23.04.16).

30.Боев В.Д. Оценка результатов моделирования в GPSS World и AnyLogic [Электронный ресурс]. URL: http://www.anylogic.ru/articles/otsenka-rezultatov-modelirovaniya-v-gpss-world-i-anylogic (Дата обращения: 16.03.16).

31.Борщев А. В. Применение имитационного моделирования в России - состояние на 2007 г. [Электронный ресурс]. URL: http://simulation.su/uploads/files/default/immod-2007-1-11-16.pdf (Дата обращения: 25.04.16).

32.Горелик А.М. Средства поддержки параллельных вычислений в стандартах языка Фортран // Препринты ИПМ им. М.В.Келдыша. 2012. № 68. 17 с. URL: http://library.keldysh.ru/preprint.asp?id=2012-68(Дата обращения: 01.05.16).

33.Каменнова М. Моделирование бизнеса. Методология ARIS. [Электронный ресурс]. URL: http://flightcollege.com.ua/library/D1%8F%20ARIS.pdf (Дата обращения: 16.03.16).

34.Коровин А.М. Анализ подходов и программного обеспечения для имитационного моделирования социальных и экономических систем. [Электронный ресурс]. URL: http://simulation.su/uploads/files/default/2012-korovin.pdf (Дата обращения: 16.03.16).

35.Логистика: теория и методология. [Электронный ресурс]. URL: http://www.topspeed.ru/page_18.php (Дата обращения: 16.03.16).

36.Лычкина Н.Н. Современные технологии имитационного моделирования и их применение в современных бизнес-системах [Электронный ресурс]. URL:http://www.anylogic.ru/upload/iblock/049/0498c3885e7d7b5dc8ac3dd4f261bca0.pdf (Дата обращения: 16.03.16).

37.Практика построения логистических систем. [Электронный ресурс]. URL: http://logistika.pp.ru/ (Дата обращения: 16.03.16).

38.Сидоренко В.Н. Имитационное моделирование в науке и бизнесе: подходы, инструменты, применение. [Электронный ресурс]. URL: http://simulation.su/uploads/files/default/2009-sidorenko-krasnoselsky.pdf (Дата обращения: 16.03.16).

39.Скородумов П.В. Имитационное моделирование экономических систем: программные средства и направления их совершенствования [Электронный ресурс]. URL: http://simulation.su/uploads/files/default/2015-skorodumov-1.pdf (Дата обращения: 16.03.16).

40.Терминологический словарь логиста. [Электронный ресурс]. URL: http://www.slovalogista.ru/ (Дата обращения: 16.03.16).

41.Транспорт и логистика в России. «Что такое логистическая цепь?». [Электронный ресурс]. URL: http://avitrack.net (Дата обращения: 16.03.16).

42.BPMN-нотация [Электронный ресурс]. URL: http://www.bpmn.org/(Дата обращения: 20.04.16).

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.