一种约束优先的工业过程动态优化系统及方法

文档序号:6320009阅读:252来源:国知局
专利名称:一种约束优先的工业过程动态优化系统及方法
技术领域
本发明涉及最优控制领域,尤其是一种约束优先的工业过程动态优化系统。

背景技术
随着现代工业生产过程要求的不断提高,非线性、不确定、高维等动态特性问题日益成为企业提高产量、降低能耗的瓶颈。采用动态优化方法来解决工业过程优化控制中的瓶颈问题和挖潜增效,已经越来越受到国内外学术界和工业界的重视。
工业过程动态优化问题往往具有状态变量边值固定约束,如阀门、反应器容量、压力、摩尔分率等的限制。因此,边值固定问题是工业过程动态优化的关键和热点。
罚函数法是处理边值固定问题的常用策略,它在原目标函数的基础上增加罚函数项构成新的目标函数,从而消除了动态模型中的边值固定约束,但是罚函数法的有效性与惩罚因子的取值密切相关,选值不当将导致病态,严重影响计算效果,而如何选取合适的惩罚因子并无成规可循,往往需要逐步试算,效率较低。


发明内容
为了克服传统的罚函数法在处理边值固定动态优化问题时会出现病态现象、以及计算不准确、求解效率低的不足,本发明提供了一种能够准确、快速地找到边值固定问题的最优解,而且稳定性高、适用性广的约束优先的工业过程动态优化系统及方法。
本发明解决其技术问题所采用的技术方案是 一种约束优先的工业过程动态优化系统,包括与工业过程对象连接的现场智能仪表、DCS系统和上位机,所述的DCS系统包括数据库和控制站,所述现场智能仪表与所述DCS系统连接,所述DCS系统与上位机连接,所述的上位机包括 约束转化模块,用于转化边值固定动态优化问题中的控制变量边界约束和状态变量终值约束(边值固定约束),从而有利于优化问题的求解,采取以下步骤来完成 (2.1)通过中间变量处理控制变量边界约束,即对于具有式(1)所示边界约束 umin≤u(t)≤umax(1) m维控制变量u(t),下标min、max分别表示最小值和最大值,umin、umax均为常量,分别对应控制变量的下界和上界,采取以下变换 u(t)=0.5(umax-umin)×{sin[z(t))]+1}+umin(2) 将u(t)转化为不受边界约束的中间变量z(t)的三角函数表达式,并把z(t)作为动态优化问题的决策变量进行求解; (2.2)将状态变量终值约束转化为新的目标函数,即对于具有终值约束的状态变量xj(t),其中,c表示受终值约束的状态变量个数,xjf为给定的常量,xj(tf)表示状态变量xj(t)在终端时刻tf的取值,所述终值约束为 xj(tf)=xjf (j=1,2,...,c) (3) 构造如下目标函数 J1是双层优化模块求解的内层目标函数; 初始化模块,用于初始参数的设置,决策向量z(t)的离散化和初始赋值,具体步骤如下 (3.1)将时间域
平均分成N小段
,[t1,t2],…,[tN-1,tN],其中tN=tf;每个时间段的长度为tf/N; (3.2)对n维决策向量z(t)在步骤(3.1)所述时间分段上进行离散化,即每个决策变量用N个分段常值表示,并取初始决策向量z0为任意常数向量; (3.3)设内外层优化的收敛精度分别为ζ1、ζ2,当优化目标值迭代误差小于收敛精度时,停止迭代,迭代次数分别为k、l,k、l的初值均取为0;设内层优化的初始搜索步长为α0,迭代搜索的初始决策向量为z10; 双层优化模块,用于寻找不仅能使动态优化问题的目标函数最优,参照式(5)
而且能够满足边值固定约束,即式(3)和状态方程,即式(6) x(0)=x0 (6) 的最优决策向量z*(t),式(5)(6)中

ψ分别表示在终点条件下和在一段时间内目标函数的组成部分,x表示给定的n维状态向量,x0表示初始时刻,即t=0的状态向量值,f表示函数向量,采取内外两层优化的结构进行求解 (4.1)内层优化,即寻找使目标函数J1最优的决策向量z1(t),且z1(t)须满足状态方程,即式(6)和内层优化的协态方程,即式(7) 其中,λ(t)表示m维协态向量,上标T表示向量转置,式(6)与式(7)构成内层常微分方程(Ordinary Differential Equations,ODE)系统;内层优化所得的最优决策变量z1(t)传给外层作为外层优化的初始解; (4.2)外层优化,目的是在内层优化基础上搜寻使目标函数J2最优的决策向量z2(t),且z2(t)须满足状态方程,即式(6)和外层优化的协态方程,即式(8)
其中,θ(t)表示m维协态向量,

