CN101763087A - 一种基于非线性共轭梯度法的工业过程动态优化***及方法 - Google Patents

一种基于非线性共轭梯度法的工业过程动态优化***及方法 Download PDF

Info

Publication number
CN101763087A
CN101763087A CN200910155694A CN200910155694A CN101763087A CN 101763087 A CN101763087 A CN 101763087A CN 200910155694 A CN200910155694 A CN 200910155694A CN 200910155694 A CN200910155694 A CN 200910155694A CN 101763087 A CN101763087 A CN 101763087A
Authority
CN
China
Prior art keywords
value
iteration
alpha
vector
optimization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910155694A
Other languages
English (en)
Other versions
CN101763087B (zh
Inventor
刘兴高
陈珑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2009101556945A priority Critical patent/CN101763087B/zh
Publication of CN101763087A publication Critical patent/CN101763087A/zh
Application granted granted Critical
Publication of CN101763087B publication Critical patent/CN101763087B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于非线性共轭梯度法的工业过程动态优化***,包括与工业过程对象连接的现场智能仪表、DCS***和上位机;上位机包括:约束处理模块,用于处理优化过程中的控制变量边界约束;初始化处理模块,用于初始参数的设置;ODE求解模块,用于求解动态优化问题的常微分方程组;迭代优化模块,用于搜寻使目标函数J最优的决策向量w;收敛判断模块,用于判断当前迭代得到的目标值与前一次迭代所得目标值的误差绝对值是否小于等于设定的收敛精度ξ,若成立,将当前的最优决策向量w*、最优目标值J*和迭代次数k保存。以及提供一种基于非线性共轭梯度法的工业过程动态优化方法。本发明能同时满足在线动态优化求解高效率、高精度。

Description

一种基于非线性共轭梯度法的工业过程动态优化***及方法
技术领域
本发明涉及最优控制领域,尤其是一种基于非线性共轭梯度法的工业过程动态优化***及方法。
背景技术
工业过程动态优化是过程模拟技术的核心,是过程优化设计、操作和控制的一个重要环节。采用动态优化方法来解决过程优化控制中的瓶颈问题和挖潜增效,已经越来越受到国内外学术界和工业界的重视。
随着工业过程对在线最优控制的需求的不断增加,改进动态优化算法性能,提高其在线应用的计算效率和准确性,变得越来越重要。
工业过程动态优化的难点在于需要在动态模型的基础上寻求目标泛函的最优值(动态模型往往是由一组复杂的大规模非线性微分方程组成的)。尽管目前的一些动态优化方法,如同步策略法、控制变量参数化法、遗传算法、粒子群算法、模拟退火法等,已经能够找到工业过程动态优化问题的最优解,但是往往出现计算不准确或收敛缓慢的问题,很难既保证所得最优控制结果的较好的准确性又满足动态优化求解过程的高效性。
发明内容
为了克服现有的工业过程动态优化***和方法很难同时满足在线动态优化求解准确性和高效性要求的不足,本发明提供一种能同时满足在线动态优化求解高效率、高精度的基于非线性共轭梯度法的工业过程动态优化***及方法。
本发明解决其技术问题所采用的技术方案是:
一种基于非线性共轭梯度法的工业过程动态优化***,包括与工业过程对象连接的现场智能仪表、DCS***和上位机;所述的DCS***包括操作站和数据库;所述现场智能仪表与DCS***连接,所述DCS***与上位机连接,其特征在于:所述的上位机包括:
约束处理模块,用于处理优化过程中的控制变量边界约束,采用以下转换方程:
u(t)=0.5(umax-umin)×{sin[w(t)]+1}+umin    (1)
将带有边界约束umin≤u(t)≤umax的控制变量u(t)转化为不受边界约束的变量w(t),其中下标min、max分别表示最小值和最大值,umin、umax分别对应控制变量的下界和上界,并将w(t)作为优化问题的决策变量进行求解;
初始化处理模块,用于初始参数的设置,决策变量w(t)的离散化和初始赋值,具体步骤如下:
[3.1]设置判断迭代优化是否终止的收敛精度值ξ(当优化目标值迭代误差小于ξ时,停止迭代);取迭代次数k初值为0;
[3.2]将时间域[t0,tf]平均分成n小段:[t0,t1],[t1,t2],...,[tn-1,tn];每个时间段的长度为h=(tf-t0)/n;
[3.3]对决策变量w(t)在[3.2]所述时间分段上进行离散化,将w(t)替换为由n个分段常值组成的向量w(即决策向量),并选取任意常数向量作为决策向量的初始值w0
[3.4]设置一维搜索的初始步长α,并设定一维搜索的相关参数α1,α2,p,q;
ODE求解模块,用于求解动态优化问题的常微分方程组,为迭代优化过程的梯度计算和收敛条件判断做准备,采取以下步骤来完成:
[4.1]数值求解状态方程:
dx ( t ) dt = f [ x ( t ) , w ( t ) , t ] 边界条件:x(t0)=x0;(2)
其中f表示微分函数向量,x(t)为由m个状态变量组成的向量,x0为状态向量x在初始时刻t0的值,采用龙格库塔法由初始值x(t0)正向积分求出;
[4.2]数值求解协态方程:
dλ ( t ) dt = - ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ x - λ ( t ) · ∂ f [ x ( t ) , w ( t ) , t ] ∂ x , 含边界条件:
Figure G2009101556945D00032
其中φ、ψ分别是目标函数 J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt 中的非积分项和定积分项,λ(t)为由m个协态变量组成的向量,λ(tf)为协态向量λ在终端时刻tf的值,采用龙格库塔法由终端值λ(tf)通过反向积分求出;
[4.3]由所得的状态向量和协态向量计算出目标函数值:
J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt - - - ( 4 )
迭代优化模块,用于搜寻使目标函数J最优的决策向量w,采取以下步骤来完成,上标k均表示迭代次数,初始赋值为零,获取ODE求解模块输出的状态向量、协态向量及目标函数值,即当前目标值Jk,进行如下操作:
[6.1]计算当前迭代的梯度gk,其中,x(t)和λ(t)分别为ODE求解模块得出的当前状态向量和协态向量,上标T表示转置:
g k = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ ( t ) T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k - - - ( 5 )
[6.2]计算当前迭代的搜索方向dk,dk-1表示第k-1次迭代的搜索方向,βk是中间参数:
d k = - g k , k = 1 ; - g k + β k d k - 1 , k ≥ 2 . 其中, β k = ( g k ) T ( g k - g k - 1 ) | | g k - 1 | | 2 - - - ( 6 )
[6.3]进行一维搜索,从当前的迭代点wk出发,沿方向dk作一维搜索,计算出最佳步长α*,满足
H ( w k + α * · d k ) = min α ≥ 0 H ( w k + α · d k ) - - - ( 7 )
其中H表示哈密顿函数,由下式计算出,
Figure G2009101556945D00041
表示在[0,+∞)中寻找使H达到最小值的步长α;
H=ψ[x(t),w(t),t]+λ(t)Tf[x(t),w(t),t](8)
[6.4]取当前迭代的搜索步长 α k = min ( π B · | | d k | | , α * ) , B取区间[5,8]内的整数值;
[6.5]计算下一个迭代点wk+1=wkk·dk,增加迭代次数:k=k+1,并把新的迭代点传给ODE求解模块以计算新的状态向量、协态向量及目标函数值Jk+1
收敛判断模块,用于判定是否终止迭代计算,即判断当前迭代得到的目标值与前一次迭代所得目标值的误差绝对值是否小于等于设定的收敛精度ξ,即收敛条件为:
|Jk-Jk+1|≤ξ    (14)
其中,Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值;
若上式(14)成立,则将当前的最优决策向量w*、最优目标值J*以及迭代次数k保存到结果输出模块;若上式(14)不成立,则保存当前目标值Jk,然后转入迭代优化模块进行下一次迭代求解。
作为优选的的一种方案,所述上位机还包括:一维搜索模块,用于寻找使哈密顿函数H达到最小值的步长αk,返回给迭代优化模块;依据强Wolfe-Powell准则进行一维搜索,按照以下步骤实现:
6.3.1)选取初始数据:在搜索区间[0,+∞)中选取步长的初始值α>0,取α1=0,α2=∞,p∈(0,0.5),q∈(p,1);计算步长αk为零时的哈密顿函数H1=H(wk),及其导数H1’=gkdk
6.3.2)计算哈密顿函数H=H(wkkdk),检验下式是否成立:
H≤H1+pαk(gk)Tdk    (9)
若成立,则转步骤6.3.4);否则,利用二次插值公式计算试探点:
α S = α 1 + 1 2 · α - α 1 1 + H 1 - H ( α - α 1 ) · H 1 ′ - - - ( 10 )
6.3.3)令α2=α,α=αs,转步骤6.3.2);
6.3.4)计算哈密顿函数导数H’=gk+1dk以及梯度向量
g k + 1 = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k + 1 - - - ( 11 )
6.3.5)检验下式是否成立:
|(gk+1)Tdk|≤-q·(gk)Tdk    (12)
若成立,则停止一维搜索,令αk=α,并输出αk给迭代优化模块;否则,利用二次插值公式计算试探点αs
α S = α + 1 2 · ( α - α 1 ) H ′ ( H 1 ′ - H ′ ) - - - ( 13 )
6.3.6)令α1=α,H1=H,H1’=H’,α=αs,转步骤6.3.2)。
进一步,所述的上位机还包括:信号采集模块,用于设定采样时间,采集现场智能仪表的信号。
再进一步,所述的上位机还包括:结果输出模块,用于将迭代优化模块所获得的最优决策轨线为w*(t)通过式(1)转化为最优控制轨线u*(t),然后将此最优控制信号传输给DCS***,并在DCS***中显示所得到的优化结果信息。
一种用所述的基于非线性共轭梯度法的工业过程动态优化***实现的动态优化方法,所述的动态优化方法包括以下步骤:
1)在DCS***中指定动态优化的状态变量和控制变量,根据实际生产环境的条件和操作限制的条件设定控制变量的上下边界umax、umin和DCS的采样周期,并将DCS数据库中相应各变量的历史数据,控制变量上下边界值umax、umin传送给上位机;
2)通过三角函数代换,对受边界约束的控制变量u(t)进行无约束转换,将其替换为另一无约束变量w(t)的函数表达式,即:
u(t)=0.5(umax-umin)×{sin[w(t)]+1}+umin    (1)
通过上式,控制变量u(t)∈[umin,umax]转化为无约束变量w(t)∈R的三角函数表达式;然后,将w(t)作为决策变量进行优化求解,最终求得的w(t)通过代人(1)式,即得到相应的u(t);
3)对模块初始参数进行设置,并对DCS***输入的数据进行初始化处理,按照以下步骤完成:
[3.1]设置判断迭代优化是否终止的收敛精度值ξ(当优化目标值迭代误差小于ξ时,停止迭代);取迭代次数k初值为0;
[3.2]将时间域[t0,tf]平均分成n小段:[t0,t1],[t1,t2],...,[tn-1,tn];每个时间段的长度为h=(tf-t0)/n;
[3.3]对决策变量w(t)在[3.2]所述时间分段上进行离散化,将w(t)替换为由n个分段常值组成的向量w,并选取任意常数向量作为决策向量的初始值w0
[3.4]设置一维搜索的初始步长α,并设定一维搜索的相关参数α1,α2,p,q;
4)当前迭代的决策变量w=wk,迭代次数k为0时,w=w0,采用数值积分方法求出当前状态变量、协态变量,并得出相应的当前目标值Jk。实现步骤如下:
[4.1]数值求解状态方程:
dx ( t ) dt = f [ x ( t ) , w ( t ) , t ] 含边界条件:x(t0)=x0;(2)
其中f表示微分函数向量,x(t)为由m个状态变量组成的向量,x0为状态向量x在初始时刻t0的值,采用龙格库塔法由初始值x(t0)正向积分求出;
[4.2]数值求解协态方程:
dλ ( t ) dt = - ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ x - λ ( t ) · ∂ f [ x ( t ) , w ( t ) , t ] ∂ x 含边界条件:
Figure G2009101556945D00072
其中φ、ψ分别是目标函数 J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt 中的非积分项和定积分项,λ(t)为由m个协态变量组成的向量,λ(tf)为协态向量λ在终端时刻tf的值,采用龙格库塔法由终端值λ(tf)通过反向积分求出;
[4.3]由[4.1]、[4.2]所得的状态向量和协态向量计算出当前目标函数值:
J k = J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt - - - ( 4 )
5)判断收敛条件|Jk-Jk+1|≤ξ是否满足,其中Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值,若不满足,则保存当前目标值Jk,再转入下一步骤进行下一次迭代优化;若满足,则终止迭代计算,当前决策向量就是最优决策向量w*,当前目标值就是最优目标值J*,保存w*、J*及迭代次数k到结果输出模块;
6)由状态向量和协态变量值计算出进一步迭代优化的搜索方向和步长,求解使目标函数J更接近最优的决策向量w,然后返回步骤4)求解ODE;实施迭代优化的步骤如下,上标k均表示迭代次数,初始赋值为零:
[6.1]计算当前迭代的梯度gk,其中,x(t)和λ(t)分别为步骤4)得出的当前状态向量和协态向量,上标T表示转置:
g k = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ ( t ) T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k - - - ( 5 )
[6.2]计算当前迭代的搜索方向dk,dk-1表示第k-1次迭代的搜索方向,βk是中间参数:
d k = - g k , k = 1 ; - g k + β k d k - 1 , k ≥ 2 . 其中, β k = ( g k ) T ( g k - g k - 1 ) | | g k - 1 | | 2 - - - ( 6 )
[6.3]进行一维搜索,从当前的迭代点wk出发,沿方向dk作一维搜索,计算出最佳步长α*,满足
H ( w k + α * · d k ) = min α ≥ 0 H ( w k + α · d k ) - - - ( 7 )
其中H表示哈密顿函数,由下式计算出,
Figure G2009101556945D00084
表示在[0,+∞)中寻找使H达到最小值的步长α;
H=ψ[x(t),w(t),t]+λ(t)Tf[x(t),w(t),t]    (8)
[6.4]取当前迭代的搜索步长 α k = min ( π B · | | d k | | , α * ) , B取区间[5,8]内的整数值;
[6.5]计算下一个迭代点wk+1=wkk·dk,增加迭代次数:k=k+1,并把新的迭代点传给步骤4)以计算新的状态向量、协态向量及目标函数值Jk+1
7)判断当前迭代得到的目标值与前一次迭代所得目标值的误差绝对值是否小于等于设定的收敛精度ξ,即收敛条件为:
|Jk-Jk+1|≤ξ    (14)
其中,Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值;
若上式(14)成立,则将当前的最优决策向量w*、最优目标值J*以及迭代次数k保存到结果输出模块;若上式(14)不成立,则保存当前目标值Jk,然后转入迭代优化模块进行下一次迭代求解。
作为优选的一种方案:上述步骤[6.3]是依据强Wolfe-Powell准则进行一维搜索,按照以下步骤实现:
6.3.1)选取初始数据:在搜索区间[0,+∞)中选取步长的初始值α>0,取α1=0,α2=∞,p∈(0,0.5),q∈(p,1);计算步长αk为零时的哈密顿函数H1=H(wk),及其导数H1’=gkdk
6.3.2)计算哈密顿函数H=H(wkkdk),检验下式是否成立:
H≤H1+pαk(gk)Tdk    (9)
若成立,则转步骤6.3.4);否则,利用二次插值公式计算试探点:
α S = α 1 + 1 2 · α - α 1 1 + H 1 - H ( α - α 1 ) · H 1 ′ - - - ( 10 )
6.3.3)令α2=α,α=αs,转步骤6.3.2);
6.3.4)计算哈密顿函数导数H’=gk+1dk以及梯度向量
g k + 1 = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k + 1 - - - ( 11 )
6.3.5)检验下式是否成立:
|(gk+1)Tdk|≤-q·(gk)Tdk    (12)
若成立,则停止一维搜索,令αk=α,并输出αk给迭代优化模块;否则,利用二次插值公式计算试探点αs
α S = α + 1 2 · ( α - α 1 ) H ′ ( H 1 ′ - H ′ ) - - - ( 13 )
6.3.6)令α1=α,H1=H,H1’=H’,α=αs,转步骤6.3.2)。
进一步,所述的动态优化方法还包括:将现场智能仪表所采集的工业过程对象的数据传送到DCS***的实时数据库中,在每个采样周期从DCS***的数据库得到的最新数据输出到上位机,并在上位机的初始化处理模块进行初始化处理。
再进一步,所述动态优化方法还包括:在所述步骤5)中得到的最优决策轨线w*将通过结果输出模块转换为最优控制曲线u*(t),并在上位机的人机界面上显示u*(t)和最优目标值J*;同时,最优控制曲线u*(t)将通过通讯接口传给DCS***,并在DCS***中显示所得到的优化结果信息。
本发明的技术构思为:工业过程动态优化,往往需要在求解大规模复杂非线性微分方程***的基础上寻求目标泛函的最优值。通常使用的同步策略法、控制变量参数化法、遗传算法、粒子群算法、模拟退火法等,在处理大规模复杂非线性微分方程***时,往往出现计算结果不准确或收敛缓慢的问题。本发明的动态优化方法,采用非线性共轭梯度法,结合强Wolfe-Powell线搜索进行迭代寻优,并对具有边界约束的控制变量实施无约束转化,使得动态优化问题的求解更加简便、高效,同时也提高了算法收敛的稳定性和准确性。
本发明的有益效果主要表现在:1、能够寻找到工业过程非线性***动态优化的最优解;2、寻优过程准确、高效、稳定。因此,可以广泛地应用于工业过程动态优化的各个领域。
附图说明
图1是本发明所提供的工业过程动态优化***的硬件结构图;
图2是本发明上位机实现动态优化方法的功能结构图。
具体实施方式
下面根据附图具体说明本发明。本发明实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权力要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
实施例1
参照图1、图2,一种基于非线性共轭梯度法的工业过程动态优化***,包括与工业过程对象1连接的现场智能仪表2、DCS***以及上位机6,所述的DCS***由数据接口3、操作站4、数据库5构成;现场智能仪表2与通讯网络连接,所述通讯网络与数据接口3连接,所述数据接口3与现场总线连接,所述现场总线与操作站4、数据库5和上位机6连接,所述的上位机包括:
约束处理模块8,用于处理优化过程中的控制变量边界约束,采用以下转换方程:
u(t)=0.5(umax-umin)×{sin[w(t)]+1}+umin    (1)
将带有边界约束umin≤u(t)≤umax的控制变量u(t)转化为不受边界约束的变量w(t),其中下标min、max分别表示最小值和最大值,umin、umax分别对应控制变量的下界和上界,并将w(t)作为优化问题的决策变量进行求解;
初始化处理模块9,用于初始参数的设置,决策变量w(t)的离散化和初始赋值,具体步骤如下:
[3.1]设置判断迭代优化是否终止的收敛精度值ξ,当优化目标值迭代误差小于ξ时,停止迭代;取迭代次数k初值为0;
[3.2]将时间域[t0,tf]平均分成n小段:[t0,t1],[t1,t2],...,[tn-1,tn];每个时间段的长度为h=(tf-t0)/n;
[3.3]对决策变量w(t)在[3.2]所述时间分段上进行离散化,将w(t)替换为由n个分段常值组成的向量w,并选取任意常数向量作为决策向量的初始值w0
[3.4]设置一维搜索的初始步长α,并设定一维搜索的相关参数α1,α2,p,q;
ODE求解模块10:用于求解动态优化问题的常微分方程组,为迭代优化过程的梯度计算和收敛条件判断做准备。采取以下步骤来完成:
[4.1]数值求解状态方程:
dx ( t ) dt = f [ x ( t ) , w ( t ) , t ] 边界条件:x(t0)=x0;(2)
其中f表示微分函数向量,x(t)为由m个状态变量组成的向量,x0为状态向量x在初始时刻t0的值,采用龙格库塔法由初始值x(t0)正向积分求出;
[4.2]数值求解协态方程:
dλ ( t ) dt = - ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ x - λ ( t ) · ∂ f [ x ( t ) , w ( t ) , t ] ∂ x , 含边界条件:
Figure G2009101556945D00122
其中φ、ψ分别是目标函数 J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt 中的非积分项和定积分项,λ(t)为由m个协态变量组成的向量,λ(tf)为协态向量λ在终端时刻tf的值,采用龙格库塔法由终端值λ(tf)通过反向积分求出;
[4.3]由[4.1]、[4.2]所得的状态向量和协态向量计算出目标函数值:
J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt - - - ( 4 )
迭代优化模块11:用于搜寻使目标函数J最优的决策向量w,采取以下步骤来完成,上标k均表示迭代次数,初始赋值为零,获取ODE求解模块输出的状态向量、协态向量及目标函数值,即当前目标值Jk,进行如下操作:
[6.1]计算当前迭代的梯度gk,其中,x(t)和λ(t)分别为ODE求解模块10得出的当前状态向量和协态向量,上标T表示转置:
g k = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ ( t ) T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k - - - ( 5 )
[6.2]计算当前迭代的搜索方向dk,dk-1表示第k-1次迭代的搜索方向,βk是中间参数:
d k = - g k , k = 1 ; - g k + β k d k - 1 , k ≥ 2 . 其中, β k = ( g k ) T ( g k - g k - 1 ) | | g k - 1 | | 2 - - - ( 6 )
[6.3]进行一维搜索,从当前的迭代点wk出发,沿方向dk作一维搜索,计算出最佳步长α*,满足
H ( w k + α * · d k ) = min α ≥ 0 H ( w k + α · d k ) - - - ( 7 )
其中H表示哈密顿函数,由下式计算出,
Figure G2009101556945D00132
表示在[0,+∞)中寻找使H达到最小值的步长α;
H=ψ[x(t),w(t),t]+λ(t)Tf[x(t),w(t),t](8)
[6.4]取当前迭代的搜索步长 α k = min ( π B · | | d k | | , α * ) , B取区间[5,8]内的整数值;
[6.5]计算下一个迭代点wk+1=wkk·dk,增加迭代次数:k=k+1,并把新的迭代点传给ODE求解模块以计算新的状态向量、协态向量及目标函数值Jk+1
一维搜索模块12:用于寻找使哈密顿函数H达到最小值的步长αk,返回给迭代优化模块。模块采用强Wolfe-Powell准则进行一维搜索,实现的步骤如下:
6.3.1)选取初始数据:在搜索区间[0,+∞)中选取步长的初始值α>0,取α1=0,α2=∞,p∈(0,0.5),q∈(p,1);计算步长αk为零时的哈密顿函数H1=H(wk),及其导数H1’=gkdk
6.3.2)计算哈密顿函数H=H(wkkdk),检验下式是否成立:
H≤H1+pαk(gk)Tdk    (9)
若成立,则转步骤6.3.4);否则,利用二次插值公式计算试探点:
α S = α 1 + 1 2 · α - α 1 1 + H 1 - H ( α - α 1 ) · H 1 ′ - - - ( 10 )
6.3.3)令α2=α,α=αs,转步骤6.3.2);
6.3.4)计算哈密顿函数导数H’=gk+1dk以及梯度向量
g k + 1 = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k + 1 - - - ( 11 )
6.3.5)检验下式是否成立:
|(gk+1)Tdk|≤-q·(gk)Tdk    (12)
若成立,则停止一维搜索,令αk=α,并输出αk给迭代优化模块;否则,利用二次插值公式计算试探点αs
α S = α + 1 2 · ( α - α 1 ) H ′ ( H 1 ′ - H ′ ) - - - ( 13 )
6.3.6)令α1=α,H1=H,H1’=H’,α=αs,转步骤6.3.2)。
收敛判断模块13:用于判定是否终止迭代计算,也就是判断当前迭代得到的目标值与前一次迭代所得目标值的误差绝对值是否小于等于设定的收敛精度ξ,即收敛条件为:
|Jk-Jk+1|≤ξ    (14)
其中,Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值;
若上式(14)成立,则将当前的最优决策向量w*、最优目标值J*以及迭代次数k保存到结果输出模块;若上式(14)不成立,则保存当前目标值Jk,然后转入迭代优化模块进行下一次迭代求解。
所述的上位机还包括:信号采集模块7,用于设定采样时间,采集现场智能仪表的信号;以及结果输出模块14,用于将迭代优化模块所获得的最优决策轨线为w*(t)通过式(1)转化为最优控制轨线u*(t),然后将此最优控制信号传输给DCS***,并在DCS***中显示所得到的优化结果信息,同时,结果输出模块14还通过DCS***和现场总线将所得到的优化结果信息传递到现场工作站进行显示,并由现场操作站来执行最优操作。
本实施案例的***硬件结构图如附图1所示,所述的动态优化***核心包括带人机界面的上位机6中的约束处理模块8、初始化处理模块9、ODE求解模块10、迭代优化模块11、一维搜索模块12和收敛判断模块13等6大功能模块,此外还包括:现场智能仪表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中,通过三角函数代换,对受边界约束的控制变量u(t)进行无约束转换,将其替换为中间变量w(t)的函数表达式,即:
u(t)=0.5(umax-umin)×{sin[w(t)]+1}+umin    (1)
通过上式,控制变量u(t)∈[umin,umax]转化为无约束变量w(t)∈R的三角函数表达式。然后,将w(t)作为决策变量进行优化求解,最终求得的w(t)代入(1)式,即得到相应的u(t)。
3)在上位机的初始化处理模块9中,对上位机各模块初始参数进行设置,并对DCS***输入的数据进行初始化处理,按照以下步骤完成:
[3.1]设置判断迭代优化是否终止的收敛精度值ξ,当优化目标值迭代误差小于ξ时,停止迭代;取迭代次数k初值为0;
[3.2]将时间域[t0,tf]平均分成n小段:[t0,t1],[t1,t2],...,[tn-1,tn];每个时间段的长度为h=(tf-t0)/n;
[3.3]对决策变量w(t)在[3.2]所述时间分段上进行离散化,将w(t)替换为由n个分段常值组成的向量w,并选取任意常数向量作为决策向量的初始值w0
[3.4]设置一维搜索的初始步长α,并设定一维搜索的相关参数α1,α2,p,q;
4)将当前迭代的决策变量w=wk(迭代次数k为0时,w=w0)代入ODE求解模块10,采用数值积分方法求出当前状态变量、协态变量,并得出相应的当前目标值Jk。实现步骤如下:
[4.1]数值求解状态方程:
dx ( t ) dt = f [ x ( t ) , w ( t ) , t ] 边界条件:x(t0)=x0;(2)
其中f表示微分函数向量,x(t)为由m个状态变量组成的向量,x0为状态向量x在初始时刻t0的值,采用龙格库塔法由初始值x(t0)正向积分求出;
[4.2]数值求解协态方程:
dλ ( t ) dt = - ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ x - λ ( t ) · ∂ f [ x ( t ) , w ( t ) , t ] ∂ x 边界条件:
Figure G2009101556945D00163
其中φ、ψ分别是目标函数 J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt 中的非积分项和定积分项,λ(t)为由m个协态变量组成的向量,λ(tf)为协态向量λ在终端时刻tf的值,采用龙格库塔法由终端值λ(tf)通过反向积分求出;
[4.3]由[4.1]、[4.2]所得的状态向量和协态向量计算出当前目标函数值:
J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt - - - ( 4 )
5)收敛判断模块13判断收敛条件|Jk-Jk+1|≤ξ(其中Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值)是否满足,若不满足,则保存当前目标值Jk,再转入下一步骤进行下一次迭代优化;若满足,则终止迭代计算,当前决策变量就是最优决策变量(表示为w*),当前目标值就是最优目标值(表示为J*),保存w*、J*及迭代次数k到结果输出模块;
6)由ODE求解模块10得出的状态向量和协态变量值,计算出进一步迭代优化的搜索方向和步长,求解使目标函数J更接近最优的决策向量w,然后返回步骤4)求解ODE。实施迭代优化的步骤如下(上标k均表示迭代次数,初始赋值为零):
[6.1]计算当前迭代的梯度gk,其中,x(t)和λ(t)分别为ODE求解模块10得出的当前状态向量和协态向量,上标T表示转置:
g k = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ ( t ) T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k - - - ( 5 )
[6.2]计算当前迭代的搜索方向dk,dk-1表示第k-1次迭代的搜索方向,βk是中间参数:
d k = - g k , k = 1 ; - g k + β k d k - 1 , k ≥ 2 . 其中, β k = ( g k ) T ( g k - g k - 1 ) | | g k - 1 | | 2 - - - ( 6 )
[6.3]进行一维搜索,从当前的迭代点wk出发,沿方向dk作一维搜索,计算出最佳步长α*,满足
H ( w k + α * · d k ) = min α ≥ 0 H ( w k + α · d k ) - - - ( 7 )
其中H表示哈密顿函数,由下式计算出,
Figure G2009101556945D00175
表示在[0,+∞)中寻找使H达到最小值的步长α;
H=ψ[x(t),w(t),t]+λ(t)Tf[x(t),w(t),t](8)
[6.4]取当前迭代的搜索步长 α k = min ( π B · | | d k | | , α * ) , B取区间[5,8]内的整数值;
[6.5]计算下一个迭代点wk+1=wkk·dk,增加迭代次数:k=k+1,并把新的迭代点传给步骤4)的ODE求解模块以计算新的状态向量、协态向量及目标函数值Jk+1
需要注意的是:上述第[6.3]步骤是依据强Wolfe-Powell准则进行一维搜索,按照以下步骤实现:
6.3.1)选取初始数据:在搜索区间[0,+∞)中选取步长的初始值α>0,取α1=0,α2=∞,p∈(0,0.5),q∈(p,1);计算步长αk为零时的哈密顿函数H1=H(wk),及其导数H1’=gkdk
6.3.2)计算哈密顿函数H=H(wkkdk),检验下式是否成立:
H≤H1+pαk(gk)Tdk    (9)
若成立,则转步骤6.3.4);否则,利用二次插值公式计算试探点:
α S = α 1 + 1 2 · α - α 1 1 + H 1 - H ( α - α 1 ) · H 1 ′ - - - ( 10 )
6.3.3)令α2=α,α=αs,转步骤6.3.2);
6.3.4)计算哈密顿函数导数H’=gk+1dk以及梯度向量
g k + 1 = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k + 1 - - - ( 11 )
6.3.5)检验下式是否成立:
|(gk+1)Tdk|≤-q·(gk)Tdk    (12)
若成立,则停止一维搜索,令αk=α,并输出αk给迭代优化模块;否则,利用二次插值公式计算试探点αs
α S = α + 1 2 · ( α - α 1 ) H ′ ( H 1 ′ - H ′ ) - - - ( 13 )
6.3.6)令α1=α,H1=H,H1’=H’,α=αs,转步骤6.3.2)。
7)判断当前迭代得到的目标值与前一次迭代所得目标值的误差绝对值是否小于等于设定的收敛精度ξ,即收敛条件为:
|Jk-Jk+1|≤ξ    (14)
其中,Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值;
若上式(14)成立,则将当前的最优决策向量w*、最优目标值J*以及迭代次数k保存到结果输出模块;若上式(14)不成立,则保存当前目标值Jk,然后转入迭代优化模块进行下一次迭代求解。
本实施例中,***开始投运,采用以下步骤完成:
1)利用定时器,设置好每次数据检测和采集的时间间隔;
2)现场智能仪表2检测工业过程对象1的数据并传送至DCS***的实时数据库5中,得到最新的变量数据;
3)在上位机6的约束处理模块8中,对控制变量边界约束进行处理,将处理的结果作为初始化处理模块9的输入;
4)在上位机6的初始化处理模块9中,根据实际生产需求和操作限制条件对各模块相关参数和变量进行初始化处理,将处理的结果作为ODE求解模块10和迭代优化模块11的输入;
5)上位机6的ODE求解模块10,根据初始化处理模块9输入的初始决策向量或者迭代优化模块11输入的迭代决策向量求解ODE,所得的状态向量、协态向量和目标值作为迭代优化模块11的输入;
6)上位机6的迭代优化模块11,利用ODE求解模块10得出的变量信息进行梯度计算,并调用一维搜索模块12求取最佳步长,同时结合收敛判断模块13的判定信息实施迭代优化,优化的结果传给结果输出模块14;
7)上位机6的收敛判断模块13,根据收敛条件判定是否终止迭代优化,所得的结果传给迭代优化模块11和结果输出模块14;
8)上位机6的人机界面上显示工业过程最优控制的结果信息,上位机6将所得到的最优控制曲线传给DCS***,并在DCS***的操作站4显示所得到的优化结果信息,同时通过DCS***和现场总线将所得到的优化结果信息传输到现场工作站进行显示,并由现场操作站来执行最优操作。

