В АО «Петербургский нефтяной терминал» (ПНТ) разработан комплексный и доступный метод улучшения организации логистики. При помощи математической модели, включающей буферизацию процесса поставок, системный архитектор компании Владимир Петренко предлагает оптимизировать логистику терминала, получая более веские, чем при традиционном расчете, аргументы для регулировки входящих и исходящих потоков.
Исходная проблематика
В идеальном сценарии терминал работает подобно часовому механизму: погрузка начинается едва танкер пришвартовали, причем к этому моменту уже доставлены все нужные нефтепродукты, потом судно уходит в рейс, а порожний поезд, доставивший топливо, — на нефтеперерабатывающий завод. В реальности такой сценарий трудновыполним. В обычной жизни возможности для маневра дает запас топлива в резервуарном парке, но и такой вариант не гарантирует успеха. Терминал работает в условиях ограниченного влияния на графики поставок нефтепродуктов и прихода танкеров, что может приводить к двум типам коллизий: либо недостаток свободного места в резервуарах для слива поступающих вагонов-цистерн, либо — дефицит и недогруз судов.
Чтобы не допускать подобных ситуаций, обычно делают простой расчет последствий реализации существующих графиков поставок и отгрузок, определяют проблемные пункты и последовательно ищут способы решения, стараясь либо ограничить подвоз продукции, по согласованию с перевозчиком отставив уже вышедшие с завода поезда, либо повлиять на график прихода танкеров, либо сделать и то и другое одновременно. При этом возникает вопрос о качестве принятых решений. Можно ли, например, придерживать меньше поездов при том же графике прихода танкеров?
Иногда это возможно, — говорят на «Петербургском нефтяном терминале», на котором разработали математическую модель, с помощью которой можно просчитывать все допустимые варианты решений и, выбирая лучший, корректировать в скользящем режиме ежемесячные логистические потоки в разрезе суток. Данные, формирующие модель, описывают работу терминала: операционные периоды времени, количество груженых и порожних вагонов и автоцистерн в соотнесении с емкостью вагонного парка, емкость резервуарного парка для различных видов топлива, график заходов судов, темпы и объемы слива топлива в резервуары и в танки судов при погрузке. Проблема регулировки количества подходящих вагонов и автоцистерн решена при помощи условного понятия буфера — все поставки как бы изначально откладываются в буфер, при этом количество придержанных вагонов или автоцистерн должно стремиться к нулю. Модель детальным образом описывает три направления работы терминала — логистику вагонов и автоцистерн, наполнение резервуаров и отгрузку топлива на танкеры, в конечном итоге суммируя данные и давая возможность определить уязвимые моменты процесса. Расчет занимает несколько секунд, для этого достаточно офисного программного обеспечения MS Excel с подключением бесплатной надстройки OpenSolver, имеющей расширенный запас операционных возможностей.
Буферная схема
В качестве базовой расчетной модели, описывающей логистику терминала, выбрана модель условного нефтяного терминала, переваливающего десятки марок нефтепродуктов. Большая часть нефтепродуктов прибывает по железной дороге, оставшаяся — на автотранспорте. Железнодорожные цистерны концентрируются в вагонном парке терминала, затем с помощью маневровых локомотивов подводятся на фронты слива, где происходит перекачка содержимого в резервуары. После этого порожние вагоны вновь собирают в состав и через некоторое время отправляют обратно на нефтеперерабатывающий завод. С автоцистернами происходит примерно то же самое, с той разницей, что слив занимает гораздо меньше времени. В результате в резервуарном парке терминала накапливаются различные нефтепродукты под погрузку на танкеры.
Чтобы предотвратить попытку слива топлива в условиях, когда все доступные для данного вида топлива резервуары заполнены, в модели предусмотрен виртуальный накопитель, условно А-буфер, куда определяют вагоны перед тем, как они попадут на конечную станцию. За счет своевременного накопления вагонов в А-буфере в модели автоматически предотвращается перелив резервуаров. Аналогичная конструкция введена для автоцистерн — Т-буфер, куда попадают автоцистерны, движущиеся на терминал. По замыслу разработчика, введение виртуальных буферов в модель фокусирует внимание на бездефицитном расчете загрузки танкеров. Оптимальным решением в данной постановке будет не решение с максимальной прибылью или с минимальными затратами, а решение, в котором все танкеры вовремя загружены, и при этом количество придержанных в пути поездов стремится к нулю.
Нюансы описания модели
Поиск оптимального варианта достигается при помощи решения задачи линейного программирования, включающей линейные уравнения и неравенства, определяющие целевую функцию с переменными, которые, удовлетворяя всем ограничениям, в итоге минимизируют ее значение.
Оборот вагонов и их разгрузка на фронтах слива формализуется при помощи простых уравнений и неравенств с неотрицательными переменными. С вводом переменных, обозначающих количество груженых вагонов в разные периоды времени, составляется обычное уравнение оборота запаса: остаток на конец очередного периода равен остатку на начало этого периода плюс поступление и минус выбытие. Аналогичным образом строится уравнение оборота порожних вагонов: остаток на конец очередного периода равен остатку на начало этого периода плюс поступление за счет слива и минус выбытие на конечную станцию.
Приход вагонов с завода на конечную станцию рассчитывается с помощью имеющейся на терминале системы прогнозирования, например на базе сервисов РЖД. По каждому оставленному поезду определяется время вынужденного простоя. С момента планируемого начала движения вагоны начинают пополнять приход. При этом формализовано ограничение по соблюдению суточной квоты для пропуска через конечную станцию.
Слив нефтепродуктов из вагонов описывается при помощи уравнения с заданным количеством фронтов слива, массами нефтепродуктов определенного типа и нормативным временем слива, которое может меняться в разные периоды, например в зависимости от сезона. При этом специализация фронтов формализована таким образом, чтобы запретить слив на «недопустимых» фронтах. Слив с автоцистерн описывается отдельно, но по похожим формулам и с теми же корректирующими ограничениями.
Процесс накопления и вывоза топлива танкерами описан уравнением, в котором заданы нормативная масса вагона и автоцистерны с определенным видом продукции, накопленная масса данного вида топлива к заданному моменту времени, емкость резервуаров, выделенных для данного вида топлива в данный момент, а также — максимальный темп погрузки на судно. При этом действуют три ограничения: первое определяет баланс продукции в резервуарном парке, второе удерживает его в положительном значении, а третье предотвращает перелив. Формула погрузки определяет массу продукции, которую танкер должен принять во время заданного интервала времени. При этом вводится условная переменная для контроля за дефицитом.
В общем виде задача включает такие независимые переменные, как:
• количество груженых вагонов с определенным видом продукции, вошедших на терминал в заданном отрезке времени;
• количество проделавших аналогичный путь автоцистерн;
• количество вагонов, выведенных с терминала;
• количество вагонов и автоцистерн, слитых через заданный фронт;
• масса продукции заданного типа, погруженной на танкер;
• образовавшийся дефицит при погрузке в результате определенного судозахода.
По замыслу автора, смысл задачи сводится к тому, чтобы при выполнении всех заданных ограничений три величины должны стремиться к нулю — размеры железнодорожного и автомобильного буферов и дефицит в отгрузке танкерных партий. Таким образом, целевая функция данной задачи — это сумма трех слагаемых, каждое из которых соответствует своему основному этапу процесса на заданном интервале времени. Решение определяет значения переменных, которые минимизируют функцию при заданных ограничениях.
Практическая сторона
В экспериментальных расчетах проанализирована работа терминала, располагающего 22 видами нефтепродуктов, 8 фронтами слива, 13 резервуарными группами, принимающими порядка 30 танкеров за временные интервалы с размерностью в 14 суток. Оптимальное решение найдено за 10–15 секунд.
Как объясняет разработчик, моделирование здесь — это своего рода метод диагностики, помогающий выбрать оптимальное средство для решения проблемы. К примеру, если в ходе расчетов оказывается, что полной погрузки некоторых танкеров обеспечить не удается, планировщик выявляет ограничения задачи, которые лимитируют погрузку, затем поиск решения проблемы переходит в практическую плоскость при участии специалистов производственного отдела. При выявлении избытка приходящих вагонов проводят повторный расчет, а затем определяют график задержки составов по договоренности с перевозчиком и выявляют проблемные отгрузки с завода в будущем.
По замыслу разработчика, параметры ограничений задачи нужно автоматически пересчитывать по мере поступления фактических данных, например, раз в сутки. При этом расчетный плановый период каждые сутки сдвигается на одни сутки вперед. Исходя из существующей практики планирования, расчетный период должен быть равен 3–6 неделям (для суточных прогнозов необходим более сложный математический аппарат и описание ресурсов должно быть более детальным).
Таким образом, использование предложенного инструментария формирует более надежную, чем при интуитивном или вкусовом подходе, многофакторную оценку ситуации, давая основу для выстраивания более плодотворных отношений с контрагентами, приближая их к идеалу.
Владимир Петренко, системный архитектор
группы проекта развития АО «ПНТ»
Отзывы и вопросы присылать автору по адресу:
pva.eccona@bk.ru