1. 引言
温室系统是一个复杂的环境控制系统,其内部的温度、湿度、CO2浓度、光照度等环境参数相互影响,对作物生长具有重要影响。CFD模型能够模拟温室内的空气流动、热量传递和物质扩散等过程,为温室环境调控提供理论支持。然而,CFD模型的参数优化和求解过程复杂,传统的优化方法难以满足其精度和效率要求。粒子群算法以其全局搜索能力强、参数少、易实现等优点,在温室系统CFD模型的优化和控制中得到应用,通过优化温室系统CFD模型参数和求解过程,提高温室系统的性能和作物产量。
2. 粒子群算法理论
粒子群优化算法(Particle Swarm Optimization, PSO)是一种基于仿生研究的群体智能优化算法,1995年由Eberhart博士和Kennedy博士提出。其基本思想是通过个体(粒子)之间信息传递和信息共享进行最优解的搜寻[1]。
2.1. 算法简介
在PSO算法中,候选解以群体中的粒子形式呈现。每个粒子都拥有一个适应值,该值由适应度优化函数确定。粒子在解空间中以特定速度移动,其位置和速度是两个关键属性:位置表示粒子在搜索空间中的具体点,而速度则反映粒子在该点的运动方向和速率。在每次迭代优化过程中,粒子会根据自身的经验和群体的经验来调整飞行方向。粒子通过追踪两个极值来更新自己的位置和速度:一是粒子自身找到的最优解,即个体极值(pbest);二是整个粒子群目前找到的最优解,即全局极值(gbest)。通过这种方式,粒子逐步逼近最优解。
在d维(1 ≤ d ≤ D)空间中,将第i个粒子表示为
,每个粒子找到的最好位置称为个体极值记
,也就是每个粒子局部最优位置pbest,粒子群找到的最好位置称为全局极值,表示为Pg,也就是gbest。粒子i的速度用
表示。每一次迭代,每个粒子分别依据下列公式[2] (1)和(2)来更新自身的位置和速度。
(1)
(2)
其中,惯性权重w:影响粒子保持原有运动状态的趋势。
c1和c2是加速系数,又称学习因子。通常c1 = c2,分别决定了粒子个体自身个体极值pbest和粒子群全局极值gbest学习的强度。rand ( )和Rand ( )为介于数据范围(0, 1)之间的随机生成函数。
2.2. 算法流程
PSO算法的实现过程大致分为以下几个步骤:
1) 粒子群初始化:生成一群包含随机位置和速度的初始粒子。
2) 针对每个粒子,计算目标函数适应值:根据每个粒子位置计算其目标函数在该位置上的取值。
3) 比较替换个体最佳位置:比较每个粒子适应度值和pbest,更新并替换个体粒子pbest。
4) 比较替换全局最佳位置:对于每个粒子pbest和整个粒子群gbest比较,找到具有最佳适应度值的粒子,将其位置更新为全局最佳位置。
5) 更新速度和位置:根据公式(1)和(2),更新粒子的速度和位置。
6) 迭代:重复执行上述步骤,直到达到预定的最大迭代次数Gmax或满足预设最小适应值达到停止条件。具体流程图如图1所示。
Figure 1. The general process of PSO algorithm
图1. PSO算法大致流程
3. 温室系统CFD模型
3.1. 温室CFD模型基本原理
基于流体动力学、传热学和控制理论等基本原理,CFD模型通过数值方法将流体的运动和传热等物理现象转化为离散化的数学方程组,然后使用计算机进行求解。
温室系统CFD模型主要通过数值模拟技术,描述温室内的气流、温度、湿度等环境参数的分布,基于能量方程和Navier-Stokes方程,通过数值模拟方法求解温室内的流场、温度场和浓度场,为温室调控和优化提供理论支持。温室系统CFD模型中涉及的参数包括空气密度、比热容、通风速率、加热速率等,参数的设置准确性对模型的精度影响较大。在温室系统中使用的CFD模型建模基于以上参数涉及以下方程:质量守恒方程(公式3)、能量守恒方程(公式4)、动量守恒方程(公式5),这些方程描述了温室内气流运动和环境能量转换过程,具体方程公式[3]如下所示。
(3)
其中u, v, w分别是温室内空间上x, y, z方向的气流流速分量。
(4)
其中T为空气温度,CP为空气比热容,
为有效导热系数,ρ为流体密度。
(5)
其中P为压力,
为有效黏度。
3.2. 温室环境控制中CFD模型应用
CFD模型在温室环境控制中的应用主要集中在以下几个方面:1) 温室温度预测与控制,温室环境采用CFD模型进行温度预测及控制方法已被广泛研究。例如,在Venlo型温室研究中,运用CFD非稳态模型对温室内温度变化进行模拟,并借助系统辨识理论,将CFD模型转化为系统控制模型,由此达成了对温室温度的预测控制[4]。2) 温室湿度预测与控制。通过CFD模型模拟温室内的气流和湿度分布,优化通风策略,实现温室湿度的有效调控。例如,在夏季梅雨季节下,通过运用CFD模型,对温室在天窗与西侧门联合自然通风模式下的降温和除湿动态过程进行模拟,结果表明,温室内不同位置的温度与湿度对于通风结构开启的响应时间及幅度存在显著差异[5]。3) 温室通风优化,通过CFD模型模拟不同通风条件下的温室气流分布,从而优化温室通风环境,提升通风效率。例如,研究发现湿帘–风机系统较自然通风降温效果显著,降温幅度可达5℃左右CFD模型在温室通风优化方面具有重要应用[4]。
4. 粒子群算法在温室系统CFD模型中的应用
粒子群算法通过粒子间信息传递和信息共享形成的竞争和协作机制,具有在多约束条件中避免陷入局部最优,在复杂的解空间中全局搜索能力强,算法效率高,易于实现等优点。在温室系统模型的优化与控制应用中主要用于温室环境参数优化,温室控制系统优化,温室系统模型辨识,智能温室控制系统等方面,PSO算法还和其他技术结合,进一步提高温室系统的优化效果。
粒子群算法在温室系统CFD模型中具有以下应用:优化温室环境参数、加快CFD模型求解,提高CFD模型的计算效率、温室系统多目标优化等。
4.1. 优化温室环境参数
计算流体动力学(CFD)模型通过模拟温室内的空气流动和热传递过程,预测和控制温室环境的温度和湿度,以及温室环境的通风优化,CFD模型参数的优化对于提高模拟精度至关重要。粒子群算法针对温室系统CFD模型中的参数进行优化,如边界条件、初始条件和物理参数等。通过优化调整这些参数,可以提高模型对温室气候环境的调控效率和预测精确性。粒子群算法优化CFD模型参数的通用方法:
1) CFD模型参数优化目标函数选择:在使用粒子群算法优化CFD模型参数时,须设定一个目标函数,以此来评估模型的性能表现。例如,可以将CFD模型的模拟结果与实验数据的误差作为目标函数,通过优化参数使误差最小化。
2) 参数编码与初始化:将CFD模型的参数进行编码,形成粒子群算法中的粒子位置。然后根据参数的取值范围,随机初始化粒子群的位置和速度。
3) 更新与优化粒子:根据粒子群算法公式,更新粒子的速度和位置。通过个体最优值和全局最优值的引导,逐步搜索到更优的CFD模型参数。
4) 策略改进:为提升粒子群算法的性能优化能力,还可以采用一些改进策略。例如,通过动态调整惯性权重,可以在算法的早期阶段增强全局搜索能力,而在后期阶段提升局部搜索能力;或者结合其他优化算法,如Rosenbrock算法,增强局部搜索能力。
4.2. 加快CFD模型求解,提高CFD模型的计算效率
粒子群算法能够加速CFD模型的求解过程,提高计算效率。在复杂的温室系统中,CFD模型的求解往往需要大量的计算资源,PSO算法采用调优CFD模型参数、减少CFD模拟次数、动态调整模型参数、结合其他智能算法以及快速收敛等方式有效加快模型求解速度,显著提升温室CFD模型计算效率。
1) 优化CFD模型参数,PSO算法通过智能搜索策略,快速找到最优的CFD模型参数,减少CFD模拟的计算时间和资源消耗。
2) 减少CFD模拟次数,PSO算法通过智能搜索策略,减少需要进行的CFD模拟次数,从而提高整体效率。例如在温室温湿度预测中,PSO优化后的BP神经网络模型(PSO-BP)仅需少量迭代即可达到较高的预测精度,预测准确率分别达到97.6%和96.8%,相比传统方法效率更高。
3) 动态调整模型参数,温室系统的环境条件会随时间和季节变化,PSO算法可以动态调整CFD模型的参数,以适应不同的环境条件。在温室环境的CFD模拟中,PSO算法结合并行计算技术,动态调整模型参数,提高模型计算效率。
4) 结合其他智能算法,PSO算法可以与其他智能算法(如BP神经网络)结合,进一步提高优化效果。例如在温室温湿度预测中,PSO算法通过优化BP神经网络的参数,加快响应速度和提升控制精度。
5) 快速收敛,PSO算法的收敛速度快,能够在较少的迭代次数内找到接近最优的解,显著减少了计算时间和资源消耗。在温室能耗与作物产量预测研究中,PSO算法结合支持向量机(PSO-SVM)模型,对温室温度、湿度参数进行预测,预测准确率高,适应性强。
4.3. 温室系统多目标优化
4.3.1. 多目标优化
多目标优化指同时优化多个目标函数的问题,这些目标之间通常存在冲突。在多目标优化中,存在多个优化的目标函数,要使得所有目标达成最小值最优解,一般是难以实现的,在多个约束条件下,最终平衡或统筹,找到一组折衷解,从而实现多目标优化。
一般数学描述[6]如下:
其中
为n个目标函数,
为m个不等式约束,
为p个等式约束。
4.3.2. 温室环境中多目标优化
温室系统中多目标优化有以下几种情况:
1) 温室系统环境温度、湿度、CO2浓度等参数多目标优化;2) 提高作物产量、控制品质、降低能耗等经济效益指标多目标优化;3) 混合交叉多目标优化,将上述两种情况混合交叉,如控制温度、湿度环境参数以及提高作物产量等作为控制目标。一般情况下,多目标间可能存在互相冲突,即某目标性能的提升改进而导致引起其他目标效益降低,如何针对多个目标进行优化是温室系统控制的重要问题。温室系统模型中采用粒子群算法可以同时优化多个目标,找到满足不同需求的最优解。
4.3.3. 粒子群算法在温室CFD模型中多目标优化问题的方法
目前,粒子群算法应用在温室系统CFD模型中处理多目标优化问题的方法有:
1) 基于灰色粒子群算法[7]:该算法基于自回归模型(ARX),引入人工控制,构建涵盖相对湿度、温度及耗电量等多目标模型函数,运用灰色关联理论以及粒子群优化算法(PSO),针对茶树育苗温室环境模型,实施多目标优化,取得了较好的优化效果。2) 基于改进粒子群算法[8]:对标准粒子群算法进行改进,如引入禁忌搜索算法、改进速度更新公式等,以避免算法陷入局部最优并提升算法全局收敛。3) 基于多样性控制的多目标粒子群算法[9]:该算法利用一种基于权值向量的多样性评价指标,该指标可用来衡量算法在每一次迭代时的种群多样性,进而根据其评价结果来自动调整算法的进化过程。
无论采用哪种方法,PSO算法应用在温室系统CFD模型中一般步骤如下:
1) 问题建模:明确温室CFD模型中的多目标优化问题,如温度、湿度、通风、能耗等参数的优化。建立相应的数学模型,确定目标函数和约束条件。例如多目标设置能耗最小化,温室环境参数温度均匀、CO2浓度控制偏差能确保光合作用。能耗最小化通过CFD模拟计算加热/制冷设备的功率需求,能耗最小化目标函数为总能耗
,其中
为设备功率,t为运行时间。
温度均匀性目标函数为
;
温室环境CO2目标函数为
;
多目标融合,可采用加权求和:
。
温室系统CFD模型约束条件:
温室温度约束:
满足作物生长需求;
温室湿度约束:
湿度太高或太低作物易生病害;
温室气流约束:
,温室气流速度过高易折损作物。
2) 初始化粒子群:随机生成一定数量的粒子,每个粒子代表一个可能的解决方案,即一组参数值。初始化粒子的位置和速度。
3) 适应度评估:对每个粒子的适应度进行评估,根据目标函数计算粒子的优劣。在多目标优化中,通常使用非支配排序等方法来评估粒子的适应度。
4) 更新粒子和粒子群最优解:比较每个粒子的适应度与其个体历史最优解,若当前适应度更好,则更新个体最优解。在整个粒子群中,根据非支配排序等方法选择全局最优解。
5) 更新粒子位置和速度:依据粒子群算法公式,结合全局最优解以及个体最优解,更新每个粒子的速度。依据每个粒子最新速度,更新粒子的位置。
6) 多样性控制(可选):采用基于权值向量的多样性评价指标,评估种群的多样性。根据多样性评估结果,自适应地调整算法的进化过程,如采用自适应变异策略等。
7) 迭代优化:重复适应度评估、更新个体以及全局最优解、更新个体速度和位置等步骤,直到满足迭代次数或收敛条件。
8) 结果分析与应用:分析结果,并将优化结果应用于温室CFD模型中,并控制和适当调整。
5. 粒子群算法应用在温室系统模型的优势、挑战及未来研究方向
相比传统算法优化方法在温室模型中的应用,粒子群优化(PSO)算法具有以下优势:
1) 粒子全局搜索能力强,PSO算法针对温室模型中环境参数复杂的多参数优化问题,通过群体智能和粒子间的协作,能够有效避免局部最优解,找到全局最优解。2) PSO算法求解快速收敛,减少模型计算时间,加快模型求解。PSO算法的收敛速度快,能够在较少的迭代次数内找到接近最优的解,显著减少了计算时间和资源消耗,从而加快模型求解。3) 适应性强,参数优化灵活,PSO算法对目标函数的连续性和搜索空间的连通性要求较低,能够适应各种复杂的优化问题。PSO算法还可以通过灵活优化参数,动态调整参数(如惯性权重、加速因子等),进一步提高优化效果。4) 易于实现和扩展,PSO算法实现简单,易于与其他算法结合,如遗传算法(GA)、模拟退火算法(SA)等,进一步提升优化性能。5) 多目标优化能力强,PSO算法在温室环境调控通常针对温室环境多个目标(如温度、湿度、能耗等)优化问题,PSO算法能够同时优化多个目标,找到最优的平衡点。
尽管粒子群算法在温室系统CFD模型中优势表现较为明显,但仍存在一些挑战。例如,算法容易陷入局部最优,导致全局优化能力不足。此外,参数的选择对提升算法性能有较大影响,需要进一步研究自适应参数调整策略。
针对PSO算法应用在温室系统CFD模型存在的一些挑战性问题,在未来的研究方向上可以从以下几个方面进行:1) 混合算法:将粒子群算法与其他优化算法结合,进一步提高全局搜索能力和优化精度;2) 多目标优化:深入研究多目标优化问题,开发更有效的算法;3) 模型验证:借助实验数据对经过优化的CFD模型准确性予以验证。
6. 结论
PSO算法在温室模型中具有全局搜索能力强、快速收敛、适应性强、参数优化灵活、易于实现和扩展以及多目标优化能力等显著优势。这些优势使得PSO算法在温室环境调控、能耗优化和作物生长预测等方面表现较为出色,为此,提高了温室系统的性能和作物产量,另外也极大可能地提升了温室农业的管理智能化水平。然而,算法的改进和模型的验证仍然是未来研究的重点。
基金项目
江西省教育厅科技项目,面向温室环境控制需求的温室系统建模研究(编号:GJJ210837);江西省高等学校大学生创新创业训练计划项目(编号:S202310407088)。