Claims (8)

1.一种基于非线性共轭梯度法的工业过程动态优化***,包括与工业过程对象连接的现场智能仪表、DCS***和上位机;所述的DCS***包括操作站和数据库;所述现场智能仪表与DCS***连接,所述DCS***与上位机连接,其特征在于:所述的上位机包括:
约束处理模块,用于处理优化过程中的控制变量边界约束,采用以下转换方程:
u(t)=0.5(umax-umin)×{sin[w(t)]+1}+umin    (1)
将带有边界约束umin≤u(t)≤umax的控制变量u(t)转化为不受边界约束的变量w(t),其中下标min、max分别表示最小值和最大值,umin、umax分别对应控制变量的下界和上界,并将w(t)作为优化问题的决策变量进行求解;
初始化处理模块,用于初始参数的设置,决策变量w(t)的离散化和初始赋值,具体步骤如下:
[3.1]设置判断迭代优化是否终止的收敛精度值ξ,当优化目标值迭代误差小于ξ时,停止迭代;取迭代次数k初值为0;
[3.2]将时间域[t0,tf]平均分成n小段:[t0,t1],[t1,t2],…,[tn-1,tn];每个时间段的长度为h=(tf-t0)/n;
[3.3]对决策变量w(t)在[3.2]所述时间分段上进行离散化,将w(t)替换为由n个分段常值组成的向量w,并选取任意常数向量作为决策向量的初始值w0
[3.4]设置一维搜索的初始步长α,并设定一维搜索的相关参数α1,α2,p,q;
ODE求解模块,用于求解动态优化问题的常微分方程组,为迭代优化过程的梯度计算和收敛条件判断做准备,采取以下步骤来完成:
[4.1]数值求解状态方程:
dx ( t ) dt = f [ x ( t ) , w ( t ) , t ] 边界条件: x ( t 0 ) = x 0 ; - - - ( 2 )
其中f表示微分函数向量,x(t)为由m个状态变量组成的向量,x0为状态向量x在初始时刻t0的值,采用龙格库塔法由初始值x(t0)正向积分求出;
[4.2]数值求解协态方程:
dλ ( t ) dt = - ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ x - λ ( t ) · ∂ f [ x ( t ) , w ( t ) , t ] ∂ x , 含边界条件:
其中φ、ψ分别是目标函数 J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt 中的非积分项和定积分项,λ(t)为由m个协态变量组成的向量,λ(tf)为协态向量λ在终端时刻tf的值,采用龙格库塔法由终端值λ(tf)通过反向积分求出;
[4.3]由[4.1]、[4.2]所得的状态向量和协态向量计算出目标函数值:
J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt - - - ( 4 )
迭代优化模块,用于搜寻使目标函数J最优的决策向量w,采取以下步骤来完成,上标k均表示迭代次数,初始赋值为零,获取ODE求解模块输出的状态向量、协态向量及目标函数值,即当前目标值Jk,进行如下操作:
[6.1]计算当前迭代的梯度gk,其中,x(t)和λ(t)分别为ODE求解模块得出的当前状态向量和协态向量,上标T表示转置:
g k = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ ( t ) T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k - - - ( 5 )
[6.2]计算当前迭代的搜索方向dk,dk-1表示第k-1次迭代的搜索方向,βk是中间参数:
d k = - g k , k = 1 ; - g k + β k d k - 1 , k ≥ 2 . 其中, β k = ( g k ) T ( g k - g k - 1 ) | | g k - 1 | | 2 - - - ( 6 )
[6.3]进行一维搜索,从当前的迭代点wk出发,沿方向dk作一维搜索,计算出最佳步长α*,满足
H ( w k + α * · d k ) = min α ≥ 0 H ( w k + α · d k ) - - - ( 7 )
其中H表示哈密顿函数,由下式计算出, min α ≥ 0 表示在[0,+∞)中寻找使H达到最小值的步长α;
H=ψ[x(t),w(t),t]+λ(t)Tf[x(t),w(t),t]    (8)
[6.4]取当前迭代的搜索步长 α k = min ( π B · | | d k | | , α * ) , B取区间[5,8]内的整数值;
[6.5]计算下一个迭代点wk+1=wkk·dk,增加迭代次数:k=k+1,并把新的迭代点传给ODE求解模块以计算新的状态向量、协
态向量及目标函数值Jk+1
收敛判断模块,用于判定是否终止迭代计算,即判断当前迭代得到的目标值与前一次迭代所得目标值的误差绝对值是否小于等于设定的收敛精度ξ,即收敛条件为:
J k - J k + 1 | ≤ ξ - - - ( 14 )
其中,Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值;
若上式(14)成立,则将当前的最优决策向量w*、最优目标值J*以及迭代次数k保存到结果输出模块;若上式(14)不成立,则保存当前目标值Jk,然后转入迭代优化模块进行下一次迭代求解。
2.如权利要求1所述的基于非线性共轭梯度法的工业过程动态优化***,其特征在于:所述上位机还包括:
一维搜索模块,用于寻找使哈密顿函数H达到最小值的步长αk,返回给迭代优化模块;依据强Wolfe-Powell准则进行一维搜索,按照以下步骤实现:
6.3.1)选取初始数据:在搜索区间[0,+∞)中选取步长的初始值α>0,取α1=0,α2=∞,p∈(0,0.5),q∈(p,1);计算步长αk为零时的哈密顿函数H1=H(wk),及其导数H1’gkdk
6.3.2)计算哈密顿函数H=H(wkkdk),检验下式是否成立:
H≤H1+pαk(gk)Tdk(9)
若成立,则转步骤6.3.4);否则,利用二次插值公式计算试探点:
α s = α 1 + 1 2 · α - α 1 1 + H 1 - H ( α - α 1 ) · H 1 ' - - - ( 10 )
6.3.3)令α2=α,α=αs,转步骤6.3.2);
6.3.4)计算哈密顿函数导数H’=gk+1dk以及梯度向量
g k + 1 = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k + 1 - - - ( 11 )
6.3.5)检验下式是否成立:
( g k + 1 ) T d k ( g k ) T d k - - - ( 12 )
若成立,则停止一维搜索,令αk=α,并输出αk给迭代优化模块;否则,利用二次插值公式计算试探点αs
α S = α + 1 2 · ( α - α 1 ) H ' ( H 1 ' - H ' ) - - - ( 13 )
6.3.6)令α1=α,H1=H,H1’=H’,α=αs,转步骤6.3.2)。
3.如权利要求1或2所述的基于非线性共轭梯度法的工业过程动态优化***,其特征在于:所述的上位机还包括:信号采集模块,用于设定采样时间,采集现场智能仪表的信号。
4.如权利要求1或2所述的基于非线性共轭梯度法的工业过程动态优化***,其特征在于:所述的上位机还包括:结果输出模块,用于将迭代优化模块所获得的最优决策轨线为w*(t)通过式(1)转化为最优控制轨线u*(t),然后将此最优控制信号传输给DCS***,并在DCS***中显示所得到的优化结果信息。
5.一种用如权利要求1所述的基于非线性共轭梯度法的工业过程动态优化***实现的动态优化方法,其特征在于:所述的动态优化方法包括以下步骤:
1)在DCS***中指定动态优化的状态变量和控制变量,根据实际生产环境的条件和操作限制的条件设定控制变量的上下边界umax、umin和DCS的采样周期,并将DCS数据库中相应各变量的历史数据,控制变量上下边界值umax、umin传送给上位机;
2)通过三角函数代换,对受边界约束的控制变量u(t)进行无约束转换,将其替换为另一无约束变量w(t)的函数表达式,即:
u(t)=0.5(umax-umin)×{sin[w(t)]+1}+umin    (1)
通过上式,控制变量u(t)∈[umin,umax]转化为无约束变量w(t)∈R的三角函数表达式;然后,将w(t)作为决策变量进行优化求解,最终求得的w(t)通过代入(1)式,即得到相应的u(t);
3)对模块初始参数进行设置,并对DCS***输入的数据进行初始化处理,按照以下步骤完成:
[3.1]设置判断迭代优化是否终止的收敛精度值ξ,当优化目标值
迭代误差小于ξ时,停止迭代;取迭代次数k初值为0;
[3.2]将时间域[t0,tf]平均分成n小段:[t0,t1],[t1,t2],…,[tn-1,tn];每个时间段的长度为h=(tf-t0)/n;
[3.3]对决策变量w(t)在[3.2]所述时间分段上进行离散化,将w(t)替换为由n个分段常值组成的向量w,并选取任意常数向量作为决策向量的初始值w0
[3.4]设置一维搜索的初始步长α,并设定一维搜索的相关参数α1,α2,p,q;
4)当前迭代的决策变量w=wk,迭代次数k为0时,w=w0,采用数值积分方法求出当前状态变量、协态变量,并得出相应的当前目标值Jk。实现步骤如下:
[4.1]数值求解状态方程:
dx ( t ) dt = f [ x ( t ) , w ( t ) , t ] 边界条件:x(t0)=x0;(2)
其中f表示微分函数向量,x(t)为由m个状态变量组成的向量,x0为状态向量x在初始时刻t0的值,采用龙格库塔法由初始值x(t0)正向积分求出;
[4.2]数值求解协态方程:
dλ ( t ) dt = - ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ x - λ ( t ) · ∂ f [ x ( t ) , w ( t ) , t ] ∂ x 边界条件:
Figure F2009101556945C00053
其中φ、ψ分别是目标函数 J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt 中的非积分项和定积分项,λ(t)为由m个协态变量组成的向量,λ(tf)为协态向量λ在终端时刻tf的值,采用龙格库塔法由终端值λ(tf)通过反向积分求出;
[4.3]由[4.1]、[4.2]所得的状态向量和协态向量计算出当前目标函数值:
J k = J = φ [ x ( tf ) ] + ∫ 0 tf ψ [ x ( t ) , w ( t ) , t ] dt - - - ( 4 )
5)判断收敛条件|Jk-Jk+1|≤ξ是否满足,其中Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值,若不满足,则保存当前目标值Jk,再转入下一步骤进行下一次迭代优化;若满足,则终止迭代计算,当前决策向量就是最优决策向量w*,当前目标值就是最优目标值J*,保存w*、J*及迭代次数k到结果输出模块;
6)由状态向量和协态变量值计算出进一步迭代优化的搜索方向和步长,求解使目标函数J更接近最优的决策向量w,然后返回步骤4)求解ODE;实施迭代优化的步骤如下,上标k均表示迭代次数,初始赋值为零:
[6.1]计算当前迭代的梯度gk,其中,x(t)和λ(t)分别为步骤4)得出的当前状态向量和协态向量,上标T表示转置:
g k = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ ( t ) T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k - - - ( 5 )
[6.2]计算当前迭代的搜索方向dk,dk-1表示第k-1次迭代的搜索方向,βk是中间参数:
d k = - g k , k = 1 ; - g k + β k d k - 1 , k ≥ 2 . 其中, β k = ( g k ) T ( g k - g k - 1 ) | | g k - 1 | | 2 - - - ( 6 )
[6.3]进行一维搜索,从当前的迭代点wk出发,沿方向dk作一维搜索,计算出最佳步长α*,满足
H ( w k + α * · d k ) = min α ≥ 0 H ( w k + α · d k ) - - - ( 7 )
其中H表示哈密顿函数,由下式计算出, min α ≥ 0 表示在[0,+∞)中寻找使H达到最小值的步长α;
H=ψ[x(t),w(t),t]+λ(t)Tf[x(t),w(t),t]    (8)
[6.4]取当前迭代的搜索步长 α k = min ( π B · | | d k | | , α * ) , B取区间[5,8]内的整数值;
[6.5]计算下一个迭代点wk+1=wkk·dk,增加迭代次数:k=k+1,并把新的迭代点传给步骤4)以计算新的状态向量、协态向量及目标函数值Jk+1
7)判断当前迭代得到的目标值与前一次迭代所得目标值的误差绝对值是否小于等于设定的收敛精度ξ,即收敛条件为:
|Jk-Jk+1|≤ξ                         (14)
其中,Jk和Jk+1分别表示第k次和第k+1次迭代计算得到的目标函数值;
若上式(14)成立,则将当前的最优决策向量w*、最优目标值J*以及迭代次数k保存到结果输出模块;若上式(14)不成立,则保存当前目标值Jk,然后转入迭代优化模块进行下一次迭代求解。
6.如权利要求5所述的动态优化方法,其特征在于:上述步骤[6.3]是依据强Wolfe-Powell准则进行一维搜索,按照以下步骤实现:
6.3.1)选取初始数据:在搜索区间[O,+∞)中选取步长的初始值α>O,取α1=0,α2=∞,p∈(0,0.5),q∈(p,1);计算步长αk为零时的哈密顿函数H1=H(wk),及其导数H1’=gkdk
6.3.2)计算哈密顿函数H=H(wkkdk),检验下式是否成立:
H≤H1+pαk(gk)Tdk(9)
若成立,则转步骤6.3.4);否则,利用二次插值公式计算试探点:
α s = α 1 + 1 2 · α - α 1 1 + H 1 - H ( α - α 1 ) · H 1 ' - - - ( 10 )
6.3.3)令α2=α,α=αs,转步骤6.3.2);
6.3.4)计算哈密顿函数导数H’=gk+1dk以及梯度向量
g k + 1 = { ∂ ψ [ x ( t ) , w ( t ) , t ] ∂ w ( t ) + λ T · ∂ f [ x ( t ) , w ( t ) , t ] ∂ w ( t ) } | w ( t ) = w k + 1 - - - ( 11 )
6.3.5)检验下式是否成立:
|(gk+1)Tdk|≤-q·(gk)Tdk(12)
若成立,则停止一维搜索,令αk=α,并输出αk给迭代优化模块;否则,利用二次插值公式计算试探点αs
α S = α + 1 2 · ( α - α 1 ) H ' ( H 1 ' - H ' ) - - - ( 13 )
6.3.6)令α1=α,H1=H,H1’=H’,α=αs,转步骤6.3.2)。
7.如权利要求5或6所述的动态优化方法,其特征在于:所述的动态优化方法还包括:将现场智能仪表所采集的工业过程对象的数据传送到DCS***的实时数据库中,在每个采样周期从DCS***的数据库得到的最新数据输出到上位机,并在上位机的初始化处理模块进行初始化处理。
8.如权利要求5或6所述的动态优化方法,其特征在于:所述动态优化方法还包括:在所述步骤5)中得到的最优决策轨线w*将通过结果输出模块转换为最优控制曲线u*(t),并在上位机的人机界面上显示u*(t)和最优目标值J*;同时,最优控制曲线u*(t)将通过通讯接口传给DCS***,并在DCS***中显示所得到的优化结果信息。
CN2009101556945A 2009-12-29 2009-12-29 一种基于非线性共轭梯度法的工业过程动态优化***及方法 Expired - Fee Related CN101763087B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101556945A CN101763087B (zh) 2009-12-29 2009-12-29 一种基于非线性共轭梯度法的工业过程动态优化***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101556945A CN101763087B (zh) 2009-12-29 2009-12-29 一种基于非线性共轭梯度法的工业过程动态优化***及方法

