电磁优化的并行空间映射方法

空间映射(SM)是一种公认的加速电磁优化的方法。现有的SM方法大多基于顺序计算机制。本文提出了一种用于电磁优化的并行SM方法。在该方法中,每次迭代开发的代理模型被训练以同时匹配多个点的精细模型。多点训练和SM使代理模型在比标准SM更大的邻域内有效。本文提出的多点代理模型训练方法本质上适合于并行计算,并通过并行计算实现。这包括并行的多个精细模型评估和使用并行算法的多点代理训练。与标准模型相比,该方法进一步减少了模型的迭代次数,加快了优化过程。通过三个微波滤波器实例说明了该技术。

SM优化公式
标准SM 1:是指在每次迭代[1]中使用单点精细模型数据训练代理模型的公式
标准SM 2:是指每次迭代中的代理模型都用当前和之前所有迭代积累的精细模型数据进行训练的公式
并行SM优化算法
所提出的优化将被制定为一个框架与一个粗模型的框架,开发代理模型使用并行处理,并使用代理模型进行设计优化。粗模型选择与现有的SM方法相同。下面提出了一种使用并行计算方法的替代建模。
在这里插入图片描述

在多点上的代理建模

在该方法中,为了建立一个快速、准确的代理模型,以准确地**表示较大邻域内的精细模型,我们开发了代理模型来在多个点上匹配精细模型。对于每个多个点**,都应该进行一次良好的模型评估在这些点上的精细模型响应数据,用于训练代理模型。这类点的数量随着设计变量的数量的增加而增加。我们选择了一种抽样方法来减少点的数量。最常见的两种样本分布是网格分布和星形分布

在实验中 candes等人对信号在傅里叶空间的变换系数进行极坐标星形抽样,获得了非常好的还原效果

当设计变量数目n较小时,网格分布抽样方法是可行的。然而,当n变大时,网格分布导致数据点呈指数增长。此外,如此大的数据量也使得训练的计算成本更高。因此,星形分布是首选[23],因为随着n的增加,点的数量呈线性增长。

在我们提出的SM公式中,每次迭代都使用星形分布。在第6次迭代中,我们在代理模型Xk的最优解周围生成了多个星形分布的样本点。图1显示了我们提出的多点采样方法来训练代理模型。在本文中,我们将Xk作为第6次迭代中星形分布的中心点。我们沿每个维度扰动中心点两次,一次向正方向,一次向负方向。根据粗模型灵敏度确定各设计参数的偏差百分比。按照星形分布策略,我们在中心周围找到精细模型的其他2n个点。
设Xk(1),Xk(2),…Xk(2n+1),表示以Xk(1)为中心的起始分布的2n+1个点,即Xk(1)=Xk,其余2n个点位于该中心的邻域。当优化过程移动到下一次迭代时,星形分布的中心从Xk移动到Xk+1。所有其他的星形分布中的点也相应移动,如图所示
如图1所示。

使用并行方法计算

精细的模型数据生成通常只占总计算时间的主要计算负担,如果我们使用顺序计算方法,数据样本的数据生成需要乘以精细模型评估的计算时间

提出了一种使用多个处理器并行生成精细模型数据的方法。利用并行处理器在这些星形分布点上进行了精细的模型评估。并行加速因子和并行效率作为我们的优化方法的性能标准的一部分。开销成本与每次迭代中的数据样本的生成相关联,例如,并行运行的多个处理器之间的通信时间。设加速为单个处理器上的数据生成时间与并行处理器上的数据生成时间之间的比率

在我们提出的方法中,精细模型数据生成使用并行计算方法来生成EM数据。同样,在优化代理模型以匹配2n+1个点的精细模型数据的训练过程中,也使用并行计算来减少建模时间,从而在优化过程中实现进一步的加速。在训练过程中,必须对所有数据采样点迭代求代理模型与数据之间的训练误差,以及该误差相对于映射参数的导数。这个计算是代理训练计算的主要部分。因此,我们将多点训练数据分成2n+1个独立的训练数据集,由2n+1个处理器并行使用。并行计算2n+1个训练误差及其导数,然后合并得到总训练误差和总训练误差的导数。训练过程的并行加速和并行效率的定义与精细模型数据的并行生成相似。

