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

空间映射(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*©的初始最优解
在这里插入图片描述
其中,表示与粗输入变量向量对应的粗模型的响应向量

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

五大资源之Service(可以固定IP)

Service可以看作是一组同类Pod对外访问接口,借助Service应用可以方便的实现服务发现与负载均衡 创建集群内部可以访问Service #暴露Service(也创建在了namespace dev下) [root@master ~]# kubectl expose deployment(pod控制器) nginx --name=svc-nginx1 --type=Cluste…

MySQL数据库入门到大牛_基础_12_MySQL数据类型精讲

文章目录 1. MySQL中的数据类型2. 整数类型2.1 类型介绍2.2 可选属性2.2.1 M2.2.2 UNSIGNED2.2.3 ZEROFILL 2.3 适用场景2.4 如何选择? 3. 浮点类型3.1 类型介绍3.2 数据精度说明3.3 精度误差说明 4. 定点数类型4.1 类型介绍4.2 开发中经验 5. 位类型:BI…

PyTorch 之 Dataset 类入门学习

PyTorch 之 Dataset 类入门学习 Dataset 类简介 PyTorch 中的 Dataset 类是一个抽象类,用来表示数据集。通过继承 Dataset 类可以进行自定义数据集的格式、大小和其它属性,供后续使用; 可以看到官方封装好的数据集也是直接或间接的继承自 …

《微信小程序案例大全》大学生期末大作业可以直接使用!!

前言 在大学生活中,期末大作业是锻炼和展示自己所学知识的重要时刻。微信小程序作为一种快速、便捷的应用开发方式,成为了大学生开发实践的热门选择。本文将为大家推荐一系列可以直接使用的微信小程序案例,包括仿真社交、图书管理、学习工具…

智慧城市内涝积水监测仪功能,提升城市预防功能

内涝积水监测仪不仅改变了人们应对城市内涝的老办法,还让智慧城市往前迈了一大步。这个监测仪是怎么做到的呢?就是靠它精准的数据监测和预警,让城市管理有了更科学高效的解决妙招。它就像有了个聪明又负责任的助手,让城市管理更加…

排序算法-----快速排序(非递归实现)

目录 前言 快速排序 基本思路 非递归代码实现 前言 很久没跟新数据结构与算法这一栏了,因为数据结构与算法基本上都发布完了,哈哈,那今天我就把前面排序算法那一块的快速排序完善一下,前面只发布了快速排序递归算法,…

不到十个例题带你拿下c++双指针算法(leetcode)

移动零问题 https://leetcode.cn/problems/move-zeroes/submissions/ 1.题目解析 必须在原数组进行修改,不可以新建一个数组 非零元素相对顺序不变 2.算法原理 【数组划分】【数组分块】 这一类题会给我们一个数组,让我们划分区间,比如…

C++虚析构和纯虚析构解决delete堆区父类指针无法调用子类的构造函数

#include<iostream> #include<string>using namespace std;//虚析构和纯虚析构 class Animal { public:Animal(){cout<<"执行Animal的构造函数"<<endl;}~Animal(){cout<<"执行Animal的析构函数"<<endl;}virtual void …

对接苹果支付退款退单接口

前言 一般而言&#xff0c;我们其实很少对接退款接口&#xff0c;因为退款基本都是商家自己决定后进行操作的&#xff0c;但是苹果比较特殊&#xff0c;用户可以直接向苹果发起退款请求&#xff0c;苹果觉得合理会退给用户&#xff0c;但是目前公司业务还是需要对接这个接口&am…

蓝桥杯每日一题2023.11.22

题目描述 题目分析 由题目知其每个品牌积分一定小于315故直接暴力枚举每个品牌如果符合要求直接输出即可 &#xff08;答案&#xff1a;150&#xff09; #include<bits/stdc.h> using namespace std; int main() {for(int i 1; i < 315; i ){for(int j 1; j <…

【无标题】dp80采集机和机器人通信相关框架总结

采血机器人通信解析相关框架总结: 类似于dp80,将整个过程进行了分解如下: 类似于dp80,将整个过程进行了分解如下: 上位机界面在进行点击操作的时候,先是通信协议的解析,解析后改变采血的控制状态如下: Dp80主要框架解析࿱

层次分析法--可以帮助你做决策的简单算法

作用 层次分析法是一个多指标的评价算法&#xff0c;主要用来在做决策时&#xff0c;给目标的多个影响因子做权重评分。特别是那些需要主观决策的、或者需要用经验判断的决策方案&#xff0c;例如&#xff1a; 买房子&#xff08;主观决策&#xff09;选择旅游地&#xff08;…

RabbitMQ快速入门(简单收发消息)

文章目录 前言一、数据隔离1.用户管理2.virtual host 二、控制台收发1.交换机2.队列3.绑定 三、编程式收发1.依赖和配置2.收发信息 总结 前言 1.了解数据隔离 2.RabbitMQ控制台收发信息 3.SpringBoot整合RabbitMQ收发信息 一、数据隔离 1.用户管理 点击Admin选项卡&#xff0…

zookeeper单机版的搭建

一 zookeeper的搭建 1.1 上传zkjar包 1.2 搭建配置 1.解压压缩包 [rootlocalhost export]# tar -zxvf zookeeper-3.7.0-bin.tar.gz 2.创建data文件夹 [rootlocalhost export]# cd apache-zookeeper-3.7.0-bin/ [rootlocalhost apache-zookeeper-3.7.0-bin]# ls bin conf…

Java进阶——多线程相关,实际应用中的积累,持续更新

目录 多线程相关CountDownLatch赛跑的案例countDownLatch.await(300, TimeUnit.SECONDS); Java其他进阶Map的put方法只放一个元素的集合 多线程相关 CountDownLatch 案例&#xff1a;主线程的执行需要等待子线程执行完&#xff0c;等各个线程执行完毕后&#xff0c;主线程做收…

使用gin 代理 web网页

问web项目的代理&#xff0c;业界常用的方案是nginx做代理&#xff0c;这个是网上最多资料的。 因为我需要做自己的流量转发&#xff0c;也就是所有访问都要经过我的一个流量分发微服务&#xff0c;这和nginx作用冲突了。如果再加个nginx来做第一层方向代理和网页的静态资源代…

Linux学习第45天:Linux 多点电容触摸屏实验(三):难忘记第一次牵你手的温存

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本章的思维导图如下&#xff1a; 五、tslib移植与使用 通过 tslib 来直观的测试多点电容触摸屏驱动。 1、tslib移植 1&#xff09;、获取tslib源码 git 地址为…

语音识别技术在医疗行业中的应用案例

随着语音识别技术和计算机视觉技术的不断提高&#xff0c;现代医学正在进入全面数字化时代。 追求高质量的训练数据是人工智能产业的信条&#xff0c;得到更为精准的语音机器模型更离不开语音数据的不断供给。本文讲介绍: 什么是语音识别技术语音识别技术如何应用于医疗行业 …

【办公常识】写好的代码如何上传?使用svn commit

首先找到对应的目录 找到文件之后点击SVN Commit

基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码

基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于天鹰算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于天鹰优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…