文章目录

  • 一、理论基础
    • 1、海马优化算法
      • (1)初始化
      • (2)海马的移动行为
      • (3)海马的捕食行为
      • (4)海马的繁殖行为
    • 2、SHO算法伪代码
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、海马优化算法

文献[1]以自然界中海马的运动、捕食和繁殖行为为灵感,提出了一种新的基于群体智能的元启发式算法——海马优化算法(Sea-horse optimizer, SHO)。

(1)初始化

与其他现有的元启发式相似,SHO也从种群初始化开始。设每只海马代表问题搜索空间中的一个候选解,海马的整个种群(简称海马)可表示为: S e a h o r s e s = [ x 1 1 ⋯ x 1 D i m ⋮ ⋱ ⋮ x p o p 1 ⋯ x p o p D i m ] (1) Seahorses=\begin{bmatrix}x_1^1 & \cdots & x_1^{Dim}\\\vdots & \ddots & \vdots\\x_{pop}^1 & \cdots & x_{pop}^{Dim}\end{bmatrix}\tag{1} Seahorses=⎣ ⎡​x11​⋮xpop1​​⋯⋱⋯​x1Dim​⋮xpopDim​​⎦ ⎤​(1)其中, D i m Dim Dim表示变量的维数, p o p pop pop表示种群个体数量。
每个解都是在指定问题的下限和上限之间随机生成的,分别用 L B LB LB和 U B UB UB表示。搜索空间 [ L B , U B ] [LB,UB] [LB,UB]中第 i i i个个体 X i X_i Xi​的表达式为: X i = [ x i 1 , … , x i D i m ] x i j = r a n d × ( U B j − L B j ) + L B j (2) \begin{array}{c}X_i=\left[x_i^1,\ldots,x_i^{Dim}\right]\\[2ex]x_i^j=rand\times(UB^j-LB^j)+LB^j\end{array}\tag{2} Xi​=[xi1​,…,xiDim​]xij​=rand×(UBj−LBj)+LBj​(2)其中, r a n d rand rand表示 [ 0 , 1 ] [0,1] [0,1]中的随机值, x i j x_i^j xij​表示第 i i i个个体的第 j j j维, i i i是取值范围为 1 ∼ p o p 1\sim pop 1∼pop的正整数, j j j是取值范围为 [ 1 , D i m ] [1,Dim] [1,Dim]的正整数, L B j LB^j LBj和 U B j UB^j UBj表示优化问题第 j j j个变量的下界和上界。
以最小优化问题为例,将适应度最小的个体视为精英个体,记为 X e l i t e X_{elite} Xelite​。 X e l i t e X_{elite} Xelite​可由式(3)得到: X e l i t e = a r g m i n ( f ( X i ) ) (3) X_{elite}=argmin(f(X_i))\tag{3} Xelite​=argmin(f(Xi​))(3)其中, f ( ⋅ ) f(\cdot) f(⋅)为给定问题的目标函数值。

(2)海马的移动行为

