A Co-evolutionary Teaching-learning-based Optimization Algorithm for Constrained Optimization Problems
-
摘要: 对约束优化问题,为了避免罚因子和等式约束转化为不等式约束时引入的约束容忍度参数所带来的不便,本文在基本教与学优化(Teaching-learning-based optimization,TLBO)算法中加入了自我学习过程并提出了一种求解约束优化问题的协同进化教与学优化算法,使得罚因子和约束容忍度随种群的进化动态调整.对7个常见测试函数的数值实验验证了算法求解带有等式和不等式约束优化问题的有效性.Abstract: In order to avoid the inconvenience of penalty factors and the tolerance amount during transforming equality constraints into inequality constraints, the self-learning process is combined with teaching-learning-based algorithm, and a co-evolutionary teaching-learning-based algorithm is thus proposed, which makes the penalty factors and tolerance amounts dynamically adjust along with the population evolution. Numerical experiments on seven common test functions verify the effectiveness of the algorithm to solve optimization problems with equality and inequality constraints.
-
约束优化问题是科学研究和工程应用领域经常遇到的一类数学规划问题, 它广泛存在但又难以求解, 因此对求解约束优化问题有效方法的研究具有重要的理论和实际意义.目前存在的约束优化算法大致可以分为两类:传统优化算法和现代智能优化算法.传统优化算法大多是基于梯度信息的寻优方法, 如可行方向法、投影梯度法和既约梯度法等[1].它们对于不可导, 可行域不连通, 甚至没有显式表达式的问题束手无策.现代智能优化算法主要包括差分进化算法(Differential evolutionary, DE)[2]、粒子群算法(Particle swarm optimization, PSO)[3-5]、遗传算法(Genetic algorithm, GA)[6]、蚁群算法(Ant colony optimization, ACO)[7]、人工蜂群算法(Artificial bee colony, ABC)[8]等.近年来, 现代智能算法得到了广泛的研究, 在求解约束优化问题方面取得了显著的成效.
大多数现代智能优化算法都是一种无约束搜索技术, 将其与约束处理技术结合的过程中需要引入一些额外的参数, 这些参数通常由使用者决定, 选取合适的参数一般需要经过多次试验不断调节.
罚函数法是应用最广泛的约束处理技巧, 其主要思想就是通过对目标函数$f(x)$ 增加惩罚项$p(x)$ 来构造适应度值函数$fitness(x)$ .惩罚适应度值函数的构造过程会引入参数罚因子$w$ , 罚因子选取太小则个体的适应度值主要由目标函数决定, 此时群体可能滞留在不可行区域, 很难找到最优解; 罚因子选取太大则种群快速进入可行域, 从而忽略了对不可行区域的搜索, 这样就不能充分利用不可行解提供的信息[9], 从而很难找到最优解.
此外, 还有很多约束优化问题带有等式约束, 等式约束的出现使得约束优化问题的求解变得更加困难.等式约束的出现极大地缩小了可行区域的范围, 对搜索最优解带来了极大的困难[10].一般的等式约束处理技术都是将等式约束转化为不等式约束, 即将等式约束$h(x)=0$ 转化为
$ \mid h(x) \mid-\delta\leq 0 $
(1) 其中, $\delta$ 为等式约束的约束容忍度参数, 一般取较小的正数.这一转化过程改变了可行域的拓扑结构, $\delta$ 的大小直接决定了这种拓扑结构改变程度, 也决定了可行区域的大小.因此设置合适的约束容忍度参数$\delta$ 是十分必要的, 然而参数$\delta$ 的合理设置是一项十分困难的工作.
基于以上的这些不足, 本文提出了一种求解约束优化问题的协同进化教与学优化算法(Co-evolutionary teaching-learning-based optimization algorithm, CTLBO).该方法在基本教与学优化算法过程中加入了一个随机变异搜索的自我学习机制, 增强了算法局部搜索能力.文章首次提出将约束容忍度参数加入进化参数集中和罚因子一起自动进化, 避免了人工调节约束容忍度参数的困难, 同时也实现了约束容忍度参数自适应地进化, 有效地提高了求解约束优化问题的效率, 尤其是含有等式约束的优化问题.同时在计算个体适应度时, 将已有协同进化算法适应度值公式中的可行个体均值项替换为可行个体的方差, 并根据进化时期的不同阶段, 采用不同的适应度值计算公式, 有效地保证了种群的多样性.
1. 基本教与学优化算法
教与学优化算法(Teaching-learning-based optimization, TLBO)[11-12]由Rao等于2010年提出, 它模拟了教师给学员教学的过程.教与学优化算法具有参数少、算法简单、易理解和求解精度高等特点.自教与学优化算法提出以后, 研究人员对其进行了深入研究, 并提出了许多改进算法[13-15], 这些算法都取得了较好的效果.
教与学优化算法中的教师和学员相当于进化算法中的个体.教师是适应度值最好的个体, 学员学习的每一个科目对应于一个决策变量.
1.1 教学阶段
学员通过两个方面提高自己的成绩, 向教师学习和向同学学习.教学阶段是向教师学习的过程, 学习阶段是向其他学员学习的过程.假设在第$k$ 次迭代的过程中, $M_k$ 是学员的平均成绩, $T_k$ 是教师.此时学员将会根据全体学员平均成绩与教师之间的差距来进行学习, 差距由下式给出:
$ {\rm Difference\_Mean}_k=r_k(T_k-T_FM_k) $
(2) 其中, $r_k$ 是0到1之间的随机数, $T_F$ 是一个学习因子, 取值为1到2之间的随机数.实验表明, 当$T_F$ 按照下式进行1或2的随机取值时算法取得的结果更好:
$ T_F=\text{round}[1+\text{rand}(0, 1)\{2-1\}] $
(3) 在教学阶段, 学员按照下面式子更新自己的成绩:
$ X_{\rm new}=X_{{\rm old}}+{\rm Difference\_Mean}_k $
(4) 如果更新后$X_{\rm new}$ 对应的函数值优于$X_{{\rm old}}$ 对应的函数值, 则接受$X_{\rm new}$ , 否则拒绝$X_{\rm new}$ .
1.2 学习阶段
在学习阶段, 学员按照下面方式进行更新成绩:对于学员$X_i$ , 随机选取一个学员$X_j~(i \neq j)$ , 如果$f(X_i) < f(X_j)$ , 则
$ X_{{\rm new}, i}=X_{{\rm old}, i}+r_i(X_i-X_j), \\i, j=1, 2, \cdots, NP $
(5) 否则
$ X_{{\rm new}, i}=X_{{\rm old}, i}+r_i(X_j-X_i), \\i, j=1, 2, \cdots, NP $
(6) 如果更新后$X_{{\rm new}, i}$ 对应的函数值优于$X_{{\rm old}, i}$ 对应的函数值, 则接受$X_{{\rm new}, i}$ ; 否则, 拒绝$X_{{\rm new}, i}$ , 其中, $i=1, 2, \cdots, NP$ .
2. 协同进化教与学约束优化算法(CTLBO)
2.1 算法模型
Coello[16]提出了一种求解约束优化问题的协同进化遗传算法, He等[17]提出了求解约束优化问题的协同进化粒子群算法, Huang等[18]提出了求解约束优化问题的协同进化差分进化算法(Co-evolutionary differential evolution, CDE).这些算法在求解工程约束优化问题时取得了较好的结果.本文基于这些算法提出一种协同进化教与学约束优化算法, 图 1展示了算法模型.
在协同进化教与学约束优化算法中, 班级$C_2$ 包含$M_2$ 个学员, 班级$C_1$ 包含$M_2$ 个子班级, 每个子班级包含$M_1$ 个学员.班级$C_2$ 中的学员$B_i$ 的成绩代表着班级$C_1$ 中子班级$C_{1, i}$ 的学员进化过程中的罚因子$\omega$ 和约束容忍度$\delta$ .在协同进化的每一代, 班级$C_1$ 中的学员首先进行自我学习过程, 然后使用班级$C_2$ 提供的参数集用教与学优化算法进化$G_1$ 代.当班级$C_1$ 完成$G_1$ 代进化之后, 班级$C_2$ 中每个学员的适应度值根据其所对应的$C_1$ 中的子班级学员位置分布情况进行更新, 然后对班级$C_2$ 用教与学优化算法进化一代.重复上述进化过程, 直到达到最大进化代数$G_2$ .
2.2 自我学习过程
用教与学优化算法进化班级$C_1$ 时, 在基本教与学优化算法中加入了一个增加算法搜索能力的随机变异自我学习机制.对班级$C_{1, j}$ 的每一个学员$X_i=(x_{i, 1}, x_{i, 2}, \cdots, x_{i, n})$ , 随机选取其第$j$ 维变量$x_{i, j}$ 构造$X_{{\rm new}1}$ 如下:
$ x{\rm new}1_{i, k}= \left\{ \begin{aligned} &x_{i, k}, &k \neq j \\ &x_{i, j}+{\rm rand}(x\max(j)-x_{i, j}), &k=j \\ \end{aligned} \right. $
如果${\rm fitness}(X_{{\rm new}1}) < {\rm fitness}(X_i)$ , 则$X_i=X_{{\rm new}1}$ ; 否则构造$X_{{\rm new}2}$ 如下:
$ x{\rm new}2_{i, k}= \left\{ \begin{aligned} &x_{i, k}, &k \neq j \\ &x_{i, j}+{\rm rand}(x_{i, j}-x\min(j)), &k=j \\ \end{aligned} \right. $
如果fitness$(X_{{\rm new}2}) < {\rm fitness}(X_i)$ , 则$X_i=X_{{\rm new}2}$ .此随机变异过程与高斯随机扰动相比, 操作较为简单且容易理解, 避免了人工设置高斯扰动的参数均值和方差.
2.3 进化班级C1
对于下面的约束优化问题:
$ \begin{align} &\text{min}~ f(x) \\ &\text{s. t.}\quad\! g_i(x)\leq 0, \quad i=1, 2, \cdots, n \\ &~~~~~\quad h_j(x)=0, \quad j=1, 2, \cdots, p \end{align} $
(7) 根据Richardson等[19]提出的罚函数构造准则, 考虑每个解的约束违反量和约束违反数目, 构造下面适应度值函数:
$ \begin{align} {\rm fitness}(x)= &f(x)+\omega_1\times sum\_{viol}(x)+\\&\omega_2\times num\_{viol}(x) \end{align} $
(8) 其中, $sum\_{viol}(x)$ 代表解$x$ 所对应的约束违反量, $num\_{viol}(x)$ 代表解$x$ 所对应的约束违反数目, $\omega_1, \omega_2$ 分别是它们对应的罚因子.
对于约束违反量, 按下面方式得到:
$ sum\_{viol}(x)=\sum\limits_{i=1}^Ng_i(x), \forall g_i(x)>0 $
(9) 其中, $N=n+p$ , 此处假设所有的等式约束已经按式(1)转化为了不等式约束.
对班级$C_1$ 的每个学员按式(8)确定的适应度函数值使用TLBO算法进化一代.
2.4 进化班级C2
班级$C_2$ 中的每一个学员代表一个参数集($\omega_1, \omega_2$ 和$\delta$ ).当班级$C_1$ 中的子班级$C_{1, j}$ 进化$G_1$ 代之后, 班级$C_2$ 中学员$B_j$ 的适应度值按下面方式确定:
1) 当子班级$C_{1, j}$ 中至少含有一个可行解时, $B_j$ 称为有效学员, 适应度值可以分两个阶段计算:进化初期阶段和进化后期阶段.进化初期阶段, 算法目标是增加可行解数量的同时增加种群多样性, 此时$B_j$ 的适应度值函数可以表示为
$ \begin{align} &{\rm fitness}(B_j)=\\&\qquad-\frac{\sum ({\rm objective}_{j, i}-{\rm mean}\_{{\rm objective}_j})^2}{\rm num\_{\rm feasible}}-\\&\qquad{\rm num\_ feasible} \end{align} $
(10) 进化后期阶段, 算法目标是尽快收敛到最优解, 此时$B_j$ 的适应度值函数可以表示为
$ \begin{align} {\rm fitness}(B_j)&=\\&\frac{\sum ({\rm objective}_{j, i}-{\rm mean}\_{{\rm objective}_j})^2}{\rm num\_{\rm feasible}}-\\&{\rm num\_feasible} \end{align} $
(11) 其中, ${\rm objective}_{j, i}$ 表示子班级$C_{1, j}$ 中可行解$i$ 的目标函数值, ${\rm mean}\_{{\rm objective}_j}$ 表示子班级$C_{1, j}$ 中可行解目标函数值的均值, ${\rm num}\_{\rm feasible}$ 表示子班级$C_{1, j}$ 中可行解的数目.由概率统计知识可知, 方差比均值更能反映种群的波动情况.与已有协同进化算法[16-18]中的适应度值函数
$ {\rm fitness}(B_j)=-\frac{\sum {\rm feasible}}{\rm num\_{\rm feasible}}-\\ {\rm num\_feasible} $
相比较, 等式(10)和(11)中的可行解方差项$\frac{\sum ({\rm objective}_{j, i}-{\rm mean}\_{{\rm objective}_j})^2}{\rm num\_{\rm feasible}}$ 比已有算法中的可行解均值项$\frac{\sum {\rm feasible}}{\rm num\_{\rm feasible}}$ 更能反映可行解的波动情况, 更能体现种群多样性.在等式(10)中, 当种群可行解数目num_feaible越大, 种群可行解多样性越高, 即$\frac{\sum ({\rm objective}_{j, i}-{\rm mean}\_{{\rm objective}_j})^2}{\rm num\_{\rm feasible}}$ 越大时, 目标函数适应度值越小, 因此在种群选择阶段能够偏向更大可行解数量和更高种群多样性的种群.在等式(11)中, 即进化后期阶段, 可行解个数越多, 可行解分布越集中即可行解方差越小, 适应度函数值越小.由于此时种群中的大多数解已经进化为可行解, 且分布较为集中, 因此这样的适应度函数能够在搜索过程中保证算法快速地收敛到最优解.
2) 当子班级$C_{1, j}$ 中不存在可行解时, 则称$B_j$ 为无效学员, 此时$B_j$ 适应度值函数如下
$ \begin{align} {\rm fitness}(B_j)=&{\max}(P_{\rm valid})+\frac{\sum sum\_{viol}}{\sum num\_{viol}}+\\&\sum num\_{viol} \end{align} $
(12) 其中, $ {\max}(P_{\rm valid})$ 表示有效学员的最大目标函数值, $\sum sum\_{viol}$ 表示$C_{1, j}$ 中学员成绩的约束违反量之和, $\sum num\_{\rm viol}$ 表示$C_{1, j}$ 中学员成绩的约束违反数目之和.此时种群不存在可行解, 算法的首要目标是使种群搜索到可行解, 因此具有较小约束违反度的个体优先被选择. $ {\max}(P_{\rm valid})$ 项的存在保证了最优可行个体始终优于不可行个体, 从而使种群在选择过程中优先选择可行个体, 进而使算法在搜索过程中偏向可行区域. $\sum num\_{\rm viol}$ 项的存在可以使约束违反度较小的个体优先被选择.因此式(12)可以保证种群朝向可行区域搜索, 从而加快算法的寻优速度.
3. 算法流程图
通过以上对协同进化教与学约束优化算法的描述, 算法流程如图 2所示.
4. 仿真分析
为了验证算法求解含有等式和不含等式约束优化问题的性能, 本文对13个标准测试函数(测试函数见文献[20])中带有等式约束问题$g05, g11, g13$ 和不带等式约束问题$g06$ 以及三个工程问题进行了求解.此处仅给出三个工程优化问题的数学表示.
问题1. (Welded beam design problem)
问题1取自Coello[16]的焊接梁设计最小费用问题, 模型如图 3所示.
它含有4个决策变量$h, l, t$ 和$b$ , $x_1$ 代表$h$ , $x_2$ 代表$l$ , $x_3$ 代表$t$ , $x_4$ 代表$b$ , 问题可以用下面优化问题表示:
$ \begin{align*} &{\min} f(x)=1.10471x_1^2x_2+0.04811x_3x_4(14.0+x_2) \\ & \text{s. t.}\ \ g_1(x)=\tau(x)-\tau_{\max}\leq 0 \\ & \hskip8mm g_2(x)=\sigma(x)-\sigma_{\max}\leq 0\\ & \hskip8mm g_3(x)=x_1-x_4\leq 0 \\ &\hskip8mm g_4(x)=0.10471x_1^2+\\ &\hskip8mm 0.04811x_3x_4(14.0+x_2)-5.0\leq0 \end{align*} $
$ \begin{align*} g_5(x)&=0.125-x_1\leq 0 \\g_6(x)&=\delta(x)-\delta_{\max}\leq 0 \\ g_7(x)&=P-P_c(x)\leq 0 \end{align*} $
其中, $\tau(x)=\sqrt{(\tau')^2+2\tau'\tau''\frac{x_2}{R}+(\tau'')^2}$ , $\tau'=\frac{P}{\sqrt{2}x_1x_2}$ , $\tau''=\frac{MR}{J}$ , $M=P(L+\frac{x_2}{2})$ , $\sigma(x)=\frac{6PL}{x_4x_3^2}$ , $L=14$ in, $R=\sqrt{\frac{x_2^2}{4}+ (\frac{x_1+x_3}{2})^2}$ , $\delta(x)=\frac{4PL^3}{Ex_3^3x_4}$ , $P=6 000$ lb, $J=2\{\sqrt{2}x_1x_2[\frac{x_2^2}{12}+ (\frac{x_1+x_3}{2})^2]\}$ , $E=30\times10^6$ psi, $P_c(x)=\frac{4.013E\sqrt{\frac{x_3^2x_4^6}{36}}}{L^2} (1-\frac{x_3}{2L}\sqrt{\frac{E}{4G}})$ , $G=12\times10^6$ psi, $\tau_{\max}=13 600$ psi, $\sigma_{\max}=30 000$ psi, $\delta_{\max}=0.25$ in, $0.1\leq x_1 \leq2$ , $0.1\leq x_2 \leq 10$ , $0.1\leq x_3\leq10$ , $0.1\leq x_4 \leq2$ .
问题2. (Pressure vessel problem)
问题2取自于工程上的压力容器设计最小费用问题, 它的数学表示由Kannan[21]给出, 模型如图 4所示.
其中, $x_1$ 表示$T_s$ , $x_2$ 表示$T_h$ , $x_3$ 表示$R$ , $x_4$ 表示$L$ , $x_1$ 和$x_2$ 的值取为整数然后乘以0.0625, 问题可以用下面优化问题表示:
$ \begin{split} {\min} f(x)&=0.6224x_1x_3x_4+1.7781x_2x_3^2+\\&3.1661x_1^2x_4+19.84x_1^2x_3 \\ \text{s. t.}\quad g_1(x)&=-x_1+0.0193x_3\leq 0 \\ g_2(x)&=-x_2+0.00954x_3\leq 0 \\g_3(x)&=-\pi x_3^2x_4-\frac{4}{3}\pi x_3^3+1296000\leq 0 \\ g_4(x)&=x_4-240\leq0 \end{split} $
其中, $1\leq x_1\leq99$ , $1\leq x_2\leq99$ , $10\leq x_3\leq200$ , $10\leq x_4\leq200$ .
问题3. (A tension string design problem)
问题3是工程上的最小化张力弦的重量问题, 模型如图 5所示.
它由Arora[22]和Belegundu等[23]给出了数学表示, 其中$x_1$ 代表$d$ , $x_2$ 代表$D$ , $x_3$ 代表$P$ , 问题可以用下面的优化问题表示:
$ \begin{split} {\min} f(x)&=(x_3+2)x_2x_1^2 \\ \text{s. t.}\quad g_1(x)&=1-\frac{x_2^3x_3}{71 785x_1^4}\leq 0 \\ g_2(x)&=\frac{4x_2^2-x_1x_2}{12 566(x_2x_1^3-x_1^4)}+\frac{1}{5 108x_1^2}-1\leq 0 \\ g_3(x)&=1-\frac{140.45x_1}{x_2^2x_3}\leq 0 \\ g_4(x)&=\frac{x_1+x_2}{1.5}-1\leq0 \end{split} $
其中, $0.05\leq x_1\leq2$ , $0.25\leq x_2\leq1.3$ , $2\leq x_3\leq15$ .本文算法参数设置如下: $M_1=50$ , $M_2=10$ , $G_1=30$ , $G_2=8$ , 对于问题1和问题2中取$\omega_{1, \min}= \omega_{2, \min}=0$ , $\delta_{\min}=10^{-6}$ , $\omega_{1, \max}=\omega_{2, \max}=1 000$ , $\delta_{\max}=10^{-2}$ .问题3中取$\omega_{1, \min}=\omega_{2, \min}=5 000$ , $\delta_{\min}=10^{-6}$ , $\omega_{1, \max}=\omega_{2, \max}=25 000$ , $\delta_{\max}=10^{-2}$ .问题$g05$ 中取$\omega_{1, \min}= \omega_{2, \min}=1 000$ , $\delta_{\min}=10^{-6}$ , $\omega_{1, \max}=\omega_{2, \max}=3 000$ , $\delta_{\max}=10^{-2}$ .问题$g06$ 中取$\omega_{1, \min}=\omega_{2, \min}=0$ , $\delta_{\min}=10^{-6}$ , $\omega_{1, \max}=\omega_{2, \max}=10 000$ , $\delta_{\max}=10^{-2}$ .问题$g11$ 中取$\omega_{1, \min}=\omega_{2, \min}=0$ , $\delta_{\min}=10^{-10}$ , $\omega_{1, \max}=\omega_{2, \max}=10$ , $\delta_{\max}=10^{-5}$ .问题$g13$ 中取$\omega_{1, \min}= \omega_{2, \min}=0$ , $\delta_{\min}=10^{-8}$ , $\omega_{1, \max}=1$ , $\omega_{2, \max}=0.1$ , $\delta_{\max}=10^{-3}$ .
对于问题1 ~ 3, 算法独立运行30次, 它们的最优解未知, 只有目前求得的最优解作为参考.运行结果如表 1~6所示(NA表示原文没有提供具体数据).
表 1 不同方法求得问题1最优解的比较Table 1 Comparison of the best solution for Example 1 found by different methods变量 TLBO[12] CDE[18] UABC[24] ITLBO[25] CTLBO $x_1(h)$ 0.205730 0.203137 0.205730 0.205730 0.205730 $x_2(l)$ 3.470489 3.542998 3.470489 3.470489 3.470489 $x_3(t)$ 9.036624 9.033498 9.036624 9.036624 9.036626 $x_4(b)$ 0.205730 0.206179 0.205730 0.205730 0.205730 $g_1(x)$ -0.000001 -44.578568 -0.000028 -0.000000 -0.000002 $g_2(x)$ -0.000001 -44.663534 -0.000025 -0.000000 -0.009189 $g_3(x)$ -0.000000 -0.003042 -0.000000 -0.000000 -0.000000 $g_4(x)$ -3.432984 -3.423726 -3.432984 -3.432984 -3.432984 $g_5(x)$ -0.080730 -0.078137 -0.080730 -0.080730 -0.080730 $g_6(x)$ -0.235540 -0.235557 -0.235540 -0.235540 -0.235540 $g_7(x)$ -0.000000 -38.028268 -0.000050 -0.000000 -0.000004 $f(x)$ 1.724852 1.733462 1.724852 1.724852 1.724852 表 2 不同方法求得问题1结果统计表Table 2 Statistical results of different methods for Example 1表 3 不同方法求得问题2最优解的比较Table 3 Comparison of the best solution for Example 2 found by different methods变量 TLBO[12] CDE[18] UABC[24] ITLBO[25] CTLBO $x_1(T_s)$ 0.8125 0.812500 0.8125 0.8125 0.81250 $x_2(T_h)$ 0.4375 0.437500 0.4375 0.4375 0.437500 $x_3(R)$ 42.098446 42.09841 42.098446 42.098446 42.098400 $x_4(L)$ 176.636596 176.63769 176.636596 176.636596 176.636596 $g_1(x)$ -0.000000 -6.677E-7 -0.000000 -0.000000 -0.000000 $g_2(x)$ -0.035881 -0.035881 -0.035881 -0.035881 -0.035880 $g_3(x)$ -0.000000 -3.6831 -0.000000 -0.000000 -7.0E-10 $g_4(x)$ -63.363404 -63.3623 -63.363404 -63.363404 -63.363404 $f(x)$ 6 059.714335 6 059.7340 6 059.714335 6 059.714335 6 059.714335 表 4 不同方法求得问题2结果统计表Table 4 Statistical results of different methods for Example 2方法 最优解 均值 最差解 标准差 TLBO[12] 6 059.714335 6 059.714335 6 059.714335 1.85E-12 CDE[18] 6 059.7340 6 085.2303 6 371.0455 4.3E+02 UABC[24] 6 059.714335 6 192.116211 NA 2.04E+02 ITLBO[25] 6 059.714335 6 059.714335 6 059.714335 1.85E-12 COMDE[26] 6 059.714335 6 059.714335 6 059.714335 3.62E-10 CTLBO 6 059.714335 6 059.714335 6 059.714335 0.00E-00 表 5 不同方法求得问题3最优解的比较Table 5 Comparison of the best solution for Example 3 found by different methods变量 TLBO[12] ETLBO[13] FETLBO[15] UABC[24] ITLBO[25] CTLBO $x_1(d)$ 0.051506 0.051565 0.051691 0.051691 0.051698 0.051664 $x_2(D)$ 0.35327 0.353713 0.356758 0.356769 0.356723 0.356112 $x_3(P)$ 11.555900 11.468954 11.286578 11.285988 11.288662 11.313513 $g_1(x)$ -0.000388 -0.001029 0.000953 -0.000000 -0.000000 -1.50E-08 $g_2(x)$ -0.000020 -0.000062 -0.000014 -0.000000 -0.000000 -5.60E-08 $g_3(x)$ -4.042961 -4.047205 -4.053903 -4.053886 -4.053796 -4.057519 $g_4(x)$ -0.730778 -0.729815 -0.727701 -0.727694 -0.727725 -0.728149 $f(x)$ 0.012671 0.0126674 0.0126652 0.012665 0.012665 0.0126547 表 6 不同方法求得问题3结果统计表Table 6 Statistical results of different methods for Example 3方法 最优解 均值 最差解 标准差 TLBO[12] 0.0126717 0.0127407 0.0127977 2.88E-05 ETLBO[13] 0.0126674 NA NA NA FETLBO[15] 0.0126652 NA NA NA CDE[18] 0.0126702 0.012703 0.012790 2.7E-05 UABC[24] 0.012665 0.012683 NA 3.31E-05 ITLBO[25] 0.0126652 0.0126662 0.0126735 2.12E-06 CTLBO 0.0126547 0.01265493 0.01265693 5.50E-07 对问题$g05, g06, g11$ 和$g13$ 独立运行30次, 运行结果和其他算法比较如表 7所示.
表 7 不同方法求得问题$g05, g06, g11$ 和$g13$ 最优解的比较Table 7 Comparison of the best solution for example $g05, g06, g11$ and $g13$ found by different methods函数/最优值 统计项 方法 TLBO[12] ETLBO[13] HTS[27] Jaya[28] CTLBO $g05$ /5 126.498 最好解 5 126.486 5 126.484 5 126.486 5 126.486 5 126.517 均值 5 126.6184 5 168.7149 5 126.6831 5 126.635 5 126.605 最差解 5 127.714 5 261.826 5 126.5152 5 126.5061 5 126.759 $g06/-$ 6 961.814 最好解 -6 961.814 -6 961.814 -6 961.814 -6 961.814 -6 961.814 均值 -6 961.814 -6 961.814 -6 961.814 -6 961.814 -6 961.814 最差解 -6 961.814 -6 961.814 -6 961.814 -6 961.814 -6 961.814 $g11$ /0.750 最好解 0.7499 0.750 0.7499 0.7499 0.750 均值 0.7499 0.750 0.7499 0.7499 0.750 最差解 0.7499 0.750 0.7499 0.7499 0.750 $g13$ /0.0539498 最好解 0.44015 0.13314 0.37319 0.003625 0.053991 均值 0.69055 0.83851 0.79751 0.003631 0.058190 最差解 0.95605 0.99979 0.66948 0.003627 0.069077 通过对表 1~6的实验结果进行对比, 协同进化教与学约束优化算法对三个工程问题求得了更好的解, 并且在求解精度和稳定性上都要优于表中列出的算法, 其标准差明显小于文章列出的比较算法.通过表 7可以看出, 算法在对4个标准测试函数$g05, g06, g11$ 和$g13$ 的求解过程中也表现出了良好的性能.对函数$g06$ 和$g11$ , 本文算法和对比算法达到了同样好的效果, 对其他两个函数, 本文算法的求解结果要优于其他对比算法.
5. 结论
本文在基本教与学优化算法中加入了一种自我学习机制, 然后对已有协同进化算法的适应度值函数进行改进, 提出了一种可以增加种群多样性的适应度值函数, 并首次提出将等式约束对应的约束容忍度参数加入到协同进化参数集来实现参数自适应进化, 避免了人工调整参数的困难.在此基础上提出了一种求解约束优化问题的协同进化教与学约束优化算法(CTLBO), 该算法结合了协同进化算法和教与学优化算法的优良特性, 在算法过程中没有引入额外的参数, 保持了教与学优化算法参数较少这一特点.对三个等式约束优化问题和4个不等式约束优化问题进行了仿真分析, 并与其他一些算法进行比较, 结果表明本文所提出的算法在求解带有等式约束和不等式约束的优化问题时具有较好的性能, 其求解精确度和稳定性较文中列出的算法也有所提高.
-
表 1 不同方法求得问题1最优解的比较
Table 1 Comparison of the best solution for Example 1 found by different methods
变量 TLBO[12] CDE[18] UABC[24] ITLBO[25] CTLBO $x_1(h)$ 0.205730 0.203137 0.205730 0.205730 0.205730 $x_2(l)$ 3.470489 3.542998 3.470489 3.470489 3.470489 $x_3(t)$ 9.036624 9.033498 9.036624 9.036624 9.036626 $x_4(b)$ 0.205730 0.206179 0.205730 0.205730 0.205730 $g_1(x)$ -0.000001 -44.578568 -0.000028 -0.000000 -0.000002 $g_2(x)$ -0.000001 -44.663534 -0.000025 -0.000000 -0.009189 $g_3(x)$ -0.000000 -0.003042 -0.000000 -0.000000 -0.000000 $g_4(x)$ -3.432984 -3.423726 -3.432984 -3.432984 -3.432984 $g_5(x)$ -0.080730 -0.078137 -0.080730 -0.080730 -0.080730 $g_6(x)$ -0.235540 -0.235557 -0.235540 -0.235540 -0.235540 $g_7(x)$ -0.000000 -38.028268 -0.000050 -0.000000 -0.000004 $f(x)$ 1.724852 1.733462 1.724852 1.724852 1.724852 表 2 不同方法求得问题1结果统计表
Table 2 Statistical results of different methods for Example 1
表 3 不同方法求得问题2最优解的比较
Table 3 Comparison of the best solution for Example 2 found by different methods
变量 TLBO[12] CDE[18] UABC[24] ITLBO[25] CTLBO $x_1(T_s)$ 0.8125 0.812500 0.8125 0.8125 0.81250 $x_2(T_h)$ 0.4375 0.437500 0.4375 0.4375 0.437500 $x_3(R)$ 42.098446 42.09841 42.098446 42.098446 42.098400 $x_4(L)$ 176.636596 176.63769 176.636596 176.636596 176.636596 $g_1(x)$ -0.000000 -6.677E-7 -0.000000 -0.000000 -0.000000 $g_2(x)$ -0.035881 -0.035881 -0.035881 -0.035881 -0.035880 $g_3(x)$ -0.000000 -3.6831 -0.000000 -0.000000 -7.0E-10 $g_4(x)$ -63.363404 -63.3623 -63.363404 -63.363404 -63.363404 $f(x)$ 6 059.714335 6 059.7340 6 059.714335 6 059.714335 6 059.714335 表 4 不同方法求得问题2结果统计表
Table 4 Statistical results of different methods for Example 2
方法 最优解 均值 最差解 标准差 TLBO[12] 6 059.714335 6 059.714335 6 059.714335 1.85E-12 CDE[18] 6 059.7340 6 085.2303 6 371.0455 4.3E+02 UABC[24] 6 059.714335 6 192.116211 NA 2.04E+02 ITLBO[25] 6 059.714335 6 059.714335 6 059.714335 1.85E-12 COMDE[26] 6 059.714335 6 059.714335 6 059.714335 3.62E-10 CTLBO 6 059.714335 6 059.714335 6 059.714335 0.00E-00 表 5 不同方法求得问题3最优解的比较
Table 5 Comparison of the best solution for Example 3 found by different methods
变量 TLBO[12] ETLBO[13] FETLBO[15] UABC[24] ITLBO[25] CTLBO $x_1(d)$ 0.051506 0.051565 0.051691 0.051691 0.051698 0.051664 $x_2(D)$ 0.35327 0.353713 0.356758 0.356769 0.356723 0.356112 $x_3(P)$ 11.555900 11.468954 11.286578 11.285988 11.288662 11.313513 $g_1(x)$ -0.000388 -0.001029 0.000953 -0.000000 -0.000000 -1.50E-08 $g_2(x)$ -0.000020 -0.000062 -0.000014 -0.000000 -0.000000 -5.60E-08 $g_3(x)$ -4.042961 -4.047205 -4.053903 -4.053886 -4.053796 -4.057519 $g_4(x)$ -0.730778 -0.729815 -0.727701 -0.727694 -0.727725 -0.728149 $f(x)$ 0.012671 0.0126674 0.0126652 0.012665 0.012665 0.0126547 表 6 不同方法求得问题3结果统计表
Table 6 Statistical results of different methods for Example 3
方法 最优解 均值 最差解 标准差 TLBO[12] 0.0126717 0.0127407 0.0127977 2.88E-05 ETLBO[13] 0.0126674 NA NA NA FETLBO[15] 0.0126652 NA NA NA CDE[18] 0.0126702 0.012703 0.012790 2.7E-05 UABC[24] 0.012665 0.012683 NA 3.31E-05 ITLBO[25] 0.0126652 0.0126662 0.0126735 2.12E-06 CTLBO 0.0126547 0.01265493 0.01265693 5.50E-07 表 7 不同方法求得问题$g05, g06, g11$ 和$g13$ 最优解的比较
Table 7 Comparison of the best solution for example $g05, g06, g11$ and $g13$ found by different methods
函数/最优值 统计项 方法 TLBO[12] ETLBO[13] HTS[27] Jaya[28] CTLBO $g05$ /5 126.498 最好解 5 126.486 5 126.484 5 126.486 5 126.486 5 126.517 均值 5 126.6184 5 168.7149 5 126.6831 5 126.635 5 126.605 最差解 5 127.714 5 261.826 5 126.5152 5 126.5061 5 126.759 $g06/-$ 6 961.814 最好解 -6 961.814 -6 961.814 -6 961.814 -6 961.814 -6 961.814 均值 -6 961.814 -6 961.814 -6 961.814 -6 961.814 -6 961.814 最差解 -6 961.814 -6 961.814 -6 961.814 -6 961.814 -6 961.814 $g11$ /0.750 最好解 0.7499 0.750 0.7499 0.7499 0.750 均值 0.7499 0.750 0.7499 0.7499 0.750 最差解 0.7499 0.750 0.7499 0.7499 0.750 $g13$ /0.0539498 最好解 0.44015 0.13314 0.37319 0.003625 0.053991 均值 0.69055 0.83851 0.79751 0.003631 0.058190 最差解 0.95605 0.99979 0.66948 0.003627 0.069077 -
[1] 陈宝林.最优化理论与算法.北京:清华大学出版社, 1989.Chen Bao-Lin. Optimization Theory and Algorithm. Beijing:Tsinghua University Press, 1989. [2] Das S, Mullick S S, Suganthan P N. Recent advances in differential evolution-An updated survey. Swarm & Evolutionary Computation, 2016, 27:1-30 [3] Duan H B, Li P, Yu Y X. A predator-prey particle swarm optimization approach to multiple UCAV air combat modeled by dynamic game theory. IEEE/CAA Journal of Automatica Sinica, 2015, 2 (1):11-18 doi: 10.1109/JAS.2015.7032901 [4] 潘峰, 陈杰, 甘明刚, 蔡涛, 涂序彦.粒子群优化算法模型分析.自动化学报, 2006, 32 (3):368-377 http://www.aas.net.cn/CN/abstract/abstract15822.shtmlPan Feng, Chen Jie, Gan Ming-Gang, Cai Tao, Tu Xu-Yan. Model analysis of particle swarm optimizer. Acta Automatica Sinica, 2006, 32 (3):368-377 http://www.aas.net.cn/CN/abstract/abstract15822.shtml [5] 金欣磊, 马龙华, 吴铁军, 钱积新.基于随机过程的PSO收敛性分析.自动化学报, 2007, 33(12):1263-1268 http://www.aas.net.cn/CN/abstract/abstract13374.shtmlJin Xin-Lei, Ma Long-Hua, Wu Tie-Jun, Qian Ji-Xin. Convergence analysis of the particle swarm optimization based on stochastic processes. Acta Automatica Sinica, 2007, 33(12):1263-1268 http://www.aas.net.cn/CN/abstract/abstract13374.shtml [6] Long Q, Wu C Z. A hybrid method combining genetic algorithm and Hooke-Jeeves method for constrained global optimization. Journal of Industrial & Management Optimization, 2017, 10 (4):1279-1296 [7] Prakasam A, Savarimuthu N. Metaheuristic algorithms and probabilistic behaviour:a comprehensive analysis of Ant Colony Optimization and its variants. Artificial Intelligence Review, 2016, 45(1):97-130 [8] Ma L B, Zhu Y L, Zhang D Y, Niu B. A hybrid approach to artificial bee colony algorithm. Neural Computing and Applications, 2016, 27 (2):387-409 doi: 10.1007/s00521-015-1851-x [9] Coello C A C, Carlos A. Constraint-handling Techniques Used with Evolutionary Algorithms. In: Proceedings of the 10th Annual Conference Companion on Genetic and Evolutionary Computation. Atlanta, GA, USA: ACM, 2010. 2445-2466 [10] Wu G H, Pedrycz W, Suganthan P N, Mallipeddi P. A variable reduction strategy for evolutionary algorithms handling equality constraints. Applied Soft Computing, 2015, 37:774-786 doi: 10.1016/j.asoc.2015.09.007 [11] Rao R V, Savsani V J, Vakharia D P. Teaching-learning-based optimization:a novel method for constrained mechanical design optimization problems. Computer-Aided Design, 2011, 43 (3):303-315 doi: 10.1016/j.cad.2010.12.015 [12] Venkata Rao R. Teaching-learning-based optimization and its engineering applications. Teaching Learning Based Optimization Algorithm: and Its Engineering Applications. Berlin, Heidelberg: Springer Publishing Company, 2015. [13] Venkata Rao R, Patel V. An elitist teaching-learning-based optimization algorithm for solving complex constrained optimization problems. International Journal of Industrial Engineering Computations, 2012, 3 (4):535-560 doi: 10.5267/j.ijiec [14] Patel V K. Teaching Learning Based Optimization Algorithm. Berlin, Heidelberg:Springer International Publishing, 2016. [15] 于坤杰, 王昕, 王振雷.基于反馈的精英教学优化算法.自动化学报, 2014, 40 (9):1976-1983 http://www.aas.net.cn/CN/abstract/abstract18468.shtmlYu Kun-Jie, Wang Xin, Wang Zhen-Lei. Elitist teaching-learning-based optimization algorithm based on feedback. Acta Automatica Sinica, 2014, 40(9):1976-1983 http://www.aas.net.cn/CN/abstract/abstract18468.shtml [16] Coello C A C. Use of a self-adaptive penalty approach for engineering optimization problems. Computers in Industry, 2000, 41 (2):113-127 doi: 10.1016/S0166-3615(99)00046-9 [17] He Q, Wang L. An effective co-evolutionary particle swarm optimization for constrained engineering design problems. Engineering Applications of Artificial Intelligence, 2007, 20 (1):89-99 doi: 10.1016/j.engappai.2006.03.003 [18] Huang F Z, Wang L, He Q. An effective co-evolutionary differential evolution for constrained optimization. Applied Mathematics & Computation, 2007, 186 (1):340-356 [19] Richardson J T, Palmer M R, Liepins G E, Hilliard M. Some guidelines for genetic algorithms with penalty functions. In: Proceedings of the 3rd International Conference on Genetic Algorithms. George Mason University, USA: Morgan Kaufmann Publishers Inc., 1989. 191-197 [20] Runarsson T P, Yao X. Stochastic ranking for constrained evolutionary optimization. IEEE Transactions on Evolutionary Computation, 2000, 4 (3):284-294 doi: 10.1109/4235.873238 [21] Kannan B K, Kramer S N. An augmented lagrange multiplier based method for mixed integer discrete continuous optimization and its applications to mechanical design. Journal of Mechanical Design, 1994, 116 (2):405-411 doi: 10.1115/1.2919393 [22] Arora J S. Introduction to Optimal Design New York:McGraw-Hill, 1989. 413-432 [23] Belegundu A D, Arora J S. A study of mathematical programming methods for structural optimization. Part Ⅰ:theory. International Journal for Numerical Methods in Engineering, 1985, 21 (9):1583-1599 doi: 10.1002/(ISSN)1097-0207 [24] Brajevic I, Tuba M. An upgraded artificial bee colony (ABC) algorithm for constrained optimization problems. Journal of Intelligent Manufacturing, 2013, 24 (4):729-740 doi: 10.1007/s10845-011-0621-6 [25] Yu K J, Wang X, Wang Z L. An improved teaching-learning-based optimization algorithm for numerical and engineering optimization problems. Journal of Intelligent Manufacturing, 2016, 27 (4):831-843 doi: 10.1007/s10845-014-0918-3 [26] Mohamed A W, Sabry H Z. Constrained optimization based on modified differential evolution algorithm. Information Sciences, 2012, 194:171-208 doi: 10.1016/j.ins.2012.01.008 [27] Patel V K, Savsani V J. Heat transfer search (HTS):a novel optimization algorithm. Information Sciences, 2015, 324:217-246 doi: 10.1016/j.ins.2015.06.044 [28] Venkata R R. Jaya:a simple and new optimization algorithm for solving constrained and unconstrained optimization problems. International Journal of Industrial Engineering Computations, 2016, 7 (1):19-34 http://d.old.wanfangdata.com.cn/NSTLQK/NSTL_QKJJ02338361/ 期刊类型引用(17)
1. 陈旭,张智祥. 基于改进堆优化算法求解电动汽车并网动态经济调度. 计算机应用研究. 2024(10): 3032-3037 . 百度学术
2. 陈少淼,陈瑞,梁伟,李仁发,李智勇. 面向复杂约束优化问题的进化算法综述. 软件学报. 2023(02): 565-581 . 百度学术
3. 郑洪清,冯文健. 求解约束优化问题的改进布谷鸟搜索算法. 工程数学学报. 2023(01): 135-146 . 百度学术
4. 王文川,田维璨,徐雷,刘昌军,徐冬梅. Mε-OIDE求解约束优化问题算法及其在水库群防洪调度中的应用. 水利学报. 2023(02): 148-158 . 百度学术
5. 鲁宇明,张祥飞,涂传明,黎政秀. 多变异策略融合的约束优化问题求解算法. 小型微型计算机系统. 2023(10): 2151-2156 . 百度学术
6. 王贞,支俊阳,李旭飞,崔轲轲. 求解约束优化问题的复合人工蜂群算法. 计算机工程与应用. 2022(03): 100-111 . 百度学术
7. 金瑾,王鹏. 历史数据驱动的多尺度量子谐振子优化算法. 东北大学学报(自然科学版). 2022(02): 160-167 . 百度学术
8. 陈晶晶,方叶祥,王文凤. 考虑作业疲劳的物料搬运路径研究. 物流科技. 2022(06): 18-22 . 百度学术
9. 严逍亚,王振雷,王昕. 动态调整成长方式的郊狼优化算法及其应用. 计算机工程. 2022(07): 73-81 . 百度学术
10. 朱亚文,周红标,李杨,徐浩渊. 约束多目标进化算法研究进展. 计算机应用研究. 2022(09): 2582-2590+2602 . 百度学术
11. 张新明,姜云,刘尚旺,刘国奇,窦智,刘艳. 灰狼与郊狼混合优化算法及其聚类优化. 自动化学报. 2022(11): 2757-2776 . 本站查看
12. 潘霄,张明理,韩震焘,胡旌伟,刘嘉恒,葛磊蛟. 面向能源互联网的零碳园区智能感知设备优化规划方法. 电力建设. 2022(12): 47-55 . 百度学术
13. 石建平,李培生,刘国平,刘鹏. 求解约束优化问题的改进果蝇优化算法及其工程应用. 控制与决策. 2021(02): 314-324 . 百度学术
14. 李旭飞,王贞. 求解约束优化问题的改进帝企鹅优化算法. 计算机工程与设计. 2021(03): 703-710 . 百度学术
15. 陈永政. 新型教与学优化算法及其在需水预测中的应用. 科学技术与工程. 2020(08): 3117-3121 . 百度学术
16. 顾启元,王俊祥. 求解约束优化问题改进的水波优化算法. 计算机工程与设计. 2020(05): 1320-1326 . 百度学术
17. 马晓红. 抽象逻辑在基本不等式教学中的应用及表达. 数学学习与研究. 2020(13): 143-145 . 百度学术
其他类型引用(17)
-