本发明涉及天线设计领域,尤其涉及一种基于自适应演化优化算法的螺旋式天线设计方法。
背景技术:
演化计算是一种基于达尔文进化理论中优胜劣汰、适者生存的思想建立的智能优化技术。演化计算将优化问题的解作为个体的基因,优化问题的目标值作为个体的表现评价,在算法进行中,利用类似生物遗传学中的交叉、变异操作来产生新的解,然后利用优胜劣汰的思想,表现较好的个体更容易被保留到下一代的运算中,如此便可以得到问题的最优解。演化算法的基本流程图如图8所示。演化计算具有自组织、自适应和自学习的特点,利用演化算法求解优化问题时,可以不用了解问题的全部特点。因此,相比于传统的数学方法优化算法,演化算法在解决数学描述未知的复杂问题时更具有优势。此外,演化计算还具有本质并行性。演化计算是以种群的形式对解空间进行搜索,种群中的解可同时对不同区域进行搜索,这种搜索方式很适合于并行计算。
随着计算机硬件条件的高速发展,演化计算在解决优化问题上的优势表现得越来越明显。由于演化算法原理简单,容易操作,并且具有通用性、高效性等特点,因此越来越受到人们的青睐。近年来,演化计算在自适应控制、机器学习、神经网络、经济预测和求解大型复杂优化问题等领域均取得了良好的表现。
然而传统的演化算法在求解优化问题时,算法的表现与算法的参数设置(变异因子f,交叉概率cr的取值)以及所选的操作算子有很大的关系。对于求解不同的优化问题,甚至在求解同一个复杂优化问题的不同阶段,演化算法最佳的参数设置和算子选择都可能不同。因此,用单一参数设置的演化算法来求解不同类型优化问题或复杂优化问题时,有时会得不到理想的效果。
差分演化算法是一种经典的演化算法,它在解决传统优化问题时具有良好的表现。和传统的演化算法类似,差分演化算法主要包含三个操作:变异、交叉和选择。其中最核心的变异操作,经过研究人员不断的探索和改进,变异操作有了很多种不同的形式。其中最基础的是de/rand/1,和de/best/1算子。
天线设计问题可以看作是一类以天线结构为搜索空间,寻求天线最优性能的优化问题,经典的优化方法难以求解此类优化问题,已有的经典天线实例并非通过求解此类优化问题而得的最优解,而是依靠专家的知识、经验、直觉和实验进行手工设计而得,通常不是最优天线,且几何形状单一,性能不尽人意。而演化算法对于解决此类问题具有得天独厚的优势。
技术实现要素:
为了解决上述问题,本发明提供了一种基于自适应演化优化算法的螺旋式天线设计方法,主要包括以下步骤:
s101:根据实际需求,建立螺旋式天线的结构模型及其对应的优化数学模型;所述结构模型中螺旋线总圈数为a圈,每一圈上升高度的均值为bmm;其中,a和b均为根据实际需求设定的预设值;
s102:采用基于强化学习的自适应演化优化算法对所述优化数学模型中的天线结构参数进行优化,得到最终优化后的天线结构参数;
s103:根据所述天线结构参数,对所述结构模型进行调整,得到设计好的螺旋式天线。
进一步地,步骤s101中,所述优化数学模型的表达式如公式(1)所示:
上式中,
所述天线结构参数包括:与螺旋式天线的螺旋线相关的优化变量和决定螺旋式天线中巴伦金属片的尺寸大小的变量;其中,与螺旋式天线的螺旋线相关的优化变量为ratio_h0~ratio_ha,共a个变量,分别表示每一圈螺旋线的上升高度在均值b周围的浮动比例,决定螺旋式天线中巴伦金属片的尺寸大小的变量为balun_ax、balun_bx和balun_cx,共三个变量,分别为巴伦金属片的长、宽和高;因此,所述天线结构参数共包括ratio_h0~ratio_ha、balun_ax、balun_bx和balun_cx共a+3个变量。
进一步地,步骤s102中,采用基于强化学习的自适应演化优化算法对所述优化数学模型中的天线结构参数进行优化,得到最终优化后的天线结构参数;包括如下步骤:
s201:随机初始化强化学习在当前时刻t下的一个执行动作a(t)、演化优化算法中天线结构参数对应的初始种群、强化学习中所有的动作对应的动作值函数q值和强化学习中所有的动作对应的动作选择概率p值;t代表迭代次数,t的初始值为1;
其中,强化学习中的一个动作包含三个分量:a(mut)、a(f)和a(cr);a(mut)为变异算子,取值范围是n[0,1],分别对应de\rand\1和de\best\1两种变异算子;a[f]表示变异尺度因子f,取值范围是n[0,2],分别对应f取值的均值为0.3、0.6和0.9;a(cr)表示交叉概率,取值范围是n[0,2],分别对应cr取值的均值为0.2,0.5和0.8;因此,整个动作集总共包含2*3*3=18个动作;n[x,y]表示取x和y之间的任意整数,包括x和y;将所有的动作对应的动作值函数q值均初始化为0.1;
s202:根据当前种群,计算当前种群的发散程度div和种群的分布特征ios,并根据div和ios计算当前种群所属的状态s(t);
其中,将强化学习问题的状态定义为一个包含两个分量的向量s=[ios,div],其中每个分量分为4个区间,每个区间对应一个状态,因此,总共有4×4=16个状态;每个状态对应一个动作集,即每个状态下包括18种动作;
s203:采用演化算法执行当前动作a(t),从而产生新的种群;
s204:将所述新的种群中的个体作为天线结构参数输入至hfss电磁仿真软件中,得到对应的目标增益gain、目标轴比ar和目标驻波比vswr;
s205:判断是否满足终止条件?若是,则到步骤s210;否则,到步骤s206;
s206:根据所述新的种群再次计算ios和div,并根据ios和div计算新的种群所属的状态s(t+1)和回报r(t+1);
s207:根据回报r(t+1)和s(t)状态下的q值,更新s(t)状态下的动作a(t)对应的新的动作值函数
s208:根据s(t)状态下的动作a(t)对应的新的动作值函数
s209:根据当前所属的状态s(t),采用轮盘赌的方式在所有的选择概率中随机选择一个选择概率,并将该选择概率对应的动作作为下一时刻t+1时执行的动作a(t+1);将t更新为t+1,并返回步骤s203;
s210:结束循环,将当前种群中的最优个体最为最优天线结构参数。
进一步地,步骤s202中,将div作为横坐标,ios作为纵坐标,将坐标系分为4×4=16个区间,分别代表s1~s16,共16个状态;然后将具体计算的div和ios组成的坐标(div,ios)所在的区间对应的状态作为当前种群所属的状态;其中,div和ios的计算公式如公式(2)所示:
上式中,n为当前种群个体总数,fi表示个体i在当前种群中适应值的排序值,di表示个体i距离当前种群最优个体距离的排序值;
进一步地,步骤s205中,以下两个条件任意一个满足,即所述终止条件得到满足:
1)迭代次数t大于或者等于200次;
2)目标增益gain、目标轴比ar和目标驻波比vswr满足公式(1)。
进一步地,步骤s206中,根据所述新的种群再次计算ios和div,并根据ios和div计算新的种群所属的状态s(t+1)和回报r(t+1)时,计算新的种群所属的状态s(t+1)的方法和步骤s202中一样;计算回报r(t+1)如公式(3)所示:
上式中,n为当前种群个体总数,ggap表示当前种群取样间隔,为预设值;nsuc表示当前种群在取样间隔内成功的个体数;父体经过变异交叉之后得到的子代适应值大于父体,则该个体是成功的。
进一步地,步骤s207中,根据回报r(t+1)和s(t)状态下的q值,更新s(t)状态下的动作a(t)对应的新的动作值函数
上式中,
进一步地,步骤s208中,根据s(t)状态下的动作a(t)对应的新的动作值函数
上式中,
本发明提供的技术方案带来的有益效果是:本发明提出的技术方案利用强化学习来控制演化算法的参数和操作算子,从而实现自适应的差分演化算法,并利用自适应的差分演化算法运行过程中产生的大量中间结果数据,来指导演化算法后续的参数设置,从而得到螺旋式天线的最优天线结构参数,效率高,优化性能好。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例中一种基于自适应演化优化算法的螺旋式天线设计方法的流程图;
图2是本发明实施例中螺旋式天线的结构模型的示意图;
图3是本发明实施例中的强化学习控制演化优化算法的基本结构图;
图4是本发明实施例中的算法执行流程图;
图5是本发明实施例中状态区间示意图;
图6和图7均为本发明实施例中天线优化结果示意图;
图8是本发明实施例演化优化算法的基本流程示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
本发明的实施例提供了一种基于自适应演化优化算法的螺旋式天线设计方法。
请参考图1,图1是本发明实施例中一种基于自适应演化优化算法的螺旋式天线设计方法的流程图,具体包括如下步骤:
s101:根据实际需求,建立螺旋式天线的结构模型(如图2)及其对应的优化数学模型;所述结构模型中螺旋线总圈数为a圈,每一圈上升高度的均值为bmm;其中,a和b均为根据实际需求设定的预设值;
s102:采用基于强化学习的自适应演化优化算法对所述优化数学模型中的天线结构参数进行优化,得到最终优化后的天线结构参数;
s103:根据所述天线结构参数,对所述结构模型进行调整,得到设计好的螺旋式天线。
步骤s101中,所述优化数学模型的表达式如公式(1)所示:
上式中,
所述天线结构参数包括:与螺旋式天线的螺旋线相关的优化变量和决定螺旋式天线中巴伦金属片的尺寸大小的变量;其中,与螺旋式天线的螺旋线相关的优化变量为ratio_h0~ratio_ha,共a个变量,分别表示每一圈螺旋线的上升高度在均值b周围的浮动比例,决定螺旋式天线中巴伦金属片的尺寸大小的变量为balun_ax、balun_bx和balun_cx,共三个变量,分别为巴伦金属片的长、宽和高;因此,所述天线结构参数共包括ratio_h0~ratio_ha、balun_ax、balun_bx和balun_cx共a+3个变量。
本发明实施例的主要思想是利用强化学习来控制演化算法的参数和操作算子,从而实现自适应的差分演化算法。利用差分演化算法运行过程中产生的大量中间结果数据,来指导演化算法后续的参数设置。
强化学习能够通过智能体与环境之间不断的交互,逐渐学习调整自身的策略,使得最终获得的累积回报最大。强化学习的智能体根据当前所处的状态,在当前策略指导下采取一个动作作用到环境,环境在执行完相应的动作后会给出一个反馈,即“回报”给智能体,智能体通过得到的回报评估该动作的好坏,从而调整动作选择策略。
本发明通过将演化算法解决优化问题建模成一个强化学习问题,再利用强化学习方法来控制演化算法的参数,以此来达到演化算法参数自适应的目的。基本结构图如图3。其中关键点在于,强化学习问题建模。即强化学习问题中几个基本概念的定义,包括环境、动作、状态、回报;本发明实施例中,将差分演化算法解决优化问题的过程看作是强化学习的环境;本发明实施例中,采用演化算法执行动作之后在采样间隔内的成功率表示回报;将强化学习问题的状态定义为一个包含两个分量的向量s=[ios,div],其中每个分量分为4个区间,每个区间对应一个状态,因此,整个状态集总共有4×4=16个状态;采用自适应的控制差分演化算法的参数设置和算子选择,因此将不同的参数设置(包括变异尺度因子f和交叉概率cr)和算子(变异算子)的选择作为强化学习的动作集;一个动作包含三个分量a=[a(mut),a(f),a(cr)];其中,a(mut)表示变异算子,取值范围是[0、1],分别对应de\rand\1和de\best\1两种变异算子;a[f]表示变异尺度因子f,取值范围是n[0,2],分别对应f取值的均值为0.3、0.6、和0.9;a(cr)表示交叉概率,取值范围是n[0,2],分别对应cr取值的均值为0.2,0.5,0.8;因此,整个动作集总共包含2×3×3=18个动作;
举例:动作a0=[0,0,0]表示差分演化算法采用de/rand/1变异算子,变异尺度因子f=randu(0.3,0.1),交叉概率cr=randu(0.2,0.1)(randu(u,std)表示以u为均值,std为标准差的随机变量)。
步骤s102中,采用基于强化学习的自适应演化优化算法对所述优化数学模型中的天线结构参数进行优化,得到最终优化后的天线结构参数;算法流程图如图4所示,包括如下步骤:
s201:随机初始化强化学习在当前时刻t下的一个执行动作a(t)、演化优化算法中天线结构参数对应的初始种群、强化学习中所有的动作对应的动作值函数q值和强化学习中所有的动作对应的动作选择概率p值;t代表迭代次数,t的初始值为1;
其中,强化学习中的一个动作包含三个分量:a(mut)、a(f)和a(cr);a(mut)为变异算子,取值范围是n[0,1],分别对应de\rand\1和de\best\1两种变异算子;a[f]表示变异尺度因子f,取值范围是n[0,2],分别对应f取值的均值为0.3、0.6和0.9;a(cr)表示交叉概率,取值范围是n[0,2],分别对应cr取值的均值为0.2,0.5和0.8;因此,整个动作集总共包含2×3×3=18个动作;n[x,y]表示取x和y之间的任意整数,包括x和y;将所有的动作对应的动作值函数q值均初始化为0.1;
s202:根据当前种群,计算当前种群的发散程度div和种群的分布特征ios,并根据div和ios计算当前种群所属的状态s(t);
其中,将强化学习问题的状态定义为一个包含两个分量的向量s=[ios,div],其中每个分量分为4个区间,每个区间对应一个状态,因此,总共有4×4=16个状态;每个状态对应一个动作集,即每个状态下包括18种动作;
s203:采用演化算法执行当前动作a(t),从而产生新的种群;
s204:将所述新的种群中的个体作为天线结构参数输入至hfss电磁仿真软件中,得到对应的目标增益gain、目标轴比ar和目标驻波比vswr;
s205:判断是否满足终止条件?若是,则到步骤s210;否则,到步骤s206;
s206:根据所述新的种群再次计算ios和div,并根据ios和div计算新的种群所属的状态s(t+1)和回报r(t+1);
s207:根据回报r(t+1)和s(t)状态下的q值,更新s(t)状态下的动作a(t)对应的新的动作值函数
s208:根据s(t)状态下的动作a(t)对应的新的动作值函数
s209:根据当前所属的状态s(t),采用轮盘赌的方式在所有的选择概率中随机选择一个选择概率,并将该选择概率对应的动作作为下一时刻t+1时执行的动作a(t+1);将t更新为t+1,并返回步骤s203;
s210:结束循环,将当前种群中的最优个体最为最优天线结构参数。
步骤s202中,将div作为横坐标,ios作为纵坐标,将坐标系分为4×4=16个区间,分别代表s1~s16,共16个状态(如图5所示);然后将具体计算的div和ios组成的坐标(div,ios)所在的区间对应的状态作为当前种群所属的状态;其中,div和ios的计算公式如公式(2)所示:
上式中,n为当前种群个体总数,fi表示个体i在当前种群中适应值的排序值(适应值从大到小排序),di表示个体i距离当前种群最优个体距离的排序值(种群中所有个体到当前种群最优个体(算法自动产生)之间欧式距离从小到大的排序);
步骤s205中,以下两个条件任意一个满足,即所述终止条件得到满足:
1)迭代次数t大于或者等于200次;
2)目标增益gain、目标轴比ar和目标驻波比vswr满足公式(1)。
步骤s206中,根据ios和div计算当前种群的状态s(t+1)和回报r(t+1);其中,计算当前种群的状态s(t+1)的方法和步骤s202中一样;计算回报r如公式(3)所示:
上式中,n为当前种群个体总数,ggap表示当前种群取样间隔,为预设值,本发明实施例中ggap取值为5;nsuc表示当前种群在取样间隔内成功的个体数;父体经过变异交叉之后得到的子代适应值大于父体,则该个体是成功的。
步骤s207中,根据回报r(t+1)和s(t)状态下的q值,更新s(t)状态下的动作a(t)对应的新的动作值函数
上式中,
步骤s208中,根据s(t)状态下的动作a(t)对应的新的动作值函数
上式中,
例如,设计一款符合如表1所示的性能要求的天线。
表1天线演化目标
首先构建天线基础模型(如图2)。锥形面上为两条相互缠绕的金属螺旋片(或者螺旋线);锥形结构内部为巴伦。
其中,圆锥表面金属片的长度,以及中间巴伦上金属片的形状和大小将对结果产生较大的影响。本天线基本模型中螺旋线总圈数为10圈,平均每一圈上升高度为3mm。我们将与此相关的一些参数作为优化变量,利用本发明所提方法进行优化。与螺旋线相关的优化变量ratio_h0~ratio_h9为每一圈螺旋线的上升高度在均值周围浮动比例。巴伦金属片的上底边长balun_b2影响着天线的阻抗特性,以及巴伦反面金属片上的开槽将提高巴伦的宽带特性,与其相关的包括balun_ax、balun_bx、balun_cx三个优化变量,三个优化变量根据巴伦的结构来确定变换范围。因此,总共有14个变量。
演化天线设计要将天线问题转换成优化问题,才能用演化算法进行求解。根据天线性能要求,将其转化为其数学描述如下:
其中
当给定天线结构参数,通过电磁仿真工具hfss仿真,可自动获取天线的增益gain,轴比ar和驻波比vswr等天线性能参数。这些性能参数传入算法之后,便可评估当前个体的好坏,从而做出搜索调整。
利用本发明所提技术方案优化所得参数结果如表2:
表2天线结构参数及其优化结果
经过优化后的天线性能结果如图6和图7所示。可以看出,在2.5ghz~6.5ghz频率范围内,驻波比在绝大部分频点满足vswr≤2的需求。
本发明的有益效果是:本发明提出的技术方案利用强化学习来控制演化算法的参数和操作算子,从而实现自适应的差分演化算法,并利用自适应的差分演化算法运行过程中产生的大量中间结果数据,来指导演化算法后续的参数设置,从而得到螺旋式天线的最优天线结构参数,效率高,优化性能好。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。