﻿ 基于变换函数与填充函数的模糊粒子群优化算法
 首页 关于本刊 编 委 会 期刊动态 作者中心 审者中心 读者中心 下载中心 联系我们 English
 自动化学报  2018, Vol. 44 Issue (1): 74-86 PDF

1. 上海大学机电工程与自动化学院 上海 200072

Fuzzy Partical Swarm Optimization Based on Filled Function and Transformation Function
LV Bai-Quan1, ZHANG Jing-Jing1, LI Zhan-Pei1, LIU Ting-Zhang1
1. Shanghai University, School of Mechatronic Engineering and Automation, Shanghai 200072
Manuscript received : July 24, 2016, accepted: December 18, 2016.
Foundation Item: Supported by National Natural Science Foundation of China (61273190)
Corresponding author. LV Bai-Quan  Associate professor at the School of Mechatronic Engineering and Automation, Shanghai University. He received his Ph. D. degree in thermal engineering from Tsinghua University in 1997. His research interest covers computational intelligence and nonlinear system control. Corresponding author of this paper
Recommended by Associate Editor ZHANG Yi
Abstract: A fuzzy partical swarm optimization (PSO) based on filled function and transformation function (FPSO-TF) is proposed. Based on the multi-loop fuzzy controlsystem with different membership function the algorithm combines transformation function and filled function to reduce the chances of falling into local minima, and jumping out of a local minimum. It is fast and efficient to search for the global optimal solution. To compare the proposed algorithm with several different types of improved algorithms, a Matlab simulation is given. The result also verifies the effectiveness of the algorithm.
Key words: Transformation function     filled function     fuzzy control     partical swarm optimization (PSO)

1 多回路模糊控制系统

 $\min f(x), \quad x \in \Omega \subset {\bf R} ^n$ (1)

1.1 单回路控制系统

 图 1 单回路控制系统 Figure 1 The single loop control system

 $\frac{\partial T}{\partial f} = \, \frac{\partial \left[ \frac{a(f-b)}{\sqrt{1+\left({a\left( {f-b} \right)} \right)^2}} \right]}{\partial f} = \\ \frac{a}{[1+(a(f-b))^2]\sqrt{1+(a(f-b))^2}}>0$ (2)

 图 2 变换函数图 Figure 2 Transformation function curve
 图 3 目标函数平面示意图 Figure 3 Objective function diagram

 图 4 $F4$变换前后的曲线图即$F4$和$T(1,0,F4)$ Figure 4 The curves of $F4$ before and after transformation: $F4$ and $T(1,0,F4)$
 图 5 $F11$变换前后的曲线图即$F11$和$T(1,0,F11)$ Figure 5 The stereogram of $F11$ before and after transformation: $F11$ and $T(1,0,F11)$

1.2 多回路模糊控制系统

 图 6 多回路模糊控制系统框图 Figure 6 A multi-loop distributed fuzzy control system
2 模糊粒子群算法 2.1 粒子群算法

 $v_\sigma(t+1)=\omega v_\sigma(t)+c_1r_1(p_\sigma-x_\sigma)+c_2r_2(p_g-x_\sigma) \\ x_\sigma(t+1)=x_\sigma(t)+v_\sigma(t+1)$ (3)

2.2 模糊粒子群算法

 $R_\sigma^l:\ {\rm If} \quad \xi_1 \quad {\rm is} \quad M_{\sigma1}^l \wedge \cdots \wedge \xi_p \quad {\rm is} \quad M_{\sigma p}^l \quad {\rm then} \\ \dot{x}_\sigma (t)=\omega_0(\sigma, l)+\omega_1(\sigma, l)x_\sigma(t)+\omega_2(\sigma, l)\times \\ \qquad (x_\sigma(t)-x_\sigma(t-1))+\omega_3(\sigma, l)r_1(x_{\sigma {\rm best}}(t)- \\ \qquad x_\sigma(t))+ \omega_4(\sigma, l)r_2(x_{\rm allbest}(t)-x_\sigma(t))$ (4)

