УДК 303.732 + 519.85 ББК З 817 + У9(2)305.652
ПРОГРАММНЫЙ ПРОДУКТ СМОННП (СИСТЕМА ОПТИМИЗАЦИИ НЕФТЕПЕРЕРАБАТЫВАЮЩИХ И НЕФТЕХИМИЧЕСКИХ ПРОИЗВОДСТВ)
Сизиков А. П.1
(Самарский государственный экономический университет, Самара)
Рассматривается проблема оптимизации нефтеперерабатывающего производства как сложной системы. Приводятся математические модели и методы, реализованные в авторском программном продукте СМОННП.
Ключевые слова: нефтеперерабатывающее производство, сложная система, системный подход, оптимизация, информационные технологии в управлении, проблемноориентированный комплекс программ.
Введение
Современный нефтеперерабатывающий завод - сложный технологический комплекс, состоящий из множества процессов. Анализ различных вариантов представляет собой весьма трудоемкий процесс, даже если делать его с применением электронных таблиц.
Для решения этой задачи создан программноматематический продукт СМОННП (система моделирования и оптимизации нефтеперерабатывающих и нефтехимических производств). Он представляет собой набор программных моду-
1 Александр Павлович Сизиков, к.э.н., доцент ([email protected]). 298
лей, баз данных и диалогов для проведения техникоэкономических расчетов указанных производств.
Основные, наиболее востребованные приложения: 1) анализ технологических схем в процессе инвестиционного проектирования; 2) текущее и оперативное планирование.
Номинальная задача, решаемая с помощью СМОННП, -расчет оптимального производственного плана и соответствующего ему общего материального баланса предприятия. В качестве критерия оптимальности можно брать различные техникоэкономические показатели. Это может быть какой-либо один показатель или векторная свертка нескольких. К числу показателей относятся, например, выход светлых нефтепродуктов, глубина переработки нефти, покрытие и другие.
Чтобы настроить СМОННП на решение конкретной задачи, нужно дать формализованное описание объекта и сформулировать некоторые желаемые показатели. Вся исходная информация группируется следующим образом:
^исок нефтепродуктов. В этот список входят сырье, полуфабрикаты, товарная продукция. По сырью указываются параметры, цены и объемы поставок. По товарным продуктам указываются предполагаемые цены реализации и, возможно, ограничения на объемы производства. Кроме того, задаются требования по качеству товарных продуктов.
Список установок и описание каждой установки в отдельности: номинальная мощность, входные и выходные нефтепродукты, коэффициенты отбора, нормы расхода производственных ресурсов и некоторые другие параметры.
Cведения, необходимые для расчета и анализа основных технико-экономических показателей.
Программа выдает оптимальный материальный баланс и соответствующие ему технико-экономические показатели, а также рекомендации о том, как нужно изменить параметры задачи (разумеется, если это возможно), чтобы улучшить эти показатели. Выходная информация:
- оптимальный план производства товарной продукции в натуральном и стоимостном выражениях;
- загрузка и баланс каждой установки, а также оценка каждой установки с точки зрения ее роли в достижении максимального экономического результата;
- материальный баланс по каждому нефтепродукту и всему производству в целом, а также сведения, позволяющие судить о том, насколько выгодно или невыгодно производить каждый нефтепродукт;
- схемы компаундирования, соответствующие общему материальному балансу и требованиям по качеству продуктов смешения;
- потребность в производственных ресурсах и ингредиентах (общая и с разбивкой по установкам);
- обобщенные технико-экономические показатели (объем переработки нефти, глубина переработки, выход светлых нефтепродуктов, покрытие и другие).
1. Модель системы
Нефтеперерабатывающее производство в целом можно представить в виде сетевого направленного графа. Множество дуг этого графа отражает потоки нефтепродуктов. Множество вершин (узлов) соответствует технологическим установкам, пунктам смешения (смесевым пулам) и резервуарам. Смесевые пулы можно формально рассматривать как установки с единственным исходящим потоком и соответствующим коэффициентом отбора, равным единице. Резервуары играют в системе роль развязок, благодаря которым возникает возможность варьирования потоками нефтепродуктов. В статическую модель они явным образом не вводятся.
Существуют два варианта построения модели [2]. Первый -модель «базовых технологий». Каждая установка представляется набором так называемых базовых технологий, а каждый смесевой пул - набором типовых рецептур. В качестве перемен-
ных берутся интенсивности использования этих технологий и рецептур. Формулируется следующая задача: определить значения переменных, при которых обеспечивается выполнение производственно-технологических ограничений и достигается максимум свертки вектора технико-экономических показателей (в частности, какого либо одного из них). К числу показателей относятся выход светлых, глубина переработки нефти, покрытие, объем товарной продукции и другие. Достоинством такой модели является сравнительная простота, недостатком - ограниченность применения. Она не предполагает непосредственного учета качества нефти и нефтепродуктов.
Второй вариант условно можно назвать моделью «распределяемых потоков». Здесь, в отличие от предыдущего варианта, в качестве переменных берутся интенсивности потоков нефтепродуктов. Получается более гибкая, но и более сложная модель, предполагающая учет качества нефтепродуктов. Расчет рецептур получения товарных продуктов производится непосредственно по спецификации, т. е. с учетом качества компонентов смешения и требований по качеству продукта.
Согласно этому подходу все потоки в системе относительно установок четко разделяются на входящие и исходящие. Входящий поток есть поток "резервуар - установка", исходящий есть "установка - резервуар". Каждый нефтепродукт может быть представлен в модели несколькими входящими потоками или не представлен ни одним. Поскольку при постоянных коэффициентах отбора исходящие потоки полностью определяются входящими, задача сводится к расчету интенсивностей входящих потоков, т. е. к расчету количества нефтепродуктов, поступающих на вход каждой установки за определенное время.
Пусть J - множество входящих потоков системы, Xj - интенсивность у-го потока. Тогда ограничения по загрузке технологических установок следует записать так:
(1) X X е[К, К1 п е N,
№п
где N - множество установок; Jn - множество входящих потоков для п-й установки; К-, Кп - пределы допустимый загрузки п-й установки.
Ограничения по поставкам сырья и полуфабрикатов, поступающих со стороны:
(2) X Ху -[«-, «+], / е 1о,
где 10 - множество наименований нефтепродуктов, поступающих со стороны; 5” - ограничение на поставки /-го нефте-
продукта; Ji - множество входящих потоков, которыми представлен г-й нефтепродукт.
Ограничения по условиям материального баланса для полуфабрикатов собственного производства:
(3) XX агпХу -X Ху = 0 / е ^
nеNi ]'е1п У-1/
где 11 - множество полуфабрикатов собственного производства; N - множество установок, производящих г-й нефтепродукт; а/п -коэффициент отбора г-го продукта в п-й установке.
Ограничения по производству товарной продукции:
(4) X X а/пХ} ^ Ху е [А~, I г е 12 ,
+
где 12 - множество наименований товарной продукции; Д., Д
- допустимые объемы производства г-го товарного продукта.
В базовом варианте модели используются упрощенные модели смешения. Если эти требования формулируются в виде интервальных ограничений, то можно записать так:
(5) X{q^j - Я-ш К ^ ^ X{(lkj - Я+кш )Ху £ 0 , т е М, к е Кш ,
}е-7ш }е-7ш
где М - множество товарных продуктов, получаемых смешением; Кш - множество показателей качества, контролируемых для ш-го продукта; 1ш - множество входящих потоков для пункта смешения ш-го продукта (компоненты смеси); Яу - значение к-го показателя качества для у-го потока; д-ш, д+ш - соответственно,
нижний и верхний допустимые уровни к-го показателя качества для т-го продукта смешения.
Из всех вариантов, удовлетворяющих условиям (1)-(5), необходимо выбрать такой, при котором достигается максимум некоторого критерия. Критерии делятся на две категории:
- базовые общеэкономические критерии (прибыль, покрытие, рентабельность);
- технико-экономические показатели, специфичные для нефтепереработки (выход светлых нефтепродуктов, глубина переработки нефти).
Все эти критерии можно выразить как линейные функции интенсивностей потоков. Рассмотрим, например, прибыль. Механизм формирования прибыли в нашем случае можно представить следующим образом:
(6) P = X c+zt -
ie! 2
Xc- X xj +Х Р n X xj + C
yie!o jeJi neN jeJn
+
где Zi - выход i-го товарного продукта; ci - цена i-го продукта; c- - цена i-го полуфабриката, поступающего извне; рп - коэффициент затрат на n-й установке (имеется в виду стоимость топлива и электроэнергии; в первом приближении можно считать, что эти затраты пропорциональны фактической загрузке установки); 12 - множество наименований товарных продуктов.
Раскрывая скобки и отбрасывая независимые от x условнопостоянные затраты, получим целевую функцию, в следующей форме:
(7) Xc+Z - Xc- Xxi-Хрп Xxi ® max .
ie! 2 ie!o jeJi neN jeJn
Ввиду того, что выходы товарных продуктов не фигурируют в модели как независимые переменные, а выражаются через интенсивности входящих потоков, целевую функцию следует переформулировать так:
(8) П = X c+Zi -
ie! 2
Xc- Xx; +Xpn Xxj + C
yie! o jeJi neN jeJn
Меняя порядок суммирования и осуществляя простейшие преобразования, можно привести целевую функцию к весьма простому виду:
(9) I РуХу ® тах,
№
где Pj - удельное покрытие у-го потока.
Общим между этими подходами является то, что и тот и другой приводят к построению «монолитной» матричной модели, линейной или линеаризированной, которая затем решается каким-либо из симплексных методов. Эти модели быстро исчерпывают свои возможности, как только предпринимаются попытки более полного и адекватного моделирования технологии. В частности, речь идет об учете влияния качества сырья (нефти) на технологические режимы, рецептуры получения товарных продуктов и, в конечном итоге, на материальный баланс и основные технико-экономические показатели.
Поэтому предлагается подход, который состоит в отказе от попыток решить задачу «в лоб», т.е. на базе «монолитной» матричной модели. Вместо этого нефтеперерабатывающее производство представлено как сложная система.
В системотехнике сложной называется система, элементы и связи которой неоднородны и описание которой требует в общем случае использования моделей различных категорий.
Из присущего системе свойства целостности (иначе бы набор элементов нельзя было назвать системой) вытекает необходимость системного подхода. Это значит, что функционирование каждого элемента с помощью того или иного механизма должно быть подчинено достижению целей всей системы.
В теории оптимизации системный подход реализуется путем использования методов согласования решений отдельных подзадач для получения оптимального общего результата.
В соответствии с этим предложена двухуровневая иерархическая структура. На первом (верхнем) уровне находится базовая модель, т.е. агрегированная матричная модель производства как целого. Основу этой модели составляет блок «затраты -
выпуск». Каждый столбец соответствует какому-либо узлу сетевой потоковой модели и рассматривается как агрегат соответствующего объекта - установки или смесевого пула. Модели технологических установок и смесевых пулов составляют второй уровень системы.
Механизм согласования решений локальных задач (режимов отдельных установок и рецептур смешения) с целью достижения оптимального общего решения вытекает из представления о модели первого уровня как обобщенной модели Вулфа, допускающей вариабельность параметров в рамках одной постановки задачи.
Задача решается с помощью вычислительной схемы, которая строится на базе симплексного алгоритма с мультипликативным представлением обратной матрицы и включает механизм генерирования столбцов [3]. Столбцы генерируются в результате решения задач второго уровня. Агрегированная матричная модель играет роль координатора этих решений. Эту функцию она осуществляет путем расчета симплексных множителей, которые трактуются в данном случае как «теневые цены» нефтепродуктов и ресурсов. Каждая локальная модель с учетом этих «теневых цен» оптимизирует собственную технологию и соответственно коэффициенты представляющего ее столбца «затраты - выпуск» и передает их в базовую модель (рис. 1).
Рис 1. Схема взаимодействия моделей
Для описания общей схемы решения запишем нашу модель в обобщенной канонической форме
(10) тах{(с, х) | Ах = Ь, х > 0},
где х - вектор загрузки узлов; Ь - вектор ограничений и требований; А = (ау )тхп - технологическая матрица.
Система Ах = Ь учитывает ограничения по загрузке установок, материальный баланс, ограничения по ресурсам, требования товарного плана и другие факторы. Главная особенность реализуемого здесь подхода состоит в том, что каждый столбец расширенной (включающей коэффициенты целевой функции) матрицы является представителем некоторого множества возможных технологий, т.е.
(11) ~ = (с1 , аЦ , а2у ,... аш;)Т е М1 , у 1 2 -, п
Поэтому применяется поход, при котором каждый столбец рассматривается как некоторый представитель или, если можно так выразиться, агрегат модели соответствующей установки или пункта смешения. В этом случае можно не озадачиваться проблемой подбора столбцов на этапе формулирования задачи. Их можно генерировать в процессе реализации симплексного алгоритма. При этом решение обобщенной задачи сводится к формированию оптимального базиса путем генерирования столбцов, являющихся крайними точками допустимых множеств технологий Му, у = 1, 2, ..., п.
Алгоритм:
1. Формируем начальный вариант задачи (10), включая в матрицу условий по одному представителю множеств Му, у = 1, 2, ..., п. Решаем эту задачу симплекс-методом с обратной матрицей, находим оптимальный базис и соответствующую ему обратную матрицу Б'1.
2. Вычисляем соответствующие текущему базису симплексные множители р = сББ_1, где сБ - коэффициенты целевой функции при базисных столбцах.
3. В каждом множестве генерируем ау =(су, а1 у, а2 у,...ату )Т из
условия минимизации соответствующей оценки замещения, т.е. как результат решения задачи
(12) А у = тиф, а у)- Су (су | ау )Т е Му}, у = 1, 2, ., п.
4. Проверяем условие Ап = тт {Ау} > 0. Если оно выполняется, то текущий базис оптимален, переходим в пункт 6. В противном случае переходим в следующий пункт.
5. Вводим в базис столбец ап =(с„,а1у,а2у,...ату )Т . Формируем новую матрицу Б"1. Столбец, выводимый из базиса, удаляем из задачи. Переходим в п. 2.
6. Выдача решения.
Выражение (12) является обобщенной, принципиальной формой записи локальной задачи. В реальности каждая из них формулируется на основе модели соответствующего узла. Как уже говорилось выше, в модели есть два вида узлов - установки и смесевые пулы. Модели этих объектов рассмотрены ниже.
Преимущества этого подхода:
- не требует подгонки задачи под метод, а, напротив, позволяет для каждого процесса использовать специфическую, наиболее подходящую модель и алгоритм;
- позволяет модифицировать, развивать, дополнять модель каждого отдельного процесса, не затрагивая остальных;
- позволяет настраивать модель сообразно тому, для каких целей она применяется.
2. Моделирование процессов ректификации
Базовый подход к моделированию установок состоит в следующем [5]. Каждая установка, как агрегат системы, представлена столбцом коэффициентов «затраты - выпуск». Каждый столбец (для удобства индекс столбца опустим) представляет собой некоторую технологию, коэффициенты которой могут
быть настроены с помощью некоторых регулируемых параметров г = (гь Г2, ••., Гк), где гк е [г”,г+],к = 1, 2, ..., К.
Имеется система линейных моделей (полученных, например, методом регрессионного анализа), определяющих зависимость ожидаемых значений технологических коэффициентов, включая коэффициенты целевой функции (затрат на поддержание технологического режима), от регулируемых параметров:
К К т
(13) с = «00 + Х«0кгк , аг = «,-0 + Х«,Л , 1 = 1,2,..‘, т , Xаг = 1.
к=1 к=1 ,=1
Задача решается по описанному выше алгоритму. Конкретизация касается только вспомогательной задачи. Ее целевая функция в данном случае есть
(14) Л = £ - с = £ аю + £ а
Ік'к
к=1
■а 0
-£а,
к=1
Г =
0к'к
т К
П =
І=1 к=1
К ^ т
к=1
= Ера.о- аоо +Е Ера.і
І=1
окк
к
Постоянную составляющую в целевой функции отбросим. Вспомогательная задача относительно г = (гь г2, гк) выглядит
так:
(15) тт{х^гГ < гк < гк+, к = 1,2,...к|,
где ~к = X Р 1к - «0к . Решение этой задачи:
(16) ?к =
) гк+ , если ~к < 0,
I гк", если ск > 0 .
Ему соответствует следующее значение локальной целевой функции или, иначе говоря, оценки замещения:
К ( т
(17) Л = Еріаі0-аоо+Е Ерак-аок
І=1 к=1І І=1
т
к=1^ І=1
І=1
По этой оценке в соответствии с описанном выше алгоритмом будет определено, является ли данной режим работы установки оптимальным в контексте всей системы.
Это, подчеркнем еще раз, базовый, наиболее простой подход к моделированию работы установок. Моделирование работы некоторых из них, например, установки первичной переработки нефти, требует более тонкого подхода.
При первичной переработке нефти происходит разделение смеси с непрерывным фракционным составом (нефти) на ряд целевых продуктов. На показатели качества каждого продукта наложены ограничения. В пределах заданных ограничений распределение фракций между целевыми продуктами неоднозначно. Из возможных вариантов нужно выбрать такой, который максимизирует критерий, учитывающий симплексные множите -ли этих продуктов, и определяет оптимальные коэффициенты отборов на установке.
Ранее для целей моделирования ректификации в АВТ использовался аппарат линейного программирования [2]. Но этот подход на практике себя не оправдал. Поэтому предложено решать задачу как известную в исследовании операций «задачу
о точках на прямой».
Математически задача оптимального разделения нефти формулируется следующим образом:
(18) тах 1 ХЛ (п , хп+1 I 0 = х0 < х1 < ... < хМ =Ь |
х 1п=0 \
где Ь - число узких фракций; N - число целевых продуктов; х -точки разделения нефти на целевые продукты по узким фракциям; /п(хп, хп+1) - свертка векторного критерия, характеризующего целевой продукт с точки зрения ценности и соответствия спецификации.
(19) /п (хп , хп+1 ) = Рп (хп , хп+1 ) - ЬпУ п (хп , хп+1 ) ,
где Рп - симплексный множитель, сформированный для данного целевого продукта в основной модели и играющий здесь роль его цены; уп - штрафная составляющая; рп - коэффициент
свертки, с помощью которого задается соотношение между составляющими критерия.
Штрафная составляющая вводится для обеспечения показателей качества продуктов. Она представляет собой взвешенную сумму квадратов относительных отклонений (в нижнюю или верхнюю сторону) расчетных значений показателей от заданных:
к
(20) Уп {Хп , Хп+1 ) = X Чпк81к {Хп , Хп+1 ) , к=1
где К - число показателей качества; чпк - экспертная оценка приоритета показателя; 8пк - относительное отклонение расчетного значения показателя от допустимых пределов.
к - Р+к )) , если Рпк > Р+к , гк - Р-к р Р~р , если Рпк < Р-к ,
°, если Рпк е [Р~„к , Р+к ]
(21) 8пк (хп, хп+1 = =
где Рп-к , Рп+к - нижний и верхний допустимые переделы показателя; Рпк = Рпк(хп, хп¥1) - расчетное значение показателя.
Расчет значений показателей целевых продуктов - наиболее проблемная часть. В общем случае значения показателей, соответствующих тем или иным вариантам разделения, можно рассчитать по формуле вида
(22) Рпк (хп , Хп+1 ) = =к-
/
•п+1
I !к (Р,к К- !Аг
где рп, р/2, — - показатели /-й узкой фракции; I - так называемая индексная функция.
Индексная функция, как правило, представляет собой ряд громоздких математических выражений, которые в общем случае могут содержать транзитивные зависимости и логические операторы. В этой ситуации можно сказать, что критерий задачи задается не аналитически, а алгоритмически. Поэтому для решения задачи используется метод динамического программирования, так как он индифферентен к виду и способу задания целевой функции.
310
Задача представляется как N-шаговый процесс принятия решений [4]. Под состоянием процесса на n-м шаге понимается начальная фракция; под управлением ип - число включаемых в текущий продукт узких фракций; под функцией шагового дохода - /п(Хп, хп+1). Рекуррентное соотношение Беллмана в данном случае выглядит так:
(23)
Fn (хи) = maxi/-(Хп, Xn+i (ип))+Fn+1 (хи+1 (ип))} п = 0,1,..., N _1,
uneUn
где ип - множество допустимых управлений текущего шага; F - функция состояния, FN(xN) = 0.
Алгоритм:
1. В области допустимых вариаций температурных границ строим сетевой направленный граф без контуров. Строим так, что множество его путей соответствуют множеству допустимых решений задачи. Узлы группируются по уровням, соответствующим шагам процесса, и образуют множества X0,X1, ...,XN, причем X0 и XN содержат по одному узлу.
2. Идет от конца к началу так, что п = N - 1, N - 2, ..., 0. На каждом шаге для всех хп е Xn решаем задачу (23) в результате чего находим условно-оптимальное управление ип (хп) и потенциал Fn(Хn).
3. Получаем решение Х = (Х1,X2,...XN), определяя каждую следующую оптимальную точку через предыдущую, т.е. по цепочке:
(24) X = и(0)® Х2 = и(Х1)® ... ® Xn = и n-1 (Xn-1 ).
4. В результате получаем оптимальные значения отборов и коэффициенты столбца, которым эта установка представлена в основной модели:
Х __ Х
(25) ап = п ^ п-1 , п = 1,2,..., N .
XN
На базе этой модели разработан программный продукт Predict Assay, который может быть использован как самостоятель-
но, так и в контуре модели всей системы. Исходные данные: параметры узких фракций; требования, предъявляемые к качеству целевых продуктов. Результаты: границы разделения (по узким фракциям) нефти на целевые продукты; соответствующие прогнозные показатели целевых продуктов.
Для того чтобы программа была как можно более гибким инструментом решения означенной задачи, в ней предусмотрен механизм настройки. Настройка состоит в задании набора учитываемых показателей, а также формул, по которым производится расчет. Как уже отмечалось выше, индексные формулы являются наиболее проблемным звеном методики. Поэтому они водятся не в код программы, в базу данных задачи. Это позволяет время от времени их корректировать и уточнять.
Использование программы позволяет:
- повысить оперативность расчета потенциала продуктов в нефти для заданного ассортимента продуктов (полуфабрикатов), получаемых на АВТ;
- оптимизировать разделение нефти, т.е. выявить наиболее рациональные температуры раздела нефти на АВТ с учетом особенностей выбранных критериев (например максимум бензина, максимум дизельного топлива, максимум суммы керосина и бензина и т. п.);
- обеспечение возможности оценки потенциала в варианте «идеальной машины для разделения» и в варианте с учетом индивидуальных особенностей разделения нефти на АВТ.
3. Моделирование процессов смешения
Задача получения смеси с заданными свойствами многократно описана в литературе как задача линейного программирования. Однако в нефтепереработке из всех контролируемых показателей качества смесей только некоторые могут быть рассчитаны по линейной модели. Большинство же показателей имеют специфику. Часть из них, например, вязкость, температура вспышки, температура застывания и некоторые другие до-
пускают линеаризацию с помощью индексных функций - прямых и обратных. Но некоторые, например, октановое число, можно описывать линейной моделью лишь в первом приближении. На самом же деле здесь требуется квадратичная модель. Сложные, нелинейные зависимости используются также при моделировании получения масел и присадок.
Поскольку используемый в подход не связан с необходимостью непосредственной интеграции моделей смешения в матричную модель производства, то не связан он и с необходимостью ограничиваться лишь аппаратом линейного программирования. Поэтому в качестве дополнения, а в некоторых случаях и в качестве альтернативы линеаризированной модели и симплексному методу, для расчета оптимальных пропорций смешения использована нелинейная модель и метод штрафных функций.
Введем следующие обозначения: к - индекс смеси; т - число смешиваемых компонентов; х. - масса у-го компонента, используемого для получения к-ой смеси.
Основными контролируемыми параметрами при получении товарных бензинов являются: плотность смеси рк; содержание серы £к; фракционный состав, определяемый отгоном в заданных температурных точках - Ск^нж), Ск(^10%), ..., Ск(^.к); октановое число, определяемое по исследовательскому 1к или моторному Мк методу; упругость паров Рк; содержание ароматических углеводородов Лк. Рассмотрим эти показатели.
Плотность смеси. Этот показатель определяется как отношение массы смеси к ее объему:
(26) рк = / .
к
Объем смеси определяется по формуле
т т х,
(27) Ук = £у. =Х —,
1=1 1=1 р 1
где р. - плотность .-го компонента смеси при заданной температуре. Следовательно, плотность смеси
(28) Р к =
IX
к
І У
л ( Vі
т X, ■ і—
>=ір і ,
V 1 У
Пусть рк , р+ - соответственно нижнее и верхнее ограничения по плотности смеси, тогда следует записать:
(29) р — <
і=і
к
т X
к
< Рк •
I р
!=\ р ]
Это соотношение можно упростить путем замены его двумя
линеиными неравенствами:
ґ - \ /
(30) I
і=і
Р к — і Р і
I
І=1
Хі > 0.
Содержание серы. Определяется линейно относительно долей компонентов. Ограничения можно записать так:
т т т
(31) я!хк1 £«+!хк},
1=1 1=1 1=1
где « - содержание серы в единице массы у-го компонента; ,
«+ - соответственно нижний и верхний пределы содержания серы в единице массы смеси.
Приводя последнее условие к стандартному виду, при котором все переменные находятся в левой части, а в правой остается константа, получим неравенства:
(32) К Sj ) < 0, К Sі) > 0.
1=1 1=1
Фракционный состав. Формируется линейно относительно объемных долей компонентов:
т ~
(33) Ск = 1 сГуц ,
1=1
где Ск - выкипаемость к-ой смеси в г-стандартной точке; СГ -
выкипаемость 1-ой компоненты в г-стандартной точке, скорректированная на процент потерь; - объемная доля 1-го компо-
нента в смеси, определяемая так:
(34) V,, =
I р-
г=1 рг
Учитывая последнюю формулу, выразим выкипаемость
смеси через весовые доли компонентов:
^ „ V т V1
(35) Сгк =
I Сг}^
1=1
А
У кг
=1 рг
Таким образом, имея в виду возможность двусторонних ограничений, требования к фракционному составу можно сформулировать следующим образом:
IС
(36) С- <
=1
р
I ^
г =1 рг
< С
гк ■
где Сгк, С+к - соответственно нижнее и верхнее ограничения по фракционному составу смеси для г-стандартной точки (для температур ГНК, Гю, t50, к).
Это соотношение можно записать так:
т V т ^ X. ту-
(37) С-к I-к- ^ с; -Л- < С+ I ^.
г=1 рг 1=1 р1 г=1 рг
Приводя его к стандартному виду, при котором все переменные находятся в левой части, а в правой остается константа, получим неравенства:
т С" - Сг
(38) т——1 -
=1
р
< 0;
*с+ - с;
I--------- X-
1=1
> 0; г = 1,2,
+
Октановое число определяется по исследовательскому или моторному методам. Для неэтилированных бензинов моторный и исследовательский методы аналогичны. Например, по моторному:
/
т Хі ■ т т X ■ ї X
(39) Ык = уак}М]Ок- + ^^аш1х]чх]а к 1 к
]=1 Ок ] =1 і=1
где М] - октановое число ]-го компонента; ак]-, а^ - экспериментальные коэффициенты; Ок - масса смеси, определяемая по формуле
т
(40) Ок =1X] .
]=1
Соответственно ограничение по октановому числу выглядит так:
(41) М~к <^ак]М]хк] +^^акг]хк).хкг <М+к ,
]=\ 1=11=1
где Мк-, М+ - соответственно нижний и верхний пределы по октановому числу для бензина к-ой марки.
Если экспериментальные коэффициенты неизвестны, то в первом приближении можно считать, что
т X, ■
(42) Мк = 1 М,т^.
]=1
]=1
Тогда по можно записать:
Упругость паров смеси определяется через весовые доли компонентов следующим образом:
(44) Рк =
!« Р-
]=1
хк
т - 1 т X, ■
у _] д]=1 т ] 0
А ■' J
где а■ - коэффициент, определяемый экспериментально; Ру -упругость паров у-го компонента; т - молекулярный вес у-го компонента. Ограничения следует записать так:
т х, ■
!«^ т-
(45) р;< < р+,
1 л_
1=1 т у
где Рк , Рк+ - граничные значения допустимого интервала. Приводя это ограничение к стандартному виду, получаем:
™ Рк- - а ИР,- т Рк - а ИР,-
(46) -■■ хк] < 0, 1^--------■■ Ху > 0.
1=1 ту ■=1 т 1
Содержание ароматических углеводородов. Определяется линейно относительно весовых долей компонентов. Ограничения по содержанию ароматики в стандартном виде следует записать так:
(47) 1 (--А} ) < 0, 1 ( - Ау) > 0.
у=1 у=1
где Ау - содержание ароматических углеводородов в единице массы у-го компонента; Ак- , Ак+ - соответственно нижний и верхний пределы содержания ароматических углеводородов в единице массы смеси.
Особенности получения котельных и дизельных топлив состоят в том, что кроме уже рассмотренных показателей, таких как сера, плотность, температуры отгона (для дизельных топлив), здесь необходимо контролировать вязкость пк; температуру вспышки 1вкп; температуру застывания 13кст и некоторые другие.
В качестве базовой формулы для определения вязкости смеси выбрана формула Виноградова
(48) \g\giy, + 0,8) = 1; + 0,8))
!=1 Ск
Формула не линейна по параметрам, но линейна по переменным, поэтому ограничения можно представить в виде линейных соотношений:
т і \ т / \
(49) £(--) £ 0, £(-) > 0,
і =і і =1
где и і = ^(у і + 0,8), и- = - + 0,8), и+ = ^(у + + 0,8).
При определении температуры вспышки за основу принята формула Тиле-Кадмера:
т .есп /л р,р, X і •
(50) ґвксп =-100• 1б£10 ' /100_^ .
і=і °к
Здесь та же ситуация, что и выше: зависимость нелинейна по параметрам, но линейна по переменным. Потенцируя, получим:
(51) 10/100 = £ 10-/100 Хк
і=1 &к
Далее, вводя ограничения и преобразуя их к стандартному виду аналогично тому, как это было сделано выше, можем записать:
(52) £ (--в} ) £ 0, £ (-в і) > 0,
1=1 і=1
где в: = 10"'Г/100, в- = 10 ~е-п/100, в+ = 10-г/100.
Таким образом, спецификацию по некоторым показателям качества продуктов смешения можно линеаризировать. И все же линейная модель смешения - это компромисс. Например, для расчета октанового числа лишь в первом приближении можно использовать линейную модель, на самом деле процесс описывается квадратичной моделью. Сложные, нелинейные зависимости используются также при моделировании получения масел и присадок.
Поскольку используемый подход не связан с необходимостью непосредственной интеграции моделей смешения в матричную модель производства, то не связан он и с необходимо-
стью ограничиваться лишь аппаратом линейного программирования. В качестве дополнения, а в некоторых случаях и в качестве альтернативы, для расчета оптимальных пропорций смешения предложен метод штрафных функций.
4. Программный продукт
Программный продукт СМОННП представляет собой проблемно-ориентированную систему оптимизации и состоит из набора программных модулей, обеспечивающих собственно решение, базы данных и интерфейсов.
База данных содержит информацию, необходимую для выполнения расчетов и представляет собой статическую модель предметной области. Она описывает объект в категориях «сущность - связь». В модели фигурируют пять сущностей: «ресурсы» (материалы, энергоносители, реагенты), «узлы» (установки и смесевые пулы), «продукты» (сырье, полуфабрикаты, готовая продукция), «параметры» (список контролируемых параметров нефтепродуктов), «показатели» (экономические, технологические). Эти сущности порождают следующие связи: «потоки» (нефтепродуктов), «расходы» (ресурсов), «качество» (значения показателей качества нефтепродуктов) и «отношения». Последняя связь является абстрактной. Благодаря ей в модель могут быть включены любые дополнительные условия и ограничения. Все объекты - сущности и связи - обладают присущими им атрибутами и в совокупности образуют базу данных задачи.
Экземпляры базы данных генерируются с помощью специального программного модуля. Он выполняется либо по команде пользователя, если нужно создать новый экземпляр задачи, либо автоматически в том случае, если при загрузке программы не удается обнаружить соответствующий файл.
Использование реляционной базы данных определило ряд конструктивных решений при создании интерфейсов. Предлагается выделять три вида интерфейсов: внутренний, внешний, пользовательский [1].
Внутренний (функциональный, межмодульный) интерфейс
- это способы и средства стыковки объектов самой программы. Прежде всего это касается организации взаимодействия между предметной и математической частями приложения. База данных, как показано выше, содержит описание объекта в предметных категориях. Поэтому в программу включены генераторы моделей, которые с помощью SQL-запросов осуществляет конверсию информации, представленной в базе данных, в структуры воспринимаемые блоком оптимизации, а также программные модули, выполняющие в определенном смысле обратную функцию.
Внешний интерфейс - средства взаимодействия программы с корпоративной базой данных и другими приложениями. База данных, на которой «сидит» программа, является локальной. Она интегрирует в себе только ту информацию, которая необходима для решения конкретной задачи. При этом в ней (в локальной базе данных) содержится как относительно постоянная нормативно-технологическая информация, так и информация, определяющая задания, сценарии, приоритеты. Одна часть данных вводится вручную, другая поступает от внешних информационных источников. Так, например, предусмотрена возможность импорта и встраивания в текущую базу объектов из «библиотеки технологий». Для этого средствами ADO разработан ActiveX-элемент управления. Он имеет простую и удобную оболочку, благодаря которой осуществляется функция настройки внешних информационных связей. Тем самым решен вопрос адаптации программы к возможным изменениям во внешней информационной среде.
Пользовательский интерфейс создан по стандарту Windows-приложений (рис. 2). Он обеспечивает сценарии работы: содержит в себе средства описания объекта, описания задачи, настройки внешних связей, анализа результатов, создания отчетов.
Рис. 2. Копия экрана программы СМОННП
Та часть пользовательского интерфейса, которая предназначена для работы с объектами предметной области, состоит из совокупности блоков экранных форм. Каждая экранная форма есть визуализация некоторого SQL-запроса. В свою очередь, с каждой позицией виртуальной таблицы, порождаемой этим запросом, связан другой параметрический запрос, активизация которого приводит к появлению соответствующей экранной формы. Таким образом, экранные формы каждого блока взаимосвязаны. Любая позиция таблицы, отображаемой в экранной форме, представляет собой пункт контекстного меню - особенность данной программы. Это позволяет просматривать информационную модель объекта во всех «срезах».
Диаграмма экранных форм по блокам (рис. 3):
Блок 1 - технологическая схема. Этот пункт меню предназначен для описания моделируемого объекта. При его выборе на экране появляются экран 1.1. Он состоит из двух панелей. Одна служит для создания и редактирования списка узлов (объектов технологической схемы); другая - для создания списка материальных потоков (сырья, присадок, полуфабрикатов, товарных
продуктов). Каждая позиция того и другого списка сама по себе представляет пункт меню. Раскрыв позицию списка узлов, получаем экран 1.2, который служит для описания текущего объекта. Раскрыв позицию списка продуктов, получаем экран 1.3, содержащий информацию об истоках и стоках соответствующего продукта.
Рис. 3. Диаграмма взаимосвязи экранных форм
Блок 2 - материальный баланс. Дает доступ к системе экранов, позволяющих просматривать материальные балансы. Первоначально попадаем в экран 2.1, содержащий список узлов. Этот список служит для задания ограничений по загрузке узлов (прежде всего установок), отображения расчетных загрузок и 322
двойственных оценок. С этим экраном связаны еще два: экран управляемых потоков 2.2 и экран нефтепродуктов 2.3. Экран управляемых потоков содержит список потоков, через которые определяются другие потоки и показатели, т.е. по сути дела список переменных задачи. Экран нефтепродуктов отображает балансы по каждому продукту и по их совокупности, а также их двойственные оценки.
Позиции этих списков сами являются пунктами меню. Раскрыв, например, позицию списка установок, мы попадаем в дочерний экран 2.5, в котором отражается баланс этой установки. Из этого экрана можно перейти в экран 2.4, в котором информация о балансе установки представлена в контексте взаимосвязи ее с другими объектами системы. Экран 2.6 содержит информацию о балансе нефтепродукта. В этот экран можно попасть как из списка нефтепродуктов, так и из экрана баланса установки. Возможен и обратный переход. Это позволяет легко просматривать материальные балансы во всех аспектах.
Блок 3 - компоненты смесей. В этом пункте меню пользователь получает доступ к таблицам, содержащим информацию о нефтепродуктах, используемых для получения товарных продуктов смешением. Экран 3.1 служит для отображения баланса «компоненты - смеси». Позиции этого списка сами являются пунктами меню. Раскрыв позицию этого списка, попадаем в дочерний экран 3.3. В нем распределение текущего продукта представлено в более удобном для восприятия виде. Из экрана 3.1 можно перейти в экран 3.2, содержащий те же строки, но другие столбцы, а именно показатели качества. Раскрыв позиция списка, получаем экран 3.4, служащий для редактирования качества соответствующего компонента.
Блок 4 - продукты смешения. При описании технологии каждая смесь характеризуется как элемент схемы, т.е. как узел с некоторым множеством входящих и единственным исходящим потоком. Но для моделирования операции смешения такого представления недостаточно. Необходимо дать описание условий получения каждой смеси. Экран 4.1 содержит список про-
дуктов смешения. Его используют как меню для доступа к информации по спецификации каждой смеси. Выбор позиции списка продуктов смешения приводит к появлению экрана 4.2, содержащего компонентный состав смеси. Здесь можно задать приоритет, ограничения на процентный состав, а также просмотреть результаты расчета, т.е. процентный состав, полученный в результате решения задачи. Каждая позиция списка 4.2 в свою очередь тоже является пунктом меню. Выбрав любую позицию, попадаем в экран 4.4, содержащий параметры качества соответствующего компонента. Из экрана 4.2 можно перейти в экран 4.3, который содержит условия спецификации по качеству смеси, а также расчетные значения и отклонения от них в процентах. Воспользовавшись позицией этого экрана как пунктом меню, можно получить информацию о формировании текущего параметра (экран 4.5).
Блок 5 - топливный баланс. Этот пункт меню предназначен для ввода данных и отображения результатов расчета топливного баланса. Экран 5.1 состоит из двух панелей. Одна служит для отображения приходной части баланса, другая - расходной. Позиции панелей сами являются пунктами меню. Раскрыв позицию приходной части топливного баланса, попадаем в экран 5.2, характеризующий теплотворную способность нефтепродукта. Раскрыв позицию расходной части топливного баланса, попадаем в экран 5.3, характеризующий параметры расхода тепла на соответствующей установке.
Блок 6 - расходные показатели. Экран 6.1 содержит список расходуемых ресурсов. Таблица содержит условия (лимиты, цены) и результаты (расход, стоимость, оценки) по каждому ресурсу. Раскрыв позицию списка, попадаем в экран 6.2, показывающий расход ресурса в разрезе установок. С этим экраном связан экран 6.3, показывающий затраты ресурсов в каждой установке.
Блок 7 - генератор отчетов. Экран 7.1 служит для отображения результатов оптимизации в форме системы балансов.
Формируется сводный баланс завода, балансы установок, рецептуры получения товарных смесей.
Блок 8 - протокол расчетов. Экран 8.1 содержит техническую информацию по процедуре расчетов и обобщенные результаты по каждому расчету текущей сессии.
Основные, наиболее востребованные приложения: анализ и выбор схемы нефтепереработки; текущее и оперативное планирование. Как отмечалось выше, номинальная задача, решаемая с помощью СМОННП, - расчет оптимального производственного плана и соответствующего ему общего материального баланса предприятия. В качестве критерия оптимальности можно брать различные технико-экономические показатели. Это может быть какой-либо один показатель или векторная свертка нескольких. К числу показателей относятся, например, выход светлых нефтепродуктов, глубина переработки нефти, покрытие и другие.
В настоящее время накоплен большой опыт использования СМОННП на стадии обоснования проектов модернизации существующих и проектирования новых предприятий. Разработана соответствующая методика, которая состоит в следующем. На первом этапе создается базовая модель предприятия. В ее основу закладываются усредненные загрузки и балансы каждой установки, существующие потоки, качество нефтепродуктов, спецификация товарной продукции, энергетические показатели работы установок. Далее разрабатывается оптимальная схема работы предприятия на перспективу со строительством новых установок и реконструкцией существующих. Показатели новых установок (материальный баланс, катализатор, расходные показатели) берутся по данным фирм-лицензиаров процессов, по аналогам действующих установок, по литературным данным. Эти показатели накладываются на базовый вариант работы предприятия, и производится серия оптимизационных расчетов. В результате формируется вариант развития предприятия на перспективу по годам строительства с учетом очередности вводимых процессов.
Литература
1. ВЕНДЕРОВ А. М. Проектирование программного обеспечения экономических информационных систем. - М.: Финансы и статистика, 2005. - 544 с.
2. ДУДНИКОВ Е. Е., ЦОДИКОВ Ю. М. Типовые задачи оперативного управления непрерывным производством. - М.: Энергия, 1979. - 272 с.
3. ЛЭСДОН Л. С. Оптимизация больших систем. - М.: Наука, 1975. - 429 с.
4. МОИСЕЕВ Н. Н., ИВАНИЛОВ Ю. П., СТОЛЯРОВА Е. М.
Методы оптимизации. - М.: Наука, 1978. - 352 с.
5. ОСТРОВСКИЙ Г. М., БЕРЕЖИНСКИЙ Т. А. Оптимизация химико-технологических процессов. Теория и практика. - М.: Химия, 1984. - 240 с.
“SMONNP” SOFTWARE (SYSTEM OF OIL REFINERY AND PETROCHEMISTRY PRODUCTION OPTIMIZATION)
Alexander Sizikov, Samara State University of Economics, assistant professor ([email protected])
The problem of optimization of oil refinery production as a complex system is presented. Mathematical models and methods embodied in software product developed by the author are described.
Keywords: oil refinery production, complex system, system analysis, optimization, information technology in management, problem-oriented software.
Статья представлена к публикации членом редакционной коллегии М.В. Губко