并行SM优化算法

在本节中,我们将描述我们所提出的并行SM优化的总体算法。
首先,用单元映射初始化映射函数
在这里插入图片描述
使用单元映射,初始代理模型等于粗模型。然后利用粗模型进行设计优化,通过求解找到粗模型x*©的初始最优解
在这里插入图片描述
其中,表示与粗输入变量向量对应的粗模型的响应向量

在这里插入图片描述
用单元映射初始化代理模型→粗模型设计优化:寻找初始代理模型的最优解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/207363.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7-34 通讯录的录入与显示

方法1 import java.util.Scanner;class PTA34 {public static void main (String [] args) {Scanner sc new Scanner(System.in);String s sc.nextLine();int nInteger.parseInt(s);addressbook[] aanew addressbook[n];for (int i 0; i < n; i) {String addressline sc…

【数据库】数据库中的备份与恢复,保障容灾时的数据一致性与完整性

数据库的备份机制 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专栏会定期…

Postman插件如何安装(一)

我们chrome插件网热门推荐的软件之一就是postman。但是postman的适应平台分为&#xff1a;postman chrome应用程序&#xff0c;postman应用程序&#xff0c;postman插件。谷歌应用商店从2018年3月开始停止chrome应用程序的更新。除非继续使用老版本的postman chrome应用程序&am…

报表系统是什么?如何快速帮助企业数字化转型?

在信息洪流中&#xff0c;企业需要应对日益增长的数据量和复杂业务环境&#xff0c;这需要借助科技手段来驾驭数据管理和决策分析。报表系统&#xff0c;作为企业决策的重要工具&#xff0c;就如同航海的罗盘&#xff0c;帮助企业在数据的海洋中快速定位&#xff0c;从而提高管…

线程池有几种创建方式?

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

来吧,SpringBoot的自动配置原理都在这里了

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…

C运算符与表达式

跟着肯哥&#xff08;不是我&#xff09;学运算符与表达式 运算符 在C语言中&#xff0c;运算符是一种用来执行特定操作的符号或关键字。它们用于对变量、常量和表达进行计算、逻辑判断和位操作等。 定义一般都当耳旁风了 运算符分类 算术运算符 -*/%加减乘除取模&#xff0c;…

计算机组成原理(万字爆肝整理)

第一章 计算机系统概述 “较简单&#xff0c;不做过多赘述&#xff0c;后面会详细学到” 第一节 计算机系统层次结构 1.计算机系统的基本组成&#xff1a;硬件软件 2.计算机硬件的基本组成&#xff1a;运算器存储器控制器输入设备输出设备 3.系统软件和应用软件 系统软件…

【PyGIS】使用阿里AIEarth快速下载指定区域指定年份的土地利用数据

说明 中国逐年土地覆盖数据集(CLCD) 由武汉大学的杨杰和黄昕教授团队基于Landsat影像制作了中国逐年土地覆盖数据集(annual China Land Cover Dataset, CLCD),数据包含1985—2021年中国逐年土地覆盖信息。研究团队基于Landsat长时序卫星观测数据,构建时空特征,结合随机森…

编码的发展历史

编码的发展历史 ASCII&#xff1a; ASCII编码使用7位二进制数表示一个字符&#xff0c;范围从0到127。每个字符都有一个唯一的ASCII码值与之对应。例如&#xff0c;大写字母"A"的ASCII码是65&#xff0c;小写字母"a"的ASCII码是97。 ASCII字符集包括英文…

2023年【起重机械指挥】考试题及起重机械指挥找解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 起重机械指挥考试题考前必练&#xff01;安全生产模拟考试一点通每个月更新起重机械指挥找解析题目及答案&#xff01;多做几遍&#xff0c;其实通过起重机械指挥作业考试题库很简单。 1、【多选题】按照事故造成的人…

Java基础(程序控制结构篇)

Java的程序控制结构与C语言一致&#xff0c;分为顺序结构、选择结构&#xff08;分支结构&#xff09;和循环结构三种。 一、顺序结构 如果程序不包含选择结构或是循环结构&#xff0c;那么程序中的语句就是顺序的逐条执行&#xff0c;这就是顺序结构。 import java.util.Sc…