ψ分别表示在终点条件下和在一段时间内目标函数J2的组成部分,式(6)与式(8)构成外层常微分方程ODE系统;外层优化所得的最优决策向量z2(t)就是双层优化的最优解z*(t),相应的J2值就是双层优化的最优目标值J*;然后,保存双层优化得到的最优结果z*(t)和J*,并将其传给输出显示模块。
作为优选的一种方案所述双层优化模块的步骤(4.1)中,内层优化按照以下步骤来实现 (4.1.1)选取迭代初始点z10,若k=l=0,则z10=z0,否则z10取值为外层输入的z2l; (4.1.2)将第k次的迭代点z1k(k=0时,z1k=z10)代入内层ODE系统,采用龙格库塔法对式(6)和(7)分别进行前向积分和后向积分,求解出状态向量x和协态向量λ,并由式(4)计算出第k次迭代的目标值J1k; (4.1.3)判断收敛条件,即式(9)是否成立,若成立,则内层的最优解z1*=z1k,将z1*传给外层,作为外层迭代的初始解;否则转步骤(4); |J1k-J1k+1|≤ζ1 (9) (4.1.4)将状态向量x和迭代点z1k代入式(10)计算梯度gk,并保存z1k和gk; (4.1.5)确定最佳搜索步长αk若k=0时,取αk=α0,转步骤(4.1.6);否则,依据式(11)~(13)求取步长因子αk sk-1=z1k-z1k-1,yk-1=gk-gk-1 (13) 其中,sk-1表示当前迭代点与前一迭代点的误差,yk-1表示当前迭代点与前一迭代点的梯度误差,D取区间[5,8]内的整数值; (4.1.6)计算下一个迭代点 z1k+1=z1k-αk·gk (14) (4.1.7)将迭代次数加1,即k=k+1,将步骤(4.1.6)中的z1k+1保存为当前点z1k继续迭代,转步骤(4.1.2); 所述步骤(4.2)中,外层优化依照以下算法步骤来实现 (4.2.1)取当前迭代点为z2l=z1*,l为当前迭代次数,将其代入外层ODE系统,采用龙格库塔法对式(6)和(8)分别进行前向积分和后向积分,求解出状态向量x和协态向量θ,并由式(4)计算出第l次迭代的目标值J2l; (4.2.2)判断收敛条件,即式(15)是否成立,若成立,则双层优化的最优解z*=z2l,最优目标函数值J*=J2l,保存并传递z*和J*到输出显示模块;否则转下一步; |J2k-J2k+1|≤ζ2(15) (4.2.3)将状态向量x和迭代点z1l代入式(16)计算梯度hl,并保存z2l和hl; (4.2.4)依据式(17)~(19)计算搜索方向向量dl,其中P表示变换矩阵,上标l表示迭代次数,上标T表示向量转置,I表示单位矩阵,wl-1表示当前迭代点与前一迭代点的误差,vl-1表示当前迭代点与前一迭代点的梯度误差; dl=-Pl·hl(17) wl-1=z2l-z2l-1,vl-1=hl-hl-1 (19) (4.2.5)依据牛顿法进行精确搜索,求出使J2(z2l+γdl)最小的步长γ=γl; (4.2.6)计算下一个迭代点 z2l+1=z2l+γl·dl(20) (4.2.7)将迭代次数加1,即l=l+1,将步骤(4.2.6)中的z2l+1保存为当前点z2l传给内层继续优化。
进一步,所述上位机还包括信息采集模块,用于设定采样时间,采集由现场智能仪表上传的工业过程对象的动态信息。
再进一步,所述上位机还包括输出显示模块,用于将双层优化模块计算出的最优决策结果z*(t)通过式(2)转化为最优控制轨线u*(t),然后将u*(t)和最优目标值J*传输给DCS系统,并在DCS系统中显示所得到的优化结果信息。
一种约束优先的工业过程动态优化方法,所述的动态优化方法包括以下步骤 1)在DCS系统中指定动态优化的状态变量和控制变量,根据实际生产环境的条件和操作限制的条件设定控制变量的上下边界umax、umin和DCS的采样周期,并将DCS数据库中相应各变量的历史数据,控制变量上下边界值umax、umin传送给上位机; 2)在上位机的约束转化模块中,采取以下措施来转化动态优化问题中的边值固定约束 (2.1)利用中间变量z(t)对具有边界约束 umin≤u(t)≤umax (1) 的m维控制变量u(t)进行转换 u(t)=0.5(umam-umin)×{sin[z(t)]+1}+umin (2) 将u(t)转化为不受边界约束的中间变量z(t)的三角函数表达式,并把z(t)作为动态优化问题的决策变量进行求解; (2.2)将状态变量终值约束,即式(3)转化为新的目标函数J1,即式(4),具体如下 xj(tf)=xjf (j=1,2,...,c)(3) 其中,c表示受终值约束的状态变量个数,xjf为给定的常量,xj(tf)表示状态变量xj(t)在终端时刻tf的取值,J1也是双层优化模块求解的内层目标函数; 3)在上位机的初始化模块中,对初始参数进行设置,并对DCS系统输入的数据进行初始化处理,按照以下步骤完成 (3.1)将时间域
平均分成N小段
,[t1,t2],…,[tN-1,tN],其中tN=tf;每个时间段的长度为tf/N; (3.2)对n维决策向量z(t)在(3.1)所述时间分段上进行离散化,即每个决策变量用N个分段常值表示,并取初始决策向量z0为任意常数向量; (3.3)设内外层优化的收敛精度分别为ζ1、ζ2,迭代次数分别为k、l,k、l的初值均取为0;设内层优化的初始搜索步长为α0,迭代搜索的初始决策向量为z10; 4)在上位机的双层优化模块中,寻找不仅能使动态优化问题的目标函数最优,参照式(5)
而且能够满足边值固定约束,即式(3)和状态方程,即式(6) x(0)=x0 (6) 的最优决策向量z*(t),式(5)(6)中

ψ分别表示在终点条件下和在一段时间内目标函数的组成部分,x表示给定的n维状态向量,x0表示初始时刻,即t=0的状态向量值,f表示函数向量,采取内外两层优化的结构进行求解 (4.1)内层优化,即寻找使目标函数J1最优的决策向量z1(t),且z1(t)须满足状态方程,即式(6)和内层优化的协态方程,即式(7) 其中,λ(t)表示m维协态向量,上标T表示向量转置,式(6)与式(7)构成内层常微分方程(Ordinary Differential Equations,ODE)系统;内层优化所得的最优决策变量z1(t)传给外层作为外层优化的初始解; (4.2)外层优化,目的是在内层优化基础上搜寻使目标函数J2最优的决策向量z2(t),且z2(t)须满足状态方程,即式(6)和外层优化的协态方程,即式(8)
其中,θ(t)表示m维协态向量,

