Óïðàâëåíèå è ìîäåëèðîâàíèå òåõíîëîãè÷åñêèõ ïðîöåññîâ è òåõíè÷åñêèõ ñèñòåì ÓÏÐÀÂËÅÍÈÅ È ÌÎÄÅËÈÐÎÂÀÍÈÅ ÒÅÕÍÎËÎÃÈ×ÅÑÊÈÕ ÏÐÎÖÅÑÑÎÂ È ÒÅÕÍÈ×ÅÑÊÈÕ ÑÈÑÒÅÌ УДК 574.6.663.1 Ю. Л. Гордеева, Ю. А. Ивашкин, Л. С. Гордеев ÀËÃÎÐÈÒÌÛ ÐÀÑ×ÅÒÀ ÏÎÊÀÇÀÒÅËÅÉ ÏÐÎÖÅÑÑÀ ÌÈÊÐÎÁÈÎËÎÃÈ×ÅÑÊÎÃÎ ÑÈÍÒÅÇÀ  ÏÅÐÈÎÄÈ×ÅÑÊÈÕ ÓÑËÎÂÈßÕ ÊÓËÜÒÈÂÈÐÎÂÀÍÈß Введение Анализ результатов математического моделирования процесса микробиологического синтеза [1] показал необходимость разработки трёх алгоритмов расчёта показателей процесса в зависимости от типа постановки задачи. Показателями процесса являются: tк – время завершения процесса ферментации; значения концентраций компонентов в момент завершения процесса – X(tк), S(tк), P(tк) и продуктивность процесса Qp(tк) = P(tк)/tк, г/(л ⋅ ч). Здесь X – концентрация биомассы, г/л; S – концентрация субстрата, г/л; P – концентрация продукта, г/л. Постановка задачи для алгоритма 1 формулируется следующим образом. Заданы начальные значения концентраций в объёме ферментёра – Xн, Sн, Pн. Требуется определить время завершения процесса tк, соответствующие ему концентрации компонентов и величину продуктивности. Постановка задачи для алгоритма 2 отличается тем, что начальная концентрация субстрата может быть выбрана из допустимого диапазона Sf min – Sf max. При этом требуется определить время завершения процесса tк, при котором продуктивность Qp(tк) будет максимальной. Постановка задачи для алгоритма 3 отличается тем, что для заданного значения концентрации субстрата из диапазона Sf min – Sf max необходимо определить возможность существования другого значения концентрации субстрата, обеспечивающего такое же значение продуктивности. Если это значение существует, для него надо рассчитать показатели процесса – tк, X(tк), S(tк), P(tк) и Qp(tк). Отметим, что алгоритм 2 включает в качестве составной части алгоритм 1, а алгоритм 3 в качестве составной части включает алгоритм 2. Алгоритм 1 Блок-схема алгоритма 1, которая формируется из двух частей, показана на рис. 1. Первая часть выделена пунктирными линиями и направлена на получение грубых оценок показателей процесса, которые уточняются во второй части с выполнением необходимых требований обеспечения точности расчёта. Исходными данными для расчёта в первой части алгоритма являются численные значения констант кинетических соотношений, заданные начальные значения концентраций компонентов X, S, P, время t0 = 0, шаг поиска h, точность расчёта по концентрации субстрата ε1 и точность расчёта по концентрации продукта ε2 в виде разности Pm – P. Основной блок вычислений включает в себя решение системы дифференциальных уравнений. Расчёт по первой части блок-схемы завершается при выполнении одного из условий: или S < ε1, или (Pm – P) < ε2. В результате определяется время t, отвечающее одному из вышеуказанных условий, и значения концентраций X(t), S(t), P(t). Для реализации второй части алгоритма необходимо изменить исходную информацию. Константы кинетических соотношений и начальные значения концентраций компонентов Xн, Sн, Pн, остаются теми же самыми. Время t0 меняется на t0’ = t – h, где t – время завершения расчёта по первой части алгоритма, шаг поиска меняется на h1 = h/n. Здесь h1 – точность поиска по времени завершения процесса tк. Число n определяет требуемую точность, т. е. если n = 10, 7 ISSN 2072-9502. Âåñòíèê ÀÃÒÓ. Ñåð.: Óïðàâëåíèå, âû÷èñëèòåëüíàÿ òåõíèêà è èíôîðìàòèêà. 2011. № 2 h1 = 0,1⋅h. Значения ε1 и ε2 остаются без изменения. Расчёт показателей процесса в блоке решения системы дифференциальных уравнений осуществляется с шагом по времени h1. Завершение расчёта определяется теми же условиями, что и в части 1, т. е. или S < ε1, или (Pm – P) < ε2. Начало 1 µm, Pm, Km, Ki, Yx/s, α, β, Sн, Xн, Pн, t0, h, ε1, ε2 t 0' = t − h h1 = h n t = t0 + h t = t 0' + h1 Интегрирование системы дифференциальных уравнений с заданными начальными условиями dX = µ⋅ X , dt dS 1 =− ⋅µ⋅ X , dt Yx s Блок 1 S(t) > ε1 Нет 2 dP = (α ⋅ µ + β ) ⋅ X , dt P −P S µ = µm ⋅ m ⋅ , Pm S Km + S + Ki Да Pm – P > ε2 Нет Да t, X(t), S(t), P(t) X(t), S(t), P(t) Нет 1 S(t) > ε1 tк = t − h1 2 Да Нет Pm – P > ε2 Блок 1 Да Qp(tк) = P(tк)/tк t, X(t), S(t), P(t) Результат tк, X(tк), S(tк), P(tк), Qp(tк) 1 Конец Рис. 1. Блок-схема алгоритма 1 Окончательное время завершения процесса tк определяется по соотношению tк = t – h1/2. Вычисление показателей процесса для этого времени осуществляется в результате интегрирования системы дифференциальных уравнений до момента времени tк. Результаты расчёта включают tк, X(tк), S(tк), P(tк) и Qp(tк) = P(tк)/tк. Для реализации блок-схемы расчёта необходимо принять значение величины шага h, знать заранее которое точно невозможно, т. е. необходимо принимать это значение, предварительно оценив возможную длительность процесса. Шаг поиска h должен быть больше требуемой точности по времени h1. Если ориентировочно известна длительность процесса, значение h может быть принято более обоснованно, что сократит время расчёта. Ниже приведём пример численного расчёта в соответствии с блок-схемой на рис. 1. В табл. 1 приведены численные значения параметров кинетических соотношений [2]. 8 Óïðàâëåíèå è ìîäåëèðîâàíèå òåõíîëîãè÷åñêèõ ïðîöåññîâ è òåõíè÷åñêèõ ñèñòåì Таблица 1 Численные значения параметров α, г/г 2,2 YX/S, г/г 0,4 β, ч–1 0,2 µm, ч–1 0,48 Рm, г/л 50 Km, г/л 1,2 Ki, г/л 22 Начальные значения концентраций: Xн = 0,1 г/л; Sн = 25 г/л; Pн = 0. Точность по концентрации субстрата ε1 = 0,01 г/л, по концентрации продукта ε2 = 0,01 г/л. Из предварительного анализа значение h можно принять равным 1 ч. Точность поиска по времени h1= h/10 = 0,1 ч. Результаты реализации первой части блок-схемы при изменении t от 20,0 ч с шагом 1 ч показаны в табл. 2. Таблица 2 Результаты расчёта S и (Pm – P) с шагом 1 ч t, ч S, г/л (Pm – P), г/л Проверка условий … … … 21,0 4,269 23,316 S > ε1 (Pm – P) > ε2 … 22,0 1,415 19,006 S > ε1 (Pm – P) > ε2 23,0 0,14 15,914 S > ε1 (Pm–P) > ε2 24,0 0,0078 13,781 S < ε1 (Pm – P) > ε2 Данные в табл. 2 приведены начиная с момента времени t = 21,0 ч. Из табл. 2 следует, что при t = 24,0 ч условие окончания расчёта выполняется по S:S < ε1. Таким образом, переходим к расчёту по второй части блок-схемы. Определяем t 0′ = t − h = 24,0 − 1,0 = 23,0 ч, шаг поиска h1 = h/10 = 0,1 ч. В табл. 3 представлены результаты расчёта по второй части блок-схемы с момента времени t0’ = 23,0 ч и с шагом поиска h1 = 0,1 ч, при этом данные приведены с момента времени t = 23,6 ч. Таблица 3 Результаты расчёта S с шагом 0,1 ч t, ч S, г/л Проверка условия … … 23,6 0,024 23,7 0,018 23,8 0,014 23,9 0,01 24,0 0,0078 … S > ε1 S > ε1 S > ε1 S = ε1 S < ε1 По результатам в табл. 3 необходимо принять t = 24,0 ч; окончательное значение времени tк = t – h1/2 = 24,0 – 0,05 = 23,95 ч. Показатели процесса: X(tк) = 10,096 г/л; S(tк) = 9,056 ⋅ 10–3 г/л; P(tк) = 36,117 г/л; Qp(tк) = 1,508 г/(л ⋅ ч). Алгоритм 2 Расчёт показателей процесса по алгоритму 2 включает определение значения Sf, доставляющее максимум Qp(tк), где Sf должно удовлетворять условию S f min < S f < S f max , где Qp(tк) = P(tк)/tк – продуктивность по продукту P. При этом максимум Qp(tк) может быть граничным (т. е. при Sf min или Sf max) или внутренним S 0f ( S f min < S 0f < S f max ). Таким образом, алгоритм 2 есть алгоритм оптимизации по критерию Qp(tк) с выбором значения Sf, обеспечивающего максимум Qp(tк). Результат расчёта даёт значения X(tк), S(tк), P(tк) и Qp(tк), tк при значении Sf, обеспечивающем максимум Qp(tк). Таким образом, для решения оптимальной задачи, т. е. определения Sf, обеспечивающего максимальное значение Qp(tк), необходимо использовать метод как для нахождения граничного максимума, так и для нахождения внутреннего максимума. В алгоритме 2 использован метод половинного деления [3]. Блок-схема алгоритма 2 показана на рис. 2. 9 ISSN 2072-9502. Âåñòíèê ÀÃÒÓ. Ñåð.: Óïðàâëåíèå, âû÷èñëèòåëüíàÿ òåõíèêà è èíôîðìàòèêà. 2011. № 2 Начало a, b, ε c= a+b 2 Вычисление значений S, X, P, Qp по алгоритму 1 при Sf = с Да Нет |b–a| < ε Sf = c x1 = a+c 2 Вычисление значений S, X, P, Qp по алгоритму 1 при Sf = x1 Вывод результатов: Sf, S, X, P, Qp Нет Qp(x1) < Qp(c) Конец Да b = c; c = x1 x2 = b+c 2 Вычисление значений S, X, P, Qp по алгоритму 1 при Sf = x2 Нет Qp(x2) < Qp(c) Да a = c; c = x2 a = x1; b = x2 Рис. 2. Блок-схема алгоритма 2 В блок-схеме используются следующие обозначения: a = S f min ; b =Sf max ; ε – точность поиска по Sf. Алгоритм 2 включает в себя вычисление показателей процесса на каждом шаге поиска максимума по алгоритму 1. Количество шагов поиска N по методу половинного деления определяется по соотношению − ε =2 b−a N −1 2 . Таким образом, при N = 21 ε = 2−10 ⇒ ε = 2−10 S f b−a ( и, если S f min = 20 г/л, S f max max −Sf min ), = 40 г/л, точность поиска составит ε = 0,0195 г/л. Число N показывает количество обращений к алгоритму 1. Пример реализации алгоритма 2 с численными значениями параметров, приведённых в табл. 1, для допустимой области значений S f min = 25 г/л; S f max = 40 г/л и точности поиска ε = 0,5 дал следующие результаты: tк = 29,85 ч; X(tк) = 11,93 г/л; S(tк) = 0,115 г/л; P(tк) = 50,04 г/л; Qp(tк) = 1,677 г/(л ⋅ ч). 10 Óïðàâëåíèå è ìîäåëèðîâàíèå òåõíîëîãè÷åñêèõ ïðîöåññîâ è òåõíè÷åñêèõ ñèñòåì Алгоритм 3 Алгоритм 3 ориентирован на расчёт показателей процесса микробиологического синтеза для условий, когда существует возможность оценить два различных состояния процесса, обеспечивающих одинаковое значение продуктивности. Другие показатели процесса в этом случае могут различаться. Характер зависимости Qp(tк) от начальной концентрации субстрата Sf показан на рис. 3 [1]. В соответствии с этим рисунком существование двух режимов с одинаковой продуктивностью возможно только при условии наличия внутреннего максимума для области S f min − S f max . Однако это условие является необходимым, но недостаточным. На рис. 3 показаны два возможных варианта задания допустимой области S f min − S f max , при которых имеется точка внутреннего максимума S 0f . Qp(tк) b b1 a1 a2 b2 a S 1f min S 2f min S 0f S 1f max S 2f max S f Рис. 3. Характер зависимости Qp(tк) от начальной концентрации субстрата Первый возможный вариант задания обозначим S 1f что если a2[ Q p ( S 1f max ) ] min − S 1f max . Линия a1–a2, показывает, при S 1f max меньше Qp(Sf), существует другое значение Sf, при котором Qp равно Qp(Sf), т. е. для этого варианта условие Q p ( S 1f max ) < Q p ( S f ) является достаточным для существования второго решения. Второй возможный вариант задания обозначен значениями S 2f min − S 2f max . Здесь достаточным условием существования второго решения будет выполнение неравенства Q p ( S 1f min ) < Q p ( S f ) . Ограничивающей линией здесь является линия b–b1. С учётом этого реализация алгоритма 3 связана с предварительным определением условий, когда существует только единственное решение. Для определения этих условий выполняется предварительный расчёт, включающий следующие этапы. 1. Рассчитывается начальная концентрация субстрата S 0f из заданной области Sf min − S f max , при которой Q p ( S 0f ) является максимальным. Расчёт выполняется по алгоритму 2. 2. Рассчитываются показатели процесса для граничных значений Sf min и Sf max по алгоритму 1: X(Sf min), S(Sf min), P(Sf min), Qp(Sf min), tк. X(Sf max), S(Sf max), P(Sf max), Qp(Sf max), tк. 3. Рассчитываются показатели процесса для заданного значения Sf из заданной области S f min − S f max , т. е. X(Sf), S(Sf), P(Sf), Qp(Sf), tк. Расчёт выполняется по алгоритму 1. 4. Оцениваются три условия существования единственного решения: а) Q p ( S f min ) − Q p ( S 0f ) < ε0 ; б) Q p (S f 0 max ) − Q p ( S f ) < ε0 ; 11 ISSN 2072-9502. Âåñòíèê ÀÃÒÓ. Ñåð.: Óïðàâëåíèå, âû÷èñëèòåëüíàÿ òåõíèêà è èíôîðìàòèêà. 2011. № 2 в) Q p ( S f ) − Q p ( S 0f ) < ε 0 . Выполнение условия а или б означает, что максимум Qp является граничным. Выполнение условия в означает, что Q p ( S f ) совпадает с Q p ( S 0f ) . Таким образом, если выполняется одно из условий – а, б или в, решение единственное, и второго решения со значением Q p ( S f ) не существует. Невыполнение условий п. 4 является необходимым условием существования второго решения (второго режима с Q p ( S f ) ). 5. Достаточные условия существования второго решения формируются следующим образом (в предположении, что необходимое условие выполняется). Если Q p ( S f min ) ≥ Q p ( S f max ) , достаточным условием будет: Q p ( S f min ) ≤ Q p ( S f ) . Если Q p ( S f max ) ≥ Q p ( S f min ) , достаточным условием будет: Q p ( S f max ) ≤ Q p ( S f ) . 6. Определяется область существования второго решения по следующим соотношениям: если S f < S 0f , второе решение находится в области S 0f − S f max ; если S f > S 0f , второе решение находится в области S f min − S 0f . Блок-схема алгоритма поиска второго решения приведена на рис. 4. В блоках расчёта показателей процесса по алгоритму 1 символом x обозначена величина Sн (см. рис. 1). Начало S 0f , Q p ( S 0f ) , Q p ( S f ) , h, δ xm = S 0f y m = Q p ( S 0f ) x = xm Да y m − Q p (S f ) < δ Нет x = xm + h Расчёт Q p (x) Расчёт X ( x), S ( x), P( x), по алгоритму 1 Q p ( x), t к , x по алгоритму 1 Нет Конец Q p ( x) > Q p ( S f ) Да h=h 2 xm = x xm = x − h y m = Q p ( xm ) Рис. 4. Блок-схема алгоритма 3 (поиск второго решения) 12 Óïðàâëåíèå è ìîäåëèðîâàíèå òåõíîëîãè÷åñêèõ ïðîöåññîâ è òåõíè÷åñêèõ ñèñòåì Исходными данными для расчёта являются данные, полученные на этапах предварительного анализа (п. 1–3) при заданных значениях S f min , S f max , S f . Точность вычислений ε0 , δ и первоначальный шаг поиска h выбираются исполнителем расчёта, причём шаг поиска со знаком «+» используется при условии S f < S 0f , со знаком «–» – при условии S f > S 0f . Приведём пример численной реализации алгоритма 3. Исходные данные: Sf min = 20 г/л; Sf max = 40 г/л; Sf = 25 г/л. Численные значения кинетических параметров приведены в табл. 1. Предварительный расчёт. 1. Расчёт показателей процесса X, S, P, tк при начальной концентрации субстрата S 0f = 30,62 г/л по алгоритму 2. 2. Расчёт показателей процесса X, S, P, tк для значений Sf min = 20 г/л и Sf max = 40 г/л по алгоритму 1. 3. Расчёт показателей процесса X, S, P, tк для Sf = 25 г/л по алгоритму 1. Результаты расчёта по п. 1–3 приведены в табл. 4. Таблица 4 Численные параметры расчёта по п. 1–3 Показатель X, г/л S, г/л P, г/л Qp, г/(л⋅⋅ч) tк S f = 30,62 г/л 12,152 0,487 50,00 1,669 29,95 Sf min = 20 г/л 8,096 0,009 26,92 1,349 19,95 Sf max = 40 г/л 11,409 11,726 49,894 1,436 34,75 Sf = 25 г/л 10,096 0,009 36,120 1,508 23,95 Исходные данные 0 4. Оценка условий существования единственного решения. Примем ε0 = 0,1 г/л. Тогда: а) Q p (S f 0 min ) − Q p ( S f ) = 1,349 − 1,669 = 0,320 < 0,1 − нет; б) Q p (S f 0 max ) − Q p ( S f ) = 1, 436 − 1,669 = 0, 233 < 0,1 − нет; в) Q p ( S f ) − Q p ( S 0f ) = 1,508 − 1,669 = 0,161 < 0,1 − нет. Таким образом, выполняется необходимое условие существования второго решения. 5. Проверка достаточного условия существования второго решения. Так как Q p ( S f max ) ≥ Q p ( S f min ) , достаточным условием будет Q p ( S f max ) ≤ Q p ( S f ) . 6. Определение области существования второго решения. Так как S f < S 0f , второе решение находится в области S 0f − S f max : 30,62 г/л – 40,0 г/л. S 0f Таким образом, для алгоритма поиска второго решения исходными данными будут: = 30,62 г/л; Q p ( S 0f ) = 1,669 г/(л ⋅ ч); Q p ( S f ) = 1,508 г/(л ⋅ ч); h=1 г/л; δ = 0,05 г/л. В результате расчёта были получены следующие значения показателей процесса: – первое решение при Sf = 25 г/л: Qp = 1,508 г/(л ⋅ ч); X = 10,096 г/л; S = 0,009 г/л; P = 36,12 г/л; tк = 23,95 ч; – второе решение при Sf = 36,995 г/л: Qp = 1,51 г/(л ⋅ ч); X = 11,765 г/л; S = 7,830 г/л; P = 49,893 г/л; tк = 33,05 ч. Заключение Разработаны и проверены на численных примерах три алгоритма расчёта показателей процесса микробиологического синтеза для периодических условий культивирования. Для пер13 ISSN 2072-9502. Âåñòíèê ÀÃÒÓ. Ñåð.: Óïðàâëåíèå, âû÷èñëèòåëüíàÿ òåõíèêà è èíôîðìàòèêà. 2011. № 2 вого алгоритма задаётся начальная концентрация субстрата без ограничений допустимой области. Для второго алгоритма задаётся допустимая область концентрации субстрата и требуется определить концентрацию субстрата, обеспечивающую максимальную продуктивность. Третий алгоритм определяет возможность существования двух режимов при одинаковом значении продуктивности. Для всех трёх алгоритмов приведены расчётные соотношения для показателей процесса при известных значениях кинетических параметров. СПИСОК ЛИТЕРАТУРЫ 1. 2. 3. Гордеева Ю. Л., Ивашкин Ю. А., Гордеев Л. С. Моделирование периодического процесса микробиологического синтеза с нелинейной кинетикой роста микроорганизмов // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. – 2011. – № 1. – С. 37–42. Ruan L., Chen X. D. Comparision of several periodic operations of continuous fermentation process // Biotechnol. Prog. – 1996. – N 12. – P. 286–288. Ивашкин Ю. А. Системный анализ и исследование операций в прикладной биотехнологии. – М.: ООО «Полисувенир», 2005. – 198 с. Статья поступила в редакцию 7.02.2011 ALGORITHMS FOR CALCULATING THE PROCESS OF MICROBIOLOGICAL SYNTHESIS IN PERIODIC CULTIVATION CONDITIONS Yu. L. Gordeeva, Yu. A. Ivashkin, L. S. Gordeev The algorithms for calculating the parameters of the process of microbiological synthesis based on the results of the mathematical modeling are presented. Three algorithms – an algorithm for determining indicators of the process and the fermentation time under the given conditions, an algorithm for estimating the maximum productivity of the target product, an algorithm for estimating the parameters of the process conditions for the existence of non-uniqueness in terms of target product productivity – are considered. The half division optimization method is used in the last two algorithms. Numerical examples of the implementation of algorithms are presented. Key words: informatics, biotechnology, batch processes, calculation algorithms, technological indicators. 14