Модель оптимизации логистики нефтяного терминала

Модель оптимизации логистики нефтяного терминала

Логистика нефтяного терминала и ее проблемы


Терминал любого типа находится на пересечении входных и выходных потоков определенного класса продуктов. Практически никогда приходящий поток не удается синхронно превращать в выходящий поток, поэтому на терминале необходимы буферные емкости/площадки для временного складирования продуктов и формирования транспортных партий для отгрузки к согласованному времени и в согласованном объеме. Для нефтяных терминалов в качестве таких буферных емкостей выступают емкости резервуарного парка (резпарка).

Логистика у различных нефтяных терминалов может быть устроена по-разному. На иностранных терминалах в Европе нередко и поступление, и отгрузка нефтепродуктов (НП) идет судами, используется перегрузка с морских танкеров на речные суда. Для российских терминалов большую роль играют поставки НП по железной дороге, которые могут длиться более 5 суток. При этом довольно часто терминал существенно не может повлиять ни на графики отгрузки НП с НПЗ, ни на графики прихода танкеров на терминал, в результате он оказывается «зажат» между зарегулированным входом и выходом НП, что может приводить к таким коллизиям, как:

  • пришедшие на терминал НП некуда сливать, т. к. все резервуары (РВС) заполнены;
  • пришедший танкер невозможно загрузить полностью, поскольку к моменту его прихода нет достаточного запаса НП, а продолжительное (сверх сталийного) время ожидания для танкера невозможно или экономически неоправданно.

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

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

Модель логистики нефтяного терминала

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

Модель ориентирована на скользящий расчетный период порядка 1-1,5 месяцев. На рис. 1 приведена схема, укрупненно описывающая логистику моделируемого терминала.

Рис. 1. Модель логистики нефтяного терминала

Модель представляет терминал, который переваливает десятки марок НП. В таких случаях на практике эти марки группируются в сегрегации по сходству их качественного состава, поэтому в модели все потоки НП описываются на языке сегрегаций. 

НП поступают на терминал с НПЗ преимущественно по железной дороге (ЖД) в вагон-цистернах (вагонах). Часть НП поступает в автоцистернах (с НПЗ и нефтебаз). Вагоны по ЖД доходят до конечной станции и оттуда втягиваются на внутреннюю ЖД-сеть терминала, на которой может размещаться несколько сотен вагонов (суть блоков «А-буфер» и «Т-буфер» изложена ниже). Тем самым, поступившие вагоны оказываются в вагонном парке терминала, т. е. в составе множества груженых и порожних вагонов, находящихся в периметре 3терминала. Понятно, что предлагаемые варианты логистики не должны приводить к переполнению емкости внутренней ЖД-сети.

Важно отметить, что в модели не рассматривается движение вагонов от НПЗ до конечной станции. Предполагается, что на основе подключения к сервисам РЖД терминал способен в реальном времени прогнозировать поступление вагонов на конечную станцию для уже вышедших вагонов, а для плановых выходов с НПЗ имеет систему нормативов для расчета времени в пути.

Груженые вагоны с помощью локомотивов заводятся на фронты слива, где они сливаются в один из РВС терминала. Фронты слива специализированы, конкретный НП может быть слит только на конкретных фронтах слива, но таких фронтов может быть несколько. Поэтому при выборе фронта слива для подачи с конкретным НП имеет место вариантность. Слив может длиться много часов и охватывать не одну рабочую смену. Порожние вагоны выводятся с фронтов слива, собираются в составы и возвращаются с терминала на конечную станцию ЖД. При этом необходимо не превышать согласованный с РЖД суточный лимит на поток вагонов между конечной станцией и терминалом.

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

При поступлении НП на терминал автотранспортом автоцистерны въезжают на терминал, встают на один из постов слива и сливаются в один из РВС терминала.

В результате в резпарке терминала накапливаются массы НП различных сегрегаций, которые грузятся на танкеры 1, в соответствующие моменты времени приходящие на терминал. В каждый момент времени РВС выделены под хранение определенной сегрегации, но это закрепление может со временем изменяться. В модели в явном виде не присутствуют резервуары — в противном случае пришлось бы вводить множество дискретных переменных, что резко усложнило бы поиск оптимальных решений. Поэтому динамическая схема закрепления РВС за сегрегациями моделируется с помощью ручного задания динамики предельной массы НП, которая выделена для слива конкретным сегрегациям.