ψ分别表示在终点条件下和在一段时间内目标函数J2的组成部分,式(6)与式(8)构成外层常微分方程ODE系统;外层优化所得的最优决策向量z2(t)就是双层优化的最优解z*(t),相应的J2值就是双层优化的最优目标值J*; 然后,保存双层优化得到的最优结果z*(t)和J*,并将其传给输出显示模块。
作为优选的一种方案所述步骤(4.1)中,内层优化按照以下步骤来实现 (4.1.1)选取迭代初始点z10,若k=l=0,则z10=z0,否则z10取值为外层输入的z2l; (4.1.2)将第k次的迭代点z1k(k=0时,z1k=z10)代入内层ODE系统,采用龙格库塔法对式(6)和(7)分别进行前向积分和后向积分,求解出状态向量x和协态向量λ,并由式(4)计算出第k次迭代的目标值J1k; (4.1.3)判断收敛条件,即式(9)是否成立,若成立,则内层的最优解z1*=z1k,将z1*传给外层,作为外层迭代的初始解;否则转步骤(4); |J1k-J1k+1|≤ζ1(9) (4.1.4)将状态向量x和迭代点z1k代入式(10)计算梯度gk,并保存z1k和gk; (4.1.5)确定最佳搜索步长αk若k=0时,取αk=α0,转步骤(4.1.6);否则,依据式(11)~(13)求取步长因子αk sk-1=z1k-z1k-1,yk-1=gk-gk-1 (13) 其中,sk-1表示当前迭代点与前一迭代点的误差,yk-1表示当前迭代点与前一迭代点的梯度误差,D取区间[5,8]内的整数值; (4.1.6)计算下一个迭代点 z1k+1=z1k-αk·gk (14) (4.1.7)将迭代次数加1,即k=k+1,将步骤(4.1.6)中的z1k+1保存为当前点z1k继续迭代,转步骤(4.1.2); 所述步骤(4.2)中,外层优化依照以下算法步骤来实现 (4.2.1)取当前迭代点为z2l=z1*,l为当前迭代次数,将其代入外层ODE系统,采用龙格库塔法对式(6)和(8)分别进行前向积分和后向积分,求解出状态向量x和协态向量θ,并由式(4)计算出第l次迭代的目标值J2l; (4.2.2)判断收敛条件,即式(15)是否成立,若成立,则双层优化的最优解z*=z2l,最优目标函数值J*=J2l,保存并传递z*和J*到输出显示模块;否则转下一步; |J2k-J2k+1|≤ζ2 (15) (4.2.3)将状态向量x和迭代点z1l代入式(16)计算梯度hl,并保存z2l和hl; (4.2.4)依据式(17)~(19)计算搜索方向向量dl,其中P表示变换矩阵,上标l表示迭代次数,上标T表示向量转置,I表示单位矩阵,wl-1表示当前迭代点与前一迭代点的误差,vl-1表示当前迭代点与前一迭代点的梯度误差; dl=-Pl·hl (17) wl-1=z2l-z2l-1,vl-1=hl-hl-1(19) (4.2.5)依据牛顿法进行精确搜索,求出使J2(z2l+γdl)最小的步长γ=γl; (4.2.6)计算下一个迭代点 z2l+1=z2l+γl·dl(20) (4.2.7)将迭代次数加1,即l=l+1,将步骤(4.2.6)中的z2l+1保存为当前点z2l传给内层继续优化。
进一步,所述的动态优化方法还包括将现场智能仪表所采集的工业过程对象的数据传送到DCS系统的实时数据库中,在每个采样周期从DCS系统的数据库得到的最新数据输出到上位机,并在上位机的初始化模块进行初始化处理。
再进一步,在所述步骤(4.2.2)中得到的最优决策向量z*将通过结果输出模块转换为最优控制曲线u*(t),并在上位机的人机界面上显示u*(t)和最优目标值J*;同时,最优控制曲线u*(t)将通过总线接口传给DCS系统的控制站,并在DCS系统中显示所得到的优化结果信息。
本发明的技术构思为工业过程动态优化问题往往具有状态变量边值固定约束,寻找能够很好地解决边值固定问题的动态优化方法是工业过程动态优化研究的一个热点和难点。通常采用的罚函数法,在处理边值固定动态优化问题时可能出现病态现象,严重影响计算效果,而且在求解准确性和计算效率方面都存在不足。本发明的动态优化方法,通过特殊的约束转换策略将具有边值固定约束的动态优化问题转化为新的双层优化问题,然后结合两种稳定高效的算法进行迭代寻优,在计算下一迭代点时利用了当前点与更前一点的信息,具有超线性收敛速度,而且能够稳定准确地收敛于动态优化问题的最优解。
本发明的有益效果主要表现在1、能够准确地找到具有边值固定特性的工业过程动态优化问题的最优解;2、优化求解效率高、稳定性好。因此,在工业过程动态优化的各领域都具有广泛的应用前景。



图1是本发明所提供的工业过程动态优化系统的硬件结构图; 图2是本发明上位机实现动态优化方法的功能结构图。