对于海马的移动行为,海马的不同运动模式近似服从正态分布 r a n d n ( 0 , 1 ) randn(0,1) randn(0,1)。为了权衡探索和开发的性能,取 r 1 = 0 r_1 = 0 r1​=0为分界点,一半用于局部开发,另一半用于全局搜索。所以运动可以分为以下两种情况:
第一种情况:海马的螺旋运动伴随着海洋中的旋涡。当正态随机值 r 1 r_1 r1​位于分界点右侧时,它主要实现SHO的局部开发。海马沿着螺旋运动向精英个体 X e l i t e X_{elite} Xelite​移动,特别是使用莱维飞行来模拟海马的移动步长,这有利于在迭代早期以较大概率跨越到其他位置的海马,避免了SHO的过度局部开发。同时,海马的这种螺旋移动方式不断改变旋转角度,以扩大现有局部解的邻域。在这种情况下,可以用数学表示,生成海马的新位置如下: X n e w 1 ( t + 1 ) = X i ( t ) + L e v y ( λ ) ( ( X e l i t e ( t ) − X i ( t ) ) × x × y × z + X e l i t e ) (4) X_{new}^1(t+1)=X_i(t)+Levy(\lambda)((X_{elite}(t)-X_i(t))\times x\times y\times z+X_{elite})\tag{4} Xnew1​(t+1)=Xi​(t)+Levy(λ)((Xelite​(t)−Xi​(t))×x×y×z+Xelite​)(4)其中, x = ρ × cos ⁡ ( θ ) x=\rho\times\cos(\theta) x=ρ×cos(θ), y = ρ × sin ⁡ ( θ ) y=\rho\times\sin(\theta) y=ρ×sin(θ)和 z = ρ × θ z=\rho\times\theta z=ρ×θ分别表示螺旋运动下坐标 ( x , y , z ) (x, y, z) (x,y,z)的三维分量,这有利于更新搜索代理的位置; ρ = u × e θ v \rho=u\times e^{\theta v} ρ=u×eθv表示由对数螺旋常数 u u u和 v v v定义的杆的长度(设置 u = 0.05 u=0.05 u=0.05和 v = 0.05 v=0.05 v=0.05); θ \theta θ是 [ 0 , 2 π ] [0,2\pi] [0,2π]之间的随机值; L e v y ( z ) Levy(z) Levy(z)表示莱维飞行分布函数,并且由式(5)计算得到。 L e v y ( z ) = s × w × σ ∣ k ∣ 1 λ (5) Levy(z)=s\times\frac{w\times\sigma}{|k|^{\frac1\lambda}}\tag{5} Levy(z)=s×∣k∣λ1​w×σ​(5)在式(5)中, λ \lambda λ是 [ 0 , 2 ] [0,2] [0,2]之间的随机数(本文设 λ = 1.5 \lambda = 1.5 λ=1.5), s s s是一个固定常数0.01, w w w和 k k k是[0,1]之间的随机数, σ σ σ由式(6)计算: σ = ( Γ ( 1 + λ ) × sin ⁡ ( π λ 2 ) Γ ( 1 + λ 2 ) × λ × 2 ( λ − 1 2 ) ) (6) \sigma=\left(\frac{\Gamma(1+\lambda)\times\displaystyle\sin\left(\frac{\pi\lambda}{2}\right)}{\displaystyle\Gamma\left(\frac{1+\lambda}{2}\right)\times\lambda\times2^{\left(\frac{\lambda-1}{2}\right)}}\right)\tag{6} σ=⎝ ⎛​Γ(21+λ​)×λ×2(2λ−1​)Γ(1+λ)×sin(2πλ​)​⎠ ⎞​(6)第二种情况:海马随海浪的布朗运动。在漂移作用下,当 r 1 r_1 r1​位于分界点左侧时,进行SHO探索。在这种情况下,搜索操作对于避免SHO的局部极值非常重要。布朗运动用于模拟海马的另一个移动长度,以确保其在搜索空间中更好地探索。这种情况下的数学表达式为: X n e w 1 ( t + 1 ) = X i ( t ) + r a n d ∗ l ∗ β t ∗ ( X i ( t ) − β t ∗ X e l i t e ) (7) X_{new}^1(t+1)=X_i(t)+rand^*l^*{\beta_t}^*\left(X_i(t)-{\beta_t}^*X_{elite}\right)\tag{7} Xnew1​(t+1)=Xi​(t)+rand∗l∗βt​∗(Xi​(t)−βt​∗Xelite​)(7)其中, l l l为常数系数(本文设置 l = 0.05 l=0.05 l=0.05); β t \beta_t βt​为布朗运动的随机游走系数,本质上是一个服从标准正态分布的随机值。它可以由式(8)得到。 β t = 1 2 π e x p ( − x 2 2 ) (8) \beta_t=\frac{1}{\sqrt{2\pi}}exp\left(-\frac{x^2}{2}\right)\tag{8} βt​=2π ​1​exp(−2x2​)(8)综上所述,这两种情况可以得到海马在第 t t t次迭代时的新位置: X n e w 1 ( t + 1 ) = { X i ( t ) + L e v y ( λ ) ( ( X e l i t e ( t ) − X i ( t ) ) × x × y × z + X e l i t e ) r 1 > 0 X i ( t ) + r a n d ∗ l ∗ β t ∗ ( X i ( t ) − β t ∗ X e l i t e ) r 1 ≤ 0 (9) X_{new}^1(t+1)=\begin{dcases}X_i(t)+Levy(\lambda)((X_{elite}(t)-X_i(t))\times x\times y\times z+X_{elite})\quad r_1>0\\[2ex]X_i(t)+rand^*l^*{\beta_t}^*\left(X_i(t)-{\beta_t}^*X_{elite}\right)\quad\quad\quad\quad\quad\quad\quad\quad\quad\, r_1\leq0\end{dcases}\tag{9} Xnew1​(t+1)=⎩ ⎨ ⎧​Xi​(t)+Levy(λ)((Xelite​(t)−Xi​(t))×x×y×z+Xelite​)r1​>0Xi​(t)+rand∗l∗βt​∗(Xi​(t)−βt​∗Xelite​)r1​≤0​(9)其中, r 1 = r a n d n ( ) r_1=randn() r1​=randn()表示标准正态随机数。

(3)海马的捕食行为

海马捕食浮游动物和小型甲壳动物有两种结果:成功和失败。考虑到海马成功捕获食物的概率超过90%,设计SHO的随机数 r 2 r_2 r2​来区分这两个结果,并将其设置为临界值0.1。由于精英在一定程度上表示了猎物的大致位置,因此捕食成功强调了SHO的开发能力。如果 r 2 > 0.1 r_2>0.1 r2​>0.1,则意味着海马的捕食是成功的,即海马接近猎物(精英),比猎物移动得更快,最终将其捕获。否则,当捕食失败时,两者的响应速度与之前相反,这意味着海马倾向于探索搜索空间。这种捕食行为的数学表达式是: X n e w 2 ( t + 1 ) = { α ∗ ( X e l i t e − r a n d ∗ X n e w 1 ( t ) ) + ( 1 − α ) ∗ X e l i t e i f r 2 > 0.1 ( 1 − α ) ∗ ( X n e w 1 ( t ) − r a n d ∗ X e l i t e ) + α ∗ X n e w 1 ( t ) i f r 2 ≤ 0.1 (10) X_{new}^2(t+1)=\begin{dcases}\alpha^*\left(X_{elite}-rand^*X_{new}^1(t)\right)+(1-\alpha)^*X_{elite}\quad\quad if\,\,r_2>0.1\\[2ex](1-\alpha)^*\left(X_{new}^1(t)-rand^*X_{elite}\right)+\alpha^*X_{new}^1(t)\quad if\,\,r_2\leq0.1\end{dcases}\tag{10} Xnew2​(t+1)=⎩ ⎨ ⎧​α∗(Xelite​−rand∗Xnew1​(t))+(1−α)∗Xelite​ifr2​>0.1(1−α)∗(Xnew1​(t)−rand∗Xelite​)+α∗Xnew1​(t)ifr2​≤0.1​(10)其中, X n e w 1 ( t ) X_{new}^1(t) Xnew1​(t)表示海马在迭第 t t t次迭代时移动后的新位置; r 2 r_2 r2​是 [ 0 , 1 ] [0,1] [0,1]之间的随机数; α \alpha α随迭代线性减小,以调整海马捕食时的移动步长,由式(11)计算。 α = ( 1 − t T ) 2 t T (11) \alpha=\left(1-\frac tT\right)^{\frac{2t}{T}}\tag{11} α=(1−Tt​)T2t​(11)其中, T T T表示最大迭代次数。

(4)海马的繁殖行为

根据适应度值,种群被分为雄性和雌性群体。由于雄性海马负责繁殖,SHO算法将具有最佳适应度值的一半个体作为父体,另一半作为母体。这种划分将有利于父体和母体之间继承好的特征,以培养下一代,并避免新解决方案的过度局部化。海马角色分配的数学表达式为: f a t h e r s = X s o r t 2 ( 1 : p o p / 2 ) m o t h e r s = X s o r t 2 ( p o p / 2 + 1 : p o p ) (12) \begin{array}{c}fathers=X_{sort}^2(1:pop/2)\\[2ex]mothers=X_{sort}^2(pop/2+1:pop)\end{array}\tag{12} fathers=Xsort2​(1:pop/2)mothers=Xsort2​(pop/2+1:pop)​(12)其中, X s o r t 2 X_{sort}^2 Xsort2​表示所有 X n e w 2 X_{new}^2 Xnew2​按适应度值升序排列, f a t h e r s fathers fathers和 m o t h e r s mothers mothers分别来自雄性和雌性群体。
雄性和雌性随机交配产生新的后代。为了使所提出的SHO算法易于执行,假设每对海马只繁殖一个后代。第 i i i个子代的表达式如下: X i o f f s p r i n g = r 3 X i f a t h e r + ( 1 − r 3 ) X i m o t h e r (13) X_i^{offspring}=r_3X_i^{father}+(1-r_3)X_i^{mother}\tag{13} Xioffspring​=r3​Xifather​+(1−r3​)Ximother​(13)其中, r 3 r_3 r3​是 [ 0 , 1 ] [0,1] [0,1]之间的随机数, i i i是 [ 1 , p o p / 2 ] [1,pop/2] [1,pop/2]范围内的正整数, X f a t h e r X^{father} Xfather和 X m o t h e r X^{mother} Xmother分别表示从雄性和雌性群体中随机选择的个体。

2、SHO算法伪代码

SHO算法的伪代码如图1所示。

图1 SHO算法伪代码

二、仿真实验与结果分析

将SHO与SCA、SFO、TSA和ChOA进行对比,以文献[1]中表2~表4的F3、F5、F7(单峰函数/30维)、F10、F11、F12(多峰函数/30维)、F15、F16、F18(固定维度多峰函数/4维、2维、2维)为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算30次,结果显示如下:

函数:F3
SCA:最差值: 18368.1464, 最优值: 381.1087, 平均值: 8870.2067, 标准差: 5411.8773, 秩和检验: 3.0199e-11
SFO:最差值: 7759.311, 最优值: 6.8185, 平均值: 1761.5799, 标准差: 1924.3401, 秩和检验: 3.0199e-11
TSA:最差值: 0.0055186, 最优值: 3.8235e-09, 平均值: 0.00039452, 标准差: 0.0011145, 秩和检验: 3.0199e-11
ChOA:最差值: 595.7466, 最优值: 0.33056, 平均值: 78.0833, 标准差: 147.4911, 秩和检验: 3.0199e-11
SHO:最差值: 1.1809e-96, 最优值: 9.2915e-109, 平均值: 4.1727e-98, 标准差: 2.1545e-97, 秩和检验: 1
函数:F5
SCA:最差值: 1843098.6418, 最优值: 29.1753, 平均值: 133966.1289, 标准差: 354304.683, 秩和检验: 3.0199e-11
SFO:最差值: 3070.9505, 最优值: 13.8042, 平均值: 197.8938, 标准差: 549.5994, 秩和检验: 3.6459e-08
TSA:最差值: 29.745, 最优值: 26.0271, 平均值: 28.5275, 标准差: 0.7178, 秩和检验: 0.053685
ChOA:最差值: 28.9706, 最优值: 27.383, 平均值: 28.8451, 标准差: 0.3209, 秩和检验: 7.1186e-09
SHO:最差值: 28.8602, 最优值: 27.2442, 平均值: 28.2633, 标准差: 0.45871, 秩和检验: 1
函数:F7
SCA:最差值: 0.80374, 最优值: 0.0032941, 平均值: 0.14467, 标准差: 0.17658, 秩和检验: 3.0199e-11
SFO:最差值: 0.036979, 最优值: 0.00029887, 平均值: 0.0074278, 标准差: 0.0090561, 秩和检验: 3.0199e-11
TSA:最差值: 0.022183, 最优值: 0.0026778, 平均值: 0.0096315, 标准差: 0.0049444, 秩和检验: 3.0199e-11
ChOA:最差值: 0.0066974, 最优值: 0.00012385, 平均值: 0.0021978, 标准差: 0.0021073, 秩和检验: 1.0937e-10
SHO:最差值: 0.00027927, 最优值: 6.3171e-06, 平均值: 9.0713e-05, 标准差: 7.2435e-05, 秩和检验: 1
函数:F10
SCA:最差值: 20.3208, 最优值: 0.045212, 平均值: 15.1075, 标准差: 8.164, 秩和检验: 3.1507e-12
SFO:最差值: 4.0537, 最优值: 0.13557, 平均值: 2.1672, 标准差: 1.2368, 秩和检验: 3.1507e-12
TSA:最差值: 20.1429, 最优值: 2.9496e-12, 平均值: 1.8574, 标准差: 3.7532, 秩和检验: 3.1507e-12
ChOA:最差值: 19.9644, 最优值: 19.9597, 平均值: 19.9626, 标准差: 0.0011774, 秩和检验: 3.1507e-12
SHO:最差值: 4.4409e-15, 最优值: 8.8818e-16, 平均值: 4.0856e-15, 标准差: 1.084e-15, 秩和检验: 1
函数:F11
SCA:最差值: 1.8531, 最优值: 0.14491, 平均值: 0.95115, 标准差: 0.28752, 秩和检验: 1.7203e-12
SFO:最差值: 3.1087, 最优值: 0.36601, 平均值: 1.3575, 标准差: 0.55987, 秩和检验: 1.7203e-12
TSA:最差值: 0.024404, 最优值: 0, 平均值: 0.0070767, 标准差: 0.0086288, 秩和检验: 5.6652e-05
ChOA:最差值: 0.115, 最优值: 1.9304e-10, 平均值: 0.015874, 标准差: 0.032814, 秩和检验: 2.6819e-11
SHO:最差值: 0.031959, 最优值: 0, 平均值: 0.0010653, 标准差: 0.0058349, 秩和检验: 1
函数:F12
SCA:最差值: 244166.8628, 最优值: 0.97179, 平均值: 9929.5975, 标准差: 44561.5225, 秩和检验: 3.0199e-11
SFO:最差值: 0.59784, 最优值: 0.006079, 平均值: 0.16892, 标准差: 0.13795, 秩和检验: 0.00028389
TSA:最差值: 23.2113, 最优值: 0.81292, 平均值: 8.3327, 标准差: 5.1493, 秩和检验: 3.0199e-11
ChOA:最差值: 0.89046, 最优值: 0.23538, 平均值: 0.44436, 标准差: 0.15671, 秩和检验: 1.8608e-06
SHO:最差值: 0.71867, 最优值: 0.090756, 平均值: 0.2777, 标准差: 0.14157, 秩和检验: 1
函数:F15
SCA:最差值: 0.0016268, 最优值: 0.00041092, 平均值: 0.0010905, 标准差: 0.0003873, 秩和检验: 1.0105e-08
SFO:最差值: 0.0028866, 最优值: 0.00031332, 平均值: 0.0013138, 标准差: 0.00084783, 秩和检验: 4.6856e-08
TSA:最差值: 0.11711, 最优值: 0.00030772, 平均值: 0.014668, 标准差: 0.026132, 秩和检验: 0.016955
ChOA:最差值: 0.0013775, 最优值: 0.0012251, 平均值: 0.0012877, 标准差: 4.1797e-05, 秩和检验: 8.4848e-09
SHO:最差值: 0.0016193, 最优值: 0.00030868, 平均值: 0.00043028, 标准差: 0.00032552, 秩和检验: 1
函数:F16
SCA:最差值: -1.0315, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.4636e-05, 秩和检验: 3.0199e-11
SFO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 2.8474e-07, 秩和检验: 2.6695e-09
TSA:最差值: -1, 最优值: -1.0316, 平均值: -1.0295, 标准差: 0.0080246, 秩和检验: 4.9752e-11
ChOA:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 9.9195e-06, 秩和检验: 3.0199e-11
SHO:最差值: -1.0316, 最优值: -1.0316, 平均值: -1.0316, 标准差: 8.6802e-09, 秩和检验: 1
函数:F18
SCA:最差值: 3.0007, 最优值: 3, 平均值: 3.0001, 标准差: 0.00014316, 秩和检验: 3.0199e-11
SFO:最差值: 3.0001, 最优值: 3, 平均值: 3, 标准差: 1.428e-05, 秩和检验: 3.0199e-11
TSA:最差值: 84.0004, 最优值: 3, 平均值: 14.7022, 标准差: 25.2511, 秩和检验: 3.0199e-11
ChOA:最差值: 3.0006, 最优值: 3, 平均值: 3.0002, 标准差: 0.00016064, 秩和检验: 3.0199e-11
SHO:最差值: 3, 最优值: 3, 平均值: 3, 标准差: 6.5399e-09, 秩和检验: 1

实验结果表明:SHO算法在7个单峰函数和大部分多峰函数上都明显优于4种最先进的比较算法。

三、参考文献

[1] Shijie Zhao, Tianran Zhang, Shilin Ma, et al. Sea-horse optimizer: a novel nature-inspired meta-heuristic for global optimization problems[J]. Applied Intelligence, 2022.

基于海马优化算法的函数寻优算法相关推荐

  1. 《MATLAB智能算法30个案例》:第2章 基于遗传算法和非线性规划的函数寻优算法

    <MATLAB智能算法30个案例>:第2章 基于遗传算法和非线性规划的函数寻优算法 1. 前言 2. MATLAB 仿真示例一 3. MATLAB 仿真示例二 4. MATLAB 仿真示例 ...

  2. 基于蚁群算法的函数寻优算法

    文章目录 一.理论基础 二.案例背景 1.问题描述 2.解题思路及步骤 三.MATLAB程序实现 1.清空环境变量 2.初始化参数 3.构建解空间和目标函数 4.迭代寻优 5.结果显示 6.绘图 四. ...

  3. 基于沙猫群优化算法的函数寻优算法

    文章目录 一.理论基础 1.沙猫群优化算法 (1)初始化种群 (2)搜索猎物(探索) (3)攻击猎物(开发) (4)探索和开发 2.SCSO算法伪代码 二.仿真实验与结果分析 三.参考文献 一.理论基 ...

  4. 基于蜉蝣优化算法的函数寻优算法

    文章目录 一.理论基础 1.蜉蝣优化算法 (1)雄性蜉蝣的更新 (2)雌性蜉蝣的更新 (3)蜉蝣的交配过程 2.MA算法伪代码 二.仿真实验与结果分析 1.函数测试与数值分析 2.WSN三维覆盖优化 ...

  5. 基于金豺优化算法的函数寻优算法

    文章目录 一.理论基础 1.金豺优化算法 (1)搜索空间公式 (2)探索阶段或搜索猎物 (3)开发阶段或围捕和突袭猎物 (4)从探索转向开发 2.GJO伪代码 二.仿真实验与结果分析 三.参考文献 一 ...

  6. 基于果蝇优化算法的函数寻优算法

    文章目录 一.理论基础 二.算法步骤 1.启发 2.方向和距离 3.气味浓度判断值 4.适应度评估 5.寻找最优个体 6.飞行 7.迭代优化 三.案例背景 问题描述 四.MATLAB程序实现 1.清空 ...

  7. 基于蜂鸟优化算法的函数寻优算法

    文章目录 一.理论基础 1.自搜索阶段 2.引导搜索阶段 3.HOA伪代码 二.仿真实验与分析 三.参考文献 一.理论基础 蜂鸟优化算法(Hummingbirds optimization algor ...

  8. 基于藤壶交配优化算法的函数寻优算法

    文章目录 一.理论基础 1.藤壶交配优化算法 1.1 哈迪-温伯格(Hardy-Weinberg)法则 1.2 BMO 1.2.1 初始化 1.2.2 选择过程 1.2.3 繁殖 2.BMO算法伪代码 ...

  9. 基于阿基米德优化算法的函数寻优算法

    文章目录 一.理论基础 1.算法步骤 (1)初始化 (2)更新密度和体积 (3)转移算子与密度算子 (4)勘探阶段 <1> 物体之间发生碰撞 <2> 物体之间无碰撞 <3 ...

最新文章

  1. 什么叫计算机网络阻塞,计算机网络体系结构的阻塞控制是什么呢?
  2. 【 FPGA 】设置多周期路径约束
  3. Vector的使用方法和自我理解
  4. CCF BDCI 技术需求与技术成果关联度冠军分享
  5. 12月25晚-12月29日做的两个网页
  6. 前端开发 跨平台的构架GSOAP
  7. APP推广运营经验总结
  8. 某型火炮随动控制系统测试研究
  9. 读书-高性能MySQL 第三章
  10. python字符串输入小圆点_第6章 多序列比对
  11. Mac连接HDMI后没有声音
  12. 王之泰201771010131《面向对象程序设计(java)》第七周学习总结
  13. “弹出DVD驱动器错误”解决方法
  14. MATLAB基础图像处理算法
  15. vue 监听输入法方法(js)
  16. 常见笔顺错误的字_笔画容易出错的字?
  17. for update
  18. php 写入文件编码,PHP写入到文本文件乱码
  19. 编写程序,实现一个基于面向思想的、具有开户、查询、取款、存款、转账、锁定、解锁和退出功能的银行管理系统。
  20. 解决ora-01861文字与格式字符串不匹配

热门文章

  1. 洗地机家用哪款质量好?比较好用的洗地机推荐
  2. C++中virtual 虚函数的作用介绍
  3. 关于Ueditor样式无法显示踩坑
  4. Zipkin和Sleuth
  5. html中<button>绑定点击事件的三种方法
  6. 初试交易第三期|技术分析的简单指标
  7. oracle存储回车换行,oracle中去掉回车换行空格的方法详解
  8. 软件测试5年外包的感想,最后被领导直接逼退。
  9. 现在国内找工作行情不好,分享一些可以base国内的海外远程工作机会
  10. Bilateral Filters(双边滤波算法)的超简单原理,学不会你打我。