На практике, как было отмечено выше, может сложиться ситуация, что все доступные для данного НП РВС заполнены. Подобная проблема не может быть разрешена тем, что пришедшие вагоны будут ожидать слива на внутренней ЖД сети терминала, т. к. существуют жесткие временные нормативы возврата вагонов РЖД. Поэтому терминалу остается отставлять от движения поезда, которые уже движутся в сторону терминала в данный момент.

Для моделирования подобных ситуаций предусмотрен виртуальный накопитель «А-буфер». Как видно на рис.1, вагоны перед тем, как прийти на конечную станцию, попадают в А-буфер. За счет этого в модели автоматически предотвращается переполнение РВС за счет своевременного накопления вагонов в А-буфере. Аналогичная конструкция введена для автоцистерн — в модель введен «Т-буфер». Тем самым моделируется накопление автоцистерн перед входом (или на пути) на терминал. 

Введение буферов приводит к тому, что единственная проблема, которая должна быть явно решена в расчете — это недогрузка танкеров.

Фактически оптимальное решение в данной постановке — это не решение с «максимальной прибылью» или с «минимальными затратами». Это решение, в котором все танкеры вовремя погружены, и количество отставленных от движения вагонов как можно меньше (желательно — нулевое). 

Обозначенную задачу далее можно формализовать по-разному. Но важно так ее математически сформулировать, чтобы можно было бы решить ее доступными методами и за ограниченное время, поскольку ситуация с логистикой меняется каждый день, и желательно делать перерасчеты ежедневно и многократно.

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

Математическое описание задачи оптимизации логистики

Стандартное описание задачи линейного программирования состоит из следующих разделов:

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

Ограничения задачи

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

Все НП поделены на некоторое количество сегрегаций. Сегрегации обозначаются индексом i. Общее число сегрегаций равно m.

Масса НП, поступающих на терминал по ЖД, для наглядности результатов расчетов измеряется в условных вагонах, а автомобильным транспортом — в автоцистернах. Масса, поступившая в резпарк при сливе как вагонов, так и автоцистерн, измеряется в тоннах.

Оборот вагонов

Обозначим:

  • (t) — число2 груженых вагонов с i-й сегрегацией, находя-щихся на ЖД сети терминале в конце t-го дискрета;
  • (t) — число груженых вагонов с i-й сегрегацией, вошедших на терминал в t-м дискрете;
  • (t) — число вагонов с i-й сегрегацией, слитых в РВС в t-м дискрете.
Тогда должны выполняться ограничения:

(t) = b (t - 1) + v (t) - y (t), i=1, …, m; t = 1,…,T,  (1)

(t) ≥ 0, i = 1, …, m; t = 1,…,T  (2)

Число вагонов для каждой сегрегации на начало расчетного периода b (0) — это константы и должны быть заданы. Первое ограничение (уравнение3) — это обычное уравнение оборота запаса: остаток на конец очередного периода равен остатку на начало этого периода плюс поступление и минус выбытие. Второе ограничение (неравенство) требует, чтобы в решении не допускались отрицательные остатки. Предполагаем, что все вагоны сливаются полностью. 

Обозначим c (t) — количество порожних вагонов, содержавших НП i-й сегрегации и находящихся на терминале в конце t-го дискрета, а c -(t) — количество вагонов, выведенных с терминала за t-й дискрет. Тогда должны выполняться ограничения:

Тогда должны выполняться ограничения:

с (t)= с (t - 1) + y (t) - c-(t), i =1 , …, m; t = 1,…,T,   (3)

(t) ≥ 0, i = 1, …, m; t = 1,…,T.  (4)

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

 Обозначим B емкость вагонного парка терминала, т. е. предельное количество вагонов, которое может разместиться на его ЖД-сети (путях, включая фронты слива). Тогда с учетом дискретности времени должно выполняться очевидное ограничение:

mi=1 (t) + ∑i=1 c (t) ≤ B, t = 1,…,T.  (5)

Груженые вагоны, которые некуда сливать и некуда ставить, надо куда-то определить. На практике их отставляют на время от движения, останавливая по согласованию с РЖД на промежуточных станциях. 

Для формализации этой ситуации предлагается следующая конструкция. Создаем перед конечной станцией условный накопитель вагонов («А-буфер»). Все приходящие от НПЗ груженые вагоны помещаем сначала в А-буфер, а уже из него забираем их на терминал. Поэтому введенные ранее величины a (t) — это не константы, задающие приходы вагонов от НПЗ, а переменные, описывающие количества вагонов, втягиваемых из А-буфера на терминал.

Обозначим:

  • v0 (t) — приход вагонов от НПЗ на конечную станцию за t-й дискрет; он целиком направляется в А-буфер; 
  • b0 (t) — количество (груженых) вагонов в А-буфере на конец t-го дискрета.