具体实施例方式 下面根据附图具体说明本发明。
参照图1、图2,一种约束优先的工业过程动态优化系统,包括与工业过程对象1连接的现场智能仪表2、DCS系统以及上位机6,所述的DCS系统由总线接口3、控制站4、数据库5构成;现场智能仪表2与现场总线连接,所述现场总线与总线接口3连接,所述总线接口与控制站4和数据库5连接,所述的上位机6包括 约束转化模块8,用于转化边值固定动态优化问题中的控制变量边界约束和状态变量终值约束(边值固定约束),从而有利于优化问题的求解,采取以下步骤来完成 (2.1)通过中间变量处理控制变量边界约束,即对于具有式(1)所示边界约束的 umin≤u(t)≤umax (1) m维控制变量u(t)(下标min、max分别表示最小值和最大值,umin、umax均为常量,分别对应控制变量的下界和上界),采取以下变换 u(t)=0.5(umax-umin)×{sin[z(t)]+1}+umin (2) 将u(t)转化为不受边界约束的中间变量z(t)的三角函数表达式,并把z(t)作为动态优化问题的决策变量进行求解; (2.2)将状态变量终值约束转化为新的目标函数,即对于具有终值约束 xj(tf)=xjf (j=1,2,...,c)(3) 的状态变量xj(t)(其中c表示受终值约束的状态变量个数,xjf为给定的常量,xi(tf)表示状态变量xj(t)在终端时刻tf的取值),构造如下目标函数 J1也就是双层优化模块求解的内层目标函数。
初始化模块9,用于初始参数的设置,决策向量z(t)的离散化和初始赋值,具体步骤如下 (3.1)将时间域
平均分成N小段
,[t1,t2],…,[tN-1,tN],其中tN=tf;每个时间段的长度为tf/N; (3.2)对n维决策向量z(t)在(3.1)所述时间分段上进行离散化,即每个决策变量用N个分段常值表示,并取初始决策向量z0为任意常数向量; 设内外层优化的收敛精度分别为ζ1、ζ2(当优化目标值迭代误差小于收敛精度时,停止迭代),迭代次数分别为k、l(初值均取为0);设内层优化的初始搜索步长为α0,迭代搜索的初始决策向量为z10; 双层优化模块10,用于寻找不仅能使动态优化问题的目标函数,即式(5)最优,
而且能够满足边值固定约束,即式(3)和状态方程,即式(6) x(0)=x0 (6) 的最优决策向量z*(t),式(5)(6)中

ψ分别表示在终点条件下和在一段时间内目标函数的组成部分,x表示给定的n维状态向量,x0表示初始时刻(t=0)的状态向量值,f表示函数向量,采取内外两层优化的结构进行求解 (4.1)内层优化,目的是寻找使目标函数J1最优的决策向量z1(t),且z1(t)须满足状态方程,即式(6)和内层优化的协态方程即式(7) 其中λ(t)表示m维协态向量,上标T表示向量转置,式(6)与式(7)构成内层常微分方程(Ordinary Differential Equations,ODE)系统;内层优化所得的最优决策变量z1(t)传给外层作为外层优化的初始解; (4.2)外层优化,目的是在内层优化基础上搜寻使目标函数J2最优的决策向量z2(t),且z2(t)须满足状态方程(式(6))和外层优化的协态方程,即式(8)
其中θ(t)表示m维协态向量,

