Discrete Pseudo-Control Sets for Optimal Control Problem
- 格式:pdf
- 大小:341.86 KB
- 文档页数:15
Package‘psoptim’October14,2022Version1.0Date2016-01-30Title Particle Swarm OptimizationDepends R(>=2.0.0)Author Krzysztof Ciupke[aut,cre]Maintainer Krzysztof Ciupke<*************************>Description Particle swarm optimization-a basic variant.License GPL(>=2.0)URL https://NeedsCompilation noRepository CRANDate/Publication2016-01-3112:22:33R topics documented:psoptim (1)Index4 psoptim Particle Swarm OPTIMizationDescriptionParticle swarm optimization.The maximum is searched.Usagepsoptim(FUN,n=100,max.loop=100,w=0.9,c1=0.2,c2=0.2,xmin,xmax,vmax=c(4,4),seed=10,anim=TRUE)1ArgumentsFUN the optimized function with a vector as parametern number of particlesmax.loop maximal number of iterationsw inertia weightc1coefficient of the self-recognition componentc2coefficient of the social componentxmin vector of position constraints-minimal valuesxmax vector of position constraints-maximal valuesvmax vector of velocity constraints in each directionseed seed for random valuesanim logical;if TRUE(dafault),animation of the optimization process is shown DetailsThe i-th particle velocity v in j-th direction is calculated in t iteration according to:v[ij](t+1)=w*v[ij](t)+c1*r1*(xP[ij](t)-x[ij](t))+c2*r2*(xS[j](t)-x[ij](t)).where:r1and r2are random values,w is inertia weight,c1is a coefficient of the self-recognition component and c2is a coefficient of the social component.xP denotes so far best position of the particle and xS-the best position among the swarm.The new position(coordinates)is calculated as:x[ij](t+1)=x[ij](t)+v[ij](t+1).In the current version of the package,the function works without checking the correctness of the given arguments.ValueA list with the two components:sol solution,i.e.the best set of parameters found.val the bestfitness function found.Author(s)Krzysztof Ciupke,<krzysztof.ciupke at polsl.pl>ReferencesAbraham A,Guo H,Liu H.(2006)Swarm Intelligence:Foundations,Perspectives and Applications in Nedjah N,Mourelle L.(eds.):"Swarm Intelligent Systems",Springer,Berlin Heidelberg,pp.3-25.Banks A,Vincent J,Anyakoha C.(2007)A review of particle swarm optimization.Part I:back-ground and development.Natural Computing,vol.6,No.4,pp.467-484.Dorigo M,Stutzle T.(2004)Ant Colony Optimization,MIT Press.Eberhart R,Yuhui S.(2001)Particle swarm optimization:developments,applications and re-sources,Congress on Evolutionary Computation.Seoul,Korea.Examplesn<-50m.l<-50w<-0.95c1<-0.2c2<-0.2xmin<-c(-5.12,-5.12)xmax<-c(5.12,5.12)vmax<-c(4,4)g<-function(x){-(20+x[,1]^2+x[,2]^2-10*(cos(2*pi*x[,1])+cos(2*pi*x[,2]))) }psoptim(FUN=g,n=n,max.loop=m.l,w=w,c1=c1,c2=c2,xmin=xmin,xmax=xmax,vmax=vmax,seed=5,anim=FALSE)Indexpsoptim,14。
求助:谁能帮我详细解读一下,理解了两阶段极大似然估计的方法,却看不懂这个?R> loglik.marg <- function(b, x) sum(dgamma(x, shape = b[1], scale = b[2],+ log = TRUE))R> ctrl <- list(fnscale = -1)R> b1hat <- optim(b1.0, fn = loglik.marg, x = dat[, 1], control = ctrl)$parR> b2hat <- optim(b2.0, fn = loglik.marg, x = dat[, 2], control = ctrl)$parR> udat <- cbind(pgamma(dat[, 1], shape = b1hat[1], scale = b1hat[2]),+ pgamma(dat[, 2], shape = b2hat[1], scale = b2hat[2]))R> fit.ifl <- fitCopula(udat, myMvd@copula, start = a.0)fitCopula {copula} R DocumentationEstimation of the Parameters in Copula ModelsDescriptionFits a copula model to multivariate data belonging to the unit hypercube. The data can be pseudo-observations constructed from empirical or parametric marginal distribution functions, or true observations from the copula.UsageloglikCopula(param, x, copula, hideWarnings)fitCopula(copula, data, method = c("mpl", "ml", "itau", "irho"),start = NULL, lower = NULL, upper = NULL,optim.method = "BFGS", optim.control = list(maxit=1000),estimate.variance = NA, hideWarnings = TRUE)Argumentsparam a vector of parameter values.x, data n x d-matrix of (pseudo-)observations (for "mpl" and "ml" with valuesnecessarily in [0,1]) from the copula to be estimated,where n denotes the sample size and d the dimension. Considerapplying the function pobs() first in order to obtain values in [0,1]. method a character string specifying the method; can be either "ml" (maximum likelihood), "mpl" (maximumpseudo-likelihood), "itau" (inversion of Kendall's tau),and "irho" (inversion of Spearman's rho). The last three methodsassume that the data are pseudo-observations (scaled ranks),while the first method assumes that the data are observationsfrom the unknown copula. The default is "mpl".start a vector of starting values for param.lower, upper bounds on the variables for the "Brent" or "L-BFGS-B" method. optim.control a list of control parameters to be passed to optim(*, control=optim.control).optim.method the method for optim().estimate.variance logical; if true (as by default, if the optimization converges), the asymptotic variance is estimated.loglikCopula() returns the log likelihood evaluated at the given value of "param". The return value of fitCopula() is an object of class "fitCopula" (see there), containing slots (among others!)estimate the estimate of the parameters.var.est large-sample (i.e., asymptotic) variance estimate of the parameter estimator (filled with NA if estimate.variance = FALSE).copula the fitted copula.The summary() method for "fitCopula" objects returns a S3 “class” "summary.fitCopula", simply a list with components method, loglik, and convergence, all three from corresponding slots of the "fitCopula" objects, and coefficients a matrix of estimated coefficients, standard errors, t values and p-values. NoteIn the multiparameter elliptical case and when the estimation is based on Kendall's tau or Spearman's rho, the estimated correlation matrix may not always be positive-definite. If it is not, the correction proposed by Rousseeuw and Molenberghs (1993) is applied and a warning message given.If method "mpl" in fitCopula() is used and if start is not assigned a value, estimates obtained from method "itau" are used as initial values in the optimization.If methods "itau" or "itau" are used in fitCopula(), an estimate of the asymptotic variance (if available for the copula under consideration) will be correctly computed only if the argument data consists of pseudo-observations (see pobs()).For the t copula with df.fixed=FALSE (see ellipCopula()), the methods "itau" and "irho" cannot be used in fitCopula(). For the methods "ml" and "mpl", when start is not specified, the starting value for df is set to copula@df, typically 4. Also, the asymptotic variance cannot (yet) be estimated for method "mpl".To implement the “inference functions for margins” method (see, e.g., Joe 2005), the data need to be pseudo-observations obtained from fitted parametric marginal distribution functions and method needs to be set to "ml". The returned large-sample variance will then underestimate the true variance.Finally, note that the fitting functions generate error messages because invalid parameter values are tried during the optimization process (see optim()). When the number of parameters is one and the parameter space is bounded, using optim.method="Brent" is likely to give less warnings. Furthermore, from experience,optim.method="Nelder-Mead" is sometimes a more robust alternative to optim.method="BFGS".ReferencesGenest, C. (1987). Frank's family of bivariate distributions. Biometrika 74, 549–555. Genest, C. and Rivest, L.-P. (1993). Statistical inference procedures for bivariateArchimedean copulas. Journal of the American Statistical Association 88, 1034–1043. Rousseeuw, P. and Molenberghs, G. (1993). Transformation of nonpositive semidefinite correlation matrices. Communications in Statistics: Theory and Methods 22, 965–984.Genest, C., Ghoudi, K., and Rivest, L.-P. (1995). A semiparametric estimation procedure of dependence parameters in multivariate families of distributions. Biometrika82, 543–552.Joe, H. (2005). Asymptotic efficiency of the two-stage estimation method for copula-based models. Journal of Multivariate Analysis 94, 401–419.Demarta, S. and McNeil, A. J. (2005). The t copula and related copulas. International Statistical Review 73, 111–129.Genest, C. and Favre, A.-C. (2007). Everything you always wanted to know about copula modeling but were afraid to ask. Journal of Hydrologic Engineering 12, 347–368.Kojadinovic, I. and Yan, J. (2010). Comparison of three semiparametric methods for estimating dependence parameters in copula models. Insurance: Mathematics and Economics 47, 52–63.See AlsoCopula, mvdc for fitting multivariate distributions including the margins aka “meta copula”s;gofCopula.For maximum likelihood of (nested) archimedean copulas: emle, etc.Examplesgumbel.cop <- gumbelCopula(3, dim=2)(Xtras <- copula:::doExtras())n <- if(Xtras) 200 else 64set.seed(7) # for reproducibilityx <- rCopula(n, gumbel.cop)## "true" observationsu <- pobs(x) ## pseudo-observations## inverting Kendall's taufit.tau <- fitCopula(gumbel.cop, u, method="itau")fit.taucoef(fit.tau)# named vector## inverting Spearman's rhofit.rho <- fitCopula(gumbel.cop, u, method="irho")fit.rho## maximum pseudo-likelihoodfit.mpl <- fitCopula(gumbel.cop, u, method="mpl")fit.mpl## maximum likelihoodfit.ml <- fitCopula(gumbel.cop, x, method="ml")fit.ml # print()ing works via summary() ...## and of that, what's the log likelihood (in two different ways):(ll. <- logLik(fit.ml))stopifnot(all.equal(as.numeric(ll.),loglikCopula(coef(fit.ml), x=x, copula=gumbel.cop)))## a multiparameter exampleset.seed(6)normal.cop <- normalCopula(c(0.6,0.36, 0.6),dim=3,dispstr="un") x <- rCopula(n, normal.cop) ## "true" observationsu <- pobs(x) ## pseudo-observations## inverting Kendall's taufit.tau <- fitCopula(normal.cop, u, method="itau")fit.tau## inverting Spearman's rhofit.rho <- fitCopula(normal.cop, u, method="irho")fit.rho## maximum pseudo-likelihoodfit.mpl <- fitCopula(normal.cop, u, method="mpl")fit.mplcoef(fit.mpl) # named vectorstr(sf.mpl <- summary(fit.mpl))coef(sf.mpl)# the matrix, with SE, t-value, ...## maximum likelihoodfit.ml <- fitCopula(normal.cop, x, method="ml")fit.ml## with dispstr="toep"normal.cop.toep <- normalCopula(c(0, 0), dim=3, dispstr="toep") ## inverting Kendall's taufit.tau <- fitCopula(normal.cop.toep, u, method="itau")fit.tau## inverting Spearman's rhofit.rho <- fitCopula(normal.cop.toep, u, method="irho")fit.rho## maximum pseudo-likelihoodfit.mpl <- fitCopula(normal.cop.toep, u, method="mpl")fit.mpl## maximum likelihoodfit.ml <- fitCopula(normal.cop.toep, x, method="ml")fit.ml## with dispstr="ar1"normal.cop.ar1 <- normalCopula(c(0), dim=3, dispstr="ar1")## inverting Kendall's taufit.tau <- fitCopula(normal.cop.ar1, u, method="itau")fit.tau## inverting Spearman's rhofit.rho <- fitCopula(normal.cop.ar1, u, method="irho")fit.rho## maximum pseudo-likelihoodfit.mpl <- fitCopula(normal.cop.ar1, u, method="mpl")fit.mpl## maximum likelihoodfit.ml <- fitCopula(normal.cop.ar1, x, method="ml")fit.ml## a t copula with variable df (df.fixed=FALSE):(tCop <- tCopula(c(0.2,0.4,0.6), dim=3, dispstr="un", df=5))set.seed(101)x <- rCopula(n, tCop) ## "true" observationsu <- pobs(x) ## pseudo-observations## maximum likelihood; start := (rho[1:3], df)(tc.ml <- fitCopula(tCop, x, method="ml", start=c(0,0,0, 10)))(tc.ml. <- fitCopula(tCop, x, method="ml")) # without 'start'## maximum pseudo-likelihood; the asymptotic variance cannot be estimated (tc.mpl <- fitCopula(tCop, u, method="mpl", estimate.variance=FALSE,start= c(0,0,0,10)))if(Xtras) { ##---- typically not run with CRAN checking: ---## without start:(tc.mp. <- fitCopula(tCop, u, method="mpl", estimate.variance=FALSE))all.eqCop <- function(x,y, ...) {x@fitting.stats$counts <- y@fitting.stats$counts <- NULLall.equal(x,y, ...) }stopifnot(all.eqCop(tc.ml , tc.ml., tolerance= .005),all.eqCop(tc.mpl, tc.mp., tolerance= .005))## same t copula but with df.fixed=TRUE (--> use same data!)(tC.f <- tCopula(c(0.2,0.4,0.6), dim=3, dispstr="un", df=5, df.fixed=TRUE))## maximum likelihood; start := rho[1:3] -------------(tcF.ml <- fitCopula(tC.f, x, method="ml", start=c(0,0,0)))(tcF.ml. <- fitCopula(tC.f, x, method="ml"))# without 'start'stopifnot(all.eqCop(tcF.ml,tcF.ml., tolerance= 4e-4))## the (estimated, asymptotic) var-cov matrix:vcov(tcF.ml)## maximum pseudo-likelihood; the asymptotic variance cannot be estimated (tcF.mpl <- fitCopula(tC.f, u, method="mpl", estimate.variance=FALSE,start=c(0,0,0)))(tcF.mp. <- fitCopula(tC.f, u, method="mpl", estimate.variance=FALSE)) stopifnot(all.eqCop(tcF.mpl,tcF.mp., tolerance= 1e-5))}## end{typically not run ...}。
discrete phase methodThe Discrete Phase Method (DPM) is a numerical technique used to simulate dynamic systems that involve multiple interacting phases, such as fluid-structure interaction or particle-based systems. It is a discretization method that treats each phase separately and solves the equations of motion for each phase using a time-stepping scheme.In the DPM, the system is divided into distinct phases, and each phase is represented by a set of particles or fluid elements. The motion of each particle or fluid element is determined by applying forces and torques to it, which are computed based on the interactions between the phases. The motion of each phase is then updated in discrete time steps using numerical integration techniques, such as the Verlet algorithm or the leapfrog method.The DPM has several advantages. First, it allows for efficient simulation of systems with multiple interacting phases by treating each phase separately. This reduces the computational cost compared to fully coupled methods. Second, it provides flexibility in representing each phase using particles or fluid elements, depending on the system being simulated. Third, it can handle complex geometries and boundary conditions, as each phase is treated independently.However, the DPM also has some limitations. One of the main challenges is dealingwith the coupling between phases, as the motion of one phase can influence the motion of another phase. This coupling needs to be accurately modeled to ensure the accuracy of the simulation. Additionally, the DPM may not be suitable for simulating systems with strong hydrodynamic interactions between phases, as it treats each phase separately and does not account for the continuous nature of fluids.Overall, the Discrete Phase Method is a valuable tool for simulating dynamic systems with multiple interacting phases. It provides an efficient and flexible approach for modeling such systems, but care must be taken to accurately model the coupling between phases and account for any specific characteristics of the system being simulated.。
第38卷 第8期西南师范大学学报(自然科学版)2013年8月V o l .38 N o .8 J o u r n a l o f S o u t h w e s t C h i n aN o r m a lU n i v e r s i t y (N a t u r a l S c i e n c eE d i t i o n )A u g.2013文章编号:10005471(2013)08002504解变分不等式的两种新的投影算法①郑 莲, 苟清明长江师范学院数学与计算机科学学院,重庆涪陵408100摘要:运用A r m i j o 型线性搜寻程序构造了一类新的超平面.借助这些超平面,运用不同的投影方式,建立了一类新的二次投影算法和自适性投影算法.在较弱的条件下,这些算法是全局收敛的.数值试验证明这些新算法是有效的.关 键 词:变分不等式;二次投影算法;自适性投影算法;收敛性中图分类号:O 177.91文献标志码:A考虑变分不等式问题V I (F ,C ):求x *ɪC ,使得<F (x *),y -x *>ȡ0 ∀y ɪC(1)其中C 是R n 的一个非空闭凸子集,F 是从R n 到自身的连续映射,<㊃,㊃>和 . 分别表示Rn的内积和范数.设S 表示V I (F ,C )的解集.我们假设S 是非空的,且F 满足<F (y ),y -x *>ȡ0 ∀y ɪC ,x *ɪS (2)投影型算法是解决变分不等式问题的一类简洁有效的方法,已被广泛研究.文献[1]介绍了二次投影算法.文献[2]运用不同的线性搜寻程序,构造了一类新的超平面,改进了文献[1]的算法.为了修正算法,一些研究者考虑了自适性投影算法,该方法主要是通过改变步长参数或搜寻方向来改善其有效性,见文献[3].本文运用A r m i j o 型线性搜寻程序构造了一类新的超平面.借助这些超平面,运用不同的投影方式,建立了一类新的二次投影算法和自适性投影算法.在较弱的条件下,这些算法被证明是全局收敛的.数值试验证明这些新算法是有效的.1 算法及预备知识设μ>0是一个参数.定义r μ(x )=x -ᵑC (x -μF (x )).算法1 选取x 0ɪC ,μ,α1>0,θɪ(0,1),σɪ(0,μ-1),α2ȡ0和α1ʂα2.令k =0.步骤1 计算r μ(x k ).如果r μ(xk )=0,则停止;否则,转到步骤2.步骤2 计算z k =x k -ηk r μ(xk ),其中ηk =θm k ,m k 是满足<F (x k )-F (x k -θmr μ(x k )),r μ(x k )>ɤσ r μ(xk ) 2(3)的最小的非负整数m .如果F (z k )=0,则停止;否则,转到步骤3.步骤3 计算步长ρk =γk ηk <r μ(x k ),F (z k )> d k2(4) 步骤4 计算x k +1=ᵑC (x k -ρk d k)(5)其中①收稿日期:20120616基金项目:重庆市教委重点资助项目(k j 111309).作者简介:郑 莲(1974),女,重庆涪陵人,副教授,主要从事非线性分析的研究.Copyright ©博看网. All Rights Reserved.d k =γk F (z k )+λk F (x k ) γk =α1 r μ(x k ) F (z k ) λk =α2 r μ(x k ) F (x k )(6)令k =k +1,转到步骤1.注1 算法1中的搜寻程序(3)与文献[3]中的相应搜寻程序是不一样的.在搜寻m 的过程中,算法1每次试验只需估算函数值,而在文献[3]中,每次试验都需要计算投影和估算函数值.由式(4)和(6)得到x k -ρk d k=x k -<x k -z k ,d k >-λk ηk <F (x k ),r μ(x k )> d k2d k =ᵑ췍H k (x k )其中췍H k ={v ɪR n:h k (v )=0}是由函数h k (v )=<v -z k ,d k >-λk ηk <F (x k ),r μ(x k )>(7)定义的超平面.算法2 选取x 0ɪC ,θɪ(0,1),σɪ(0,μ-1),μ,α1>0和α2ȡ0.令k =0.步骤1和步骤2与算法1相同.步骤3 计算x k +1=ᵑC k(x k ),其中C k ={v ɪC :h k (v )ɤ0},h k (v )由式(7)定义.令k =k +1,转到步骤1.注2 在算法1中,x k 被先投影到췍H k 再投影到C 上.而在算法2中,x k 被直接投影到C k =C ɘH k上.取α1=0,则算法2退化为文献[1]中的算法2.2.文献[1]的算法2.2中的σ只能在区间(0,1)内取值,而算法2中的σ可以取任意的正数.事实上,在数值试验部分,我们取σ=10.算法2与文献[2]中的算法是不同的,主要区别在于所构造的超平面不相同.引理1 设x *ɪS ,函数h k 由式(7)定义,则h k (x k )ȡ(μ-1-σ)ηk γk r μ(x k ) 2 h k (x *)ɤ0特别地,如果r μ(xk )ʂ0,则h k (x k )>0.证 由文献[2]的引理2.1和式(3),得到h k (x k )=<x k -z k ,d k >-λk ηk <F (x k ),r μ(x k )>=γk ηk <F (z k ),r μ(x k )>ȡ(μ-1-σ)ηk γk r μ(x k ) 2ȡ0由于σ<μ-1,如果r μ(xk )ʂ0,那么h k (x k )>0.根据条件(2),得到h k (x *)=<x *-z k ,d k >-λk ηk <F (x k ),r μ(x k )>=<x *-x k ,d k >+ηk <r μ(x k ),d k>-λk ηk <F (x k ),r μ(x k )>=<x *-x k ,γk F (z k )>+<x *-x k ,λk F (x k )>+ηk γk <r μ(xk ),F (z k )>ɤ02 收敛分析这一部分,我们考虑算法1㊁算法2的收敛性.当然,如果算法在第k 步停止,则x k 是VI (F ,C )的解.因此,在下面的分析中,我们假设算法1㊁算法2总是产生一个无穷序列.定理1 如果C 是R n 的非空闭凸子集,F 是从R n到自身的连续映射,且满足条件(2),则由算法1产生的序列{x k }收敛于V I (F ,C )的一个解.证 设x *ɪS .定义x (ρ)=ᵑC (x -ρd ) θ(ρ)= x -x * 2- x (ρ)-x * 2(8)将投影不等式x (ρ)-x * 2ɤ x -ρd -x * 2- x -ρd -x (ρ)2= x -x * 2-2ρ<x -x *,d >- x -x (ρ) 2+2ρ<x -x (ρ),d >代入式(8),由式(2),得到θ(ρ)ȡ2ρ<x -x *,d >+ x -x (ρ) 2-2ρ<d ,x -x (ρ)>=2ρ<x -x *,γF (z )+λF (x )>+ x -x (ρ) 2-2ρ<x -x (ρ),d >ȡ2ρηγ<r μ(x ),F (z )>+ x -x (ρ)-ρd 2-ρ2 d 2从而有θ(ρ)ȡ2ηγρ<r μ(x ),F (z )>-ρ2 d 2.62西南师范大学学报(自然科学版) h t t p ://x b b jb .s w u .c n 第38卷Copyright ©博看网. All Rights Reserved.令g (ρ)=2ηγρ<r μ(x ),F (z )>-ρ2 d 2,则g m a x (ρ)=η2γ2<F (z ),r μ(x )>2d 2.由文献[2]的引理2.1和式(3)得 x k +1-x * 2= x k -x * 2-θ(ρk )ɤ x k -x * 2-ηk 2γk 2<F (z k ),r μ(x k )>2d k 2ɤ x k -x * 2-ηk 2γk 2(μ-1-σ)2(α1+α2)2 r μ(x k ) 2即{ x k -x * }是单调递减的收敛数列,从而{x k }有界,且l i m ңk ɕη2k γ2k r μ(x k ) 2=α21l i m ңk ɕη2k r μ(x k ) 4 F (z k )2=0.又因为r μ和F 是连续的,所以序列{ F (z k ) }也是有界的.因此有l i m ңk ɕη2k r μ(xk ) 4=0.即存在{x k }的子列{x k i }和{x k j },使得l i m ңi ɕr μ(x k i ) =0,或l i m ңj ɕηk j=0.如果l i m ңi ɕr μ(x k i ) =0,则存在{x k i}的一个聚点췍x ,使得r μ(췍x )=0,从而췍x 是V I (F ,C )的一个解.用췍x 代替x *,{ x k -췍x }也是单调递减的收敛数列.由于췍x 是{x k i }的一个聚点,所以存在子列{ x k i-췍x }收敛到0,从而整个序列{ x k -췍x }收敛到0,因此l i m ңk ɕx k =췍x .如果l i m ңj ɕηk j =0,由式(3),得到<F (x k j )-F (x k j -ηk j γ-1r μ(x k j )),r μ(x k j )>>σ r μ(x k j) 2.让ңj ɕ,得到l i m ңj ɕr μ(x k j) =0.类似于前面的讨论可得到结论.定理2 如果定理1的条件成立,那么算法2产生一个收敛于V I (F ,C )的解的无穷序列{x k }.证 设x *ɪS .由于x k +1=ᵑC k(x k ),由投影性质,有 x k +1-x *2ɤ x k -x * 2- x k +1-x k 2= x k -x * 2-d i s t 2(x k ,C k )所以{ x k +1-x * 2}单调递减,从而是收敛数列.因此{x k }有界,且l i m ңk ɕd i s t (x k ,C k )=0.由于F 和投影算子是连续的,所以{r μ(xk )}是有界序列,从而存在M >0,使得 d kɤγk F (z k ) +λk F (x k ) =(α1+α2) r μ(xk ) ɤM 显然每个h k 在C 上都是Li p s c h i t z 连续的,且L i p s c h i t z 常数为M >0.由文献[2]的引理2.3和引理1,d i s t (x k ,C k )ȡM -1h k (x k )ȡM -1(μ-1-σ)ηk γk r μ(x k ) 2.因此l i m ңk ɕηk γk r μ(x k ) 2=0.接下来的证明与定理1相同.3 数值实验运用MA T L A B7.0编程,在内存为2.00GM 的笔记本电脑上进行数值实验.将算法1㊁算法2以及文献[2]的算法2.1和文献[1]的算法2.2的运行结果进行比较.在表1㊁表2中,n 表示问题的维数,C P U 表示C P U 运行时间(单位:秒), - 表示C P U 运行时间超过600秒.我们用 r μ(x ) ɤ10-4作为程序结束的标准.在表1㊁表2中,我们选取γ=0.5,σ=4和μ=0.2作为文献[2]中的算法2.1的取值;σ=0.3和γ=0.5作为文献[1]中的算法2.2的取值.这些参数值的选择是由相应参考文献提供的.表1㊁表2中共涉及4个问题,其中问题1为文献[4]的例6.1,问题2为文献[5]中的K o j i m a -S h i n d o 型非线性相补问题N C P (取n =4),问题3为文献[6]中的M a t h i e s e n ,问题4为文献[7]中的N 个公司非合作对策的C o u r n o t -N a s h 型平衡问题.在表1中,问题的初始点为原点.选取σ=4,α1=50,α2=-20,θ=0.5和μ=0.2作为算法1㊁算法2的参数值.表1 各算法在问题1中的实验结果n 算法1迭代数目C P U /秒算法2迭代数目C P U /秒文献[2]的算法2.1迭代数目C P U /秒文献[1]的算法2.2迭代数目C P U /秒10050.10950.405110.577150.59320050.24950.842121.451151.80950051.43555.5531311.0611513.41100057.035533.281374.1617101.42000539.415121.714431.417593.130005109.35585.1----72第8期 郑 莲,等:解变分不等式的两种新的投影算法Copyright ©博看网. All Rights Reserved.表1显示我们的算法1㊁算法2的迭代次数和C P U 运行时间都比文献[2]中的算法2.1以及文献[1]中的算法2.2更少.在表2中,我们取α1=50,σ=30,θ=0.6,α2=-20,和μ=0.002作为算法1和2分别在M a t h i e s e n 1-2和M a t h i e s e n 1中的取值;取α1=50,σ=10,θ=0.6,α2=-20和μ=0.02作为算法2在其他问题中的取值.取x 0=(1,1,1,1)和x 0=(0.3,0.4,0.3)分别为问题2和问题3的初始点.M a t h i e s e n 1和M a t h i e s e n 2分别代表问题2和问题3,H a r n a s h 5和H a r n a s h 10是问题4中分别取n =5和n =10的情况.表2 各算法在问题2-4中的实验结果n 算法1迭代数目C P U /秒算法2迭代数目C P U /秒文献[2]的算法2.1迭代数目C P U/秒文献[1]的算法2.2迭代数目C P U/秒M a t h i e s e n 1150.078120.187370.389280.374M a t h i e s e n 2100.14180.172190.14120.15H a r n a s h 5--60.296120.203220.312H a r n a s h 10--140.312410.312510.468从表2,我们能观察到,算法2在问题2-4等非线性问题中比其他的几种算法更有效;算法1在问题2-3中效果不错,但在问题4中效果不好.参考文献:[1]S O L O D O V M V ,S V A I T E RBF .A N e w P r o j e c t i o n M e t h o d f o rV a r i a t i o n a l I n e q u a l i t y Pr o b l e m s [J ].S I M J JC o n t r o l O p t i m ,1999,37(3):765-776.[2] H E Y i -r a n .A N e w D o u b l eP r o j e c t i o n A l g o r i t h mf o rV a r i a t i o n a l I n e q u a l i t i e s [J ].JC o m p u tA p p lM a t h ,2006,185:166-173.[3] Z E N G Y u ,HUS h a o ,WA N GG u o -d o n g .M o d i f i e dS e l f -A d a p t i v eP r o j e c t i o nM e t h o d f o r S o l v i n g P s e u d o m o n o t o n eV a r i a -t i o n a l I n e q u a l i t i e s [J ].A p p lM a t hC o m p u t ,2011,217:8052-8060.[4] S U N D.A C l a s so f I t e r a t i v e M e t h o d s f o rS o l v i n g N o n l i n e a rP r o j e c t i o nE q u a t i o n s [J ].JO p t i m T h e o r y A p pl ,1996,91(1):123-140.[5] P A N GJS ,G A B R I E LSA.N E /S Q P :AR o b u s tA l g o r i t h mf o r t h eN o n l i n e a r C o m p l e m e n t a r i t y P r o b l e m [J ].M a t hP r o -g r a m ,1993(60):295-337.[6] MA T H I E S E NL .A nA l g o r i t h mB a s e d o n a S e q u e n c e o f L i n e a rC o m p l e m e n t a r i t y P r o b l e m sA p p l i e d t o aW a l r a s i a nE q u i -l i b r i u m M o d e l :A nE x a m p l e [J ].M a t hP r o gr a m ,1987(37):1-18.[7] HA R K E R P T.A c c e l e r a t i n g t h eC o n v e r g e n c eo f t h eD i a g o n a l i z a t i o na n dP r o j e c t i o n A l g o r i t h m s f o rF i n i t e -D i m e n s i o n a l V a r i a t i o n a l I n e q u a l i t i e s [J ].M a t hP r o gr a m ,1988(41):29-59.T w oN e wP r o j e c t i o nA l g o r i t h m s f o r S o l v i n g V a r i a t i o n a l I n e qu a l i t i e s Z H E N G L i a n , G O U Q i n g -m i n g D e p a r t m e n t o fM a t h e m a t i c sa n dC o m p u t e r S c i e n c e ,Y a n g t z eN o r m a l U n i v e r s i t y ,F u l i n g C h o n g q i n g 408100,C h i n a A b s t r a c t :Ac l a s s o f n e wh y p e r p l a n e s a r e o b t a i n e db y a nA r m i j o -t y p e l i n e s e a r c h p r o c e d u r e .B y t h eh y p e r -p l a n e s a n du s i n g d i f f e r e n t p r o j e c t i o n w a y ,ac l a s so fn e w d o u b l e p r o j e c t i o na l g o r i t h m sa n ds e l f -a d a p t i v e o n e s a r e p r o p o s e d .T h e y a r e p r o v e dt ob e g l o b a l l yc o n v e r g e n t t oas o l u t i o no f t h ev a r i a t i o n a l i n e q u a l i t yp r o b l e mu n d e rw e a kc o n d i t i o n .N u m e r i c a l e x p e r i m e n t s p r o v e t h a t n e wa l go r i t h m s a r e v a l i d .K e y w o r d s :v a r i a t i o n a l i n e q u a l i t i e s ;d o u b l e p r o j e c t i o na l g o r i t h m ;s e l f -a d a p t i v e p r o j e c t i o na l g o r i t h m ;c o n -v e r ge n c e 责任编辑 廖 坤82西南师范大学学报(自然科学版) h t t p ://x b b jb .s w u .c n 第38卷Copyright ©博看网. All Rights Reserved.。
具有解耦性能的离散时间线性多变量系统最优跟踪控制富 月 1陈 威1摘 要 在传统线性二次跟踪控制方法的基础上, 针对一类具有强耦合特性的离散时间线性多变量系统, 提出了一种具有解耦性能的最优跟踪控制方法. 首先为实现解耦, 将耦合项作为可测干扰, 基于零和博弈思想提出了一种新的性能指标; 然后针对该性能指标, 利用极小值原理设计最优跟踪控制器, 通过适当加权矩阵的选择, 同步实现解耦和跟踪; 最后进行仿真实验, 仿真结果表明了该方法的有效性以及在最优性能等方面的优越性.关键词 解耦, 跟踪控制, 离散时间线性系统, 多变量系统引用格式 富月, 陈威. 具有解耦性能的离散时间线性多变量系统最优跟踪控制. 自动化学报, 2022, 48(8): 1931−1939DOI 10.16383/j.aas.c190748Optimal Tracking Control Method for Discrete-time Linear MultivariableSystems With Decoupling PerformanceFU Yue 1 CHEN Wei 1Abstract In this paper, for a class of discrete-time multivariable linear systems with strong coupling property,based on the traditional linear quadratic tracking control method, an optimal tracking controller with decoupling performance is proposed. First, in order to achieve decoupling, the coupling term is viewed as the measurable dis-turbance, and then a novel performance index which is inspired by the two-player Zero-Sum game problem is intro-duced. Based on the novel performance index, the optimal tracking controller is derived by using the minimum prin-ciple. Then, it is proved that by choosing appropriate weighting matrices, the proposed method can simultaneously decouple the closed-loop system in dynamic and make the tracking error converge asymptotically. Finally, simula-tions are conducted, whose results demonstrate the effectiveness of the proposed method and its superiority in op-timal performance comparing with the traditional controller.Key words Decoupling, tracking control, discrete-time linear systems, multivariable systemsCitation Fu Yue, Chen Wei. Optimal tracking control method for discrete-time linear multivariable systems with decoupling performance. Acta Automatica Sinica , 2022, 48(8): 1931−1939跟踪和镇定是控制领域的两个典型问题. 一般来说, 相较于镇定问题, 跟踪更为困难. 这是因为镇定只需要在系统的状态或输出受到干扰而偏离原平衡状态时, 施加控制作用, 使得系统状态或输出恢复到原平衡状态即可, 而跟踪控制问题要求系统的状态或输出能够跟随任意参考输入. 跟踪控制不仅是控制理论研究的热点问题, 在工程领域也具有很强的应用背景, 比如机器人运动轨迹跟踪控制[1]、船舶轨迹跟踪控制[2]和飞行器姿态控制[3]等.跟踪控制器的设计方法主要分为两类, 一类是追求跟踪误差渐近收敛的常规跟踪控制方法, 另一类是兼顾跟踪误差和整体性能的最优跟踪控制方法. 常规跟踪控制方法通过反馈实现调节, 利用前馈使得系统状态跟踪参考输入. 由于该方法基于零极点对消原理, 如果系统存在不可对消的不稳定零点, 会导致闭环系统输出产生相移和增益误差[4]. 为解决该问题, 文献[4−5]提出了一种多速率前馈跟踪控制方法, 使得存在不稳定零点的线性系统能够完全跟踪参考输入. 20世纪90年代初, 随着自适应控制的发展以及模糊逻辑系统和神经网络等智能算法的引入, 具有不确定性和非线性特性的复杂系统的跟踪控制问题受到人们的广泛关注. 文献[6]针对一类具有不确定动态的回滞非线性系统, 提出了一种鲁棒自适应反步跟踪控制方法, 该方法将整个非线性系统划分为多个子系统, 对每个子系统进行设计, 直到倒推至系统输入. 随着系统阶数的增加,该方法的推导过程会变得非常复杂, 容易产生复杂收稿日期 2019-10-29 录用日期 2020-03-11Manuscript received October 29, 2019; accepted March 11,2020国家自然科学基金(61991403, 61991400)和辽宁省教育厅创新人才项目(ZX20200070)资助Supported by National Natural Science Foundation of China (61991403, 61991400) and Innovative Talent Project of Liaoning Education Committee (ZX20200070)本文责任编委 张卫东Recommended by Associate Editor ZHANG Wei-Dong1. 东北大学流程工业综合自动化国家重点实验室 沈阳 1100041. State Key Laboratory of Synthetical Automation for Pro-cess Industries, Northeastern University, Shenyang 110004第 48 卷 第 8 期自 动 化 学 报Vol. 48, No. 82022 年 8 月ACTA AUTOMATICA SINICAAugust, 2022度爆炸问题. 文献[7]针对一类模型未知的严反馈的单输入单输出非线性系统, 通过引入动态表面控制技术和最小学习参数方法来解决传统反步法带来的复杂度爆炸的问题, 提出了一种鲁棒自适应跟踪控制方法, 使得系统能够跟踪任意参考输入. 文献[8]针对一类含有外部干扰和建模不确定性的非线性多输入多输出系统, 将模糊控制方法与反步法相结合,设计鲁棒自适应模糊控制器, 保证系统输出信号一致有界并能收敛到参考输入附近. 文献[9]提出一种基于输出跟踪误差的自适应模糊控制方法, 设计带有模糊观测器的模糊控制器, 来减小未知非线性系统的跟踪误差.上述常规跟踪控制方法的目标是找到一个稳定的控制器, 使得系统状态或输出跟踪参考轨迹. 在控制器设计中, 常常要兼顾到系统的跟踪误差和整体性能. 最优跟踪控制方法可以通过最小化二次型性能指标, 一方面使系统跟踪误差渐近收敛, 另一方面使系统获得最优性能. 文献[10]指出线性二次型最优跟踪(Linear quadratic tracking, LQT)控制器由反馈项和前馈项两部分组成, 其中反馈项使闭环系统稳定, 前馈项使闭环系统输出跟踪参考输入. 文献[11]针对连续时间线性多变量系统, 将开环解耦控制与LQT 相结合, 提出了一种近似最优跟踪控制方法, 实现了多变量系统的解耦和跟踪控制. 设计线性最优跟踪控制器的关键在于求解代数黎卡提方程, 由于该方程中包含着系统模型参数信息, 所以对于这种传统的最优跟踪控制方法, 当系统模型参数未知时, 就无法得到有效应用. 为解决这一问题, 文献[12]针对模型参数部分未知的连续时间线性系统, 提出了一种基于策略迭代的自适应动态规划方法, 通过计算代数黎卡提方程的数值解,进而得到近似最优跟踪控制律. 不过这类方法大多要求系统状态完全已知, 为了解决这个问题, 文献[13]针对模型参数部分未知的离散时间线性系统, 仅使用系统输入输出数据, 提出了一种基于值迭代和策略迭代的自适应动态规划方法, 设计近似最优跟踪控制器, 使得系统输出能够跟踪参考输入. 与线性最优跟踪控制器设计方法类似, 设计非线性最优跟踪控制器时需要求解非线性哈密顿−雅可比−贝尔曼方程. 许多专家学者针对这一问题也展开了深入研究. 文献[14]针对模型参数部分未知的连续时间非线性系统, 提出了一种基于多层神经网络的近似最优跟踪控制器设计方法, 先使用神经网络辨识系统模型, 再分别设计反馈神经控制器和前馈神经控制器, 使得系统可以较好的跟踪参考输入, 不过该方法使系统输出和控制输入在初始时刻会产生较大的震荡. 为了抑制这种震荡, 文献[15−16]设计了一种新型性能指标, 并提出了一种启发式动态规划方法, 不仅减小了系统输出和控制输入的波动, 还获得了更好的跟踪性能. 文献[17−19]针对模型参数未知的连续时间非线性系统, 提出了一种数据驱动的自适应动态规划方法, 先利用递归神经网络建立数据驱动模型, 在该模型的基础上设计了基于自适应动态规划的近似最优跟踪控制器, 使得系统状态输出能够渐近跟踪期望轨迹. 毫无疑问, 上述研究工作推动了最优跟踪控制方法的进一步发展与应用,丰富了跟踪控制的研究内容.实际系统往往具有多变量和强耦合特性, 上述跟踪控制方法没有考虑到多变量系统中可能存在的强耦合特性, 无法保证系统的整体性能最优. 本文针对一类具有强耦合特性的离散时间线性多变量系统, 提出了一种具有解耦性能的最优跟踪控制方法.首先将耦合项看作可测干扰, 基于零和博弈思想设计一个由系统跟踪误差、控制输入和耦合干扰补偿构成的性能指标; 然后通过最小化这个新的性能指标, 得到最优跟踪控制律, 并给出了加权矩阵的选择方法, 证明了通过该加权矩阵的选择, 一方面可以动态解耦闭环系统并使其稳定, 另一方面可使闭环系统的状态完全跟踪参考输入; 最后进行了仿真对比实验, 实验结果表明与传统的LQT控制器相比, 该方法无论在跟踪误差还是在系统的整体性能方面都具有一定的优越性.1 问题描述考虑如下离散时间线性多变量系统:x k=[x1(k),x2(k),···,x n(k)]T∈R nu k=[u1(k),u2(k),···,u n(k)]T∈R nA∈R n×n B∈R n×nB式中, 是系统的状态向量,是系统的控制输入向量, 和均为常值矩阵, 并且是可逆的.u∗kx r,k=[x r1(k),x r2(k),···,x rn(k)]T∈R n传统的LQT控制问题是寻找最优跟踪控制律, 使得闭环系统的状态能够跟踪给定参考输入, 并使如下性能指标最小:N x Nx r,N e k= x r,k−x k k P QR式中, 为大于1的正整数, 表示终端时刻, 为终端时刻系统状态, 为终端时刻参考输入,为时刻的跟踪误差, 和为半正定矩阵, 为正定矩阵. 易知, 最优跟踪控制律为[14]:1932自 动 化 学 报48 卷S k V k 式中, 和 分别根据下式反向迭代求解:将式(3)代入式(1), 得到闭环系统方程:P Q Rx r,k x k x ri (k ),i =1,···,n x j (k )(j =1,···,n ;i =j )由式(4) ~ (6)可以看出, 即使加权矩阵 , 和 都为对角矩阵, 也难以保证从 到 的传递函数矩阵是对角的, 也就是说某一个参考输入 的变化会导致其他状态 的变化. 造成这种现象的原因是不同控制回路之间存在耦合. 如果被控对象是线性多变量弱耦合系统, 可以采用分布式控制、模型预测控制等方法, 然而如果被控对象是强耦合的, 上述方法难以获得良好的控制效果.P Λ1Λ2S k V k Q x k x r,k 本文的目的是提出一种具有解耦性能的最优跟踪控制方法, 针对已知的离散时间线性多变量系统(1), 通过预先给定合适的对角半正定矩阵 , 对角正定矩阵 和 , 得到矩阵序列 和 以及对角半正定矩阵 , 设计最优跟踪控制器, 使得闭环系统状态 能够尽可能的跟踪任意参考输入 的变化, 同时尽可能减少不同控制回路之间的耦合影响, 使闭环系统达到最优性能.2 具有解耦性能的最优跟踪控制方法A 1=diag {A ii },B 1=diag {B ii }A 1B 1A B A 2=A −A 1,B 2=B −B 1,A 2B 2为了实现解耦控制, 首先令 , 即 和 均为对角矩阵, 其对角线元素分别等于 和 的主对角元素; 令 即 和 均为主对角元素为零的矩阵, 于是如式(7)所示, 将系统(1)分成2个部分, 第1部分无耦合特性, 第2部分可视为所有耦合干扰:A 2x k +B 2u k 受到二人零和博弈问题的启发, 将式(7)中的耦合干扰 看作可测干扰, 引入如下考虑耦合影响的性能指标:z k =W k x k +X k u k A 2x k +B 2u k P Q k R k M k W k X k k 式中, 作为可测干扰 的补偿项, 为半正定矩阵, 为时变半正定矩阵, 和 为时变对称矩阵, 和 为时变加权矩阵. 为了描述方便, 在不引起混淆的情况下, 后文将上述时变矩阵的下角标 省略.x r,k X M R R −X T MX :=¯R>0定理1. 考虑由式(1)以及参考轨迹 构成的最优跟踪控制问题. 对任意的矩阵 和 ,选择加权对称矩阵 满 足 , 则最小化式(8)的最优跟踪控制律为:S k ∈R n ×n V k ∈R n 式中, 和 分别根据下式反向迭代求解:证明. 根据最小值原理, 定义如下哈密顿函数:λk +1∈R n H k u k 式中, 是拉格朗日乘子向量函数. 根据极值条件, 求 对 的一阶偏导数:∂H k /∂u k =0令 , 得到最优跟踪控制律:∂2H k /∂u 2k =R −X TMX >0由于二阶偏导数 , 因此性能指标式(8)可以通过式(14)实现最小化.根据式(12), 得到状态方程和协态方程分别为:与文献[14]类似, 假设:将式(17)代入式(14), 可得:8 期富月等: 具有解耦性能的离散时间线性多变量系统最优跟踪控制1933u ∗k x k +1由式(18)可知, 依赖未来时刻的状态 , 考虑到物理可实现性, 将式(1)代入式(18), 可得:对式(19)进行移项整理后即得到式(9).将式(1)、式 (14)和式(17)同时代入式(16),得到:利用待定系数法, 对比式(20)与式(17), 得到式(10) ~ (11)反向迭代方程.x 0在初始状态 已知的情况下, 最优跟踪问题的边界条件为:将式(21)与式(17)进行对比,可得式(10) ~ (11)中的边界条件. □Λ1R X M W 推论1. 对任意对角正定矩阵 , 加权对称矩阵 , 以及任意可逆矩阵 , 加权矩阵 和 按照式(22) ~ (23)选择:Λ2则对任意的对角正定矩阵 , 当最优跟踪控制律为:S k ∈R n ×n 式中, 矩阵 满足:V k ∈R n 向量 满足:P Q加权矩阵 为对角半正定矩阵, 加权对角矩阵 满足:不仅能够实现闭环系统的解耦, 而且使跟踪误差渐近收敛到零.证明. 观察式(10), 为了实现解耦控制, 首先令:根据式(28)和式(29), 可得到式(22)和式(23). 将式(22) ~ (23)代入式(10), 得到:Λ2令式(30)等号右边后3项之和等于任意的对角正定矩阵 , 即:R Λ1Λ2Q R Λ1Λ2S k 由于 为自由选择参数矩阵, 因此当给定对角正定矩阵 和 以后, 对任意对角半正定矩阵 ,总可以找到 使上式成立. 将式(31)代入式(30)可得式(25), 因此对任意对角正定矩阵 和 , 都能保证 是对角矩阵. 将式(22) ~ (23)分别代入式(9)和式(11), 可得式(24)和式(26).将式(24)代入式(1)中, 得到闭环系统方程:A 1、Λ1、Λ2、Q S k 由于矩阵 和 都是对角矩阵,从式(25) ~ (26)不难发现闭环系统式(32)已经实现了解耦.Q x r,k x k 将选择对角半正定矩阵 , 使得系统在稳态时,从 到 的传递函数矩阵为单位阵, 实现状态完全跟踪参考输入.z 将式(26)进行 变换后, 通过移项整理可得:z 将式(33)代入式(32)后, 再进行 变换, 移项整理可得:z →1x r,k x k Q 由极值条件可知, 对于阶跃的参考输入, 稳态时 , 因此稳态时要想保证从 到 的传递函数矩阵为单位阵, 那么对角半正定矩阵 需要满足:1934自 动 化 学 报48 卷Q Q 进一步化简整理得到式(27). 由式(27)易知, 加权矩阵 是对角的. 下面证明由式(27)给出的对角矩阵 是半正定矩阵.Q 、Λ1、A 1S k +1Q =diag {Q ii },Λ1=diag {Λii 1},A 1=diag {A ii 1}S k +1=diag {S iik +1}由于式(27)中涉及到的矩阵 和 都是对角矩阵, 令 和.下面针对2种情况进行讨论:A ii 1≤11) 当 时, 由式(27)可知:1−A ii 1≥00<Λii 1/(Λii 1+S iik +1)<1Q ii ≥0由于 , , 因此式(36)等号右边2个括号内的元素都大于等于零, 故 成立.Aii 1>12) 当 时, 由式(27)可知:Q ii Q ii <0式中, 一定大于等于零. 若 , 则有:1+S ii k +1/Λii 1>A ii 11+A ii 1S ii k +1/(Λii1+S ii k +1)<A ii 1.1+A ii 1S ii k +1/(Λii 1+S ii k +1)<A ii11+S ii k +1/Λii 1<A ii 1,Q ii ≥0.a ) 并且 由于 等价于 因此矛盾, 故 1+S ii k +1/Λii 1<A ii 11+A ii 1S ii k +1/(Λii1+S ii k +1)>A ii 1.1+A ii 1S ii k +1/(Λii 1+S ii k +1)>A ii11+S ii k +1/Λii 1>A ii1,Q ii ≥0.b ) 并且 由于 等价于 因此矛盾, 故 Λ1Λ2Q 综上所述, 对于任意的正定对角矩阵 和 ,由式(27)计算得到的加权矩阵 总是对角半正定矩阵. □X M 注1. 当系统本身是解耦的(或耦合性较弱)时,可以选择矩阵 或者 为零矩阵, 此时具有解耦性能的最优跟踪控制器退化为传统的LQT 控制器.P 、Λ1Λ2P 、R Q Λ1Λ2P P Λ1Λ2P Λ2Λ1注2. 本文方法中, 矩阵 和 的选择准则与传统的LQT 方法中 和 的选择准则相同. 也就是说, 当固定 和 时, 越大系统末态跟踪误差越小; 当固定 和 时, 越大系统跟踪误差越小; 当固定 和 时, 越大系统控制能量消耗越小.B 注3.当矩阵 不是方阵时, 若对于离散时间线性多变量系统:CC T CB 当矩阵 和 为可逆矩阵时, 则上述系统可以转化为:此时, 该系统与式(1)具有相同的形式, 采用本文所提方法, 即可实现输入到输出之间的解耦.注4. 本文所研究的对象是确定的, 当系统参数存在匹配和不匹配不确定性时, 一方面可以借鉴补偿控制的思想, 将参数不确定性造成的影响视为一种干扰, 通过干扰观测器, 神经网络或者模糊推理系统等对其进行观测或估计, 并在控制器中加入补偿项予以消除, 详见附录A; 另一方面可以借鉴保性能控制的思想, 设计具有解耦性能的保性能跟踪控制器.算法1. 具有解耦性能的最优跟踪控制算法P Λi (i =1,2)步骤1. 选择加权矩阵 和 ;S k Q 步骤2. 根据式(25)计算得到 , 将结果代入(27)式得到对角加权矩阵 ;V k 步骤3. 根据式(26)计算 ;S k V k P Λi (i =1,2)步骤4.将 和 序列, 加权矩阵 和 代入式(24)和式(32), 得到系统的控制输入和状态.3 仿真实验为了验证本文方法的有效性和优越性, 本节分别采用本文方法和传统LQT 方法进行对比仿真实验, 并对仿真结果进行了比较和分析. 在仿真过程中,采用相同的评估函数来比较2种方法的最优性能,考虑如下两输入−两状态的离散时间线性系统:x k =[x 1(k ),x 2(k )]Tu k =[u 1(k ),u 2(k )]T 式中, 是系统状态向量,是控制输入向量, 对应的系数矩阵和控制矩阵分别为:易知该系统的相对增益矩阵为:根据Bristol-Shinskey 衡量指标, 可以判断出该系统是一个强耦合系统.x r,k =本实验的目的是针对离散时间线性系统(39),设计最优跟踪控制器, 使得最大跟踪误差不超过参考输入幅值的10%, 其中参考输入信号为 8 期富月等: 具有解耦性能的离散时间线性多变量系统最优跟踪控制1935[x r 1(k ),x r 2(k )]T =[2sgn (sin k ),2sgn (cos k )]T .3.1 采用本文所提方法的仿真实验为了实现控制目标, 首先选择加权矩阵:S k Q V k 将上述加权矩阵代入式(25)和式(27), 得到各时刻 和 的值, 然后将结果代入式(26)得到 , 最后将结果代入式(24)和式(32), 得到如图1和图2所示的状态和控制输入曲线. 从图1可以看出, 采用本文所提方法后, 在实现了控制目标的基础上, 不仅消除了不同控制回路之间的耦合影响, 还使得系统在稳态时能完全跟踪参考输入.图 1 本文所提方法系统状态输出Fig. 1 Output curves by using the methodproposed in this paper3.2 采用LQT 方法的仿真实验为了验证本文所提方法的优越性, 采用传统LQT 方法, 选择两组参数对式(39)进行仿真实验.令加权矩阵:R =10−50010−5当加权矩阵 时, 得到如图3和图4所示的状态和控制输入曲线. 结合图1 和图3可以看出, 采用这组参数下的传统LQT 方法, 虽然实现了控制目标, 但是当某一参考输入发生变化时,其他回路状态会受到较大的影响, 而且系统达到稳态后还会存在一定的跟踪误差. 由图2和图4可以看出, 传统LQT 方法与本文所提方法相比, 虽然控制输入变化规律相同, 但是在参考输入发生变化时,明显需要更大的控制输入.R =[10−60010−6]当加权矩阵 时, 得到如图5和图6所示的状态和控制输入曲线. 从图5可以看出,采用这组参数下的传统LQT 方法实现了控制目标,当某一参考输入变化时, 其他回路状态不再受到影响, 但是从图4和图6可以看出, 在这组参数下的传统LQT 控制器的控制输入明显增大.3.3 两种控制方法的整体性能比较为了比较2种不同控制策略的最优性能, 定义如下评估函数:σ=1σ=2式中, 表示本文所提方法的最优性能, 表示传统LQT方法的最优性能, 之后绘制两种方法的评估函数曲线.当采用第1组参数下的传统LQT 方法时, 得到如图7所示的最优性能曲线. 从图7可以看出,本文所提方法的最优性能明显小于传统LQT 方法的最优性能. 由图1 ~ 4 可以看出, 对于传统LQT图 2 本文所提方法控制输入Fig. 2 Input curves by using the methodproposed in this paper−−x 1/x r 1−−x 2/x r 2t /s图 3 传统LQT 方法系统状态输出Fig. 3 Output curves by using the conventionalLQT method1936自 动 化 学 报48 卷方法即使付出了更大的控制输入, 当某一参考输入发生变化时, 其他回路状态还是会受到较大的影响,系统达到稳态时也不能实现完全跟踪; 本文所提方法通过选择合适的加权矩阵, 在较小的控制输入下,不仅消除了系统不同控制回路之间的耦合作用, 还使得系统状态在稳态时总能完全跟踪参考输入, 故具有解耦性能的最优跟踪方法会得到更小的最优性能.图 7 第1组参数下, 2种策略的最优性能比较Fig. 7 Comparison of the performance under thefirst set of parameters当采用第2组参数下的传统LQT 方法时, 得到如图8所示的最优性能曲线. 从图8可以看出,本文方法的最优性能仍然小于传统LQT 方法的最优性能. 由 图1和图5可以看出, 虽然两种控制策略的跟踪效果相同, 但由图2和图6可知, 此时传统LQT 方法需要更大的控制输入, 导致最优性能变得更大.图 8 第2组参数下, 2种策略的最优性能比较Fig. 8 Comparison of the performance under the secondset of parameters4 结束语针对一类具有强耦合特性的离散时间线性多变量系统, 本文提出了一种具有解耦性能的最优跟踪控制方法. 该方法受到二人零和博弈思想的启发,图 4 传统LQT 方法控制输入Fig. 4 Input curves by using the conventionalLQT method图 5 传统LQT 方法系统状态输出Fig. 5 Output curves by using the conventionalLQT method图 6 传统LQT 方法控制输入Fig. 6 Input curves by using the conventionalLQT method8 期富月等: 具有解耦性能的离散时间线性多变量系统最优跟踪控制1937设计了新的性能指标, 并根据极小值原理最小化该性能指标, 得到最优跟踪控制律. 按照本文给出的加权矩阵选择办法, 消除了不同控制回路之间的耦合影响, 使得系统的状态输出可以跟踪任意期望轨迹. 仿真实验表明, 当离散时间线性多变量系统具有强耦合特性时, 该方法可以获得更小的控制输入和更小的最优性能, 并且系统达到稳态时, 系统输出总能完全跟踪参考输入. 在接下来的研究中, 将进一步考虑系统模型部分未知的情况, 将自适应动态规划算法与本文解耦控制方法相结合, 设计近似最优跟踪控制器, 进而实现具有模型不确定性和强耦合特性的线性多变量系统的最优跟踪控制.附录A 基于神经网络补偿的不确定系统最优跟踪控制方法简述:考虑如下具有匹配和不匹配参数不确定性的离散时间非线性系统[20]x k u k A B B d m (x k ,k )∈R n C u (x k ,k )∈R n 式中, 向量 和 以及矩阵 和 同式(1)所示;表示系统中满足匹配条件的不确定性, 表示不满足匹配条件的不确定性.首先, 根据式(A1)的线性标称系统(1)得到具有解耦性能的无干扰最优跟踪控制器, 即式(24), 并假设该控制器能保证与式(A1)组成的闭环系统的输入和状态信号有界. 令:其次, 将式(A1)中匹配不确定性项和不匹配不确定性项统一看做线性标称系统的不确定性项, 即令:则式(A1)简化为:最后, 设计如下基于神经网络补偿的最优跟踪控制器:ˆD(x k ,k )D (x k ,k )ˆD (x k ,k )=NN [ˆWk ,X k ],NN [·]X k ˆWk k W ∗式中, 为 的神经网络估计, 表示神经网络的结构, 为神经网络输入向量, 为 时刻理想权阵 的估计.为验证所提控制器(A7)的有效性, 本文进行了仿真实验. 考虑如下存在匹配和不匹配参数不确定性的离散时间非线性系统:x k u k A B 式中, 向量和 以及矩阵 和 同式(39)所示;K 1K 2X k =[Z 1,Z 2,···,Z 2499],Z i =[x T i ,i ]T ;D k =[E 1,E 2,···,E 2499],E i =x i +1−A x i −B u i ,i =···,首先, 根据式(A2)和式(A3)计算 和 , 得到具有解耦性能的无干扰最优跟踪控制器式(A4), 将其作用到式(A8),从而得到神经网络训练所需的输入数据和导师信号. 本次仿真实验中, 神经网络的输入数据 其中 导师信号 其中 1, 2, 2 499. 然后, 选择分别具有45个和10个隐层节点的双隐层前馈神经网络对不确定项进行估计, 其中节点传递函数为双曲正切函数tansig, 权值更新算法为Polak-Ribiere 修正算法.图A1为采用所提出的基于神经网络补偿的最优跟踪控制方法的状态跟踪曲线, 由图A1可以看出, 该方法不仅消除不同控制回路之间的耦合影响, 而且消除了不确定项对闭环系统的影响, 使得闭环系统的状态能够完全跟踪参考输入的变化.图 A1 基于神经网络补偿的不确定性系统状态跟踪曲线Fig. A1 Tracking curve of uncertain system based onneural network compensationReferencesTien L, Schaffer A. Robust adaptive tracking control based on state feedback controller with integrator terms for elastic joint robots with uncertain parameters. IEEE Transactions on Con-trol Systems Technology , 2018, 26(6): 2259−22671Qiu B, Wang G, Fan Y, Mu D, Sun X. Robust adaptive traject-ory linearization control for tracking control of surface vesselswith modeling uncertainties under input saturation. IEEE Ac-cess , 2018, 7: 5057−50702Chai R, Savvaris A, Tsourdos A, Chai S, Xia Y. Optimal track-ing guidance for aeroassisted spacecraft reconnaissance missionbased on receding horizon control. IEEE Transactions on Aerospace and Electronic Systems , 2018, 54(4): 1575−15883Fujimoto H, Kawamura A. Perfect tracking digital motion con-trol based on two-degree-of-freedom multi-rate feedforward con-trol. In: Proceedings of the International Workshop on Ad-vanced Motion Control. Coimbra, Portugal: IEEE, 1998.322−3274Fujimoto H, Hori Y, Kawamura A. Perfect tracking control based on multi-rate feedforward control with generalized sampling Periods. IEEE Transactions on Industrial Electronics ,51938自 动 化 学 报48 卷。
discrete signal 控制-回复Discrete Signal Control: Understanding and ApplicationIntroduction:Discrete signal control refers to the process of utilizing discrete signals, which are signals that take on a limited number of values, in various control systems. These signals are characterized by their ability to be quantized and processed. In this article, we will delve into the world of discrete signal control, exploring its principles, techniques, and applications.1. What is a discrete signal?A discrete signal is a signal that is not continuous but rather characterized by distinct and separate values at specific points in time. Unlike continuous signals, which can take on an infinite number of values within a specific range, discrete signals only assume specific discrete values at specific points in time.Discrete signals are typically represented as sequences of numbers, with each number corresponding to a specific point in time. Thesesequences can either be finite or infinite, depending on the length of the signal.2. Why use discrete signals in control systems?Discrete signals offer several advantages in control systems:a. Simplified representation: Quantizing signals into discrete values allows for simpler representation and storage. It reduces the complexity of signal processing and makes it easier to implement control algorithms.b. Time synchronization: Discrete signals enable accurate synchronization between control systems and the signals they receive. With discrete values representing specific points in time, control systems can react precisely and consistently.c. Noise immunity: Discrete signals can tolerate noise better than continuous signals. By quantizing the signal into discrete values, small fluctuations in the signal can be filtered out, leading to improved system performance and stability.3. Techniques for controlling discrete signals:a. Digital control: Digital control is a popular technique for controlling discrete signals. It involves converting the analog signals received by sensors into digital form for processing and manipulation by microprocessors or digital signal processors (DSPs). Digital control allows for precise and flexible control algorithms, making it ideal for complex control systems.b. Sampling and quantization: Sampling is the process of converting continuous signals into discrete signals by periodically measuring the signal at specific points in time. Quantization, on the other hand, involves assigning discrete values to the measured samples. Together, sampling and quantization allow for the representation and analysis of continuous signals using discrete values.c. Discrete-time control systems: Discrete-time control systems use discrete signals to model and control dynamic systems. These systems operate on sampled signals that are processed at fixed intervals. Discrete-time control systems are widely utilized in various fields, including robotics, automation, andtelecommunications.4. Applications of discrete signal control:a. Robotics: Discrete signal control is extensively used in robotics applications. Robots rely on discrete signals to perceive their environment, process information, and execute commands. Using discrete signals, robots can interact with their surroundings and perform tasks with accuracy and precision.b. Process control: Discrete signal control is crucial in process control systems, where precise control over physical variables is essential for maintaining safety and efficiency. Discrete signals enable the monitoring and adjustment of critical process variables such as temperature, pressure, and flow rate.c. Communication systems: Discrete signals play a vital role in communication systems, including digital signal processing, data transmission, and error detection and correction. By converting continuous signals into discrete signals, information can be encoded, transmitted, and decoded accurately and reliably.Conclusion:Discrete signal control is a fundamental aspect of modern control systems. By leveraging the advantages of discrete signals, such as simplified representation, time synchronization, and noise immunity, control engineers can design and implement robust control algorithms. From robotics to process control and communication systems, discrete signal control finds applications in various fields, revolutionizing the way we interact with technology and enhancing the overall performance and efficiency of control systems.。
Discrete Pseudo-Control Sets for Optimal Control ProblemYuri Ulybyshev *Rocket-Space Corporation "Energia", Korolev, Moscow Region, 141070, RussiaMethods of the optimal control problem solution based on a new concept of pseudo-control sets are presented. The approach concerning with significant increasing of the decision variables by introducing artificial variables or pseudo-variables is used. Large-scale linear programming algorithms and well-known discretization of the continuous system dynamics on small segments are applied. The sets are considered independently for each segment. The every set is expressed as a discrete mesh approximation of an admissible control space. Terminal conditions are presented as a linear matrix equation. An extension of the matrix equation for the sums of the pseudo-controls is used to transform the problem into a linear programming form. A linear matrix inequality is formed for the interior-point inequality constraints. The resulting linear programming form is characterized by matrices that are very large and sparse. The number of decision variables is on the order of tens of thousands. In modern linear programming methods there are interior-point algorithms to solve such problems. Minimum path-planning problem with nonlinear constraints and reentry trajectory optimization with maximum crossrange are considered as application examples.NomenclatureA = matrix of inequality constraints, Eq.17 A e= matrix for equality constraints, Eq. 14b = function of constraints b = vector of inequality constraints, Eq. 17 D = drag acceleration E = specific energy, Eq. 31 f = state function, Eq.1 F = boundary condition function, Eq. 2 h = altitude i = segment number J = performance index, Eq.23 j = index of pseudo-control vector k = quantity of pseudo-control vectors at each segment L = lift acceleration m = number of boundary conditions n = quantity of segments O = zero string P f = vector of boundary conditions, Eq. 2 r = magnitude of radius vector r e = Earth radius r x , r y = coordinates)(j i s = element of matrix A S = function of interior-point inequality constraint, Eq.4 t = time*Head of Space Ballistic Dept., Senior member AIAA, Email: yuri.ulybyshev@rsce.ru, yuri.ulybyshev@AIAA Guidance, Navigation, and Control Conference 10 - 13 August 2009, Chicago, IllinoisAIAA 2009-5788q i(j)= weight coefficients, Eq.21q=weight vector, Eq. 21u=scalar controlU=control vectorV= magnitude of vehicle velocityx i(j) =decisionvariableX= vector of decision variables, Eq.10Y =statevectorα =angleofattackϕ =longitudeμ=gravitational parameter for the EarthμU= coefficient for control refinement, Eq. 38λ =latitudeσ =bankangleν= number of segments with inequality constraintsξ= dimension of control spaceΘ =flightpathangleΩ= admissible subspace for control vectorΨ =headingangleΦ =forbiddenareaEΔ= change of specific energy on i-th segmentΔr x =changeofr x on i-th segmentΔt i =durationofi-th segmentI.IntroductionHE optimal control methods have been mainly of two types: indirect and direct techniques or their combinations[1]. The indirect methods solve the classical optimal control problem by obtaining the solution to the corresponding to a two-point boundary value problem based on the Pontryagin maximum principle [2]. The boundary value problem can be solved numerically, although it becomes a very difficult task for realistic problems since, in the general case, a good initial guess for unknown initial costate variables is usually not available. The direct methods are to discretize the original problem, transforming it into a parameter optimization problem, which is then solved using, as a rule, non-linear programming methods [1]. The methods are attractive because explicit consideration of the necessary optimal conditions (adjoint equations, transversality conditions) are not required. A general review of space trajectory optimization methods was presented by Betts [3].TLinear programming [4] represents one of the well-known optimization methods successfully used to solve many complex application problems in engineering, economics, and operations research. Linear programming for linear optimal control problem was proposed by Dantzig [5]. For this case, the control can be found as a linear combination from a set of feasible control vectors, which satisfy to boundary conditions. An explicit application of linear programming for spacecraft trajectory optimization is difficult even for a linear motion model. As a rule, it is related with the nonlinear performance index, i.e. the characteristic velocity (the function is also a non-differentiable). Ulybyshev and Sokolov [6] have developed a method for optimization of many-revolution, low-thrust maneuvers in the vicinity of the geostationary orbit. The state variables are longitude, longitude drift rate, and eccentricity. The proposed mathematical model introduces pseudo-maneuvers with either positive or negative transverse directions for every trajectory segment (half a revolution) and transforms the performance index in a linear form. This makes possible to state the problem in terms of the classical linear programming with a number of decision variables equal to quadruple the number of revolutions in the orbit transfer. In a sense, similar techniques with an extension of control variables and performance index linearization can be used for control allocation [7-8] and for on-off minimum-time control [9-10]. The above mentioned methods were used the well-known simplexmethods with total number of decision variables on the order of tens or hundreds. The mixed-integer linear programming approach with trajectory discretization was proposed for spacecraft trajectory planning with avoidance constraints [11]. The spacecraft are in close proximity and linearized model of relative motion is used. The constraints can be transformed into a mixed-integer form by introducing binary variables. A set of binary variables (0 or 1) are added to the problem for each pair vehicles at each time step.In the 1990s, linear programming underwent a revolution with the development of polynomial-time algorithms known as interior-point methods [12-14]. The search directions for these methods strike out into the interior of the polytope rather than skirting around the boundaries, as do well-known simplex methods. Many studies now show that for large linear problems, the interior-point methods do better than classical simplex methods. Furthermore, unlike simplex-based algorithms that have difficulty with degenerate problems, interior-point methods are immune to degeneracy [15].The interior-point algorithms can be considered a more general case with a discrete approximation of a multi-dimensional control space. New methods are based on two principles. The first one is a well-known discretization of the time, in the general case, on non-uniform segments. The key idea of the second one is based on a small width grid approximation of the control space by a set of pseudo-control vectors with an equality constraint for each segment.Such methods using discrete sets of pseudo-impulses was proposed by the author for spacecraft trajectories optimization [16-18]: maintenance of a 24-hour elliptical orbit, coplanar and non-coplanar orbit transfers, various rendezvous trajectories for near-circular orbits (with high-, medium-, and low-thrust), three-dimensional launch trajectory from the Moon surface to a circumlunar orbit with constraints, optimization of lunar landing trajectories with safety descent profile, thrust level and attitude constraints.As a rule, spacecraft trajectory optimization differs essentially from a general form of the optimal control problem since the control (i.e. a maneuver) is usually presented only on some parts of the spacecraft trajectory. By contrast, the general case of optimal control requires a continuous control. Such problems are considered in the paper. The contribution of the paper is an extension to the concept of discrete sets of pseudo-impulses for solution of a more general optimal control problem and demonstration that the proposed concept of pseudo-control sets, in spite of a high order, is a good candidate to solve of the optimal control problem.II. Optimal Control ProblemA. Problem FormulationWe consider optimal control problems where the initial time t 0 and final time t f are specified. A general optimal control problem can be formulated as follows. Find an admissible optimal control vector suchthat the dynamic system described by the differential equation)(ξR t ⊆Ω∈U ) , ,(t dtd U Y f Y= (1) is transferred from an initial state Y (t 0) into a final state Y (t f ) satisfying a terminal constraintf ) , ,(P U Y F =f t (2) such that the performance index∫=ft t dt t q J 0) , ,(U Y (3)is minimized. Here F is an m -dimension vector function of the state vector at the final time and P f is an m -dimension specified vector of the terminal conditions.Remarks:1) An arbitrary monotonically variable can be used as the independent variable instead time. A final value of the variable is specified.2) Optimal control problems are often required to satisfy not only terminal conditions but also to some specific constraints for interior-points in the form of an inequality0)() ,(≤−t b t S Y for f e b t t t t t ≤≤≤≤0, (4)where b (t ) is a specified function, t b and t e are the begin and end time for a trajectory part.B. Trajectory DiscretizationIntroduce a set of segments as the partition [t 0, t 1, t 2, …,, t n ], with t 0=0 and t n =t f , and t 0< t 1< t 2 …<t n , and let Δt i = t i+1 - t i be a small time interval for i =1,2,..,n . The mesh points t i are referred to as nodes, the intervals Δt i =[t i+1, t i ] are referred to as trajectory segments. In the general case, the segments can be non-uniform. Suppose that approximate values of the state vectors at the nodes Y (t i ) are known, then for a constant control at each segment, we can write∑∑====Δ⋅∂∂+=ΔΔ+=ni i i i i i n i i i i i i t t t t t 10100), ,(), , ,()0 , ,(U Y F F U Y F U Y F P f , (5)where is the terminal function (2) at the initial point, )0 , ,(00U Y F F Δis a possible change on i -th segment andt ∂F is a partial derivative. Note that the segment duration Δt i may be defined in an implicit form.III. Linear Programming FormA. Discrete Approximation of Control SpaceA simplest case of the continuous control is a scalar function. We consider an i -th segment independent of all the other segments. Suppose that there is an optimal value for the i -th segment. Then] ,[ max min OPT u u u i ≡Ω∈0,≡∂∂==iopti u u t t uJ (6)and the performance index in a neighbourhood of the optimal value varies with the square of a control change from the optimal value (see Fig. 1). We will use very essential increase of the decision variables by introducing artificial variables or pseudo-variables. For each segment, the possible values of the function can be present as a discrete set of pseudo-controls where ] ,[ max min )(u u u j i ≡Ω∈k j ,1= is an index .Figure 1. Set of pseudo-control for a segment.We can replace the optimal value by an approximating sum∑==⋅=kj j j i j i i u x u 1)()(OPT , (7)where∑===kj j j ix1)(1 , (8), (9)10)(≤≤j i x where is a decision variable.)(j ix It is evident, that an optimal approximation of by the pseudo-control is a sum of the two nearest neighbor pseudo-control values . In a particular case, it can be one nearestneighbor pseudo-control value.OPT i u )1()1(OPT )()( ++≤≤j i j i i j i j i u x u u x By a similar way, we consider a multi-dimensional case of the control. For each segment, a set of pseudo-control vectors can be constructed using a multi-dimensional mesh (see Fig. 2). Similarly to the scalar case, the sums of the pseudo-control vectors should be constrained by Eqs.(8-9). The best approximation of the vector is also a sum of nearest neighbor pseudo-control vectors or one nearest neighbor pseudo-control vector. OPT i UFigure 2. Set of pseudo-control for two-dimensional control vector.It should be noted that each segment can be used distinct control areas i i Ω∈ U and corresponding mesh for pseudo-control vectors.B. Transformation into Linear Programming FormDefine a (n ×k )-dimension vector of the decision variables],...,...,,,...,[)()(2)2(2)1(2)(1)2(1)1(1T k n k k x x x x x x x =X . (10)For the vector, according to the previous statements, the following linear matrix equality can be writtend e P X A =*, (11)where is a n ×(n ×k )-dimension matrix of the following form ( all of the unspecified elements equal to zero)*e A n 1 ... 1 1 1.......1 ... 1 1 1...1 1 1 1k n k k k*⎪⎪⎪⎪⎭⎪⎪⎪⎪⎬⎫⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=×e A (12) and a n -dimension vector[1 , .....1 1 1, 1,=Td P ]. (13)Eq.(5) for terminal conditions can be presented as∑∑∑∑========Δ⋅∂∂=ΔΔ=−=Δn i i kj j i i j i i j in i i kj j i i j ii j i t tt xt t x 11)()(11)()(00), ,(), , ,()0 , ,(U Y F U Y F U Y F P P f f , (14)where is pseudo-control vector. Joining Eq.(11) and the terminal conditions from Eq. (5) can be expressedas)(j i U P X A e =, (15a)where and А] ,[f T Td TP P P Δ=е is a (n +m )×(n ×k )-dimension matrix⎥⎥⎦⎤⎢⎢⎣⎡Δ⋅∂∂Δ⋅∂∂Δ⋅∂∂Δ⋅∂∂=n n k nn ii j i i t t t t tt t t t t t t ) , ,(....) , ,(.....), ,(), ,()()(11)2(1111)1(11*U Y F U Y F U Y F U Y F A A ee . (15b) Each interior-points constraint (4) can be presented as a number of inequality constraints. The number of ν isequal to the number of segments inside the interval of f e b t t t t t ≤≤≤≤0. Each of the inequality can be written as)(), ,() ,, ,()0 , ,(1111)()(0)()(00i l i i kj l i i k j i i j i i j ii i j ii j il t b t tt S xS t t S x S S ≤Δ⋅∂∂+=ΔΔ+=∑∑∑∑======U Y U Y U Y ,ν,1=l , (16)or for the inequalities in following matrix formAX ≤b , (17)where)]0 , ,()(.....),0 , ,()(),0 , ,()([00002001U Y U Y U Y b T S t b S t b S t b n −−−=, (18)⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=−−++++++)()()1()(1)1(1)()1()(1)1(1)(1)1(1)()1()(2)1(2)()1()(1)1(1..................................................................νβνβνβββββνββββββn kx kk kk kk kk k k kk k k kk k k kkk kk s s s s s s s s s s s s ss s s s s O O O O O O A(19), wherei i j i i j it tt S sΔ⋅∂∂=) , ,()()(U Y (20)and O is a zero string. Note that interior-point equality constraints and other type constraints can be expressed by a similar way as a linear matrix equality and/or inequality. Some details are described in [18].Introduce a (n ×k )-dimension vector of weight coefficients as],,.....,.....,,...,,[)()1()()(1)2(1)1(1k n k n j i k T q q q q q q −=q , (21)where) , ,()()(i j i i j i t q q U Y =. (22)Then, the performance index (3) can be written as()X q T ⋅=min J . (23)As the final result, we have a classical linear programming problem with constraints of a linear equality andinequalities given by Eqs. (14) and (9,17), respectively.C. Computational and qualitative aspectsThe proposed linear programming form is a large-scale problem. As an example, for a trajectory with 100 segments and 1000 pseudo-control vectors at each segment, the number of decision variables is 100,000. For m=2, the matrix Аe dimension is (1000+2)×100000. But it is a sparse matrix with a very low number of the non-zero elements (~0.1%). Modern scientific software, such as the MATLAB ® [19], contains effective algorithms for sparse matrix computations including large-scale linear programming algorithms. A typical solution process requires less than 1-3 minutes of computation time using a Pentium IV processor.The segments in the linear programming form are formally considered independent of each other. Therefore, an additional post-processing and validation are required for the linear programming solutions. It is necessary to find all of the segments corresponding to the non-zero decision variables. If several decision variables belong to a segment then the control vector should be computed from the sum of the corresponding pseudo-controls vectors. But our experience show that in almost all of the linear programming solutions there are only one pseudo-control vector at each segment. Presence of two or more pseudo-control vectors for a segment is a seldom case. Figure 3 is a schematic illustration of this process.There are some remarks about the mathematical implementation of the problem. For the linear control problems, the partial derivatives in Eq. (14) are known. For nonlinear control problems, the partial derivatives are usually not known a priori. For this case, we can use an iterative technique with a refinement of the partial derivatives at each iteration. For the first iteration, we define an initial guess for the system motion. Based on the first linear programming solution, the derivatives are refined for the second iteration, etc. to obtain an accessible solution. Contrary to the method, the optimal control techniques based on an iterative solution of a two-point boundary value problem for the state and adjoint variables are difficult to apply. The main difficulty with these methods is getting started, i.e., finding a first estimation of the unspecified conditions for the state and adjoint variables [1]. Moreover, the adjoint variables do not have a physical meaning, and thus, it can be difficult to find a reasonable initial guess for them. We believe that search of an initial guess for the state variables (i.e. for a trajectory) is a more simple problem than the similar problem for the adjoint variables. An application possibility of the presented method for nonlinear problems needs in a special study but there are some examples of nonlinearsolutions for optimal of spacecraft trajectories [16]. An example of a nonlinear optimal control problem will be considered below.Figure 3. Post-processing of the linear programming solutions.The interior-point methods are not only highly efficient algorithms for the large-scale linear programming, but they are immune to degeneracy [15]. Therefore the absence of a solution means, most likely, that the problem formulation with terminal conditions and constraints is degenerate.IV. Application examplesA. Minimum Path-Planning with Nonlinear ConstraintsPlanar motion of a vehicle with constant velocity can be presented as⎪⎩⎪⎨⎧Θ=Θ=)](sin[)](cos[t V dtdrt V dt dr y x, (24)where: r x , r y are the coordinates, V is the velocity, Θ(t ) is the control variable (path angle).Consider the following optimal control problem: find minimum path or minimum-time trajectory from an initial point (r x0 , r y0 ) to a terminal point (r xf , r yf ) with constraints on the trajectory , where Φ∉ )]( ),([t r t r y x Φ is a forbidden area (in the general case it is a multi-connected, non-convex area). Suppose that either of two coordinates is a monotonic variable for the trajectory. Unconditionally, this assumption is restricted the problem statement but it makes possible a transformation into the linear programming form. Let r x is the monotonic or independent variable. Then we can rewrite Eq.(24 ) as)](tan[x xy r dr dr Θ= . (25)The performance index is∫Θ=xfx r r x x dr r V J 0 )](cos[1. (26)We assume that the trajectory discretized into n segments with k pseudo-controls in each segment. Thenfor the partial derivatives in the matrix A )(j iΘe (15) and performance index elements (22), we can write:)tan()()(j i x j i r ΘΔ=∂∂ϕF , (27) )cos()()(j i xj i V r q ΘΔ=, (28) whereis a discretization step. The forbidden area x r ΔΦ can be presented as inequalities (17) for secondcoordinate r yi at the corresponding segments.As examples we consider two trajectories from 0,0)() ,(00=y x r r to 20,10)() ,( =yf xf r r with constraints asit shows in Figs. 4-5 in form0)(≤−=x ry y r b r S (29)for an upper bound or0)(≤+−=x ry y r b r S (30)for a lower bound.The trajectories are depicted in Figs.4-5. The control variables histories are presented in Fig. 6. The results are given for 101 uniformly distributed segments with Δr x =0.2 and 176 uniformly distributed pseudo-controlswith . For the trajectories there are two arc types. The first it is a straight line and thesecond it is tracking of forbidden area boundaries.o j i j i 1)()1(=Θ−Θ=ΔΘ+B. Reentry Trajectory Optimization with Maximum CrossrangeFor reentry trajectories of an unpowered spacecraft, energy is a more appropriate independent variable than time [20]. The specific energy E is given by)]/()/[(212e r r V E μμ−−= , (31)where r is the distance from the center of the Earth, V is the velocity magnitude, and μ is gravitational parameterfor the Earth. Using (where D is drag acceleration) and denoting VD E−= dE d /)(•as , the motion equations [20] for a non-rotating, spherical Earth can be written as)(′•()()[]⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎥⎦⎤⎢⎣⎡ΨΘ−Θ−=Ψ′Θ−−−=Θ′Θ+=′ΨΘ−=′ΨΘ−=′Θ−=′r V L DV DV r V g L DV g D V Dr Dr D r λσσλλϕtan cos cos cos sin 1cos cos sin sin cos cos cos cos /sin 2222 , (32) where ϕ is the longitude, λ is the latitude, Θ is the flight path angle, Ψ is the heading angle, and)()(21)()(2122αραρL m D m C V S h ML C V S h MD == , (33)where ρ(h ) is the air density as a function of altitude (h=r-r e ), C L (α) and C D (α) are the lift and drag coefficients as functions of the angle of attack α, σ is the bank angle.The optimal control problem is follows: determine the control vector []T TE E E )(),()(σα=U that steer thevehicle on a feasible trajectory passing through the final point with desired r f (or altitude) with a maximum crossrange.The problem is nonlinear and the partial derivatives in Eq. (15,16) unknown a priori. For this case, we can use an iterative technique with a refinement of the partial derivatives at each iteration. Suppose that there is an initial reference trajectory with corresponding control law . For the specific energy as independent variable we have specified values for their initial and final values E )()0(E U 0 and E f which are computed from Eq.(31). The trajectory can be divided into n segments (between E 0 and E f with n E E E f /][0−=Δ). Each of them includes k pseudo-control vectors . Then, the functions from Eqs.(15,16 ) can be computed along the trajectory as)(j iU 2)()()() , ,(21) , ,(), , ,(E E r E E r E E F i j i i i j i i i j i i Δ′′+Δ′=ΔΔU Y U Y U Y , (34)⎥⎦⎤⎢⎣⎡Δ′′+Δ′−=ΔΔ2)()()() , ,(21) , ,(), , ,(E E E E E E S i j i i i j i i i j i i U Y U Y U Y λλ , (35)whereDr Θ′⋅Θ−=′′cos , (36)rDr r ⎦⎤⎢⎣⎡′⋅Θ−Ψ′⋅ΨΘ−Θ′⋅ΨΘ=′′ϕλsin cos cos cos sin sin . (37)Based on the linear programming solution and post-processing we compute a control law . The new control can be computed as a combination of the law and control from previous iteration)(*)1(E U )()1()()()0(U *)1(U )1(E E E U U U μμ−+= , (38)where 10U≤<μ is a coefficient. Further, we compute a new trajectory passing through r f with a new value ofthe final energy E f and respectively n E E E f /][0−=Δ. The partial derivatives (15,16) are refined for the second iteration, etc. to obtain an acceptable solution. There are distinguished methods for detecting whether an iterativeprocess is converged. The most common way to measure progress is to assign some merit function [21]. An obvious merit function which was used in this case is . But for the general case, the problem needs study. It should be noted that, for )]([E J U 1U=μ, the iterative process may be divergent if there is significant disagreement betweenthe initial trajectory and trajectory with refined control and respectively between the corresponding partial derivatives. Our experience shows that for the concerned reentry problem 4.01.0U −≅μis more suitable. As an example, we considered a low-lift vehicle with a mass of 10,000 kg, reference area 10 m 2 and lift to drag ratio of 0.6 and the lift and drag coefficients as shows in Fig. 7.The initial state vector is[]TO T km V km h km r 0;25.0sec;/0.6;0;0);60(64380000000=Ψ−=Θ======λϕY .The trajectory terminal conditions are ).28(6396km h km r f == The trajectory is divided into n =100 segments.Each of them include k =1800 pseudo-control vectors . The vectors are presented a mesh grid with (40x45)elements for angles of attack - and bank angles - .Therefore, the number of the decision variables is (100 x 1800)= 180,000. For the initial reference trajectory,we use a constant control law: and .)(j i U )]5.0(,3010[O O =Δ−=αα)]1(,7530[O O O =Δ−=σσO 15=αO35=σThe optimization results for 6 iterations (2.0U =μ) are given in Figs. 8-12. Figures 8 and 9 show the trajectories in the vertical and horizontal planes (the longitudinal range is ϕe r , the crossrange is λe r ). In the lastfigure, the table with performance index for each iteration is presented. For the initial trajectory with constant control is J IN=129.03`km and for the optimal solution is J=165.43 km. The histories of the angle of attack and bank angle are shown in Figs. 10-11, respectively. The flight path and heading angle histories are depicted in Fig.12. It is interesting to note, that for each iteration there are distinct values of the final time, energy and respectively velocity. For the angle of attack, there is a monotonic iterative process, and for the bank angle there is an overshoot process. All of the segments in the linear programming form are formally considered independent of each other, but the solutions formed a control law for which a high-frequency chattering is absent. In a sense it is a bang-bang control.ConclusionIn this paper new concept of pseudo-control sets to solve optimal control problems is proposed. The approach is based on a system motion discretization on small segments and the key idea is application of the control spacediscrete approximation by a set of pseudo-control vectors for each segment. Another feature of the approach is a very substantial increase of the decision variables by introducing artificial variables or pseudo-variables. On the one hand the number of the decision variables is greatly increased, but at the same time it permits a transformation of the optimal control problem into a classical linear programming form. The proposed technique provides flexible possibilities for optimization with various constraints for the control and interior-point constraints. Using of these methods for a wider range of nonlinear problems needs to be investigated in future work.References1.Bryson, A. E. Jr., and Ho, Y.-C., Applied Optimal Control, Hemisphere, New York, 1975, Chap. 7.3.2.Pontryagin, L.S., Boltyanskii, V.G., Gamkrelidze, R.V., and Mishchenko, E.F., The MathematicalTheory of Optimal Processes, Wiley, 1962, Chap.2.3.Betts, J., “Survey of Numerical Methods for Trajectory Optimization,” Journal of Guidance, Control,Dynamic, Vol. 21, No. 2, 1998, pp. 193-207.4.Dantzig, G., Linear Programming and Extensions, Princeton University Press, Princeton, NJ, 1963.5.Dantzig, G., “Linear Control Processes and Mathematical Programming,” SIAM Journal of Control,Vol. 4, No. 1, 1966, pp. 56-60.6.Ulybyshev, Y.P., and Sokolov, A.V., “Many-Revolution, Low-Thrust Maneuvers in Vicinity ofGeostationary Orbit,” Journal of Computer and System Sciences International, Vol. 38, No. 2, 1999, pp.255-261.7.Bodson, M., “Evaluation of Optimization Methods for Control Allocation”, Journal of Guidance,Control, and Dynamics, Vol. 25, 2002, No.4, pp.703-711.8.Petersen, J., and Bodson, M., “Interior-Point Algorithms for Control Allocation”, Journal of Guidance,Control, and Dynamics, Vol. 28, 2005, No.3, pp.471-480.9.Kim, J-J., and Singh, T., “Desensitized control of vibratory system with friction: linear programmingapproach, ” Optimal Control Applications and Methods, Vol. 25, No.4, 2004, pp. 165-180.10.Driessen, B.J., “On-off minimum-time control with limited fuel usage: Near global optima via linearprogramming,” Optimal Control Applications and Methods, Vol. 27, No.3, 2006, pp. 161-168.11.Richards, A., Schouwenaars, T., How, J.P., and Feron, E., “Spacecraft Trajectory Planning withAvoidance Constraints Using Mixed-Linear Programming,” Journal of Guidance, Control, andDynamics, Vol. 25, No. 4, 2002, pp. 755-764.12.Khachian, L. G., “A polynomial algorithm for linear programming,” Dokl. Akad. Nauk SSSR, Vol. 244,1979, pp. 1093–1096 (English translation in Soviet Math. Dokl., Vol. 20, 1979, pp.191-194.).13.Karmarkar, N., “A new polynomial – time algorithm for linear programming,” Combinatorica, 1994,No. 4, p.373.14.Wright, M.H., “The Interior-Point Revolution in Optimization: History, Recent Developments, andLasting Consequences,” Bulletin of the American Mathematical Society, Vol. 42, No. 1, 2004, pp. 39–5615.Rao, S.S., and Mulkay E.L., “Engineering Design Optimization Using Interior-Point Algorithms,”AIAA Journal, Vol. 38, No. 11, 2000, pp. 2127-2132.16.Ulybyshev, Y., “Continuous Thrust Orbit Transfer Optimization Using Large-Scale LinearProgramming,” Journal of Guidance, Control, and Dynamics, Vol. 30, No. 2, 2007, pp.427-436.17.Ulybyshev, Y., “Optimization of Multi-Mode Rendezvous Trajectories with Constraints,” CosmicResearch, Vol. 46, No. 2, 2008, pp. 133-147.18.Ulybyshev, Y., “Spacecraft Trajectory Optimization Based on Discrete Sets of Pseudo-Impulses,”Journal of Guidance, Control, and Dynamics, Vol. 32, No. 4, 2009, pp.1209-1217 (see also AIAAPaper 2008-6276).19.MATLAB®Users Guide, The Math Works, Inc., Natick, MA, 2003, Chap. 16.20.Bharadwaj, S., Rao, A. V., and Mease, K. D., “Entry Trajectory Tracking Law via FeedbackLinearization,” Journal of Guidance, Control, and Dynamics, Vol. 21, No. 5, 1998, pp. 726-732.21.Betts, J., Practical Methods for Optimal Control Using Nonlinear Programming, SIAM, Philadelphia,PA, 2001, Chap. 1.11.1.。