【MATLAB第100期】基于MATLAB的多种改进拉丁超立方LHS数据抽样方法

2024-03-11 00:20

本文主要是介绍【MATLAB第100期】基于MATLAB的多种改进拉丁超立方LHS数据抽样方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【MATLAB第100期】基于MATLAB的多种改进拉丁超立方LHS数据抽样方法

在这里插入图片描述

一、LHS种类

1、LHS

使用随机搜索生成拉丁超立方体样本。LHS函数特别适用于非常大的设计,当本机MATLAB函数内存不足时。这可能取决于MATLAB版本和所用机器的配置。当尝试运行“lhsdesign”但未成功时,此功能最有用。设计的每一行代表一个点(或样本)。设计变量被规范化,使得超立方体点的值在0和1之间。它使用最大帧间距离算法进行迭代。

2、OLHS

OLHS生成优化的拉丁超立方体样本。它使用Jin等人(2005)提出的增强随机进化算法(ESEA)或Bates等人(2004)提出的遗传算法(GA)来解决优化问题。设计的每一行代表一个运行(或示例)。设计变量被规范化,使得超立方体点的值在0和1之间。

在ESEA和GA策略中,由于用于解决优化问题的启发式优化技术的随机性,所获得的实验设计可能会从一次运行更改为另一次运行。

参考文献:
Jin R, Chen W and Sudjianto A, “An efficient algorithm for constructing optimal design of computer experiments,” Journal of Statistical Planning
and Inference, Vol. 134, pp 268 287, 2005.

Bates SJ, Sienz J, and Toropov VV, “Formulation of the optimal Latin
hypercube design of experiments using a permutation genetic algorithm,”
45th AIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics and Materials Conference, Palm Springs, CA, 19 22 April 2004. AIAA-2004-2011.

3、TPLHS

LHS=TPLHS(nPoints,nDV,seed)
TPLHS通过使用平移传播算法(TPA)生成拉丁超立方体设计。目标是在不使用形式优化的情况下获得最优(或接近最优)拉丁超立方体设计。该过程需要最少的计算工作量,并且结果实际上是实时提供的。该算法利用点位置模式,基于PHIp准则(最大距离准则的变体)进行最优拉丁超立方体设计。由一个或多个点组成的小构建块(称为SEED)用于通过在超空间中的简单平移来重新创建这些模式。在TPA的开发过程中进行的研究发现,(i)随着维度的增加,PHIp的分布倾向于降低值;以及(ii)通过TPA获得的拉丁超立方体设计代表了高达中等尺寸的最佳拉丁超立方体的有吸引力的替代方案。得出的结论是,对于多达六个维度(无论点密度如何),所提出的拉丁超立方体设计提供了最优拉丁超立方体的计算上廉价的估计。设计的每一行代表一个运行(或示例)。设计变量被规范化,使得超立方体点的值在0和1之间。
例如:

P=TPLHS(NPOINTS,NDV)
通过NDV矩阵生成NPOINTS,NPOINTS是点数,NDV是变量数。
在这种情况下使用的种子设计是放置在设计空间原点的单个点。P=TPLHS(NPOINTS,NDV,SEED):通过NDV矩阵生成NPOINTS,NPOINTS
是点数,NDV是变量数。SEED是用于构建ELHD的基本拉丁超立方体设计。
1乘NDV SEED不需要归一化。P=TPLHS(NPOINTS,NDV,NTRIALS):通过NDV矩阵生成NPOINTS,
NPOINTS是点数,NDV是变量数。该算法运行NTRIALS次,种子大小从1到
NTRIALS不等。P是根据PHIp准则找到的最佳设计。

PHIp标准是对样本的点在设计空间上的分布程度的度量:
s
PHIp = ( sum J d^(-p) )^(1/p)
i=1
其中p是正整数d是距离值;J是由d分隔的设计中的点对的数量;s是不同距离值的数量。任意点对之间的一般点间距离可以表示如下:

nv
d_ij=(sum|x_ik-x_jk|(t))(1/t)
k=1
其中nv是变量的数量。

PHIP=PHIPfun(X):返回X中给定设计的PHIP值;假设p=50并且t=1。
PHIP=PHIPfun(X,p):返回X中给定的设计的PHIP值,其中p为p,假设t=1。
PHIP=PHIPfun(X,p,t):返回给定值为p和t的X中给定设计的PHIP值。