Publications (2)

Publication Number Publication Date
CN101763087A true CN101763087A (zh) 2010-06-30
CN101763087B CN101763087B (zh) 2011-08-31

Family

ID=42494293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101556945A Expired - Fee Related CN101763087B (zh) 2009-12-29 2009-12-29 一种基于非线性共轭梯度法的工业过程动态优化***及方法

Country Status (1)

Country Link
CN (1) CN101763087B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110079A (zh) * 2011-03-07 2011-06-29 杭州电子科技大学 一种基于mpi的分布式共轭梯度法的调优计算方法
CN103941701A (zh) * 2014-04-29 2014-07-23 东北大学 一种双网环境下浮选工业过程运行控制***及方法
CN107305535A (zh) * 2016-04-19 2017-10-31 全球能源互联网研究院 一种加速电路网络状态方程迭代求解的方法
CN109813301A (zh) * 2019-01-29 2019-05-28 中国人民解放军国防科技大学 一种最佳导航星方位快速确定方法
CN109871612A (zh) * 2019-02-19 2019-06-11 华东理工大学 结合ode积分和牛顿法迭代的多相催化表面覆盖度获取方法
CN110287986A (zh) * 2019-05-16 2019-09-27 同济大学 基于并行梯度定义方法的台风目标观测敏感区识别方法
CN110298375A (zh) * 2019-05-16 2019-10-01 同济大学 求解条件非线性最优扰动的并行梯度定义数据处理方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110079A (zh) * 2011-03-07 2011-06-29 杭州电子科技大学 一种基于mpi的分布式共轭梯度法的调优计算方法
CN102110079B (zh) * 2011-03-07 2012-09-05 杭州电子科技大学 一种基于mpi的分布式共轭梯度法的调优计算方法
CN103941701A (zh) * 2014-04-29 2014-07-23 东北大学 一种双网环境下浮选工业过程运行控制***及方法
CN103941701B (zh) * 2014-04-29 2016-05-11 东北大学 一种双网环境下浮选工业过程运行控制***及方法
CN107305535A (zh) * 2016-04-19 2017-10-31 全球能源互联网研究院 一种加速电路网络状态方程迭代求解的方法
CN107305535B (zh) * 2016-04-19 2022-07-26 全球能源互联网研究院 一种加速电路网络状态方程迭代求解的方法
CN109813301A (zh) * 2019-01-29 2019-05-28 中国人民解放军国防科技大学 一种最佳导航星方位快速确定方法
CN109871612A (zh) * 2019-02-19 2019-06-11 华东理工大学 结合ode积分和牛顿法迭代的多相催化表面覆盖度获取方法
CN109871612B (zh) * 2019-02-19 2020-08-25 华东理工大学 结合ode积分和牛顿法迭代的多相催化表面覆盖度获取方法
CN110287986A (zh) * 2019-05-16 2019-09-27 同济大学 基于并行梯度定义方法的台风目标观测敏感区识别方法
CN110298375A (zh) * 2019-05-16 2019-10-01 同济大学 求解条件非线性最优扰动的并行梯度定义数据处理方法