$R_\sigma^l$表示第$\sigma$个模糊子系统的第$l$个模糊规则, $N_\sigma$表示第$\sigma$个模糊子系统的模糊规则数, $p$表示第$\sigma$个模糊子系统的模糊变量数, $x_{\sigma {\rm best}}$是第$\sigma$个模糊子系统的最好位置向量$f(x_{\sigma {\rm best}})=\mathop {\min }_{t\geq t_1}f(x_\sigma(t))$, 即是PSO中的$p_\sigma$, $x_{\rm allbest}$是所有模糊子系统的最好位置向量$f(x_{\rm allbest})=\mathop {\min}_{\sigma}\mathop{\min }_{t\geq t_1}f(x_\sigma(t))$, 即是PSO中的$p_g$, 根据PSO算法[3-4], $x_\sigma(t)$是第$\sigma$个模糊子系统粒子的当前位置, $\omega_0$, $\omega_1$, $\omega_2$, $\omega_3$$\omega_4是第\sigma个模糊子系统的调整参数, 其中\omega_0, \omega_1, \omega_2分别代表第\sigma个模糊子系统的变量x_\sigma的零阶项系数, 一阶项系数, 变化差的系数, 这相当于PI控制器系数; 而\omega_3$$\omega_4$是相当于PSO系数. $r_1$$r_2是[0, 1]范围内的随机数, 也就是说, 第\sigma个模糊子系统相当于PI控制和PSO的结合.采用加权平均法去模糊化, 第\sigma个模糊子系统的全局模型可描述为  \dot{x}_\sigma(t)=\, \sum\limits_l^{N_\sigma}( \omega_0(\sigma, l)+\omega_1(\sigma, l)x_\sigma(t)+ \\ \omega_2(\sigma, l)(x_\sigma(t)-x_\sigma(t-1))+ \\ \omega_3(\sigma, l)r_1(x_{\sigma{\rm best}}(t)-x_\sigma(t))+ \\ \omega_4(\sigma, l)r_2(x_{\rm allbest}(t)-x_\sigma(t)))h_{\sigma l}(\xi) (5) 其中, h_{\sigma l}(\xi)=\frac{\prod_{i=1}^p\mu_{M_{\sigma p}^l}}{\sum_{l=1}^{N_\sigma}\prod_{i=1}^p\mu_{M_{\sigma p}^l}}, \sum_{l=1}^{N_\sigma}h_{\sigma l}(\xi)=1, \mu_{M_{\sigma p}^l}为第P个模糊变量的隶属度函数, \sigma=1, 2, \cdots, m. \mu_{M_{\sigma p}^l}=R_\sigma-T(a_{\sigma l}, b_{\sigma l}, f), R_\sigma为第\sigma个子系统的输入. 在本文中h_{\sigma l}(\xi)=\frac{\prod_{i=1}^p\mu_{M_{\sigma p}^l}}{\sum_{l=1}^{N_\sigma}\prod_{i=1}^p\mu_{M_{\sigma p}^l}}=\frac{\mu_{M_{\sigma1}^l}}{\sum_{l=1}^{N_\sigma}\mu_{M_{\sigma1}^l}} (p=1).结合图 7阐述隶属度函数的设计思想:以常用的三角形隶属度函数为例, 图 7(a)中的隶属度函数宽度区间记为\sigma_i, 图 7(b)中的隶属度函数宽度区间记为\sigma_j, 若\sigma_i < \sigma_j, 相同数量的隶属度函数的搜索范围\Delta_i < \Delta_j.也就是说, 模糊控制系统的隶属度函数宽度区间\sigma_i越小, 该系统的局部搜索能力越强, 精度越高; 相反, 隶属度函数宽度区间\sigma_j越大, 该系统的全局搜索能力越强, 搜索范围越大.根据这种想法, 作者为m个模糊控制子系统设置m个隶属度函数, 如图 8所示.记第i个模糊控制子系统的隶属度函数宽度区间为\sigma_i, 第j个模糊控制子系统的隶属度函数宽度区间为\sigma_j, 令\sigma_i < \sigma_j~(i < j, i, j=1, 2, \cdots, m).这样每个模糊控制子系统的隶属度函数宽度区间都不一样, 隶属度函数宽度区间窄的控制系统局部搜索能力强, 精度高; 隶属度函数宽度区间宽的控制系统全局搜索能力强, 搜索范围大, 很好地弥补了传统粒子群算法的缺陷.另外, 与粒子群算法思想类似, 所有模糊子系统之间信息共享, 第\sigma个模糊子系统的当前变量x_\sigma以上次迭代所得的局部最优值x_{\sigma {\rm best}}和全局最优值x_{\rm allbest}作为导向.  图 7 不同宽度的隶属度函数 Figure 7 The membership functions with different width  图 8 多回路控制系统关系图 Figure 8 The relationship with all subsystems 由此可知对于m个模糊控制子系统, 只需要设置变换函数的参数a的值就可以改变隶属度函数的宽度区间, 即a_{\sigma_{il}}>a_{\sigma_{jl}}, 则\sigma_i < \sigma_j.此时设置m个模糊控制子系统就是设置a$$m$行矩阵, $a_i$的值越大, 第$i$个子系统隶属度函数的宽度区间越窄, 该模糊控制子系统的局部搜索能力越强, 精度越高; 相反, $a_j$的值越小, 第$j$个子系统隶属度函数的宽度区间越宽, 该模糊子系统的全局搜索能力越强, 搜索范围越大.当离散步长取一个非常小的正数时, 式(5)离散化描述如下:

 $x_\sigma(k+1)=\, x_\sigma(k)+\eta_4\sum\limits_l^{N_\sigma} (\omega_0(\sigma, l)+ \\ \omega_1(\sigma, l)x_\sigma(k) +\omega_2(\sigma, l)(x_\sigma(k)- \\ x_\sigma(k-1))+ \omega_3(\sigma, l)r_1(x_{\sigma {\rm best}}(k) - \\ x_\sigma(k))+\omega_4(\sigma, l)r_2(x_{\rm allbest}(k)- \\ x_\sigma(k)))h_{\sigma l}(\xi)$ (6)