参考文献:
Viana FAC, Venter G, and Balabanov V, “An algorithm for fast optimal Latinhypercube design of experiments,” International Journal for NumericalMethods in Engineering, Vol. 82 (2), pp. 135-156, 2010
(DOI:10.1002/nme.2750).

二、主程序

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%VarMin=[0 0 0];%各个参数下限
VarMax=[10  10 10];%各个参数上限
designspace=[VarMin;VarMax];%各个参数上下限
ndv = size(designspace, 2);%优化变量数量
npoints = 5;%抽样样本数
%% 一、在限定范围抽样
%% 1.LHS
X_LHS= createdoe(npoints,designspace,zeros(1,ndv),'lhc',0);
%% 2.TPLHS
X_TPLHS = SV(TPLHS(npoints, ndv), ...[zeros(1, ndv); ones(1, ndv)], ...designspace);%TPLHS抽样%% 二、在0-1范围抽样%% 1.LHS
iter=10;%迭代次數
X_LHS = LHfun(npoints, ndv,iter);%LHS抽样%% 2.ESEAOLHS
maxiter=50;
maxstalliter=20;
X_ESEAOLHS = ESEAOLHS(npoints, ndv, maxiter, maxstalliter);%ESEAOLHS抽样%% 3.GAOLHS
maxiter=50;
maxstalliter=20;
popsize=10*ndv;
X_GAOLHS = GAOLHS(npoints, ndv, maxiter, maxstalliter, popsize);%GAOLHS抽样

1、在限定范围抽样

(1)LHS

3.56160546861497	4.13444987304314	8.40777901990457
7.56802830455472	7.09267199095473	0.371967723696977
0.876211034143974	9.45225031978424	2.33170416235385
5.49104414252227	0.322064092441767	7.33971145788749
8.69849041404605	3.43078769064378	5.37088724880758

(2)TPLHS

5	0	0
0	7.50	2.50
7.50	10	5
2.50	2.50	7.50
10	5	10

2、在0-1范围抽样

(1)LHS

0	0	0.750000000000000
1	0.250000000000000	0.250000000000000
0.750000000000000	0.750000000000000	0.500000000000000
0.250000000000000	1	1
0.500000000000000	0.500000000000000	0

(2)GAOLHS

0.750000000000000	0.750000000000000	1
1	0.250000000000000	0.500000000000000
0	0.500000000000000	0.750000000000000
0.500000000000000	1	0.250000000000000
0.250000000000000	0	0

(3)ESEAOLHS

0.500000000000000	0.750000000000000	0
1	0.500000000000000	0.750000000000000
0	0.250000000000000	0.500000000000000
0.250000000000000	1	1
0.750000000000000	0	0.250000000000000

三、代码获取

1.阅读首页置顶文章
2.关注CSDN
3.根据自动回复消息,回复“100期”以及相应指令,即可获取对应下载方式。

这篇关于【MATLAB第100期】基于MATLAB的多种改进拉丁超立方LHS数据抽样方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

python3 pip终端出现错误解决的方法详解

《python3pip终端出现错误解决的方法详解》这篇文章主要为大家详细介绍了python3pip如果在终端出现错误该如何解决,文中的示例方法讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下... 目录前言一、查看是否已安装pip二、查看是否添加至环境变量1.查看环境变量是http://www.cppcns

Linux给磁盘扩容(LVM方式)的方法实现

《Linux给磁盘扩容(LVM方式)的方法实现》本文主要介绍了Linux给磁盘扩容(LVM方式)的方法实现,涵盖PV/VG/LV概念及操作步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录1 概念2 实战2.1 相关基础命令2.2 开始给LVM扩容2.3 总结最近测试性能,在本地打数据时,发现磁盘空

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

电脑提示Winmm.dll缺失怎么办? Winmm.dll文件丢失的多种修复技巧

《电脑提示Winmm.dll缺失怎么办?Winmm.dll文件丢失的多种修复技巧》有时电脑会出现无法启动程序,因为计算机中丢失winmm.dll的情况,其实,winmm.dll丢失是一个比较常见的问... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案

《使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案》在SpringBoot应用中,我们经常使用​​@Cacheable​​注解来缓存数据,以提高应用的性能... 目录@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案1