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

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

У людей есть необходимость перевозить товары в пределах России, в рамках данной модели используется автомобильный транспорт. Применительно к нашей ситуации: транспортная компания осуществляет перевозки по России (преимущественно центральная часть) морской транспорт автоматически не рассматривается, в силу географических особенностей нашей страны. Трубопроводный также не может быть выбран как основной в силу того, что номенклатура, перевозки которой осуществляет транспортные компании много шире, чем транспортируемые трубопроводным транспортом. Воздушные перевозки в центральной части России не выдерживают ценовую конкуренцию с другими видами транспорта. Внутренний водный транспорт, к огромному сожалению, мало используется в России, в связи с практически полным отсутствием водных транспортных средств, удовлетворяющим нормам безопасности. Новые водные судна производятся крайне редко и в малых количествах, хотя данный вид транспорта является одним из самых дешевых. Остается две категории автомобильная и железнодорожная, однако автомобильный транспорт является более мобильным и способен доставить груз именно в конкретную точку, требуемую заказчиком, что соответствует задаче транспортной логистики. Кроме того, с водителями легче коммуницировать, узнавать текущее местоположение и ожидаемое время доставки. Контролировать перемещение железнодорожного транспорта, особенно при наличии какого-либо сбоя в расписании, практически невозможно. При этом ж/д транспорт доставит груз лишь до ближайшей станции, а не до места заказчика, необходимо все равно дополнительно использовать автомобильный транспорт. Сравнить их экономические различия достаточно тяжело, так как железнодорожный транспорт более экономичен при больших расстояниях. Однако, учитывая указанные нами условия, при оптимальном построении маршрута и наличии нескольких складов расстояние должно быть минимальным насколько это возможно. Таким образом, в рамках данной задачи будет введено ограничение на использование только автомобильного типа транспорта.

В данной модели будут использованы следующие значения основных параметров:

Количество складов (переменная department_quantity) - 6

Число грузовиков (переменная numberOfTrucks) - 7

Количество мест доставки (переменная delivery_quantity) - 12

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

Заказ будет сформирован из пар ключ-значение, где ключом вступает имя груза, а значением его количество.

Так как услуги перевозки востребованы, то на данном рынке существует некоторый спрос на сервис транспортной компании. Вводится оценка населения городов-заказчиков, и устанавливается, что в среднем в них живет около 100000, как показатель общего числа людей. Касательно спроса, он динамически изменяется, кроме того, могут наблюдаться сезонные изменения. По этой причине, спрос задается следующим уравнением: 1000+A*Math.sin(PI/2*T), где A- число, задаваемое равномерным распределением в промежутке [-40;40]. Однако это уравнение демонстрирует спрос на все, оказываемые логистические услуги в городе. Поэтому существует параметр, демонстрирующий вероятность обращения конкретно в данную фирму, его значение варьируется от 0,7 до 2 %, согласно нормальному распределению. Произведение данного параметра на спрос и генерирует число потенциальных клиентов, которые вероятно воспользуются услугами компании. Клиенты обращаются в компанию либо самостоятельно, проанализировав рынок услуг, либо в результате воздействия эффективной рекламы, являющейся результатом деятельности отдела маркетинга данной компании. Эффективность отдела маркетинга определяется отношением числа клиентов к числу потенциальных клиентов. После того как клиент обратился за консультацией с ним начинает работать сначала логистический отдел, который составляет оптимальный маршрут, делает оценку времени доставки, а потом и юридический отдел, ответственный за составление всей необходимой документации. Эффективности отделов являются динамическими значениями, зависящими от времени. Если клиента устраивает качество предоставляемых услуг, то он подписывает контракт. Подписавшие контракт клиенты могут повторно обратиться в транспортную компанию.

Каждый подписавший контракт клиент оформляет заказ. Для каждого заказа происходит подбор транспортного средства, выбирается ближайший грузовик, не доставляющий другой заказ в данный момент. Когда грузовик определен, начинается движение транспортного средства: он едет на склад, определенный заказом, при условии, что время выполнения заказа не превышено, забирает указанный товар, при этом число товаров на складе уменьшается на это количество. Если же время превышено, то клиенту выплачивается фиксированный штраф в размере 2500 рублей за недоставленный в срок заказ. После чего происходит процесс упаковки заказа, при этом опять же осуществляется проверка времени, если ограничение по времени превышено, то заказ должен быть расформирован, а грузовик отправится доставлять другой заказ. Если же лимит времени не был превышен, то грузовик отправляется в место доставки. После перехода грузовика в состояние движения к месту доставки проверка на лимит времени перестает действовать вышеописанным способом, то есть товар уже в любом случае будет доставлен, однако, если лимит времени был превышен, то на доставку будет действовать 50% скидка. Далее происходит процесс распаковки груза. После чего грузовик отправляется вновь на ближайший склад. С финансовой стороны, фиксируется время начала и окончания движения грузовика, за каждый час движения водителям выплачивается зарплата 200 рублей. Таким образом, расходы определяются формулой: expenses=WorkTime*200; Кроме этого, размер расходов увеличивается на 2500 при каждом случае штрафа, описанных выше. А в том случае, когда грузовик уже движется к заказчику, а срок выполнения проходит, то параметр расход увеличивается на expenses=expenses+distance*10; Таким образом, 50% возвращаются заказчику. Приход же определяется формулой income=income+distance*20; и перечисляется в компанию в случае доставки заказа. Так как вышеперечисленные действия происходят для каждого отдельного грузовика, доставляющего заказ, то на верхнем уровне, отражающим общую прибыль должно происходить суммирование всего прихода и из него вычитаться все расходы, просуммированные по каждому отдельному грузовику, это переменные доходы и расходы. revenue=revenue+truck.get(i).income-truck.get(i).expenses Однако, нельзя забывать и про фиксированные затраты, которые идут на оплату складов. revenue=revenue-department.size()*1000/24*time(); Вышеописанную деятельность транспортной компании необходимо смоделировать.