专利名称:一种确定超材料单元结构的方法
技术领域:
本发明涉及超材料设计领域,特别是涉及一种利用遗传算法确定超材料单元结构的方法。
背景技术:
目前,通常通过计算电磁波响应的特性来设计超材料,在研究材料对电磁波响应的时候,材料中任何尺度远小于电磁波波长的结构对电磁波的响应也可以用材料的整体参数,例如介电常数ε和磁导率μ来描述。通过设计材料每点的结构使得材料各点的介电常数和磁导率都相同或者不同从而使得材料整体的介电常数和磁导率呈一定规律排布,规律排布的磁导率和介电常数即可使得材料对电磁波具有宏观上的响应,例如汇聚电磁波、发散电磁波等。该类具有规律排布的磁导率和介电常数的材料我们称之为超材料。超材料通常包括基材以及附着在基材至少一侧表面上的人造金属微结构,每一人造金属微结构与其附着的那部分基材可以看做是一个超材料单元。多个超材料单元按一定规律排列即可得到电磁波特定的响应。超材料的电磁响应的特征是由基材的特性及附着在基材至少一侧表面上的人造金属微结构的特性共同决定,人造微结构的特性包括其制备材料、拓扑结构和几何尺寸,基材的特性取决于其制备材料与尺寸。因此,在基材一定的情况下,通过设计改变人造金属微结构的特性,可以得到所需的电磁响应参数,具体例如可为相对介电常数和相对磁导率,从而得到我们所需要的物理特性,如特定的电场响应曲线、磁场响应曲线和/或折射率响应曲线等,进而得到符合预设的物理特性目标值的所需超材料单元结构。目前,常用遗传算法设计超材料单元的结构。遗传算法中起核心作用的是交叉算子。现有的交叉运算,主要是选择适应度大的个体,进行保留,做下一次迭代。每一次迭代的具体步骤是:初始化设置η个个体,分别计算出η个个体的适应度,然后给适应度较高的个体分配较大的概率,继而选取适应度高的部分个体进行交叉或变异的处理后产生新的个体,对这些新的个体计算适应度。将新的个体与原先的个体放在一起比较,选取其中适应度高的η个个体保留,作为下一次迭代的个体。随着迭代次数的增加,最后的种群中,每个个体都会接近于适应度高、基因好的个体,因而陷入局部最优,不能找到全局的最优解。可见,使用上述现有处理方法易使处理结果限于局部最优,浪费资源。为了更合理的利用资源,则需要从海量的试验数据中试验、分析出最优结果,导致计算工作量增大、效率低。因此,需要提供一种确定超材料单元结构的方法,以解决现有技术存在的计算工作复杂、效率低以及易于陷入局部最优解的问题。
发明内容
本发明主要解决的技术问题是提供一种确定超材料单元结构的方法,能够降低计算工作的复杂度,能够更好地收敛到最优解,提高工作效率以及全局搜索能力。为解决上述技术问题,本发明采用的一个技术方案是:提供一种确定超材料单元结构的方法,超材料单元包括基材以及附着在基材至少一侧表面上的人造金属微结构,该方法包括步骤:定义设计变量:将人造金属微结构的设计区域划分为多个呈矩阵排列的子单元,且以二进制编码表示在每一子单元上是否排列有金属,并对应以一个二进制编码序列来表征具有人造金属微结构的超材料单元的结构特性,将二进制编码序列作为设计变量;初始化设置:初始化产生N个二进制编码序列作为初始设计变量,设置进化代数计数器t,设定最大进化代数为T ;个体评价:计算各初始设计变量的物理特性参数和适应度;交叉及变异操作:选择适应度高的前nl个初始设计变量进行交叉和变异操作,交叉操作产生多个交叉设计变量,变异操作产生多个变异设计变量;终止条件判断:计算交叉设计变量和变异设计变量的物理特性参数和适应度,如计算结果中有符合所需的结果,则计算结束;如计算结果中没有符合所需的结果,则从初始设计变量、交叉设计变量和变异设计变量中选择适应度高的前n2个设计变量,从n2个设计变量中再选择复杂度从低到高排列的前n3个设计变量作为初始设计变量进行下一次迭代,直至得到符合所需的结果或迭代次数达到预设的T值。其中,个体评价步骤之前还包括:设定超材料单元物理特性参数的目标值。其中,物理特性参数越接近目标值的设计变量,其适应度越高。其中,进化代数计数器t的初始值为0,若进化代数计数器t的值等于最大进化代数T,则终止计算。其中,二进制编码的取值为I时,表示在子单元上排列有金属,二进制编码的取值为O时,表不在子单兀上未排列有金属。其中,二进制编码的取值为O时,表示在子单元上排列有金属,二进制编码的取值为I时,表不在子单兀上未排列有金属。其中,若二进制编码序列的位数固定时,O越多的二进制编码序列其复杂度越低。其中,选择复杂度从低到高排列的前n3个设计变量进一步包括选择I最连续的前n3个二进制编码序列。其中,物理特性参数为超材料单元在特定频率下的相对介电常数和相对磁导率,或者是超材料单元在一个特定频段内的电场响应曲线、磁场响应曲线和/或折射率响应曲线。其中,最大进化代数T的取值为30代。本发明的有益效果是:区别于现有技术的情况,本发明在两次迭代过程中,先选择适应度高的前n2个设计变量,再从n2个设计变量中选择复杂度从低到高排列的前n3个设计变量作为初始变量进行下一次迭代。通过上述方式,一方面降低了处理工作的复杂度,另一方面减小超级个体对种群进化的影响,从而避免出现早熟收敛的局部最优解,能够更好地收敛到全局最优解,提高了工作效率以及全局搜索能力。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
图1是本发明一种确定超材料单元结构的方法的流程图;图2是以二进制编码序列作为设计变量以表征人造金属微结构的方法的示意图。
具体实施例方式为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的方法详细说明如下。有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式
的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。本发明实施例中,超材料单元包括基材以及附着在基材至少一侧表面上的人造金属微结构,其中,在基材一定的情况下,通过设计改变人造金属微结构的特性,可以达到所需的电磁响应参数,即相对介电常数和相对磁导率,从而得到我们所需要的物理特性,进而得到所需的超材料单元结构。因而,通常是通过设计人造金属微结构来得到所需的超材料单元结构。本发明提供一种确定超材料单元结构的方法,该超材料单元结构不但符合预设的物理特性目标值且具有最简单结构,具体而言,请参阅图1所示,图1是本发明一种确定超材料单元结构的方法的流程图,其包括:步骤S1:定义设计变量:将人造金属微结构的设计区域划分为多个呈矩阵排列的子单元,且以二进制编码表示在每一子单元上是否排列有金属,并对应以一个二进制编码序列来表征具有人造金属微结构的超材料单元的结构特性,将二进制编码序列作为设计变量。具体而言,请配合参阅图2所示,在本发明中,采用如图2所示的一种以二进制编码序列作为设计变量以表征人造金属微结构的方法。如图2左侧部分所示,将人造金属微结构的设计区域划分为离散网格结构,其包括多个呈矩阵排列的子单元,且以二进制编码表示在每一子单元上是否排列有金属,并对应以一个二进制编码矩阵来表征具有人造金属微结构的超材料单元的结构特性。例如,如图2的实施例中,将设计区域划分为25个子单元,此时二进制编码的取值为I时表示子单元排列金属,二进制编码的取值为O时表示子单元未排列金属。由此,图2左侧部分的人造金属微结构可用图2右侧的0,I矩阵来表示。即:通过上述方式,人造金属微结构就转化为O和I整数规划。例如,可以用0111000000100010101000100这样的一个二进制编码序列来表示如图2左侧所示的结构。于是,每个不同的人造金属微结构设计可作为利用遗传算法进行优化处理中的一条染色体,方法简单易行。因为超材料单元包括基材以及附着在基材至少一侧表面上的人造金属微结构。所以,当入射波沿图2中z方向传播,并且电场的方向沿X轴、磁场方向沿y轴时,就可以按照图2右侧部分中给出的人造金属微结构的矩阵变量表示方法来计算其等效的物理特性参数,并结合仿真软件进行仿真处理,进而确定所需的超材料单元结构。由此,通过改变任何二进制编码序列中的一个二进制编码就可以改变设计变量,从而得到另一新的人造金属微结构。当然,本发明中也可以二进制编码的取值为I时表示子单元未排列金属,二进制编码的取值为O时表示子单元排列金属,本发明不对此进行限定。步骤S2:初始化设置:初始化产生N个二进制编码序列作为初始设计变量,设置进化代数计数器t,设定最大进化代数为T ;其中,进化代数计数器t的初始值为O,本发明中,设定最大进化代数T的取值为30代。应理解,T的取值可以根据需要取其他值,在此不加以强制。步骤S3:设定超材料单元物理特性参数的目标值。本发明实施方式中,通过设计改变人造金属微结构的分布特性,以得到超材料单元所需的电磁响应参数,即相对介电常数ε和相对磁导率μ ,由公式η= 可进一步得到超材料单元的折射率η,进而得到符合预设的物理特性目标值的超材料单元结构。其中,预设的物理特性参数为超材料单元在特定频率下的相对介电常数和相对磁导率,当然也可是超材料单元在一个特定频段内的电场响应曲线、磁场响应曲线和/或折射率响应曲线等。步骤S4:个体评价:计算各初始设计变量的物理特性参数和适应度值,并判断所述计算结果中是否有符合所需的结果;在步骤S4中,计算各初始设计变量的物理特性参数,然后依照在进化过程中物理特性参数越接近目标值的设计变量,其适应度越高的原则计算该设计变量的适应度值,即在进化过程中,每个设计变量分别具有对应的物理特性参数值和适应度值。本发明中,计算各初始设计变量的物理特性参数和适应度值后,判断步骤S4的计算结果中是否有符合所需的结果。其中,符合所需的结果是指符合预设的物理特性目标值且具有最简单的人造金属微结构分布的设计变量。若前述判断结果为是,则结束计算,输出符合所需的结果;若判断结果为否,则转到步骤S5和步骤S6。步骤S5:交叉操作:计算各交叉设计变量的物理特性参数和适应度值,并判断所述计算结果中是否有符合所需的结果选择适应度高的前nl个初始设计变量进行交叉操作,计算各交叉设计变量的物理特性参数和适应度值,并判断所述结果中是否有符合所需的结果。具体而言,交叉操作是将交叉算子作用于群体,将进行交叉操作的设计变量中的部分片段加以替换重组而生成新的设计变量。本发明中,交叉步骤以一定的交叉概率进行,如交叉概率为0.8,交叉概率的值也可以根据具体需要具体设定。在交叉操作中生成的新的设计变量,称之为交叉设计变量。计算交叉操作之后产生的交叉设计变量的物理特性参数和适应度值,并判断所述计算结果中是否有符合所需的结果,若判断结果为是,则结束计算,输出符合所需的结果;若判断结果为否,则转到步骤S7。步骤S6:变异操作:计算各变异设计变量的物理特性参数和适应度值,并判断所述计算结果中是否有符合所需的结果
选择适应度高的前nl个初始设计变量进行变异操作,所述变异操作产生多个变异设计变量,计算所述变异设计变量的物理特性参数和适应度,并判断所述计算结果中是否有符合所需的结果。具体而言,变异操作是将变异算子作用于群体。每次变异操作会得到一个新的设计变量。在本发明中的具体步骤是:将进行变异操作的设计变量的某些片段上的基因值作变动。例如,设计变量为二进制编码序列时,将二进制编码序列的某些片段上的基因值O变成1,以产生新的设计变量。此外还可以将设计变量的某些片段上的基因值I变成O。可根据具体情况作相应的改变,本发明对此不加以具体限定。本发明中,变异操作以一定的概率进行,如变异概率为0.2。变异概率的值也可以根据具体需要具体设定。变异操作之后生成新的设计变量,称之为变异设计变量。计算变异得到的变异设计变量的物理特性参数和适应度值,并判断计算结果中是否有符合所需的结果,若判断结果为是,则结束计算,输出符合所需的结果;若判断的结果为否,则转到步骤S7。在前述的步骤中,如仍无符合所需的结果,则进入步骤S7:从初始设计变量、交叉设计变量和变异设计变量中选择适应度高的前n2个设计变量,从该n2个设计变量中再选择复杂度从低到高排列的前n3个设计变量作为下一次迭代的初始设计变量。
步骤S8:判断迭代次数是否等于T,如果迭代次数等于预设的最大进化代数T,则结束计算,输出最接近目标值的设计变量;如果迭代次数未达到T,则以步骤7中筛选出的前n3个设计变量作为初始设计变量进行下一次迭代,直至在迭代中得到符合所需的结果或是迭代次数达到预设的T值。具体而言,从初始设计变量、交叉设计变量和变异设计变量中选择适应度值最高的前η2个,由此可保证全局的优良基因,有利于得到最优解。再从前η2个适应度最高的设计变量中选择复杂度低的前η3个设计变量作为下一次迭代的基因,可减小处理的工作量,提高工作效率,且复杂度越低,结构越简单,易于加工,降低成本。详细而言,如果I是表示设置有金属时,在本发明实施例中,选择二进制编码序列中O较多的设计变量或I最连续的设计变量,其中O越多或I最连续的设计变量表示其复杂度越低。二进制编码序列的位数固定时,O越多时表示I越少,即表示金属的数量越少。换而言之,二进制编码序列中,O越多的设计变量其复杂度越低。同理,二进制编码序列中I连续的设计变量表示金属是连贯的一条金属线,结构简单,即其对应的设计变量的复杂度也越低。通过上述方式,本发明在两次迭代过程中,先选择适应度高的前η2个设计变量,再从η2个设计变量中选择复杂度低的前η3个设计变量作为初始变量进行下一次迭代,由此一方面降低了处理工作的复杂度,减小超级个体对种群进化的影响,从而避免出现早熟收敛的局部最优解,能够更好地收敛到全局最优解,提高了工作效率以及全局搜索能力 ’另一方面,利用本发明确定的超材料单元结构不但可达到预设的物理特性目标值且其实现的结构简单,易于加工,降低加工成本。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种确定超材料单元结构的方法,所述超材料单元包括基材以及附着在所述基材至少一侧表面上的人造金属微结构,其特征在于,所述方法包括以下步骤: 定义设计变量:将所述人造金属微结构的设计区域划分为多个呈矩阵排列的子单元,且以二进制编码表示在每一所述子单元上是否排列有金属,并对应以一个二进制编码序列来表征具有所述人造金属微结构的所述超材料单元的结构特性,将所述二进制编码序列作为设计变量; 初始化设置:初始化产生N个二进制编码序列作为初始设计变量,设置进化代数计数器t,设定最大进化代数为T ; 个体评价:计算各初始设计变量的物理特性参数和适应度; 交叉及变异操作:选择适应度高的前nl个初始设计变量进行交叉和变异操作,所述交叉操作产生多个交叉设计变量,所述变异操作产生多个变异设计变量; 终止条件判断:计算所述交叉设计变量和所述变异设计变量的物理特性参数和适应度,如所述计算结果中有符合所需的结果,则计算结束; 如所述计算结果中没有符合所需的结果,则从所述初始设计变量、交叉设计变量和变异设计变量中选择适应度高的前n2个设计变量,从所述n2个设计变量中再选择复杂度从低到高排列的前n3个设计变量作为初始设计变量进行下一次迭代,直至得到符合所需的结果或迭代次数达到预设的T值。
2.根据权利要求1所述的方法,其特征在于,所述个体评价步骤之前还包括: 设定超材料单元物理特性参数的目标值。
3.根据权利要求2所述的方法,其特征在于,物理特性参数越接近所述目标值的设计变量,其适应度越高。
4.根据权利要求1所述的方法,其特征在于,所述进化代数计数器t的初始值为O,若所述进化代数计数器t的值等于所述最大进化代数T,则终止计算。
5.根据权利要求1所述的方法,其特征在于,所述二进制编码的取值为I时,表示在所述子单元上排列有金属,所述二进制编码的取值为O时,表示在所述子单元上未排列有金属。
6.根据权利要求1所述的方法,其特征在于,所述二进制编码的取值为O时,表示在所述子单元上排列有金属,所述二进制编码的取值为I时,表示在所述子单元上未排列有金属。
7.根据权利要求5所述的方法,其特征在于,若所述二进制编码序列的位数固定时,O越多的二进制编码序列其复杂度越低。
8.根据权利要求5所述的方法,其特征在于,选择复杂度从低到高排列的前n3个设计变量进一步包括选择I最连续的前n3个二进制编码序列。
9.根据权利要求1所述的方法,其特征在于,所述物理特性参数为超材料单元在特定频率下的相对介电常数和相对磁导率,或者是超材料单元在一个特定频段内的电场响应曲线、磁场响应曲线和/或折射率响应曲线。
10.根据权利要求1所述的方法,其特征在于,所述最大进化代数T的取值为30代。
全文摘要
本发明公开了一种确定超材料单元结构的方法。该方法包括定义设计变量,初始化设置,个体评价,交叉及变异操作以及终止条件判断。通过上述方式,本发明在两次迭代过程中,先选择适应度高的前n2个设计变量,再从n2个设计变量中选择复杂度从低到高排列的前n3个设计变量作为初始设计变量进行下一次迭代。通过上述方式,一方面降低了处理工作的复杂度,另一方面减小超级个体对种群进化的影响,从而避免出现早熟收敛的局部最优解,能够更好地收敛到全局最优解,提高了工作效率以及全局搜索能力。
文档编号G06F17/50GK103164554SQ201110418349
公开日2013年6月19日 申请日期2011年12月14日 优先权日2011年12月14日
发明者刘若鹏, 季春霖, 岳玉涛, 王海莲 申请人:深圳光启高等理工研究院