2) 如果$x_1$$f(x)的一个已知的局部最小点, 且x\in S_1=\left\{x|f(x)\geq f(x_1), x\neq x_1\right\}, 则P(x, x_1)$$S_1$域内无固定点或者最小点.

3) 如果$x_1$$f(x)的一个已知的局部最小点, 对于任意x_2\in \Omega, x_2\neq x_1, 如果f(x_2)\geq f(x_1), 则x_2$$P(x, x_1)$的一个连续点, 或者$x_2$$P(x, x_1)的一个下半连续点. 证明.因为x_1$$f(x)$$B_1盆域内的一个局部最小点, 所以对于任意x\in B_1, 有f(x_2)\geq f(x_1), 则\lim_{x\rightarrow x_1}P(x, x_1)=\lim_{x\rightarrow x_1}-\frac{\left\| {x-x_1} \right\|}{1+\left\| {x-x_1} \right\|}=0=P(x_1, x_1).因此, P(x, x_1)$$x_1$点是连续的.如果$f(x_2)\neq f(x_1)$$x_2\neq x_1, 即f(x_2) < f(x_1)$$f(x_2)>f(x_1)$, 则$p(x_2, x_1)=\frac{\left\| {x_2-x_1} \right\|}{1+\left\| {x_2-x_1} \right\|}$$p(x_2, x_1)=-\frac{\left\| {x_2-x_1} \right\|}{1+\left\| {x_2-x_1} \right\|}, 这样存在一个邻域N(x_2, \delta), \delta>0使对于任意x\in N(x_2, \delta), \lim_{x\rightarrow x_1}P(x, x_1)=P(x_2, x_1), 即P(x, x_1)在点x_2是连续的.如果f(x_2)=f(x_1)$$x_2\neq x_1$, 则$p(x_2, x_1)=-\frac{\left\| {x_2-x_1} \right\|}{1+\left\| {x_2-x_1} \right\|}$, $\liminf_{x\rightarrow x_2}P(x, x_1)=-\frac{\left\| {x_2-x_1} \right\|}{1+\left\| {x_2-x_1} \right\|}$.因此$x_2$$P(x, x_1)的一个下半连续点. 4) 如果x_1$$f(x)$的一个已知的局部最小点, $x_2$是满足$f(x_2) < f(x_1)$的另一个与$x_1$邻近的局部最小点, 则存在一点$x^\prime\in S_2=\left\{x, f(x) < f(x_1), x\in \Omega\right\}$使得$P(x, x_1)$最小, 且它在$x_1$$x^{\prime\prime}的连接线上(x^{\prime\prime}属于x_2某一个邻域). 证明.已知局部最小点x_2满足f(x_2) < f(x_1), 则p(x_2, x_1)=-{\rm sgn}(f(x_2)-f(x_1))\frac{\left\| {x_2-x_1} \right\|}{1+\left\| {x_2-x_1} \right\|}=\frac{\left\| {x_2-x_1} \right\|}{1+\left\| {x_2-x_1} \right\|}>0; 对于局部极小点x_1, 存在S型盆域B_1, 存在x_3\in B_1满足x_3 < x_1, f(x_3)>f(x_1), 则有p(x_3, x_1)=-{\rm sgn}(f(x_3)-f(x_1))\frac{\left\| {x_3-x_1} \right\|}{1+\left\| {x_3-x_1} \right\|}=-\frac{\left\| {x_3-x_1} \right\|}{1+\left\| {x_3-x_1} \right\|} < 0; 又P(x_1, x_1)=0.由式(3)证明知, 则存在一点x^{\prime}\in S_2=\left\{x, f(x) < f(x_1), x\in \Omega\right\}使得P(x, x_1)最小, 且它在x_1$$x^{\prime\prime}$的连接线上($x^{\prime\prime}$属于$x_2$某一个邻域).

