有界Wegstein法阻尼因子q的取值不当可使迭代计算收敛缓慢甚至发散Wegstein法虽然无须人为选定q值,但是也会因为q值不当导致坏的收敛行为有界Weigstein法就是凭借经验人为地把q值限定在一定的范围内,以改善收敛行为•FLOWTRAN流程模拟系统中取为-5、0•CHESS系统中当q0或q-10时令q=0maxminqqq多维Wegstein法分别用于每一个分量。令初始猜值为x0,则第二个初值可由直接迭代得到),,1(),,,(21nixxxgxnii)(01xGx),,1(),,,()1(211nixqxxxgqxkiiknkkiiki)1/(iiiSSq),,1()()(11nixxxgxgSkikikikii忽略了变量之间的交互作用,在数学上不严格严格多维Wegstein法用向量代替变量,通过矩阵运算进行迭代求解对于n维方程,这一方法需要n+1组初始猜值(x0,x1,…,xn))(][1kkkxGQIQxx11))(()1(XGAAAQ;2121NnGGGGxxxx),,1(00nkGGGxxxkkkk(4)收敛判据断裂物流迭代计算的收敛判据通常是猜值与计算值的绝对误差或相对误差)()(kkkxGxxFkkxxF)(2.2.4.序贯模块法解设计问题序贯模块法具有计算方向不可逆的特点,单元模块的计算只能按从输入到输出的方向进行只能通过调整某些决策变量或系统参数使计算结果满足设计要求D-设计规定向量H-过程系统方程组p-决策变量与系统参数向量0)()(DpHpC①估计反应单元的温度为T②估计再循环物流S4③依次计算混合单元、反应单元、分离单元,得到新的S4’的④比较S4与S4’,若两者相等则进行下一步,若不相等则返回②在收敛单元内比较S5和设计值,若两者不相等则返回①,若相等则计算结束控制模块图2-19具有再循环物流的过程系统混合器S1S2反应器分离器S3S4S5控制模块的设置增加了迭代循环圈,导致计算量的增加为了提高收敛速度可以联立求解再循环物流方程和设计方程,这就是同时收敛。使断裂物流变量x和系统参数p同时逼近收敛解,从而大大的提高了收敛速度0),(0),(DpxHxpxG2.3过程系统模拟的面向方程法序贯模块法由于具有收敛计算的循环圈以致大大的增加了计算量。对于过程系统的设计计算问题和参数优化问题,情况将更为严重。因此,人们把注意力投向了面向方程法2.3.1面向方程法的原理把描述过程系统的所有数学模型汇集到一起,形成一个非线性方程组进行求解x-状态变量向量w-决策变量向量F-系统模型方程组,其中包括0),(wxF①物性方程②物料、能量、化学平衡方程③过程单元间的联结方程④设计规定方程等等比之序贯模块法,在决策变量的确定上要随意的多,决策变量和状态变量的地位是等同的通常可以把设计规定的变量(如系统出口浓度)直接指定为决策变量。面向方程法在求解一般模拟问题和设计问题上是没有差异的通常过程系统模型方程组总是稀疏方程组过程系统模型的方程数和变量数往往都很大,但每个方程涉及的变量数一般只有几个10001,)1000,,2,1(jjijiibxa100512512,1007575,1005050,100bxaxaxa面向方程法的核心问题是求解超大型稀疏非线性方程组,求解方法大致分为两类①降维求解法②联立求解法2)(nN方程组阶数非零系数个数方程的稀疏性可以用稀疏比φ来衡量2.3.2大型稀疏非线性方程组的降维解法把大型稀疏方程组分解成若干个小的非稀疏方程组,然后依次分别求解,从而达到降维和增大稀疏比的目的(1)方程组的分解概念对于n阶稀疏方程组,常常可以找到一个包含有k1个变量的k1阶子方程组。这个k1阶子方程组可以单独求解。其余的n-k1个方程中还可以再找出包含有k2个变量的k2阶子方程组,这个子方程组也可以单独求解。重复这一过程,最终将把原方程组分解成一系列可顺序求解的子方程组0606308)5(06010531514447.1213543222411xxxfxxfxxxfxxxxfxxf54321xxxxx101010100101011111100100154321fffff53241xxxxx1111111111111125341fffff6310414411xxfxxf08)56(48)5(7.1247.1213xxxxf6466)5034.1(535315532543222xxxxxfxxxxxxf(2)回路搜索法分解方程组在描述方程组的有向图上进行回路搜索。为了用有向图表示方程组的结构,首先必须对每个方程指定一个变量作为其输出变量输出变量是可通过其所存在的方程中其它变量求解的变量,且每个变量只能被指定一次作为输出变量步骤:选事件矩阵中元素最少的行和元素最少的列的交点处元素对应的变量作为优先指定的输出变量,然后从事件矩阵中删去该输出变量对应的行和列重复上述过程直至矩阵中所有的行和列都被删掉54321xxxxx1111111111111154321fffff有向图图中每个节点代表一个方程。如果方程fi的输出变量存在于fj中,则从节点fi向fj作一有向边这个图代表了方程间的信息流动方向图2-20相应于(2-30)式方程组的有向图4(b)(e)()图2-21回路搜索过程(c)回路搜索25231fffff31ff141fff方程组(组合)节点1(f2f5)2f13(f1f4)它们分别代表原方程组分解后得到的小方程组,其求解按从后到前的顺序进行。不可分解稀疏方程组的断裂降维解法654321xxxxxx11111111111111111654321ffffff图2-22(2-31)式方程组的有向图表示该方程组是不可分解方程组,该方程组必须联立求解需要通过断裂可达到进一步降维和增大稀疏比的目的1•断裂与收敛是相辅相成的,断裂后的系统必须通过收敛得以求解。•为了易于收敛,因而总是希望断裂的变量数最少。•所以,总是要选择包含变量数最少的方程中的变量作为断裂变量,断裂变量数等于该方程中的变量数减1。然后给断裂变量赋初值,再进行迭代计算直至收敛•f3,f4,f5行的变量数最少,都只有两个。选择f3中的x5为断裂变量。从而解出x6把f3行和x5,x6列删去,得到左式该式为五行四列,有一个多余方程(它是由删除断裂变量x5产生的)。对其余的四行,四列进行重排,可得到右式4321xxxx11111111111165421fffff11111111111165241fffff4231xxxx断裂可以使不可分解的稀疏方程组继续分解2.3.3联立拟线性方程组法解大型稀疏非线性方程组大型稀疏非线性方程组的另一种求解方法是把非线性方程组线性化。然后联立求解线性方程组。由于线性化引入了误差,所以要借助迭代使线性化方程组的解逐渐逼近非线性方程组的解线性化方法对于n维非线性方程组用n维线性方程组逼近该拟线性方程组的解(用下标QL表示)为:作台劳展开可得到牛顿迭代解(下标NR)0)(xF0)(BAxxFBAxQL1)()(11kkkkNRxFJxx把(2-35)式代入(2-37)式,得到令J=AnnnnxfxfxfxfJ1111)()(11kkkkkkNRBxAJxx1111)()()(kQLkkkkkkkkNRxBABxAAxx牛顿迭代具有二阶收敛特性。下面方程也具有二阶收敛。系数A和B均是向量x的函数。从x的第k次近似解xk可以计算得到Jk、F(xk),从而得到Ak和Bk。将Ak和Bk代入,得到线性方程组。过程系统的模型方程组一般由线性方程和非线性方程组成,因而线性化的对象应该是非线性方程kkkQLBAx11)(0)(ijxfnikikikijnikikijfxxfxxf111)()(j例组分A的稀溶液在常温下离解:质量平衡热力学平衡求当k=2,A的初始浓度=1时平衡态的组分浓度解:质量平衡式是线性方程,热力学平衡式是非线性方程,首先利用对热力学平衡式线性化BA2ABACCC2102BACkC2)()()(2pBBpBACCCkC此外,还可以得到原方程的另一种线性化方程(即直接迭代式)两种方法都可以收敛到解。第一种方法的收敛速度明显比第二种方法快。这是由于牛顿迭代法具有二次收敛的特点,而直接迭代法只是线性收敛2)(*)(2121pBABApBCCCCCk令初值)0(BC=1.5,对上式求解,经四次迭代,可得到收敛值BC=10211*)(ABApBCCCCk迭代次数牛顿法直接迭代法01.51.511.06750.821.0012501.11111131.0000010.94736841.0000001.02702750.98666761.006771170.99665681.001675稀疏线性方程组的解法稀疏非线性方程组经线性化后得到的线性方程组仍然是稀疏的,从而把求解稀疏非线性方程组的问题转化成求解稀疏线性方程组的问题常规的消去法是不经济的,且计算效率低。为了减少计算时间和存储空间,常用下列两方面的技术只对非零元素进行计算只存储非零元素(如压缩存储技术)填充量用高斯消去法进行消元过程的同时,会在原来零元素处引入非零元素新出现的非零元素称作填充量,填充时与消元成零的非零元素之差称作填充增量。填充量与主元选取的次序有关54321543211234512345填充量达到最大填充量=0在求解大型稀疏线性方程组时,应尽可能减少填充,否则会使计算效率下降。减少填充与提高数值稳定性和计算精度是矛盾的。如,为减少填充,需把55作为主元素,但如果它的绝对值很小,会引入较大的误差,使计算精度、数值稳定性变差主元容限通常把绝对值最大的元素作为主元,进行消元。目的是提高计算精度。但如果这样选取的主元导致较大的填充,将引起计算效率的下降往往选择一个绝对值不是最大,且不会引起填充量过大的元素作为主元人为规定一个界限e>0。当矩阵元素的绝对值大于e,该元素就具备了作为主元的资格,若它引入的填充量也不是很大,就可定为主元。这个界限称为主元容限经验给定,但应满足提高计算精度和减少填充量的统一要求Bending-Hutchison算法该算法是在全元消去法的基础上派生出来的一种求解稀疏线性方程组的算法。其核心是避免填充,同时保证计算的精度用过的:凡与被选作主元的元素有关的方程和变量都称作“用过的”,反之为“未用过的”;橫列(rank):未用过的方程中包含的未用过的变量数;纵列(file):未用过的变量在未用过的方程中出现的次数1选择纵列最小的变量,如不止一个,任选其一;2在与此变量有关的方程中,选择橫列最小的方程所对应的元素作为主元3如果橫列最小的方程不止一个,则选择绝对值最大的元素作为主元4检验选出主元的绝对