Тогда должны выполняться следующие ограничения:

b0 (t) = b0 (t - 1) + v0(t) - v (t), i = 1, …, m; t = 1,…,T,   (6)

b0 (t) ≥ 0, i = 1, …, m; t = 1,…,T,   (7)

mi=1 v (t) ≤ A, t = 1,…,T.   (8)

Приход вагонов с НПЗ на конечную станцию v0i (t) должен прогнозироваться с помощью имеющейся на терминале системы прогнозирования, например, на основе сервисов РЖД 4. Необходимо также по каждому отставленному поезду задать дискрет, в который вагоны этих поездов в будущем начнут двигаться в сторону конечной станции. С этого момента эти вагоны начинают пополнять приход v0 (t) . Пока эти вагоны стоят в ожидании, они в ограничениях не учитываются, поэтому все константы b0 (0) всегда равны 0. 

Первые два ограничения очевидны. Третье ограничение формализует требование по непревышению квоты A, которую РЖД выделяет терминалу для пропуска вагонов через конечную станцию (задается на сутки). 

Слив вагонов на фронтах слива

Слив НП описывается следующим образом. Имеется n фронтов слива, которые нумеруются индексом j J .

Обозначим:

  • i j (t) — масса НП i-й сегрегации, слитой через j-й фронт в t-м дискрете,
  • d i j (t) — нормативный время слива i-й сегрегации в t-м дискрете на j-м фронте (мин/вагон)5.

При задании нормативного времени исходим из полной занятости фронта слива. Нормативное время может меняться от дискрета к дискрету, например, из-за сезонности.

Обозначим Fф(t) доступный к использованию фонд времени фронта в t-м дискрете (мин.). Для определенного дискрета фонд может быть равен нулю, если в этом дискрете на фронте, например, ведутся ремонтные работы.

Ограничения по сливу имеют вид:

mi=1 i j (t) x i j (t) ≤ Fф(t) , j = 1, …, n; t = 1,…,T,   (9)

nj=1 i j (t) = y (t) , i = 1, …, m; t = 1,…,T.   (10)

Смысл ограничения (9) в том, что время слива всех сегрегаций, слитых в t-м дискрете через j-й фронт, не должно превысить фонд времен фронта в этом дискрете. 

Уравнение (10) отображает суммарный слив (в вагонах) по каждой сегрегации из сливов, реализованных на разных фронтах, тем самым упрощая формулировку системы ограничений.

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

t=1 i ∉ Ji x i j (t) = 0. i = 1, …, m.   (11)

Смысл ограничения в том, чтобы запретить слив на «недопустимых» фронтах. 

Оборот автоцистерн

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

Для формализации ситуации избыточности вводим на входе в терминал, как обозначено ранее, «условный» накопитель автоцистерн («Т-буфер»). Все приходящие от НПЗ автоцистерны помещаем сначала в Т-буфер, а из него забираем их на терминал.

Обозначим:

  • a0 (t) — приход автоцистерн с НПЗ с i-й сегрегацией на терминал за t-й дискрет (константы); модельно он целиком направляется в Т-буфер; 
  • (t) — количество автоцистерн в Т-буфере на конец t-го дискрета;
  • (t) — приход автоцистерн из Т-буфера с i-й сегрегацией на терминал за t-й дискрет (переменные). 

Должны выполняться следующие очевидные ограничения: 

(t) = u i  (t - 1) + a0 (t) - a (t),  i = 1, …, m; t = 1,…,T   (12)

(t) ≥ 0, i = 1, …, m; t = 1,…,T   (13)

Приход автоцистерн с НПЗ на в Т-буфер a0 (t) прогнозируется, как правило, по более простой схеме, чем приход вагонов в А-буфер: план на период делится на число дней периода из соображений равномерного поступления автоцистерн. В любом случае значения этих констант необходимо задать. Величины u (0) всегда равны 0.

В описываемой задаче не вводится специальное ограничение на число автоцистерн, которые на конец дискрета находятся на тер-минале, аналогичное ограничению (8).

Слив автоцистерн на постах слива

Слив автоцистерн описывается следующим образом. Имеется nа постов слива автоцистерн, которые нумеруются индексом p P.

Обозначим: xаip (t) — число автоцистерн с i-ой сегрегацией, слитой через p-й пост в t-м дискрете; dаip — нормативное время слива автоцистерны с i-й сегрегацией на p-м посту в t-м дискрете (мин./автоцистерна)6.