Also Published As

Publication number Publication date
CN101763087B (zh) 2011-08-31

Similar Documents

Publication Publication Date Title
CN101763087B (zh) 一种基于非线性共轭梯度法的工业过程动态优化***及方法
Hafiz et al. Real-time stochastic optimization of energy storage management using deep learning-based forecasts for residential PV applications
CN101763083A (zh) 一种有效的控制变量参数化的工业过程动态优化***及方法
CN101887239A (zh) 一种自适应的工业过程最优控制***及方法
CN104636822B (zh) 一种基于elman神经网络的居民负荷预测方法
CN100580698C (zh) 稀疏数据过程建模方法
CN103268082B (zh) 一种基于灰色线性回归的热误差建模方法
CN109800898A (zh) 一种智能短期负荷预测方法及***
CN108549962B (zh) 基于历史分段序列搜索和时序稀疏化的风电功率预测方法
CN105260532A (zh) 基于序列近似优化的薄板拉伸变压边力不确定性设计方法
CN105425583A (zh) 基于协同训练lwpls的青霉素生产过程的控制方法
CN104898562A (zh) 数控机床热误差补偿的建模方法
CN103413038A (zh) 基于矢量量化的长期直觉模糊时间序列预测方法
CN100461037C (zh) 一种基于idp的工业过程动态优化***及方法
CN101887260A (zh) 一种自适应同步策略的工业过程最优控制***及方法
CN106786537A (zh) 基于能源互联网的城市电网调控***和调控方法
CN107330248B (zh) 一种基于改进型神经网络的短期风功率预测方法
CN101776892B (zh) 一种约束优先的工业过程动态优化***及方法
CN101763082B (zh) 一种有效的基于两点步长梯度法的工业过程动态优化***及方法
CN103294847A (zh) 基于水力平差的供水管网模型模糊辨识方法
CN114012733B (zh) 一种用于pc构件模具划线的机械臂控制方法
Zhou et al. General regression neural network forecasting model based on PSO algorithm in water demand
CN101901006A (zh) 一种双层优化的工业过程最优控制***及方法
Lu-ping et al. Particle swarm optimization model of distributed network planning
CN104122878A (zh) 工业节能减排控制装置及控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110831

Termination date: 20111229