华南理工大学化工学院级博士生课程设计.docx
- 文档编号:9647056
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:31
- 大小:104.36KB
华南理工大学化工学院级博士生课程设计.docx
《华南理工大学化工学院级博士生课程设计.docx》由会员分享,可在线阅读,更多相关《华南理工大学化工学院级博士生课程设计.docx(31页珍藏版)》请在冰点文库上搜索。
华南理工大学化工学院级博士生课程设计
华南理工大学化工学院2001级博士生课程设计
超临界CO2萃取
紫苏油过程的计算机模拟
设计者:
文震
指导老师:
钱宇
2001年12月
目录
摘要………………………………………………………………………1
Abstract…………………………………………………………………2
一设计背景……………………………………………………………3
二设计原理……………………………………………………………3
1BP神经网络原理……………………………………………………3
2BP神经网络算法…………………………………………………4
3BP算法程序流程图…………………………………………………6
4网络参数的选择……………………………………………………6
三实验部分…………………………………………………………6
1实验原料……………………………………………………………6
2实验试剂与设备……………………………………………………6
3实验方法与流程………………………………………………………7
四结果与讨论………………………………………………………7
1神经网络的训练……………………………………………………8
2网络有效性的验证…………………………………………………9
3网络预测结果………………………………………………………10
结论………………………………………………………………………11
参考文献…………………………………………………………………12
附录…………………………………………………………………………13
超临界CO2萃取紫苏油过程的计算机模拟
摘要
本文测定了紫苏油在超临界CO2(SC-CO2)中的溶解度,并利用误差逆传播(BP)神经网络对溶解度数据进行了拟合。
通过对萃取参数与溶解度的关系进行训练学习,实现网络结构的优化,建立了紫苏油在SC-CO2溶解度的网络模型,并将该网络用于未知萃取参数下溶解度的预测,得到了较高的预测精度。
结果表明,该方法可作为预测物质在SC-CO2溶解度的一种有效手段。
关键词:
溶解度紫苏油神经网络模型超临界CO2
SimulationofExtractionProcess
ofPerillaSeedOilwithSupercriticalCarbonDioxide
Abstract
Inthisarticle,thesolubilityofPerillaseedoilinsupercriticalcarbondioxide(SC-CO2)wasmeasured,thenthesolubilitywassimulatedbyBackPropagation(BP)neuralnetwork..Bymeansoflearningandtrainingwithrelationofextractionparameterandsolubility,theneuralmodelofthesolubilityofPerillaSeedOilinsupercriticalcarbondioxidewasestablished,thensolubilityunderunknownextractionparameterwaspredictedwiththismodel,theprecisionofthepredictionisfairlyhigh.TheresultsshowedthismethodcanbeusedasaneffectivewaytopredictthesolubilityofmatterinSC-CO2.
Keywords:
solubilityPerillaseedoilneuralnetworkmodelsupercriticalcarbondioxide
一设计背景
了解和预测待萃物在超临界CO2流体中的溶解度及其随温度、压力等影响因素的变化规律,是进行超临界CO2萃取工艺设计和设备计算的基础。
而目前待萃物的溶解度主要由实验所测,受主观影响因素较大。
近年来,研究者尝试用建立数学模型的方法来计算纯物质的溶解度,而在超临界状态下物质的理化参数极其匮乏,同时由于待萃物大多数为组成复杂的天然产物,很难利用现成的纯物质的溶解度公式建立数学模型,因此寻求一种能预测混合物溶解度方法是很有必要的[1,2]。
人工神经网络(ArtificialNeuralNetwork,简称ANN)是80年代中后期迅速发展起来的研究领域,主要用于函数逼近与分类识别优化,特别适用于复杂系统的数学模型的建立[3,4]。
本文选取超临界CO2萃取紫苏油这一较为典型的动态、高度非线性的过程,拟利用误差逆传播(BackPropagation,BP)神经网络对紫苏油在SC-CO2中溶解度进行拟合与建模,来预测未知条件下的溶解度。
期望能通过利用试验结合数学模型的方法,为超临界CO2萃取紫苏油工艺的设计与优化提供理论依据。
二设计原理
1BP神经网络原理
BP神经网络(BPN)是一种具有三层神经元的阶层网络,不同阶层的神经元之间实现权重连接,其拓扑结构如图1。
图中,m、p、q分别是输入层、隐含层、输出层,Wij为输入层与隐含层的连接权值,Vjt为隐含层至输出层的连接权值。
Ak输入模式向量,Yk为输出模式向量。
Vj,,t
图1BP神经网络拓扑结构
BPN的学习由以下四个过程组成:
学习模式输入神经网络后,神经元的激活值由输入层经隐含层,在输出层各神经元获得响应的“模式顺传播”过程;然后按减小希望输出与实际输出的误差方向,从输出层向隐含层再向输入层逐层修正各连接权值的“误差逆传播”过程;由“模式顺传播”过程与“误差逆传播”过程的交替进行的网络学习训练过程;网络全局误差趋向极小的学习收敛过程。
当全局误差小于设定值或学习次数大于设定值时,均应停止训练。
然后对训练好的网络进行性能测试,即转入网络预测阶段[3,4]。
2误差反向传播(BP)算法
BP学习算法适用于层次型神经网络。
图1即表示一个三层学习网络,其中包括输入层、输出层和两者之间的隐含层。
同层神经元间没有连接,相邻层间有全连接,由低层指向高层。
设层次网络共有m+1层,输入层为第0层,输出层为第m层。
令W
表示第n+1层中第j神经元与第n中第k单元间的连接权,则神经元输出的计算公式为:
X
=f(W
X
)n=0,1,…,m
(1)
式中f表示S型函数。
本文选择的S型函数为:
f(u)=1/1(1+exp(-u))
当选取定L个训练样本后,调整W
的目的是使输出层神经元的实际输出和应有的已知输出的平方误差尽可能小,即使得
E=(d
-X
)2
(2)
最小,式中:
d
为第p个样本输入时网络中第j个单元的已知输出值;
X
为第p个样本输入时,第m层第j个单元的实际输出值。
调整W
的公式为:
W
=W
+△W
(3)
为了减小E,采用使E沿梯度方向下降的方式,即使得修正量△W
与-δ(E)/δ(W
)成正比。
由式
(1))、
(2)知,对于p=1,2,…L,可写出一般式
(-δ(E)/δ(W
))*2(dj-X
)(δX
/δ(W
))=
2(dj-X
)(δf/δ)*(δ/δ(W
))=
2(dj-X
)*X
(1-X
)*X
当n+1=m时,令
δ
=(dj-X
)X
(1-X
)(4)
由于dj已知,于是δ
可以求出。
因
△W
=ηδ
X
0≤η≤1(5)
此处δ
是输出层的误差。
以后各层误差是将上一层误差通过网络往下传播而得,即
δ
=X
(1-X
)δ
W
(6)
相应的Wjk调整值为
△W
=ηδ
X
(7)
因此,BP学习算法的具体步骤是:
1、赋予各Wjk以较小的随机非零初始值;
2、输入一个样本和它已知的输出值;
3、按公式
(1)计算出实际的输出值;
4、按公式(4)至(7)修改连接权值;
5、转入第2步,循环运用L个样本作为输入,直至W
均稳定为止。
3BP算法程序流程图
4网络参数的选定
本文采用的BPN由输入层,一层隐含层,输出层组成。
考虑到压力与温度是影响超临界CO2萃取紫苏油过程的主要因素,输入变量为两个,分别对应压力与温度,输出变量为1个,即此温度压力下所对应的溶解度。
隐含层的节点数根据全局误差最小原则确定。
二实验部分
1实验原料
紫苏子:
产自贵阳花溪,干燥后粉碎至40目
2实验试剂与设备
CO2:
贵阳都拉综合厂,食品级,>99.5%
超临界CO2萃取装置:
中科院地化所超临界中心研制,萃取器:
4L1个,分离器:
2L1个,系统最高使用压力32Mpa,装置如图2。
1-CO2钢瓶2-过滤器3-冷机4-高压计量泵5-换热器6-萃取器
7、8-分离器1、29-转子流量计10-累计流量计
图2超临界CO2萃取装置流程图
3实验方法与流程
称取一定量紫苏子放入萃取罐中,CO2从钢瓶出来后,经冷机冷凝,由高压计量泵加压至设定压力,由底部进入萃取器。
循环水加热预热器、萃取器和分离器至所需温度,调节CO2流量进行萃取。
SC-CO2携带着紫苏油进入分离器,升温减压后,紫苏油从SC-CO2中析出,由分离器下部阀门放出,用接受瓶接受。
在实验中,要保持尽可能小的CO2流速,使紫苏油在SC-CO2中溶解状态接近平衡饱和状态,这种因设备限制而采取近似的方法来测定待萃物的溶解度的方法被普遍使用[5]。
紫苏油在SC-CO2中溶解度S按下式计算:
S=M/Δt×F
M-Δt时间内从分离器接受紫苏油的质量(g),F-CO2流速(Kg/h)
三结果与讨论
紫苏油在SC-CO2中溶解度测定结果如表1。
由表1可见,溶解度是温度与压力的函数,温度升高,SC-CO2密度下降,溶解度降低,压力增大,SC-CO2密度增加,溶解度增大。
表1紫苏油在SC-CO2中溶解度(g/Kg)
温度(℃)
萃取压力(Mpa)
15
18
21
24
27
30
35
0.79
1.75
3.02*
4.57
5.73
6.47
45
0.41
1.18*
2.56
4.18
5.49
6.34
55
0.28
0.88
2.10
3.64
5.19
6.08*
65
0.19*
0.63
1.65
3.25
4.84
5.97
75
0.08
0.43
1.25
2.73*
4.72
5.70
1紫苏油在SC-CO2中溶解度的神经网络的训练
1.1隐含层节点数的确定
目前隐含层节点个数的选择尚无理论规则,本文利用误差最小原则来确定节点数。
网络误差与隐节点数的关系如图3。
图3网络误差与隐节点数的关系
由图3可以看出,在节点数≤5时,网络误差随节点数增加而下降,当节点数>5时,网络误差变化不大,节点为9时,误差反而略为增加,而且节点数越多,网络计算量越大,计算速度越慢,因此,隐含层节点数选择5为宜。
1.2迭代次数的确定
我们将试验样本随机地分为训练集与测试集,其中训练集25组,测试集5组,测试集如表1打“*”数据。
网络误差与迭代次数的关系如图4。
图4网络误差与迭代次数的关系
图4显示:
在迭代次数<2000时,训练集与测试集的网络误差急剧下降,但随着训练的继续进行,迭代次数增加,网络误差的下降趋势变缓,当迭代次数>4000后,测试集的误差反而略有增加。
这可能是因为出现过拟合的缘故,过拟合产生是由于网络模型刻意去契合个别样本所致,此时,网络对参加学习的样本可以给出较好的拟合,但对于不参加训练的样本,拟合偏差反而增大,因此不管此时训练集的误差是否继续下降,均应停止迭代。
综合训练集与测试集的网络误差考虑,迭代次数应定为5000为宜。
2网络有效性的验证
对于测试集,网络输出与理想输出(实际值)的对比如图5。
图5网络输出与理想输出的对比
图5显示:
网络的输出值与实际值非常接近,最大相对误差为9.30%,最小相对误差为0.04%,整个测试集的误差仅为3.27%,这说明网络具有较好的模拟效果。
此外,此时训练集的平均误差为5.40%,比测试集稍大,这是因为训练集中含有因试验误差所致的个别异常点,使得网络输出与这些异常值的误差较大,从而增加了整个训练集的平均相对偏差。
这也同时也表明,神经网络具有一定的泛化能力,个别异常样本出现不影响整个网络的预报精度,说明紫苏油溶解度的神经网络模型是有效的。
3网络预测结果
利用已建立好的网络模型,我们对萃取参数为压力15-30Mpa,步长为1Mpa,温度为35-75℃下的溶解度进行了预测。
预测结果如图6。
图6紫苏油在SC-CO2中的溶解度规律
图6清楚地显示了紫苏油在SC-CO2中的溶解规律:
压力是主要因素,温度是次要因素。
在压力较低阶段,紫苏油几乎不溶于SC-CO2中,在压力为22-25MPa阶段,溶解度的增幅最大,当压力越过25MPa后,这种增幅明显趋缓。
温度对溶解度则呈负影响,即温度增加,溶解度下降。
在较低压力下,由于溶解度的绝对值较小,温度的影响也较小。
在压力影响最显著阶段,温度的影响也最大,高温与低温之间的溶解度差值最大。
随着压力的继续上升,这种差值变小,说明此时压力已开始接近转折压力,整个萃取过程将转为温度正效应阶段。
受设备所限,无法达到转折压力(据文献报道,油脂类物质的转折压力在40Mpa左右[6]),但这也表明神经网络的模拟结果是符合溶解度变化的实际规律的。
四结论
(1)利用间歇萃取装置,采取静态法测定并计算了紫苏油在SC-CO2中的溶解度。
(2)建立并验证了紫苏油在SC-CO2中溶解度的神经网络模型,该模型能较好地拟合实际溶解度。
(3)利用已建立的溶解度模型,并不需要了解物质在SC-CO2中的溶解机理,即可预测未知条件下的溶解度,反映溶解规律,从而可以为萃取工艺的设计与优化,以及SCFE装置的工业放大数据的计算提供理论依据。
参考文献
[1]Liong.K.K.,FosterN.R.andTingS.S.T.,Solubilityoffattyacidestersinsupercriticalcarbondioxide,Ind.Eng.Chem.Res.,1992,31
(1):
400-404
[2]BambergerT.,EricksonJ.C.,CooneyC.L.,etal.,Measurementandmodelpredictionofsolubilitiesofpurefattyacids,puretriglyceridesandmixturesoftriglyceridesinsupercriticalcarbondioxide,J.Chem.Eng.Data.,1988,33(3):
327-333.
[3]陈念贻,钦佩,陈瑞亮,模式识别方法在化学化工中的应用,科学出版社,2000,北京,71-101
[4]阎平凡,张长水,人工神经网络与模拟进化计算,清华大学出版社,2000,北京,10-37
[5]马海乐,吴守一,陈均等,小麦胚芽油在超临界CO2中溶解度的试验研究,中国粮油学报,1997,12
(1):
38-47
[6]NilssonW.B.,Ganglitz.Jr.E.J.andHudsonJ.K.,SolubilitiesofmethylOleate,Oleicacid,Oleylglycerols,andOleylglycerolmixturesinsupercriticalcarbondioxide,J.Am.Oilchem.Soc.,1991,68
(2):
87-91.
附录程序源代码
一、模块源代码
1、定义变量
OptionExplicit
'定义输入输出的文件名
Publicfile_inputAsString
Publicfile_weightAsString
'定义输入和输出的数据个数
Publicinput_numberAsInteger
Publicoutput_numberAsInteger
'定义每层的结点数
Publicnodes_of_layer0%,nodes_of_layer1%,nodes_of_layer2%
Publiclearning_rateAsSingle
'输入数值和输出数值;
'原始数据
Publicinputdata()AsSingle
Publicoutputdata()AsSingle
'归一化以后的数据
Publicnetinput()AsSingle
Publicnetoutput()AsSingle
'各层权重
Publicweight_10()AsSingle
Publicweight_21()AsSingle
'各层的输出值
Publiclayer0_out()AsSingle
Publiclayer1_out()AsSingle
Publiclayer2_out()AsSingle
Publicerror1()AsSingle
Publicerror2()AsSingle
Publicprogram_stateAsString
Publicregulate_inputAsSingle
Publicregulate_outputAsSingle
2、重新设置
'本子程序的目的:
重置所有的数组,重新开始计算
Subrefresh_net()
Dimi%,j%
ReDiminputdata(nodes_of_layer0)AsSingle
ReDimoutputdata(nodes_of_layer0)AsSingle
ReDimnetinput(nodes_of_layer0)AsSingle
ReDimnetoutput(nodes_of_layer0)AsSingle
ReDimweight_10(nodes_of_layer1,nodes_of_layer0)AsSingle
ReDimweight_21(nodes_of_layer2,nodes_of_layer1)AsSingle
ReDimlayer0_out(nodes_of_layer0)AsSingle
ReDimlayer1_out(nodes_of_layer1)AsSingle
ReDimlayer2_out(nodes_of_layer2)AsSingle
ReDimerror1(nodes_of_layer1)AsSingle
ReDimerror2(nodes_of_layer2)AsSingle
3、权重随机赋值
'给各层的权重赋随机数
Randomize
Fori=1Tonodes_of_layer1
Forj=1Tonodes_of_layer0
weight_10(i,j)=Rnd
Nextj
Nexti
Fori=1Tonodes_of_layer2
Forj=1Tonodes_of_layer1
weight_21(i,j)=Rnd
Nextj
Nexti
EndSub
4、计算正向输出结果
'该子程序用于正向计算输出结果
Subcaculate()
Dimi%,j%
DimftempAsSingle
'caculatelayer0
Fori=1Tonodes_of_layer0
layer0_out(i)=netinput(i)
Nexti
'caculatelayer1
Fori=1Tonodes_of_layer1
ftemp=0
Forj=1Tonodes_of_layer0
ftemp=ftemp+weight_10(i,j)*layer0_out(j)
Nextj
ftemp=1/(1+Exp(-ftemp))
layer1_out(i)=ftemp
Nexti
'caculatelayer2
Fori=1Tonodes_of_layer2
ftemp=0
Forj=1Tonodes_of_layer1
ftemp=ftemp+weight_21(i,j)*layer1_out(j)
Nextj
ftemp=1/(1+Exp(-ftemp))
layer2_out(i)=ftemp
Nexti
EndSub
5、调整网络权重
'本子程序的作用是:
对网络的权重进行调整
Subadjust()
Dimi%,j%
DimftempAsSingle
'调整输出层的权重
Fori=1Tonodes_of_layer2
error2(i)=(netoutput(i)-layer2_out(i))*layer2_out(i)*(1-layer2_out(i))
Nexti
Fori=1Tonodes_of_layer2
Forj=1Tonodes_of_layer1
weight_21(i,j)=weight_21(i,j)+learning_rate*error2(i)*layer1_out(j)
Nextj
Nexti
'调整隐含层的权重
Fori=1Tonodes_of_layer1
ftemp=0
Forj=1Tonodes_of_layer2
ftemp=ftemp+weight_21(j,i)*error2(j)
Nextj
error1(i)=ftemp*layer1_out(i)*(1-layer1_out(i))
Nexti
Fori=1Tonodes_of_layer1
Forj=1Tonodes_of_layer0
weight_10(i,j)=weight_10(i,j)+learning_rate*layer0_out(j)*error1(i)
Nextj
Nexti
EndSub
6、数据的保存
Subsave_net()
Dimi%,j%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华南理工大学 化工学院 博士生 课程设计