Обозначим Fа(t) доступный к использованию фонд времени p-го поста в t-м дискрете (мин.). Для определенного дискрета фонд может уменьшен, если в этом дискрете пост, например, выведен на профилактику.

Ограничения по сливу имеют вид:

mi=1 dаip xаip (t) ≤ Fа(t) , p = 1, …, nа ; t = 1,…,T.   (14)

Смысл ограничения в том, что время слива всех автоцистерн, слитых в t-м дискрете через p-й пост, не должно превысить фонд времен поста в этом дискрете. 

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

Добавляем к задаче ограничение, суть которого в том, чтобы запретить слив на «недопустимых» постах: 

Tt=1 ∑ i ∉ Pi xаip (t) = 0, i = 1, …, m.   (15)

Накопление и вывоз сегрегаций

Для каждой сегрегации идет циклический процесс накопления НП и их вывоза танкерами. 

При формализации накопления переходим на оценку массы в тоннах. Для этого вводим обозначения: qi — нормативная масса вагона с i-ой сегрегацией, qаi — нормативная масса автоцистерны с i-ой сегрегацией.

Обозначим: p (t) — накопленная масса i-й сегрегации на конец t-го дискрета; z (t) — масса i-й сегрегации, погруженная на танкер в t-м дискрете; h i (t) — емкость группы РВС, выделенной для i-й сегрегации в t-м дискрете; r i (t) — максимальный темп погрузки i-й сегрегации на судно в t-м дискрете,

Тогда должны выполняться ограничения: 

(t) = p (t - 1) + ∑ j=1 qxij (t) + nа∑ p=1 qаxаip (t) - z(t), i=1, …, m; t = 1,…,T,   (16)

(t) ≥ 0, i = 1, …, m; t = 1,…,T,   (17)

p i (t) ≤  h (t) , i = 1, …, m; t = 1,…,T,   (18)

z(t) ≤ r (t) , i = 1, …, m; t = 1,…,T.   (19)

Первое ограничение задает баланс сегрегаций в резпарке: масса на начало дискрета, плюс поступление и минус погрузка (может быть нулевой), равна массе на конец дискрета. Второе ограничение требует неотрицательности накопленной массы, а третье ограничение предотвращает «перелив». Неравенство (19) ограничивает предельную массу НП, которую технически возможно погрузить на судно в t-м дискрете. Ограничения на емкость РВС h(t) сделаны «динамическими», поэтому предельная емкость может меняться от дискрета к дискрету. Это же сделано для максимального темпа погрузки.

Массы танкерных партий на начало расчетного периода p(0) — это константы задачи, которые должны быть заданы.

Вывоз сегрегаций в описываемой постанове задачи формализуется следующим образом. Будем нумеровать судозаходы индексом kK . Для каждой i-й сегрегации определим множество номеров Ki , соответствующих судозаходам, в ходе которых масса этой сегрегации (возможно, вместе с другими сегрегациями) будет погружена на танкер. Для каждого k-го судозахода зададим временной интервал погрузки на языке дискретов: τk=(tнk, tкk). В течение этого интервала танкер будет готов принять НП из резпарка. В случае, если на танкер надо погрузить несколько сегрегаций, формально «расщепляем» один реальный судозаход на несколько с одной сегрегацией и с одинаковыми временными параметрами. 

Исключим погрузку НП в «неподходящих» дискретах с помощью ограничения аналогичного ограничению (15), которое насильственно обнуляет погрузки за пределами интервалов погрузки:

mi=1 k ∈ Ki  t ∉ τk  (t) = 0 .   (20)

Обозначим gk массу, которую танкер должен принять в ходе k-го судозахода. Тогда должно выполняться ограничение:

t∈τk  z(t) + e= gk, i = 1,…,m; k = 1, …,Ki .   (21)

Первое слагаемое левой части уравнения — это суммарная масса, погруженная на танкер в течение интервала погрузки, а переменная ek введена для того, чтобы формализовать ситуацию, когда накопленных НП не хватает для полной загрузки танкера, — это образовавшийся «дефицит» НП. Тем самым, что очень важно, у задачи при такой формулировке всегда будет иметься формально допустимое решение, которое при этом может быть содержательно недопустимо, т. к. обычно недогрузка танкера не допускается и сопряжена с большими денежными потерями для терминала. 

Если на начало расчетного периода какие-то погрузки уже идут, то учитываем это, усекая их временные интервалы и заданные массы, назначенные к погрузке.

Независимые переменные задачи и целевая функция