ψ分别表示在终点条件下和在一段时间内目标函数J2的组成部分,式(6)与式(8)构成外层ODE系统;外层优化所得的最优决策向量z2(t)就是双层优化的最优解z*(t),相应的J2值就是双层优化的最优目标值J*。
然后,保存双层优化得到的最优结果z*(t)和J*,并将其传给输出显示模块11。
所述上位机6的双层优化模块10采用不同的算法分别进行内外层优化。内层优化按照以下算法步骤来实现 (4.1.1)选取迭代初始点z10,若k=l=0,则z10=z0,否则z10取值为外层输入的z2l; (4.1.2)将第k次的迭代点z1k(k=0时,z1k=z10)代入内层ODE系统,采用龙格库塔法对式(6)和(7)分别进行前向积分和后向积分,求解出状态向量x和协态向量λ,并由式(4)计算出第k次迭代的目标值J1k; (4.1.3)判断收敛条件,即式(9)是否成立,若成立,则内层的最优解z1*=z1k,将z1*传给外层,作为外层迭代的初始解;否则转步骤(4); |J1k-J1k+1|≤ζ1 (9) (4.1.4)将状态向量x和迭代点z1k代入式(10)计算梯度gk,并保存z1k和gk; (4.1.5)确定最佳搜索步长αk若k=0时,取αk=α0,转步骤(6);否则,依据式(11)~(13)求取步长因子αk sk-1=z1k-z1k-1,yk-1=gk-gk-1(13) 其中,sk-1表示当前迭代点与前一迭代点的误差,yk-1表示当前 迭代点与前一迭代点的梯度误差,D取区间[5,8]内的整数值; (4.1.6)计算下一个迭代点 z1k+1=z1k-αk·gk(14) (4.1.7)将迭代次数加1,即k=k+1,将步骤(4.1.6)中的z1k+1保存为当前点z1k继续迭代,转步骤(4.1.2)。
外层优化依照以下算法步骤来实现 (4.2.1)取当前迭代点为z2l=z1*(l为当前迭代次数),将其代入外层ODE系统,采用龙格库塔法对式(6)和(8)分别进行前向积分和后向积分,求解出状态向量x和协态向量θ,并由式(4)计算出第l次迭代的目标值J2l; (4.2.2)判断收敛条件,即式(15)是否成立,若成立,则双层优化的最优解z*=z2l,最优目标函数值J*=J2l,保存并传递z*和J*到输出显示模块;否则转下一步; |J2k-J2k+1|≤ζ2 (15) (4.2.3)将状态向量x和迭代点z1l代入式(16)计算梯度hl,并保存z2l和hl; (4.2.4)依据式(17)~(19)计算搜索方向向量dl,其中P表示变换矩阵,上标l表示迭代次数,上标T表示向量转置,I表示单位矩阵,wl-1表示当前迭代点与前一迭代点的误差,vl-1表示当前迭代点与前一迭代点的梯度误差; dl=-Pl·hl (17) wl-1=z2l-z2l-1,vl-1=hl-hl-1(19) (4.2.5)依据牛顿法进行精确搜索,求出使J2(z2l+γdl)最小的步长γ=γl; (4.2.6)计算下一个迭代点 z2l+1=z2l+γl·dl (20) (4.2.7)将迭代次数加1,即l=l+1,将步骤(4.2.6)中的z2l+1保存为当前点z2l传给内层继续优化。
所述上位机6还包括信息采集模块7,用于设定采样时间,采集由现场智能仪表上传的工业过程对象的动态信息。
所述上位机6还包括输出显示模块11,用于将双层优化模块10计算出的最优决策结果z*(t)通过式(2)转化为最优控制轨线u*(t),然后将u*(t)和最优目标值J*传输给DCS系统,并在DCS系统中显示所得到的优化结果信息。
本实施案例的系统硬件结构图如附图1所示,所述动态优化系统的核心包括带人机界面的上位机6中的约束转换模块8、初始化模块9和双层优化模块10三大功能模块,此外还包括现场智能仪表2、DCS系统和现场总线。所述的DCS系统由总线接口3、控制站4、数据库5组成;工业过程对象1、现场智能仪表2、DCS系统、上位机6通过现场总线依次相连,实现信息流的上传和下达,上位机与底层系统及时进行信息交换,实现系统的在线优化。
实施例2 参照图1和图2,一种约束优先的工业过程动态优化方法,所述的动态优化方法按照以下步骤实施 1)、在DCS系统中指定动态优化的状态变量和控制变量,根据实际生产环境的条件和操作限制的条件设定控制变量的上下边界umax、umin和DCS的采样周期,并将DCS数据库5中相应各变量的历史数据,控制变量上下边界值umax、umin传送给上位机6。
2)、在上位机的约束转化模块8中,首先,利用中间变量z(t)对具有式(1)所示边界约束的m维控制变量u(t)进行转换,即式(2), umin≤u(t)≤umax(1) u(t)=0.5(umax-umin)×{sin[z(t)]+1}+umin(2) 将u(t)转化为不受边界约束的中间变量z(t)的三角函数表达式,并把z(t)作为动态优化问题的决策变量进行求解;然后,将状态变量终值约束,即式(3)转化为新的目标函数J1,即式(4) xj(tf)=xif (j=1,2,...,c) (3) 其中,c表示受终值约束的状态变量个数,xjf为给定的常量,xj(tf)表示状态变量xj(t)在终端时刻tf的取值,J1也是双层优化模块10求解的内层目标函数。
3)在上位机的初始化模块9中,对初始参数进行设置,并对DCS系统输入的数据进行初始化处理,按照以下步骤完成 (3.1)将时间域
平均分成N小段
,[t1,t2],…,[tN-1,tN],其中tN=tf;每个时间段的长度为tf/N; (3.2)对n维决策向量z(t)在(3.1)所述时间分段上进行离散化,即每个决策变量用N个分段常值表示,并取初始决策向量z0为任意常数向量; (3.3)设内外层优化的收敛精度分别为ζ1、ζ2,迭代次数分别为k、l,k、l初值均取为0;设内层优化的初始搜索步长为α0,迭代搜索的初始决策向量为z10; 4)在上位机的双层优化模块10中,寻找不仅能使动态优化问题的目标函数J2,即式(5)最优,而且能够满足边值固定约束,即式(3)和状态方程,即式(6)的最优决策向量z*(t),并将z*(t)和相应的最优目标值J*传给输出显示模块;通过采取内外两层优化的结构来进行求解;
x(0)=x0 (6) (4.1)内层优化,目的是寻找使目标函数J1最优的决策向量z1(t),且z1(t)须满足状态方程(式(6))和内层优化的协态方程(式(7)) (4.2)外层优化,目的是在内层优化基础上搜寻使目标函数J2最优的决策向量z2(t),且z2(t)须满足状态方程(式(6))和外层优化的协态方程(式(8))
所述步骤(4.1)中,内层优化按照以下步骤来实现 (4.1.1)选取迭代初始点z10,若k=l=0,则z10=z0,否则z10取值为外层输入的z2l; (4.1.2)将第k次的迭代点z1k(k=0时,z1k=z10)代入内层ODE系统,采用龙格库塔法对式(6)和(7)分别进行前向积分和后向积分,求解出状态向量x和协态向量λ,并由式(4)计算出第k次迭代的目标值J1k; (4.1.3)判断收敛条件,即式(9)是否成立,若成立,则内层的最优解z1*=z1k,将z1*传给外层,作为外层迭代的初始解;否则转步骤(4); |J1k-J1k+1|≤ζ1 (9) (4.1.4)将状态向量x和迭代点z1k代入式(10)计算梯度gk,并保存z1k和gk; (4.1.5)确定最佳搜索步长αk若k=0时,取αk=α0,转步骤(4.1.6);否则,依据式(11)~(13)求取步长因子αk sk-1=z1k-z1k-1,yk-1=gk-gk-1 (13) 其中,sk-1表示当前迭代点与前一迭代点的误差,yk-1表示当前 迭代点与前一迭代点的梯度误差,D取区间[5,8]内的整数值; (4.1.6)计算下一个迭代点 z1k+1=z1k-αk·gk (14) (4.1.7)将迭代次数加1,即k=k+1,将步骤(4.1.6)中的z1k+1保存为当前点z1k继续迭代,转步骤(4.1.2); 所述步骤(4.2)中,外层优化依照以下算法步骤来实现 (4.2.1)取当前迭代点为z2l=z1*,l为当前迭代次数,将其代入外层ODE系统,采用龙格库塔法对式(6)和(8)分别进行前向积分和后向积分,求解出状态向量x和协态向量θ,并由式(4)计算出第l次迭代的目标值J2l; (4.2.2)判断收敛条件,即式(15)是否成立,若成立,则双层优化的最优解z*=z2l,最优目标函数值J*=J2l,保存并传递z*和J*到输出显示模块;否则转下一步; |J2k-J2k+1|≤ζ2(15) (4.2.3)将状态向量x和迭代点z1l代入式(16)计算梯度hl,并保存z2l和hl; (4.2.4)依据式(17)~(19)计算搜索方向向量dl,其中P表示变换矩阵,上标l表示迭代次数,上标T表示向量转置,I表示单位矩阵,wl-1表示当前迭代点与前一迭代点的误差,vl-1表示当前迭代点与前一迭代点的梯度误差; dl=-Pl.hl (17) wl-1=z2l-z2l-1,vl-1=hl-hl-1 (19) (4.2.5)依据牛顿法进行精确搜索,求出使J2(z2l+γdl)最小的步长 γ=γl; (4.2.6)计算下一个迭代点 z2l+1=z2l+γl·dl (20) (4.2.7)将迭代次数加1,即l=l+1,将步骤(4.2.6)中的z2l+1保存为当前点z2l传给内层继续优化。
在上位机的信息采集模块7中,设定采样时间,采集现场智能仪表输入的工业过程对象的数据,保存到DCS系统的实时数据库5中,并在每个采样周期将DCS系统的数据库5所得的最新数据输出到上位机的约束转化模块8和初始化模块9进行处理; 在上位机的输出显示模块11中,所述步骤(4-B2)中所得的最优决策向量z*将通过式(2)转换为最优控制曲线u*(t),并和最优目标值J*一起显示在上位机的人机界面上;同时,最优控制曲线u*(t)将通过总线接口传给DCS系统的控制站4,并在DCS系统中显示所得到的优化结果信息。
本实施例中,系统开始投运,具体过程为 1)利用定时器,设置好每次数据检测和采集的时间间隔; 2)现场智能仪表2检测工业过程对象1的数据并传送至DCS系统的 实时数据库5中,得到最新的变量数据; 3)在上位机6的约束转化模块8中,对控制变量边界约束进行处理, 将处理的结果作为初始化模块9和双层优化模块10的输入; 4)在上位机6的初始化模块9中,根据实际生产需求和操作限制条件对各模块相关参数和变量进行初始化处理,将处理的结果作为双层优化模块10的输入; 5)上位机6的双层优化模块10,依据约束转化模块8的变量代换关系和新的目标函数信息进行双层迭代优化,优化的结果传送到输出显示模块11; 6)上位机6的输出显示模块11,依据约束转化模块8的变量代换关系对双层优化模块10计算出的最优决策曲线进行转换,然后将所得的最优控制结果信息传输给DCS系统,并显示于上位机6的人机界面和DCS系统的控制站4,同时通过DCS系统和现场总线将所得到的优化结果信息传输到现场工作站进行显示,并由现场工作站来执行最优操作。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
权利要求
1.一种约束优先的工业过程动态优化系统,包括与工业过程对象连接的现场智能仪表、DCS系统和上位机,所述的DCS系统包括数据库和控制站,所述现场智能仪表与所述DCS系统连接,所述DCS系统与上位机连接,其特征在于所述的上位机包括
约束转化模块,用于转化边值固定动态优化问题中的控制变量边界约束和状态变量终值约束,采取以下步骤来完成
(2.1)通过中间变量处理控制变量边界约束,即对于具有式(1)所示边界约束
μmin≤u(t)≤umax(1)
m维控制变量u(t),下标min、max分别表示最小值和最大值,umin、umax均为常量,分别对应控制变量的下界和上界,采取以下变换
u(t)=0.5(umax-umin)×{sin[z(t)]+1}+umin(2)
将u(t)转化为不受边界约束的中间变量z(t)的三角函数表达式,并把z(t)作为动态优化问题的决策变量进行求解;
(2.2)将状态变量终值约束转化为新的目标函数,即对于具有终值约束的状态变量xj(t),其中,c表示受终值约束的状态变量个数,xjf为给定的常量,xj(tf)表示状态变量xj(t)在终端时刻tf的取值,所述终值约束为
xj(tf)=xjf(j=1,2,...,c)(3)
构造如下目标函数
J1是双层优化模块求解的内层目标函数;
初始化模块,用于初始参数的设置,决策向量z(t)的离散化和初始赋值,具体步骤如下
(3.1)将时间域
平均分成N小段
,[t1,t2],…,[tN-1,tN],其中tN=tf;每个时间段的长度为tf/N;
(3.2)对n维决策向量z(t)在步骤(3.1)所述时间分段上进行离散化,即每个决策变量用N个分段常值表示,并取初始决策向量z0为任意常数向量;
(3.3)设内外层优化的收敛精度分别为ζ1、ζ2,当优化目标值迭代误差小于收敛精度时,停止迭代,迭代次数分别为k、l,k、l的初值均取为0;设内层优化的初始搜索步长为α0,迭代搜索的初始决策向量为z10;
双层优化模块,用于寻找不仅能使动态优化问题的目标函数最优,参照式(5)
而且能够满足边值固定约束,即式(3)和状态方程,即式(6)
的最优决策向量z*(t),式(5)(6)中
ψ分别表示在终点条件下和在一段时间内目标函数的组成部分,x表示给定的n维状态向量,x0表示初始时刻,即t=0的状态向量值,f表示函数向量,采取内外两层优化的结构进行求解
(4.1)内层优化,即寻找使目标函数J1最优的决策向量z1(t),且z1(t)须满足状态方程,即式(6)和内层优化的协态方程,即式(7)
其中,λ(t)表示m维协态向量,上标T表示向量转置,式(6)与式(7)构成内层常微分方程系统;内层优化所得的最优决策变量z1(t)传给外层作为外层优化的初始解;
(4.2)外层优化,目的是在内层优化基础上搜寻使目标函数J2最优的决策向量z2(t),且z2(t)须满足状态方程,即式(6)和外层优化的协态方程,即式(8)
其中,θ(t)表示m维协态向量,
ψ分别表示在终点条件下和在一段时间内目标函数J2的组成部分,式(6)与式(8)构成外层常微分方程系统;外层优化所得的最优决策向量z2(t)就是双层优化的最优解z*(t),相应的J2值就是双层优化的最优目标值J*;
然后,保存双层优化得到的最优结果z*(t)和J*,并将其传给输出显示模块。
2.根据权利要求1所述的一种约束优先的工业过程动态优化系统,其特征在于所述步骤(4.1)中,内层优化按照以下步骤来实现
(4.1.1)选取迭代初始点z10,若k=l=0,则z10=z0,否则z10取值为外层输入的z2l;
(4.1.2)将第k次的迭代点z1k代入内层ODE系统,k=0时,z1k=z10,采用龙格库塔法对式(6)和(7)分别进行前向积分和后向积分,求解出状态向量x和协态向量λ,并由式(4)计算出第k次迭代的目标值J1k;
(4.1.3)判断收敛条件,即式(9)是否成立,若成立,则内层的最优解z1*=z1k,将z1*传给外层,作为外层迭代的初始解;否则转步骤(4);
|J1k-J1k+1|≤ζ1
(4.1.4)将状态向量x和迭代点z1k代入式(10)计算梯度gk,并保存z1k和gk;
(4.1.5)确定最佳搜索步长αk若k=0时,取αk=α0,转步骤(4.1.6);否则,依据式(11)~(13)求取步长因子αk
sk-1=z1k-z1k-1,yk-1=gk-gk-1(13)
其中,sk-1表示当前迭代点与前一迭代点的误差,yk-1表示当前迭代点与前一迭代点的梯度误差,D取区间[5,8]内的整数值;
(4.1.6)计算下一个迭代点
z1k+1=z1k-αk·gk(14)
(4.1.7)将迭代次数加1,即k=k+1,将步骤(4.1.6)中的z1k+1保存为当前点z1k继续迭代,转步骤(4.1.2);
所述步骤(4.2)中,外层优化依照以下算法步骤来实现
(4.2.1)取当前迭代点为z2l=z1*,l为当前迭代次数,将其代入外层ODE系统,采用龙格库塔法对式(6)和(8)分别进行前向积分和后向积分,求解出状态向量x和协态向量θ,并由式(4)计算出第l次迭代的目标值J2l;
(4.2.2)判断收敛条件,即式(15)是否成立,若成立,则双层优化的最优解z*=z2l,最优目标函数值J*=J2l,保存并传递z*和J*到输出显示模块;否则转下一步;
|J2k-J2k+1|≤ζ2(15)
(4.2.3)将状态向量x和迭代点z1l代入式(16)计算梯度hl,并保存z2l和hl;
(4.2.4)依据式(17)~(19)计算搜索方向向量dl,其中P表示变换矩阵,上标l表示迭代次数,上标T表示向量转置,I表示单位矩阵,wl-1表示当前迭代点与前一迭代点的误差,vl-1表示当前迭代点与前一迭代点的梯度误差;
dl=-Pl·hl (17)
wl-1=z2l-z2l-1,vl-1=hl-hl-1(19)
(4.2.5)依据牛顿法进行精确搜索,求出使J2(z2l+γdl)最小的步长γ=γl;
(4.2.6)计算下一个迭代点
z2l+1=z2l+γl·dl(20)
(4.2.7)将迭代次数加1,即l=l+1,将步骤(4.2.6)中的z2l+1保存为当前点z2l传给内层继续优化。
3.如权利要求1或2所述的一种约束优先的工业过程动态优化系统,其特征在于所述上位机还包括信息采集模块,用于设定采样时间,采集由现场智能仪表上传的工业过程对象的动态信息。
4.如权利要求2所述的一种约束优先的工业过程动态优化系统,其特征在于所述上位机还包括输出显示模块,用于将双层优化模块计算出的最优决策结果z*(t)通过式(2)转化为最优控制轨线u*(t),然后将u*(t)和最优目标值J*传输给DCS系统,并在DCS系统中显示所得到的优化结果信息。
5.一种如权利要求1所述的约束优先的工业过程动态优化系统的动态优化方法,其特征在于所述的动态优化方法包括以下步骤
1)在DCS系统中指定动态优化的状态变量和控制变量,根据实际生产环境的条件和操作限制的条件设定控制变量的上下边界umax、umin和DCS的采样周期,并将DCS数据库中相应各变量的历史数据,控制变量上下边界值umax、umin传送给上位机;
2)采取以下措施来转化动态优化问题中的边值固定约束
(2.1)利用中间变量z(t)对具有边界约束
umin≤u(t)≤umax(1)
的m维控制变量u(t)进行转换
u(t)=0.5(umax-umin)×{sin[z(t)]+1}+umin(2)
将u(t)转化为不受边界约束的中间变量z(t)的三角函数表达式,并把z(t)作为动态优化问题的决策变量进行求解;
(2.2)将状态变量终值约束,即式(3)转化为新的目标函数J1,即式(4),具体如下
xj(tf)=xjf(j=1,2,...,c)(3)
其中,c表示受终值约束的状态变量个数,xjf为给定的常量,xj(tf)表示状态变量xj(t)在终端时刻tf的取值,J1也是双层优化模块求解的内层目标函数;
3)对初始参数进行设置,并对DCS系统输入的数据进行初始化处理,按照以下步骤完成
(3.1)将时间域
平均分成N小段
,[t1,t2],…,[tN-1,tN],其中tN=tf;每个时间段的长度为tf/N;
(3.2)对n维决策向量z(t)在(3.1)所述时间分段上进行离散化,即每个决策变量用N个分段常值表示,并取初始决策向量z0为任意常数向量;
(3.3)设内外层优化的收敛精度分别为ζ1、ζ2,迭代次数分别为k、l,k、l的初值均取为0;设内层优化的初始搜索步长为α0,迭代搜索的初始决策向量为z10;
4)寻找不仅能使动态优化问题的目标函数最优,参照式(5)
而且能够满足边值固定约束,即式(3)和状态方程,即式(6)
的最优决策向量z*(t),式(5)(6)中
ψ分别表示在终点条件下和在一段时间内目标函数的组成部分,x表示给定的n维状态向量,x0表示初始时刻,即t=0的状态向量值,f表示函数向量,采取内外两层优化的结构进行求解
(4.1)内层优化,即寻找使目标函数J1最优的决策向量z1(t),且z1(t)须满足状态方程,即式(6)和内层优化的协态方程,即式(7)
其中,λ(t)表示m维协态向量,上标T表示向量转置,式(6)与式(7)构成内层常微分方程系统;内层优化所得的最优决策变量z1(t)传给外层作为外层优化的初始解;
(4.2)外层优化,目的是在内层优化基础上搜寻使目标函数J2最优的决策向量z2(t),且z2(t)须满足状态方程,即式(6)和外层优化的协态方程,即式(8)
其中,θ(t)表示m维协态向量,
ψ分别表示在终点条件下和在一段时间内目标函数J2的组成部分,式(6)与式(8)构成外层常微分方程系统;外层优化所得的最优决策向量z2(t)就是双层优化的最优解z*(t),相应的J2值就是双层优化的最优目标值J*;
然后,保存双层优化得到的最优结果z*(t)和J*,并将其传给输出显示模块。
6.如权利要求5所述的动态优化方法,其特征在于所述步骤(4.1)中,内层优化按照以下步骤来实现
(4.1.1)选取迭代初始点z10,若k=l=0,则z10=z0,否则z10取值为外层输入的z2l;
(4.1.2)将第k次的迭代点z1k代入内层ODE系统,k=0时,z1k=z10,采用龙格库塔法对式(6)和(7)分别进行前向积分和后向积分,求解出状态向量x和协态向量λ,并由式(4)计算出第k次迭代的目标值J1k;
(4.1.3)判断收敛条件,即式(9)是否成立,若成立,则内层的最优解z1*=z1k,将z1*传给外层,作为外层迭代的初始解;否则转步骤(4);
|J1k-J1k+1|≤ζ1(9)
(4.1.4)将状态向量x和迭代点z1k代入式(10)计算梯度gk,并保存z1k和gk;
(4.1.5)确定最佳搜索步长αk若k=0时,取αk=α0,转步骤(4.1.6);否则,依据式(11)~(13)求取步长因子αk
sk-1=z1k-z1k-1,yk-1=gk-gk-1(13)
其中,sk-1表示当前迭代点与前一迭代点的误差,yk-1表示当前迭代点与前一迭代点的梯度误差,D取区间[5,8]内的整数值;
(4.1.6)计算下一个迭代点
z1k+1=z1k-αk·gk(14)
(4.1.7)将迭代次数加1,即k=k+1,将步骤(4.1.6)中的z1k+1保存为当前点z1k继续迭代,转步骤(4.1.2);
所述步骤(4.2)中,外层优化依照以下算法步骤来实现
(4.2.1)取当前迭代点为z2l=z1*,l为当前迭代次数,将其代入外层ODE系统,采用龙格库塔法对式(6)和(8)分别进行前向积分和后向积分,求解出状态向量x和协态向量θ,并由式(4)计算出第l次迭代的目标值J2l;
(4.2.2)判断收敛条件,即式(15)是否成立,若成立,则双层优化的最优解z*=z2l,最优目标函数值J*=J2l,保存并传递z*和J*到输出显示模块;否则转下一步;
|J2k-J2k+1|≤ζ2(15)
(4.2.3)将状态向量x和迭代点z1l代入式(16)计算梯度hl,并保存z2l和hl;
(4.2.4)依据式(17)~(19)计算搜索方向向量dl,其中P表示变换矩阵,上标l表示迭代次数,上标T表示向量转置,I表示单位矩阵,wl-1表示当前迭代点与前一迭代点的误差,vl-1表示当前迭代点与前一迭代点的梯度误差;
dl=-Pl·hl(17)
wl-1=z2l-z2l-1,vl-1=hl-hl-1 (19)
(4.2.5)依据牛顿法进行精确搜索,求出使J2(z2l+γdl)最小的步长γ=γl;
(4.2.6)计算下一个迭代点
z2l+1=z2l+γl·dl(20)
(4.2.7)将迭代次数加1,即l=l+1,将步骤(4.2.6)中的z2l+1保存为当前点z2l传给内层继续优化。
7.如权利要求5或6所述的一种约束优先的工业过程动态优化方法,其特征在于所述的动态优化方法还包括将现场智能仪表所采集的工业过程对象的数据传送到DCS系统的实时数据库中,在每个采样周期从DCS系统的数据库得到的最新数据输出到上位机,并在上位机的初始化模块进行初始化处理。
8.如权利要求6所述的一种约束优先的工业过程动态优化方法,其特征在于在所述步骤(4.2.2)中得到的最优决策向量z*将通过结果输出模块转换为最优控制曲线u*(t),并在上位机的人机界面上显示u*(t)和最优目标值J*;同时,最优控制曲线u*(t)将通过总线接口传给DCS系统的控制站,并在DCS系统中显示所得到的优化结果信息。
全文摘要
一种约束优先的工业过程动态优化系统,包括与工业过程对象连接的现场智能仪表、DCS系统和上位机,上位机包括约束转化模块,用于转化边值固定动态优化问题中的控制变量边界约束和状态变量终值约束;初始化模块,用于初始参数的设置,决策向量z(t)的离散化和初始赋值;双层优化模块,用于寻找使动态优化问题的目标函数最优,采取内外两层优化的结构进行求解内层优化,寻找使目标函数J1最优的决策向量z1(t);外层优化,搜寻使目标函数J2最优的决策向量z2(t),保存双层优化得到的最优结果。以及提供一种约束优先的工业过程动态优化方法。本发明能够准确、快速地找到边值固定问题的最优解,而且稳定性高、适用性广。
文档编号G05B19/418GK101776892SQ20091015665
公开日2010年7月14日 申请日期2009年12月31日 优先权日2009年12月31日
发明者刘兴高, 陈珑 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1