5) 如果$x_1$$f(x)的一个已知的局部最小点, d是满足d^{\rm T}(x-x_1)>0的一个方向, 如果f(x)>f(x_1), 则d$$P(x, x_1)$在点$x_1$的一个速降方向.

 $d^{\rm T}(x-x_1) =\, -\eta(\nabla P(x))^{\rm T}\times\\ (1+\left\| {x-x_1} \right\|)^2\left\|{x-x_1} \right\|(x-x_1)= \\ -\eta\frac{-(x-x_1)^{\rm T}}{(1+\left\| {x-x_1} \right\|)^2(\left\| {x-x_1} \right\|)}\times\\ (1+\left\| {x-x_1} \right\|)^2\left\| {x-x_1} \right\|(x-x_1)=\\ \eta(x-x_1)^{\rm T}(x-x_1)>0$

 $x_i^{(k+1)}=\, x_i^{(k)}+d=x_i^{(k)}-\eta\nabla P(x)\times \\ \left(1+\left\| {x_i^{(k)}-x_1} \right\|\right)^2\left(\left\| x_i(k)-x_1 \right\|\right) = \\ x_i^{(k)}+\eta(x_i^{(k)}-x_1)$ (11)

4 FPSO-TF算法流程

FPSO-TF (Fuzzy partical swarm optimization based on filled function and transformation function)算法流程如图 10所示, 具体步骤如下:

 图 10 FPSO-TF算法流程图 Figure 10 Flowchart of FPSO-TF algorithm