На данном этапе можно перечислить все независимые (неотрицательные и непрерывные) переменные задачи: 

  • v(t) — число груженых вагонов с i-й сегрегацией, вошедших на терминал из А-буфера в t-м дискрете; 
  • a(t) — число автоцистерн с i-й сегрегацией, вошедших на терминал из Т-буфера; 
  • c-(t) — количество вагонов первоначально с i-й сегрегацией, выведенных с терминала за t-й дискрет;
  • xij (t) — число вагонов с i-й сегрегацией, слитых через j-й фронт в t-м дискрете;
  • xаip (t) — число автоцистерн с i-й сегрегацией, слитых через p-й пост в t-м дискрете; 
  • z(t) — масса i-й сегрегации, погруженная на танкер в t-м дискрете; 
  • ek — образовавшийся дефицит при погрузке НП в результате k-го судозахода.

Формулируемая задача по форме является оптимизационной, но по смыслу является задачей поиска допустимого решения, в данном случае — допустимого варианта логистики. Поэтому целевая функция задачи носит технический характер. 

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

Исходя из этого, целевую функцию задачи ЦФ зададим следующим образом:

ЦФ=∑mi=1 Tt=1 e(t) + ∑mi=1 Tt=1 b0(t) + ∑mi=1 Tt=1 u(t) .   (22)

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

Таким образом, необходимо решить следующую задачу линейного программирования: определить значения всех переменных, которые минимизируют функцию (22) при ограничениях (1) – (21). 

Методы решения задачи оптимизации

Так как задача сформулирована как задача линейного программирования, то ее следует решать с помощью одного из доступных бесплатных/платных пакетов оптимизации. Эксперименты по решению задачи на реальных данных проводились в среде MS Excel с подключением бесплатной надстройки OpenSolver7. В отличие от включенной в состав MS Excel известной надстройки «Поиск решения», OpenSolver не имеет жестких ограничений на число переменных и ограничений. При этом запись ограничений и целевой функции задачи можно делать на листе файла MS Excel также, как и при использовании «Поиска решений». 

Фактически при запуске решения OpenSolver автоматически формирует текстовый файл с условиями задачи, который подается на вход особого модуля, устанавливаемого на компьютер пользователя при инсталляции OpenSolver. Решение в виде выходного текстового файла автоматически разбирается на отдельные компоненты и записывается в соответствующие ячейки листа MS Excel с условиями задачи. Данная схема расчетов характерна и для других пакетов оптимизации, поэтому MS Excel как носитель исходных данных может быть, при необходимости, заменен другими программными продуктами.

Расчеты проводились на реальных данных, имеющих следующую раз-мерность: число дискретов — 14 суток, сегрегаций — 22, фронтов слива — 8, постов — 5, групп РВС — 13, судозаходов (с учетом расщепления) — порядка 30.

Оптимальное решение задачи при заявленной размерности находится за 10-15 секунд.

Внедрение модели в практику управления терминалом

Схема использования решений описанной задачи на практике может быть следующей. Параметры ограничений задачи автоматически пересчитываются по мере поступления фактических данных, например, раз в сутки. Расчетный плановый период каждые сутки сдвигается на одни сутки вперед. Если исходить из существующей практики планирования, то расчетный период должен быть равен 3-6 неделям. 

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

Если в А-буфере в результате решения образуются запасы вагонов с какими-то сегрегациями, совместно с производственниками путем итеративных пересчетов определяется график отставления от движения по договоренности с РЖД уже вышедших поездов и выявляются проблемные отгрузки с НПЗ в будущем. С этой точки зрения данные буфера не передаются в следующий расчетный период. Аналогично решается ситуация с Т-буфером. Участники процесса могут снизить важность недогруза танкеров, приход которых ожидается, например, через 2 недели, исключив этот недогруз из целевой функции.

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

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

Важно отметить, что данная модель не является инструментом решения задач планирования работы терминала на интервале 1-3 дня. Для таких коротких периодов описание ресурсов должно быть более детальным и для решения должен использоваться более сложный математический аппарат.

Петренко Владимир Анатольевич
Системный архитектор группы проекта развития АО "ПНТ"

Отзывы и вопросы присылать автору по адресу:  pva.eccona@bk.ru

Фотографии АО "ПНТ"

_____________________________________________________________

1 Погрузка может идти и на бункеровщики, но для простоты изложения будем использовать понятие «танкер».

1 Погрузка может идти и на бункеровщики, но для простоты изложения будем использовать понятие «танкер».
2 Здесь и далее может быть дробным.
3 Система уравнений.
4 Как это делается в АО «НПЗ».
5, 6 В текущей реализации  нормативное время — константа.
7 https://opensolver.org