基于神经网络算法的函数寻优和工程优化
Posted 心️升明月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于神经网络算法的函数寻优和工程优化相关的知识,希望对你有一定的参考价值。
文章目录
一、理论基础
1、神经网络算法
文献[1]的研究以生物神经系统和人工神经网络为灵感,提出了一种求解复杂优化问题的元启发式优化算法——神经网络算法(Neural network algorithm, NNA),它是基于人工神经网络(Artificial neural networks, ANNs)的独特结构而发展起来的。
(1)生成初始种群
为了解决优化问题,需要将决策变量的值表示为一个数组。在解释NNA过程之前,应该先介绍一下用来描述这种算法的关键术语。每个个体或代理,一个包含每个优化变量的值的集合,被称为“模式解”(例如,在GA中,这个数组被称为“染色体”)。在
D
D
D维优化问题中,模式解是
1
×
D
1\\times D
1×D的数组,表示NNA中的输入数据。这个数组的定义如下:
P
a
t
t
e
r
n
S
o
l
u
t
i
o
n
=
[
x
1
,
x
2
,
⋯
,
x
D
]
(1)
PatternSolution=[x_1,x_2,\\cdots,x_D]\\tag1
PatternSolution=[x1,x2,⋯,xD](1)实际上,模式解的种群对应于人工神经网络中的输入数据。为了启动优化算法,生成一个尺寸为
N
p
o
p
×
D
N_pop\\times D
Npop×D的模式解矩阵候选者。因此,在问题的上下限之间随机生成的矩阵
X
X
X如下所示(行和列分别是种群数量(
N
p
o
p
N_pop
Npop和维度数目(
D
D
D)):
P
o
p
u
l
a
t
i
o
n
o
f
P
a
t
t
e
r
n
S
o
l
u
t
i
o
n
s
=
X
=
[
x
1
1
x
2
1
x
3
1
⋯
x
D
1
x
1
2
x
2
2
x
3
2
⋯
x
D
2
⋮
⋮
⋮
⋮
⋮
x
1
N
p
o
p
x
2
N
p
o
p
x
3
N
p
o
p
⋯
x
D
N
p
o
p
]
(2)
Population\\,\\,of\\,\\,Pattern\\,\\,Solutions=X=\\beginbmatrix x_1^1 & x_2^1 & x_3^1 & \\cdots & x_D^1 \\\\[2ex]x_1^2 & x_2^2 & x_3^2 & \\cdots &x_D^2\\\\[2ex]\\vdots & \\vdots & \\vdots & \\vdots & \\vdots \\\\[2ex] x_1^N_pop & x_2^N_pop & x_3^N_pop & \\cdots & x_D^N_pop\\endbmatrix\\tag2
PopulationofPatternSolutions=X=⎣
⎡x11x12⋮x1Npopx21x22⋮x2Npopx31x32⋮x3Npop⋯⋯⋮⋯xD1xD2⋮xDNpop⎦
⎤(2)每个决策变量值
(
x
1
,
x
2
,
⋯
,
x
D
)
(x_1, x_2,\\cdots,x_D)
(x1,x2,⋯,xD)都可以表示为浮点数(即实数),也可以定义为一组离散变量。模式解的代价是通过对对应模式解的代价函数(适应度函数)(
C
C
C)进行评估得到的,如下所示:
C
i
=
f
(
x
1
i
,
x
2
i
,
⋯
,
x
D
i
)
(3)
C_i=f(x_1^i,x_2^i,\\cdots,x_D^i)\\tag3
Ci=f(x1i,x2i,⋯,xDi)(3)其中,
f
f
f是目标函数。带有向量符号的符号被对应为向量值(数组),否则其余的符号和参数被认为是标量值。在计算出所有模式解的代价函数(适应度函数)后,再找出被认为是目标解的最佳模式解(本文中为目标函数值最小的候选解)。
NNA类似于具有
D
D
D维
N
p
o
p
N_pop
Npop输入数据和只有一个目标数据(响应)的
A
N
N
ANN
ANN。在其他模式解中设置目标解(
X
T
a
r
g
e
t
X^Target
XTarget)后,必须从权重(权重矩阵)的种群中选择目标权重(
W
T
a
r
g
e
t
W^Target
WTarget),即与目标解对应的权重。
(2)权重矩阵
ANN的初始权值为随机数,当迭代次数增加时,会考虑网络的计算误差进行更新。回到NNA,初始权值的定义如下式所示:
W
(
t
)
=
[
W
1
,
W
2
,
⋯
,
W
N
p
o
p
]
=
[
w
1
1
⋯
w
1
i
⋯
w
1
N
p
o
p
w
2
1
⋯
w
2
i
⋯
w
2
N
p
o
p
⋮
⋮
⋮
w
N
p
o
p
1
⋯
w
N
p
o
p
i
⋯
w
N
p
o
p
N
p
o
p
]
=
[
w
11
⋯
w
i
1
⋯
w
N
p
o
p
1
w
12
⋯
w
i
2
以上是关于基于神经网络算法的函数寻优和工程优化的主要内容,如果未能解决你的问题,请参考以下文章