【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之间。

例如:

clike 复制代码
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是变量的数量。

clike 复制代码
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).

二、主程序

clike 复制代码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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

clike 复制代码
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

clike 复制代码
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

clike 复制代码
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

clike 复制代码
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

clike 复制代码
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期"以及相应指令,即可获取对应下载方式。

相关推荐
kaikaile19956 小时前
MATLAB 灰度图像的二维傅里叶变换
算法·计算机视觉·matlab
具***76 小时前
探索 S7 - 1200 地铁屏蔽门控制系统
matlab
yugi9878387 小时前
MATLAB在卫星姿态控制系统中的应用
开发语言·matlab
Dev7z10 小时前
基于MATLAB的GA–PSO混合算法无线传感器网络节点部署优化研究
网络·算法·matlab
机器学习之心11 小时前
MATLAB基于RSM和MOGWO的440C不锈钢外圆磨削参数优化
matlab·rsm·不锈钢外圆磨削参数优化
元周民11 小时前
非厄米矩阵高精度计算预先判定需要的计算精度(matlab)
线性代数·matlab·矩阵
天`南12 小时前
【群智能算法改进】一种改进的金豺优化算法IGJO[1](动态折射反向学习、黄金正弦策略、自适应能量因子)【Matlab代码#94】
学习·算法·matlab
机器学习之心12 小时前
基于组合赋权法(BWM+CRITIC)与可拓云理论的综合风险评估模型MATLAB代码
matlab·组合赋权法·可拓云理论·综合风险评估模型
Dev7z14 小时前
基于MATLAB的5G通信信号频谱分析与信道性能仿真研究
开发语言·5g·matlab
我爱C编程14 小时前
基于大衍数构造的稀疏校验矩阵LDPC误码率matlab仿真,对比不同译码迭代次数,码率以及码长
matlab·ldpc·大衍数·稀疏校验矩阵