6 结论

 1 Kennedy J, Eberhart R. Particle swarm optimization. In:Proceedings of the 1995 IEEE International Conference on Neural Network. Perth, Australia:IEEE, 1995. 1942-1948 2 Lv Qiang, Liu Shi-Rong, Qiu Xue-Na. Design and realization of particle swarm optimization based on pheromone mechanism. Acta Automatica Sinica, 2009, 35(11): 1410-1419.( 吕强, 刘士荣, 邱雪娜. 基于信息素机制的粒子群优化算法的设计与实现. 自动化学报, 2009, 35(11): 1410-1419.) 3 Wang Y P, Dang C Y. An evolutionary algorithm for global optimization based on level-set evolution and Latin squares. IEEE Transactions on Evolutionary Computation, 2007, 11(5): 579-595. DOI:10.1109/TEVC.2006.886802 4 Lu B Q, Gao G Q, Lu Z Y. The block diagram method for designing the particle swarm optimization algorithm. Journal of Global Optimization, 2012, 52(4): 689-710. DOI:10.1007/s10898-011-9699-9 5 Zhan Z H, Zhang J, Li Y, Shi Y H. Orthogonal learning particle swarm optimization. IEEE Transactions on Evolutionary Computation, 2011, 15(6): 832-847. DOI:10.1109/TEVC.2010.2052054 6 Ustundag B, Eksin I, Bir A. A new approach to global optimization using a closed loop control system with fuzzy logic controller. Advances in Engineering Software, 2002, 33(6): 309-318. DOI:10.1016/S0965-9978(02)00036-4 7 Lee J, Chiang H D. A dynamical trajectory-based methodology for systematically computing multiple optimal solutions of general nonlinear programming problems. IEEE Transactions on Automatic Control, 2004, 49(6): 888-889. DOI:10.1109/TAC.2004.829603 8 Motee N, Jadbabaie A. Distributed multi-parametric quadratic programming. IEEE Transactions on Automatic Control, 2009, 54(10): 2279-2289. DOI:10.1109/TAC.2009.2014916 9 Nedic A. Asynchronous broadcast-based convex optimization over a network. IEEE Transactions on Automatic Control, 2011, 56(6): 1337-1351. DOI:10.1109/TAC.2010.2079650 10 Necoara I. Random coordinate descent algorithms for multi-agent convex optimization over networks. IEEE Transactions on Automatic Control, 2013, 58(8): 2001-2012. DOI:10.1109/TAC.2013.2250071 11 Li Bao-Lei, Shi Xin-Ling, Gou Chang-Xing, Lv Dan-Ju, An Zhen-Zhou, Zhang Yu-Feng. Multivariant optimization algorithm and its convergence analysis. Acta Automatica Sinica, 2015, 41(5): 949-959.( 李宝磊, 施心陵, 苟常兴, 吕丹桔, 安镇宙, 张榆锋. 多元优化算法及其收敛性分析. 自动化学报, 2015, 41(5): 949-959.) 12 Lu Zhi-Jun, An Jun-Xiu, Wang Peng. Partition-based MQHOA for multimodal optimization. Acta Automatica Sinica, 2016, 42(2): 235-245.( 陆志君, 安俊秀, 王鹏. 基于划分的多尺度量子谐振子算法多峰优化. 自动化学报, 2016, 42(2): 235-245.) 13 Chen Zhen-Xing, Yan Xuan-Hui, Wu Kun-An, Bai Meng. Many-objective optimization integrating open angle based congestion control strategy. Acta Automatica Sinica, 2015, 41(6): 1145-1158.( 陈振兴, 严宣辉, 吴坤安, 白猛. 融合张角拥挤控制策略的高维多目标优化. 自动化学报, 2015, 41(6): 1145-1158.) 14 Ma S Z, Yang Y J, Liu H Q. A parameter free filled function for unconstrained global optimization. Applied Mathematics and Computation, 2010, 215(10): 3610-3619. DOI:10.1016/j.amc.2009.10.057 15 Gao C L, Yang Y J, Han B S. A new class of filled functions with one parameter for global optimization. Computers & Mathematics with Applications, 2011, 62(6): 2393-2403.