西西河

主题:【原创】化工过程控制的实践 -- 润树

共:💬332 🌺795
全看分页树展 · 主题 跟帖
家园 【原创】4.过程静态最优化(PSSO)

在MPC一章里,出现了动态和静态优化的概念,也就是根据MPC的线性模型来计算过程最佳静态操作点和到达此点的动态途径。但是由于其模型没有全面地(MPC的变量只是过程所有变量的一部分)和准确地(忽略了过程的非线性)反映过程的特性,只能说它是一个片面/局部和近似的优化。

所谓过程静态优化(PSSO,process steady state optimization)则是一个远在MPC之前很久就出现了的古老命题:

给定过程的目标函数 J = f(x1, x2, x3, ……, xn),在x的约束条件下,找到优化变量x1, x2, ……, xn的值,使J最大化或最小化。

传统上,有两种方法来实现PSSO,一是通过过程的数学模型来计算(模型法),二是在线搜索(搜索法)。模型法中用到的模型,既可以是基于第一原理的机理模型,也可以是经验模型,或两者的结合,在MPC之前,大多是离线实现。也就是说,通过人工或计算机的计算,找到最佳静态操作变量的设定值,然后手动改变这些变量来实现优化。有了MPC后,PSSO所计算出的最佳变量设定值通过这两个系统间的接口传递到MPC自动实现。因此,PSSO可看着是位于MPC之上的一级控制系统。而在线搜索法则是直接改变优化变量的设定值,然后观察目标函数的变化方向,一步一步地去逼近最大/最小值。

最优化,从本质上说是一个数学问题,我们在高等数学中都学习过了。对于线性和低阶的目标函数和约束条件,可以用求导数和代数的方法来求解,而对于高阶和非线性的目标函数或约束条件,则需要用到更复杂的数学方法,像单纯型法,非线性最小二乘法(NLLS)non-linear least squre),分步二次规划(SQP,sequential quadratic programming),总体降梯度法(GRG,generalized reduced gradients)等等。MATLAB之Optimization Tool Box是用来求解此类问题的好工具。但这里我们不对这些数学方法作进一步的讨论,而将焦点放在过程优化的含义及其具体的工程实现。

我们先来看一个精馏塔。如图4.0.1所示,这个塔的操作目的是将进料中的二元主分Ca和Cb分离成塔顶的轻主分和塔低的重主分产品。一般地,这个分离过程是非理想的,即塔顶会有重主分杂质Xb,而塔底也有轻主分杂质Xa。现在的问题是,怎样的分离才算经济上最优。

点看全图

图4.0.1 二元精馏塔的分离示意图

我们可以定义这个过程的优化目标函数如下:

J = 产品所得 – 原料成本 – 能源成本

= Fa*$a + Fb*$b - Ff*$f - Qc*$c - Qr*$r (1)

式中,

Fa和$a – 塔顶产品流量和价格

Fb和$b - 塔底产品流量和价格

Ff和$f – 进料流量和价格

Qc和$c – 冷凝量和价格

Qr和$r – 再沸器热量和价格

约束条件是:

塔顶和塔底的杂质主分小于产品指标值 Xa <= Xa_spec, Xb<=Xb_spec (2)

冷凝器和再沸器能量受限于最大设计值 Qc <= Qc_max, Qr <= Qr_max (3)

由该塔的物料平衡,我们可以得到:

塔顶产品 Fa = Ff (Ca-Xa) / (1-Xa-Xb) (4)

塔底产品 Fb = Ff (Cb-Xb) / (1-Xa-Xb) (5)

对该塔的能源消耗,我们有经验公式:

冷凝量 Qc = Ff (c1 + c2*Xb + c3*Xb*Xb) (6)

再沸热量 Qb = Ff (d1 + d2*Xb + d3*Xb*Xb) (7)

将(4)-(7)代入(1),可得

J = f(Ff, Ca, Cb, Xb, Xa, $a, $b, $c, $r) (8)

在给定Ff, Ca, Cb, $a, $b, $c, $r的情况下,(8)式中只有Xa和Xb是优化变量,而如果塔底产品价格高于塔顶产品价格,即 $b > $a,那末Xa应控制在其上限(低价值组分作高价值产品),就是所谓的卡边操作。这样就只剩下唯一的优化变量Xb,可以很容易的算出它的优化值是15%,其对应的最大值J是$1006/小时。既然b主分价值高于a主分,为什么不尽量将这个数值控制在最小值呢?这是因为,要获得那样的结果,就需要加大回流量,导致冷凝量和再沸热量的消耗都上升,而抵消或超过由更多的塔底产品所带来的经济利益。图4.0.2是用MS Excell计算的图像显示。顺便说一下,MS Excell里的Add-Ins Solver也可以方便地用来求解复杂的优化目标函数。

点看全图

外链图片需谨慎,可能会被源头改

图4.0.2 优化分离的图像显示

这个例子很间单,旨在用来说明化工过程中优化概念。实际的情形要复杂得多,我们将在下一节用Aspen Plus 的Real Time Modeling and Optimization来详细考察。

这里提出一个数学上臭名昭著的Banana函数优化问题,有兴趣者不妨用MS Excell里的Solver去求解一下。当然用其它方法也可以。

J = 100*(X2 – X1^2)^2 + (1-X1)^2

求解J的最小值,无约束条件。^2是平方算子。

关键词(Tags): #静态优化#化工过程控制
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河