一种基于改进SAC算法的温室环境参数优化决策方法

文档序号:31037992发布日期:2022-08-06 03:37阅读:346来源:国知局
一种基于改进SAC算法的温室环境参数优化决策方法
一种基于改进sac算法的温室环境参数优化决策方法
技术领域
1.本发明涉及温室环境参数优化领域,具体指有一种基于改进sac算法的温室环境参数优化决策方法。


背景技术:

2.温室气候是人们利用塑料大棚、日光温室、连栋温室等农业设施创造的半封闭建筑下的一种环境气候。在瓜果蔬菜、花卉栽培及水产养殖上已经有广泛的应用。温室气候是一种小气候环境,主要受辐射、温度、湿度和二氧化碳等因素影响。温室内小气候环境直接影响了农作物的生长发育状况,因此,整个温室种植周期的气候选择则决定了温室最终的农作物产量以及经济收益。
3.由于受到外界环境、作物生长以及能源成本等多方面因素影响,温室气候环境参数设定值的选择是一个非常复杂的优化决策问题。目前温室环境参数优化方法主要以最优控制和模型预测控制为主,控制要点在于利用一个较为精确的模型,以最大化温室净利润为目标,优化出作物种植周期内的温度、二氧化碳、人工补光大小等温室环境参数设定值。但是这些方法严重依赖于模型的精确程度,不利于推广普及到不同种类的温室生产种植,且这类利用模型的优化控制算法计算复杂度大,求解速度慢,不利于温室环境参数设定值的实时决策。
4.针对上述的现有技术存在的问题设计一种基于改进sac算法的温室环境参数优化决策方法是本发明研究的目的。


技术实现要素:

5.针对上述现有技术存在的问题,本发明在于提供一种基于改进sac算法的温室环境参数优化决策方法,能够有效解决上述现有技术存在的问题。
6.本发明的技术方案是:
7.一种基于改进sac算法的温室环境参数优化决策方法,基于sac算法,包括以下步骤:
8.s1,将温室状态数据、温室环境参数决策数据、温室产出数据作为sac算法的强化学习要素,利用历史人工种植经验数据提前填充经验缓冲区,所述历史人工种植经验数据包括历史人工温室环境参数决策数据、历史温室状态数据、历史温室产出数据;
9.s2,生成温室模拟器用于模拟温室种植过程;用于
10.s3,设计sac算法批判者神经网络的数量,设计sac算法行动者神经网络的目标函数,得到改进sac算法;
11.s4,利用所述改进sac算法生成新的温室环境参数决策数据,将所述新的温室环境参数决策数据输入所述温室模拟器进行新的种植周期,模拟得到新的温室状态数据、新的温室产出数据,将新的温室环境参数决策数据、所述新的温室状态数据和新的温室产出数据放入经验缓冲区,利用经验缓冲区数据更新所述批判者神经网络的参数和行动者神经网
络的参数;
12.s5,重复执行步骤s4,直至完成若干种植周期,得到温室环境参数优化决策神经网络,通过所述温室环境参数优化决策神经网络生成温室环境参数优化决策。
13.进一步地,温室状态数据包括温室内部气候数据、温室内作物生长数据、未来气候预测数据其中的一种或多种;所述温室环境参数决策数据包括未来一天白天的温度、未来一天白天的二氧化碳浓度、未来一天白天的人工补光设定值,和未来一天夜间的温度、未来一天夜间的二氧化碳浓度、未来一天夜间的人工补光设定值其中的一种或多种;
14.所述温室产出数据根据公式(1)计算得到;
15.温室产出数据=成熟农作物增量
×
市场价值-电能消费-二氧化碳消耗,公式(1)。
16.进一步地,所述历史人工温室环境参数决策是作物的幼苗期对应的温室内白天设定值、夜晚设定值,以及作物的结果期对应的温室内白天设定值、夜间设定值。
17.进一步地,所述设计sac算法批判者神经网络的数量包括:
18.设计sac算法批判者神经网络的数量为三个以上,每个所述sac算法批判者神经网络对应一个所述sac算法的目标批判者神经网络。
19.进一步地,所述设计sac算法行动者神经网络的目标函数包括:
20.设计监督学习函数;
21.在sac算法的行动者神经网络目标函数加入所述监督学习函数,得到:
22.其中e为数学期望,s
t
为温室当前状态数据,d为经验缓冲区,a
t
为行动者动作输出,π为产生动作的行动者策略,π(a
t
|s
t
)表示在状态s
t
下的行动者策略输出动作a
t
的概率,σ为权重系数,初始化为1,q(s
t
,a
t
)表示批判者对状态-动作价值的评估,k为监督学习函数权重系数,k取值在0.3~0.5之间,a
expdata
表示历史人工种植经验数据,为指示函数,表示当(s
t
,a
t
)来自于历史人工种植经验数据时,函数值为1,否则为0。
23.进一步地,所述温室模拟器包括温室环境模型和作物模型,所述温室环境模型用于通过质量平衡方程和能量平衡方程模拟温室内部环境参数,所述作物模型用于根据作物的光合作用、呼吸作用、生物质分配建模并模拟在温室内部环境参数下作物的生长发育和产量。
24.进一步地,温室内部环境参数包括温度、二氧化碳浓度、光照强度其中的一种或多种。
25.进一步地,所述利用经验缓冲区数据更新所述批判者神经网络的参数和行动者神经网络的参数包括:
26.在所述经验缓冲区数据内随机采样部分历史人工种植经验数据和所述温室环境参数决策数据以及所述温室环境参数决策数据对应的温室状态数据、温室产出数据;
27.根据历史人工种植经验数据和所述温室环境参数决策数据以及所述温室环境参数决策数据对应的温室状态数据、温室产出数据更新所述批判者神经网络的参数和行动者
神经网络的参数。
28.进一步地,采用梯度下降算法进行更新所述批判者神经网络的参数和行动者神经网络的参数θ。
29.进一步地,所述重复执行步骤s4,直至完成若干种植周期,得到温室环境参数优化决策神经网络包括:
30.重复执行步骤s4,直至完成多个种植周期,当连续5个温室种植周期的温室产出相差小于5%,得到温室环境参数优化决策神经网络。
31.因此,本发明提供以下的效果和/或优点:
32.本发明利用所述改进sac算法生成新的温室环境参数决策数据,将所述新的温室环境参数决策数据输入所述温室模拟器进行新的种植周期,模拟得到新的温室状态数据、新的温室产出数据,将新的温室环境参数决策数据、所述新的温室状态数据和新的温室产出数据放入经验缓冲区,利用经验缓冲区数据更新所述批判者神经网络和行动者神经网络的参数,利用改进sac算法与温室模拟器交互并收集数据存入经验缓冲区,利用经验缓冲区数据更新批判者神经网络的参数和行动者神经网络的参数,直到得到温室经济最优的气候设定策略。通过提前使用人工种植经验数据填充于算法的经验缓冲区中,这种通过提前初始化经验缓冲区的方式可以加快强化学习算法在前期的训练效率,提高强化学习的数据利用率。
33.本发明提供的改进sac算法的训练效率高,同时改进sac算法在训练过程中的温室种植利润始终高于原sac算法,且最后温室种植利润高于人工策略和原sac算法。表明本技术所提供的方法可行并且优于原sac算法,能够得到温室经济最优的气候设定策略。
34.本发明通过增加批判者神经网络的数量,降低了由于人工经验数据提前填充而带来的批判者价值估计不准确的问题,提高了算法的稳定性,防止了训练前期算法性能急剧下降的缺陷。本发明通过改进原sac算法行动者神经网络的目标函数,加入了监督学习项,使得行动者策略在训练前期获得了良好的初始化,避免了行动者策略陷入到局部最优。
35.本发明的改进sac算法的获得的温室单位面积利润高于人工经验策略、原sac算法策略,说明了本发明的改进sac算法应用于温室气候设定值决策的优越性
36.应当明白,本发明的上文的概述和下面的详细说明是示例性和解释性的,并且意在提供对如要求保护的本发明的进一步的解释。
附图说明
37.图1为本发明的流程示意图。
38.图2为人工种植策略表图。
39.图3为温室模拟器图。
40.图4为本发明的训练过程温室种植利润变化图。
41.图5为本发明计算得到的温室环境参数设定值图。
42.图6为本发明的最终温室生产利润对比图。
具体实施方式
43.为了便于本领域技术人员理解,现将实施例结合附图对本发明作进一步详细描
述:应了解到,在本实施例中所提及的步骤,除特别说明其顺序的,均可依实际需要调整其前后顺序,甚至可同时或部分同时执行。
44.强化学习是一种基于数据驱动的人工智能决策算法,其中sac算法是目前强化学习中最先进的算法之一,sac算法优化能力强,鲁棒性高,且可以根据状态反馈信息做出实时决策。但是sac算法需要大量数据来训练来得到最优控制策略,数据利用效率低,不利于直接运用于温室气候设定值的决策。因此,申请人提出下列方法进行优化。本技术中,术语“sac算法”是指柔性行动者-批判者(soft actor-critic,sac)算法。sac算法解决的问题是离散动作空间和连续动作空间的强化学习问题,是off-policy的强化学习算法。
45.参考图1,一种基于改进sac算法的温室环境参数优化决策方法,基于sac算法,包括以下步骤:
46.s1,将温室状态数据、温室环境参数决策数据、温室产出数据作为sac算法的强化学习要素,利用历史人工种植经验数据提前填充经验缓冲区,所述历史人工种植经验数据包括历史人工温室环境参数决策数据,历史温室状态数据、历史温室产出数据;
47.本实施例中,采用的sac算法可以不断地进行策略评估,更新值函数,用来对策略进行评估,同时通过策略改进,更新策略,用上一步的值函数来评价策略是否提高,从而不断地演化出最优策略。
48.本实施例中,提前填充经验缓冲区的人工经验数据量可以是1000~2000组数据对,在本例实验中选取数据量为1200组数据对。
49.本步骤使用历史人工种植经验数据提前填充经验缓冲区,历史人工种植经验数据可以是根据人工经验来设定温室模拟器的气候的设定值,或者是根据人工经验来设定温室内的气候的设定值等,以及在该设定值下对应的历史温室状态数据、历史温室产出数据。本实施例通过番茄进行模拟,可以理解为,本技术通过人工经验来设定温室模拟器的气候的设定值或者是根据人工经验来设定温室内的气候的设定值从而在该设定值下,温室内产生的状态数据,以及番茄在该温室下的成长、结果等数据。
50.具体地,温室状态数据包括温室内部气候数据、温室内作物生长数据、未来气候预测数据其中的一种或多种;所述温室环境参数决策数据包括未来一天白天的温度、未来一天白天的二氧化碳浓度、未来一天白天的人工补光设定值,和未来一天夜间的温度、未来一天夜间的二氧化碳浓度、未来一天夜间的人工补光设定值其中的一种或多种;
51.所述温室产出数据根据公式(1)计算得到;
52.温室产出数据=成熟农作物增量
×
市场价值-电能消费-二氧化碳肥料消耗,公式(1)。其中,电能消费=电能消耗量*电能单价,二氧化碳肥料消耗=二氧化碳肥料消耗量*二氧化碳肥料单价。其中在本实施例中,以番茄模拟器为对象,因此番茄市场价值选取为16元/千克,电费为0.503元/千瓦时,二氧化碳肥料为330元/吨。
53.具体地,所述历史人工种植经验数据是作物的幼苗期对应的温室内白天设定值、夜晚设定值,以及作物的结果期对应的温室内白天设定值、夜间设定值。设定值是指温室内的温度设定、二氧化碳浓度设定、人工补光设定。本实施例中,将番茄是否长出果实为分界线,将番茄分为幼苗期和结果期,并且本实施例将6:00-18:00定义为白天,其余时间定义为夜间。参考图2,其中一个历史人工种植经验数据可以是:番茄幼苗期的温室内白天设定值为温度24℃,二氧化碳浓度1200ppm,人工补光设定值为0w/m2;番茄幼苗期的温室内夜间设
定值为温度20℃,二氧化碳浓度400ppm,人工补光设定值为0w/m2;番茄结果期的温室内白天设定值为温度24℃,二氧化碳浓度1200ppm,人工补光设定值为150w/m2;番茄幼苗期的温室内夜间设定值为温度24℃,二氧化碳浓度800ppm,人工补光设定值为150w/m2。
54.s2,参考图3,生成温室模拟器用于模拟温室种植过程,温室模拟器可以根据输入的不同的温室环境参数决策数据,模拟生成所述温室环境参数决策数据下,温室内对应的温室状态数据、以及温室内作物的温室产出数据;
55.本步骤中,温室模拟器是是一个温室番茄种植模拟器,主要模拟温室内番茄在不同温度、二氧化碳浓度和光强下的生长发育状况,一次完整温室种植周期设置为120天。在其他实施例中也可以是其他农作物种的温室植模拟。本技术的温室模拟器根据输入的温室环境参数决策数据,可以根据该温室环境参数决策数据模拟种植番茄,并根据种植番茄的模拟情况自动生成番茄的生长数据。
56.s3,设计sac算法批判者神经网络的数量,设计sac算法行动者神经网络的目标函数,得到改进sac算法;
57.sac算法只有一个行动者神经网络,同时设计sac算法批判者神经网络的数量为三个或以上,每个所述sac算法批判者神经网络对应一个所述sac算法行动者神经网络的目标函数。参考图1,本实施例中批判者神经网络的数量为三个,三个所述sac算法批判者神经网络均各自对应一个所述sac算法的目标批判者神经网络。
58.改进sac算法如图1所示。经验缓冲区提前填充了人工种植经验数据,改进sac算法可以通过提前初始化经验缓冲区的方式可以加快强化学习算法在前期的训练效率,提高强化学习的数据利用率。
59.s4,利用所述改进sac算法生成新的温室环境参数决策数据,将所述新的温室环境参数决策数据输入所述温室模拟器进行新的种植周期,模拟得到新的温室状态数据、新的温室产出数据,将新的温室环境参数决策数据、所述新的温室状态数据和新的温室产出数据放入经验缓冲区,利用经验缓冲区数据更新所述批判者神经网络的参数和行动者神经网络的参数;此时,经验缓冲区内包括新的温室环境参数决策数据、所述新的温室状态数据和新的温室产出数据,以及历史人工温室参数决策数据、历史温室状态数据、历史温室产出数据。
60.s5,重复执行步骤s4,直至完成若干种植周期,得到温室环境参数优化决策神经网络,通过所述温室环境参数优化决策神经网络生成温室环境参数优化决策。
61.本步骤利用改进sac算法与温室模拟器交互并收集数据存入经验缓冲区,利用经验缓冲区数据更新批判者神经网络的参数和行动者神经网络的参数直到得到温室经济最优的气候设定策略。
62.进一步地,所述设计sac算法行动者神经网络的目标函数包括:
63.设计监督学习函数;监督学习函数如公式(2)中的监督学习函数所示;
64.在sac算法的行动者神经网络目标函数加入所述监督学习函数,得到:
65.其中e为数学期望,s
t
为温室当前状态数据,d为经验缓冲区,a
t
为行动者动作输出,
π为产生动作的行动者策略,π(a
t
|s
t
)表示在状态s
t
下的行动者策略输出动作a
t
的概率,σ为权重系数,初始化为1,q(s
t
,a
t
)表示批判者对状态-动作价值的评估,k为监督学习函数权重系数,k取值在0.3~0.5之间,a
expdata
表示历史人工种植经验数据,为指示函数,表示当(s
t
,a
t
)来自于人工经验数据时,函数值为1,否则为0。本实施例中,k取值0.3,在其他实施例中k也可以取值0.4或者0.5。
66.本步骤通过最小化平方误差的形式设计监督学习函数,可以让行动者策略在训练初始阶段偏向于学习人工经验策略。
67.本步骤通过增加批判者神经网络的数量,降低了由于人工经验数据提前填充而带来的批判者价值估计不准确的问题,提高了算法的稳定性,防止了训练前期算法性能急剧下降的缺陷。本发明通过改进原sac算法行动者神经网络的目标函数,加入了监督学习项,使得行动者策略在训练前期获得了良好的初始化,避免了行动者策略陷入到局部最优。
68.本实施例中,原sac目标函数为现有技术,可以从《soft actor-critic algorithms and applications》(haarnoja等,29,jan,2019)文献直接获取得到。
69.本步骤中,在改进的sac行动者神经网络目标函数的过程中,在原sac行动者目标函数上加入了监督学习函数,这样一来行动者策略在训练初期会偏向于人工经验策略,获得一个较好的初始化策略。
70.进一步地,进一步地,所述温室模拟器包括温室环境模型和作物模型,所述温室环境模型用于通过质量平衡方程和能量平衡方程模拟温室内部环境参数,所述作物模型用于根据作物的光合作用、呼吸作用、生物质分配建模并模拟在温室内部环境参数下作物的生长发育和产量。
71.进一步地,温室内部环境参数包括温度、二氧化碳浓度、光照强度其中的一种或多种。
72.进一步地,所述利用经验缓冲区数据更新所述批判者神经网络和行动者神经网络的参数包括:
73.在所述经验缓冲区数据内随机采样部分历史人工种植经验数据和所述温室环境参数决策数据以及所述温室环境参数决策数据对应的温室状态数据、温室产出数据;
74.根据历史人工种植经验数据和所述温室环境参数决策数据以及所述温室环境参数决策数据对应的温室状态数据、温室产出数据,采用梯度下降算法进行更新所述批判者神经网络参数和行动者神经网络参数θ。
75.本步骤中,每次在经验缓冲区随机采样小批次数据,数据中包含历史人工种植经验数据和上述改进sac算法交互所得的数据,一次随机提取出128组数据对,网络参数采用梯度下降算法进行更新,当每个种植周期中的温室产出数据区域接近并且温室产出数据的数量较大,则判定为完成训练。
76.神经网络是一种由多个参数组成数学模型,一般用于拟合各种非线性函数,通常使用θ或者代指某个神经网络中的所有参数,优化神经网络中的参数可以让其输出值为本技术想要的输出,目标函数就是优化的方向,目标函数是对实际任务的数学抽象。在本技术的目标就是让行动者神经网络的决策输出作为温室环境参数设定值,使得温室生产利润最大化。
77.进一步地,所述重复执行步骤s4,直至完成若干种植周期,得到温室环境参数优化
决策神经网络包括:
78.重复执行步骤s4,直至完成多个种植周期,当连续5个温室种植周期的温室产出相差小于5%,得到温室环境参数优化决策神经网络。
79.实验数据
80.参考图5,图5为本技术提供的改进sac算法优化后得到的所述温室环境参数决策数据,包括整个番茄的生长周期(120天)内的白天的温度、二氧化碳浓度、人工补光设定值、夜间的温度、二氧化碳浓度、人工补光设定值。
81.参考图4,图4展示了本发明改进sac算法与现有的sac算法在训练过程中不同种植周期产生的温室产出数据,可见本发明提供的改进sac算法的训练效率高,同时改进sac算法在训练过程中的温室种植利润始终高于原sac算法。表明本技术所提供的方法可行并且优于原sac算法,能够得到温室经济最优的气候设定策略。
82.根据图5的改进sac算法优化后得到的所述温室环境参数决策数据作用于种植模拟器,得到如图6。参考图6,图6为最终温室生产利润对比图,改进sac算法的获得的温室单位面积利润为50.48元,人工经验策略获得的温室单位面积利润为25.18元、原sac算法策略获得的温室单位面积利润为35.32元,相比于原sac策略提升了42.3%的利润收入,相比于人工策略提升了100.5%的提润,可见改进sac算法的获得的温室单位面积利润高于人工经验策略、原sac算法策略,说明了本发明的改进sac算法应用于温室环境参数设定值决策的优越性。
83.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
84.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
85.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1