Nature & Wildlife

Temporal Lagrangian decomposition of model predictive control for hybrid systems

Description
Temporal Lagrangian decomposition of model predictive control for hybrid systems
Published
of 6
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  Temporal Lagrangian Decomposition of ModelPredictive Control for Hybrid Systems A. Giovanni Beccuti, Tobias Geyer and Manfred Morari  Abstract —Given a Model Predictive Control (MPC) prob-lem for a hybrid system in the Mixed Logical Dynamical(MLD) framework, a temporal decomposition scheme is pro-posed that efficiently derives the control actions by performingLagrangian decomposition on the prediction horizon. Thealgorithm translates the srcinal optimal control problem intoa temporal sequence of independent subproblems of smallerdimension. The solution of the Lagrangian problem yieldsa sequence of control actions for the full horizon that isapproximate in nature due to the non-convexity of the hybridoptimal control problem formulation and the consequentduality gap. For cases, however, where the duality gap issufficiently narrow, the approximate control law will yieldalmost the same closed-loop behavior as the one obtained fromthe srcinal optimal controller, but with a considerably smallercomputational burden. An example, for which a reduction of the computation time by an order of magnitude is achieved,illustrates the algorithm and confirms its effectiveness. I. I NTRODUCTION Model Predictive Control (MPC) is a control method-ology, in which the current control action is obtained bysolving at each sampling instant an open-loop optimalcontrol problem over a finite horizon using the currentstate of the plant as the initial state. The underlying opti-mization procedure yields an optimal control sequence thatminimizes a given objective function. By only applying thefirst control move in this sequence and by recomputing thecontrol sequence at the next sampling instant, a recedinghorizon policy is achieved. A major advantage of MPCis its ability to cope with hard constraints on manipulatedvariables, states and outputs. Furthermore the Mixed LogicDynamical (MLD) framework can be embedded in MPCallowing one to use hybrid models given in the MLD formas prediction models [2].In recent years, MPC has become a prominent controltechnique especially in the chemical process industry, be-cause the large time constants typically involved in theseapplications allow for a reasonable computation time forthe on-line optimization. For systems featuring smaller timeconstants, however, this may not always be possible becauseof the complexity of the calculations. One possibility is tocompute an off-line solution to the optimization problem asa function of the state resulting in a lookup table. Then, ateach time instant the determination of the optimal feedback law is performed by the simple evaluation of a function [1],[3]. However, in particular for hybrid systems, such an The authors are with the Automatic Control Laboratory, Swiss Fed-eral Institute of Technology (ETH), CH– 8092 Zurich, Switzerland, beccuti, geyer, morari@control.ee.ethz.ch approach is computationally feasible only for problems witha low-dimensional state and a short prediction horizon.Another approach to circumvent the complexity obstacleis to decompose the prediction horizon into a sequenceof several sub-horizons. A natural choice to do so is toemploy Lagrangian decomposition, which has been usedsuccessfully in a variety of circumstances for the purpose of translating an srcinally complex problem formulation intoa simpler version consisting of a series of smaller disjointelements. In the present paper, temporal decompositionis done by relaxing some of the state-update equationsand adding them to the cost function as penalty termsmultiplied with the Lagrangian (or dual) variables. Theobtained disjoint problems constitute the primal subprob-lems and may be tackled independently, therefore reducingthe computation time. The dual variables provide the link between the subproblems, and are determined by solvingthe dual problem.It seems that such an approach based on temporal decom-position has not been attempted for MPC as yet. Neverthe-less, in the context of planning and scheduling, temporaldecomposition techniques have been used successfully, seee.g. [11].As an illustrative example and case study, the optimalcontrol problem of a four bus power system [9] is consid-ered. In particular, the power system comprises a hybridsystem featuring binary manipulated variables, a finite statemachine and continuous dynamics. Compared to the srci-nal problem, the Lagrangian decomposition scheme showsfavorable computation times which are reduced by an orderof magnitude. Furthermore, in this example, the optimalcontrol laws obtained from the decomposed and from thesrcinal problem coincide. In any case, as increasing theprediction interval in the context of generic hybrid systemsquickly renders the related optimal control problems com-putationally intractable, it is to be expected that the gain incomputational performance would be significant.This paper is organized as follows. In Section II, theMLD framework is recapitulated and the optimal controlproblem is posed. Subsequently, Lagrangian decompositionis briefly summarized, and the proposed temporal decom-position scheme is presented in detail in Section III. SectionIV features the numerical application to the voltage controlproblem exemplifying the efficacy of the aforementionedalgorithm. 43rd IEEE Conference on Decision and ControlDecember 14-17, 2004Atlantis, Paradise Island, Bahamas 0-7803-8682-5/04/$20.00 ©2004 IEEEWeC06.62509  II. O PTIMAL C ONTROL OF H YBRID S YSTEMS Consider a hybrid system modelled in the Mixed LogicDynamical (MLD) framework [2] x ( k + 1) = Ax ( k ) + B 1 u ( k ) + B 2 δ  ( k ) + B 3 z ( k ) (1a) y ( k ) = Cx ( k ) + D 1 u ( k ) + D 2 δ  ( k ) + D 3 z ( k ) (1b) E  2 δ  ( k ) + E  3 z ( k ) ≤ E  1 u ( k ) + E  4 x ( k ) + E  5 , (1c)where k ∈ N denotes the discrete time-instant, and x ∈ R n c × { 0 , 1 } n  denotes the states, u ∈ R m c × { 0 , 1 } m  the inputs and y ∈ R  p c × { 0 , 1 }  p  the outputs, with bothreal and binary components. Furthermore, δ  ∈ { 0 , 1 } r  and z ∈ R r c represent binary and auxiliary continuousvariables, respectively. These variables are introduced whentranslating propositional logic or piecewise affine (PWA)functions into linear inequalities.Consider the constrained optimal control problem min U  N  J  ( x (0)) = N  − 1  k =0 || Q 1 ( u ( k ) − u r ) || ∞ + || Q 2 ( δ  ( k ) − δ  r ) || ∞ + || Q 3 ( z ( k ) − z r ) || ∞ + || Q 4 ( x ( k ) − x r ) || ∞ + || Q 5 ( y ( k ) − y r ) || ∞ (2a)s. t. (1) u min ≤ u ( k ) ≤ u max (2b) x min ≤ x ( k ) ≤ x max , (2c)where N  is the prediction horizon, Q 1 ,...,Q 5 are posi-tive semi-definite weighting matrices, x r , u r , y r , δ  r , z r are the respective references, x ( k ) is the state predictedat time-step k resulting from the input sequence U  N  =[ u T  (0) ,...,u T  ( N  − 1)] T  starting from the state x (0) , u min , u max , x min , x max are hard constraints on the inputs and thestates respectively and ||·|| ∞ represents the infinity normdefined according to the usual relation || v || ∞ = max i | v i | .Let U  ∗ N  denote the optimal input sequence that minimizes J  ( x (0)) . According to the receding horizon policy, only thefirst control move u (0) = U  ∗ (0) (3)is applied, and the whole optimization procedure is repeatedat time-step k + 1 .The MPC formulation can be rewritten [1]as a Mixed Integer Linear Program (MILP) byintroducing the vector of slack variables  =[  u 0 ,..., uN  − 1 , δ 0 ,..., δN  − 1 , z 0 ,..., zN  − 1 , x 0 ,..., xN  − 1 , y 0 ,..., yN  − 1 ] T  , that satisfies for k = 0 , 1 ,...,N  − 11 m  uk ≥± Q 1 ( u ( k ) − u r ) (4a) 1 r   δk ≥± Q 2 ( δ  ( k ) − δ  r ) (4b) 1 r c  zk ≥± Q 3 ( z ( k ) − z r ) (4c) 1 n  xk ≥± Q 4 ( x ( k ) − x r ) (4d) 1  p  yk ≥± Q 5 ( y ( k ) − y r ) (4e)where 1 i denotes a column vector of ones of length i , and m = m c + m  , n = n c + n  , p = p c + p  . It can beproven [5], that if the vector  satisfies (4) and minimizesthe cost function J   ( x (0)) = 1 T  5 N   (5)also solves the srcinal problem (2), i.e. leads to the sameoptimum J  ∗  ( x (0)) = J  ∗ ( x (0)) . Therefore, the srcinalproblem can be recast accordingly.III. T EMPORAL L AGRANGIAN D ECOMPOSITION OF H YBRID S YSTEMS  A. Introduction to Lagrangian Decomposition Consider the MILP primal problem in themin x 1 ,x 2 F  = f  T  1 x 1 + f  T  2 x 2 (6a)s. t. A 1 x 1 ≤ b 1 , C  1 x 1 = d 1 (6b) A 2 x 2 ≤ b 2 , C  2 x 2 = d 2 (6c) G 1 x 1 + G 2 x 2 = d (6d)where x 1 , x 2 may be both real and integer variables. Sucha problem would be decomposable into two independentprimal subproblems featuring the variables x 1 , x 2 were itnot for the presence of the equality constraint (6d). In thiscase, a Lagrangian decomposition scheme precisely yieldssuch a decomposability property. More specifically, considerthe problemmin x 1 ,x 2 L ( λ ) = f  T  1 x 1 + f  T  2 x 2 + λ T  ( G 1 x 1 + G 2 x 2 − d ) (7a)s. t. (6b), (6c) (7b)where λ are the dual variables associated with the relaxedconstraint (6d) and where L ( x 1 ,x 2 ) is the Lagrangian costfunction. For a given λ , the relaxed problem (6) can beseparated into the two disjoint subproblemsmin x 1 L 1 ( λ ) = f  T  1 x 1 + λ T  G 1 x 1 − λ T  d 2 (8a)s. t. A 1 x 1 ≤ b 1 , C  1 x 1 = d 1 (8b)andmin x 2 L 2 ( λ ) = f  T  2 x 2 + λ T  G 2 x 2 − λ T  d 2 (9a)s. t. A 2 x 2 ≤ b 2 , C  2 x 2 = d 2 (9b)that can be solved independently of each other.It is well known from mathematical programming the-ory [7] that the value of  L ( λ ) corresponding to an arbitraryvalue of  λ yields lower bounds to the optimum of thesrcinal primal problem. It is therefore of interest to obtainthe best possible lower bound, that is to solve the problem Z  ∗ = max λ (min x 1 ,x 2 L ( λ )) (10)over the unconstrained dual variable state space. Problem(10) is referred to as the dual problem, and Z  = min x 1 ,x 2 L ( λ ) (11) 2510  represents the dual function, which is known to be concaveand non-differentiable [4]. If the srcinal problem (6) hadbeen convex, the solution to (10) would produce a valueof (11) equal to the optimum of (6), i.e. Z  ∗ = F  ∗ , andcorrespondingly a set of dual variables λ to which theoptimal x ∗ 1 and x ∗ 2 would be associated. In the case of anMILP, the problem is non-convex. Therefore, the solutionto (10) will yield a bound that is strictly inferior to theoptimum of (6), i.e. Z  ∗ < F  ∗ , and correspondingly x 1 and x 2 that are in general infeasible with respect to (6d).The usual strategy in Lagrangian decomposition methods isthen to solve the dual to near optimality by means of someiterative method to obtain good lower bounds. Subsequently,a heuristic method is devised to generate solutions satisfying(6d) that are therefore solutions to (6) and whose costrepresents an upper bound for (6a) [6].  B. Temporal Lagrangian Decomposition The foregoing methodology turns out to be opportunelypracticable when considering temporal decomposition of MPC problems: the prediction horizon inherent in the MILPformulation can be partitioned into independent subhorizonsby relaxing the system state update equation (1a) as wasdone for (6d) above. The new problem, consisting of theminimization of the augmented cost function subject tothe reduced set of constraints, may now be convenientlyreformulated as a set of independent primal subproblemsof reduced dimension. More specifically, let I  ∈ { 1 ,...,N  } be the number of blocks in which one chooses to dividethe prediction horizon and i ∈ { 1 ,...,I  } the block in-dices, where i = 1 denotes the first time block. M  i ∈{ 0 ,...,N  − 2 } shall be the position in the prediction horizoncorresponding to the beginning of the i -th time block, where x ( M  1 ) = x (0) . The length or duration of the i -th timeblock is d i = M  i +1 − M  i for i ∈ { 1 ,...,I  − 1 } , and d I  = N  − 1 − M  I  .Dualizing (1a) yields the Lagrangian function L ( λ ) = J   ( x (0)) + I   i =2 λ T i ( x ( M  i ) − g ( M  i − 1)) , (12)where it has been set g ( M  i − 1) = Ax ( M  i − 1) + B 1 u ( M  i − 1)+ B 2 δ  ( M  i − 1) + B 3 z ( M  i − 1)) (13)and where λ i is the vector of dual variables of the con-straint (1a) that connects the ( i − 1) -th with the i -th block,and λ = [ λ T  2 ,...,λ T I  ] T  . Let  i denote the slack variablescontained in the i -th subproblem. Setting J   = 1 T  5 N   = I   i =1 1 T  5 d i  i (14)allows one to separate (12) into independent subproblemseach referring to one time block, i.e. L ( λ ) = L 1 ( λ ) + I  − 1  i =2 L i ( λ ) + L I  ( λ ) , (15)where L 1 ( λ ) =1 T  5 d 1  1 − λ T  2 ( g ( M  2 − 1)) (16) L i ( λ ) =1 T  5 d i  i − λ T i +1 ( g ( M  i +1 − 1)) + λ T i x ( M  i ) (17)and L I  ( λ ) = 1 T  5 d I  I  + λ T I  x ( M  I  ) . (18) C. Formulation of the Primal Subproblems The remaining system constraints in (1), and the con-straints (4), (2b) and (2c) can also be partitioned intodifferent subproblems pertaining to the respective timeblocks, similarly as has been done for (8b) and (9b). Thefirst subproblem corresponding to the first block is: min  1 L 1 ( λ ) (19)subject to the constraints (1), (4), (2b) and (2c) pertainingto the first time block. The subsequent subproblems with i ∈ { 2 , 3 ,...,I  } relative to the following blocks are: min  i ,x ( M  i ) L i ( λ ) (20)subject to the constraints (1), (4), (2b) and (2c) pertainingto the i -th time block.The foregoing subproblems are now uniquely linked bymeans of the dual variables λ whose value depends on thesolution of the dual problem.  D. Formulation and Solution of the Dual Problem The dual is a concave, PWA and non-differentiable func-tion. An implicit and iterative method for the solution of the dual such as the subgradient method can be used.In a subgradient algorithm, an initial value for the dualvariables is chosen arbitrarily, and the associated relaxedproblem is solved to compute a subgradient direction forthe dual variables and thus to modify the multipliers inthe computed direction. For the case of a dual function, apossible subgradient D ( λ j ) at iteration j is the set of therelaxed constraints itself, that is D ( λ j ) = [ D T  2 ( λ j ) ,...,D T I  ( λ j )] T  (21)where it has been set D i ( λ j ) = x j ( M  i ) − g j ( M  i − 1) (22)in which all values correspond to the optimal solution of theprimal obtained with λ j , see (12). In general, for a given λ j , D i ( λ j ) is different from zero, and the correspondingprimal set of variables ν  j with ν  = [ x T  u T  δ  T  z T  y T  ] T  , (23)is infeasible.In the following, the algorithm described in [10] will beapplied. Given λ j , the multipliers for the next iteration stepare calculated by λ j +1 = λ j + α j D ( λ j ) , (24) 2511  with the step size α j being generated by α j = β  j ( J  + − Z  j ) || D ( λ j ) || 2 . (25)In (25), Z  j is the value of the dual evaluated at λ j according to (11), and J  + is the current best upper boundto the optimum of the srcinal problem. In particular, J  + corresponds to the best feasible primal solution obtainedby means of some heuristic algorithm from the sequenceof generally infeasible ν  j . Furthermore, β  j is a parameterinitially set to a value β  j ∈ (0 , 2) which is subsequentlyreduced whenever Z  j has failed to improve after a certainnumber of iterations. The iterative procedure is interruptedeither after a certain number of fixed steps or whenever acertain accuracy is attained in the duality gap between theinfeasible and feasible values, taking into account howeverthat this will be limited by the intrinsic duality gap of theproblem.When solving the problem to optimality in a subsequentbranch and bound algorithm, J  + may be used as an upperbound. Alternatively, the feasible input vector may beimplemented as a suboptimal input. Indeed, with the ap-propriate problem setup, it is known that even a suboptimalsequence of control inputs can ensure stability [2], [12].In any case, the effectiveness of the employed heuristicalgorithm is of critical importance to ensure satisfactoryperformance for the overall problem. Such an algorithm ishighly application specific. Assuming that no constraintson states are present, one may simply collect all the inputs u j computed from the subproblems (19) and (20). Applyingthem to the MLD system leads to a feasible set of  x , y , δ  and z by construction. If state constraints are given, however,the above procedure cannot guarantee that these constraintsare respected for the entire horizon. In this case, a feasibleinput sequence must be built according to the given problemformulation; as an indication, one possibility might be to usethe inputs corresponding to the first subhorizon block (orfirst few predictions steps) and then to re-optimize over theremaining horizon tail to enforce feasibility.IV. I LLUSTRATIVE E XAMPLE  A. Model Description In [9], the authors have presented a novel emergencycontrol scheme based on MPC that successfully stabilizesthe voltage in an example power system with four buses. Asshown in Fig. 1, this power system contains two generators,where the first one is an infinite bus or a large power system,whereas the second generator includes an internal controllerregulating the voltage at bus 2 thus limiting the maximalamount of reactive power. Also the transformer incorporatesan internal controller regulating the load voltage V  4 m withina dead-band around the voltage reference V  4 m,ref  . Thiscontroller is a finite state machine and allows changes of the tap position n T  only every 30 s by one discrete stepof  n step = 0 . 02 . In addition, by setting s C  , discrete partsof the capacitor bank can be used to support the power bus 3bus 1 bus 2L3 L2 s 4m VV 3m2m V 4m,ref  V L1 C Transf.Gen. 2Gen. 1Loadbank Capacitors L bus 4 Fig. 1. Example power system with four buses. system by producing reactive power close to the load. Thedistribution system is approximated using one load modelaggregating the whole distribution system. Discrete parts of the load can be disconnected by using load shedding s L .Recapitulating [9], the MLD model is derived by per-forming the following approximations and simplifications.(i) The nonlinear continuous-time dynamics are approxi-mated by PWA functions in the discrete-time domain usingthe sampling time T  s = 30 s, (ii) the load dynamics aresimplified and modelled using only one load state x L ,(iii) the admissible sets of the input variables are reduced,and (iv) the tapping strategy ∆ n T  ∈ { 0 ,n step , − n step } is used as a system input rather than the reference volt-age V  4 m,ref  . The resulting MLD model features the two-dimensional state vector x = [ x L n T  ] T  with x 1 ∈ R and x 2 ∈ { 0 . 8 , 0 . 82 , 0 . 84 ,..., 1 . 2 } , the four-dimensional inputvector u = [ u 1 u 2 s C  s L ] T  with u ∈ { 0 , 1 } 4 , where u 1 and u 2 encode in a binary fashion ∆ n T  , the outputs y = [ V  2 m V  3 m V  4 m ] with y ∈ R 3 representing the busvoltages of main interest, 302 z -variables, 31 δ  -variablesand 1660 inequality constraints.  B. Control Problem Formulation The control objectives are (i) to bring V  4 m as close toits reference value 1 as possible, (ii) to minimize switch-ing transitions in the manipulated variables, and (iii) tofulfill the safety constraints on the bus voltages V  2 m ∈ [0 . 95 , 1 . 05] , V  3 m ∈ [0 . 9 , 1 . 1] and V  4 m ∈ [0 . 9 , 1 . 1] . Mod-elling these constraints as soft constraints using the slack  2512  variables s i , i ∈ { 2 , 3 , 4 } , yields s 2 ( k ) ≥ 0 . 95 − V  2 m ( k ) (26a) s 2 ( k ) ≥ V  2 m ( k ) − 1 . 05 (26b) s 2 ( k ) ≥ 0 , (26c)The slacks s 3 and s 4 are defined accordingly. Furthermore,let s = [ s 2 s 3 s 4 ] T  .Consider the optimal control problemmin U  N  J  ( x (0) ,u ( k − 1)) = N  − 1  k =0  y 3 ( k ) − 1  + N  − 1  k =0   Q ∆ u ( k )  ∞ +  Rs ( k )  ∞  subject to the evolution of the MLD model (1) over theprediction horizon N  and the integrality constraints on u ( k ) , where U  N  = [ u T  (0) ,u T  (1) ,...,u T  ( N  − 1)] T  denotesthe sequence of control inputs, ∆ u ( k ) = u ( k ) − u ( k − 1) the change in the manipulated variables, and Q = diag (0 . 2 , 0 . 2 , 0 . 03 , 0 . 1) and R = diag (10 , 10 , 10) are thecorresponding penalty matrices. This choice of the penaltieswill cause emergency actions including load shedding to betriggered only if refraining from such measures would resultin a violation of the soft constraints. For more details onthe four bus power system, the reader is referred to [8], [9]. C. Temporal Lagrangian Decomposition The proposed temporal Lagrangian decompositionscheme can be directly applied to the voltage controlproblem, as the model of the power system is given inMLD form and the optimal control problem is formulatedusing the ∞ -norm. To test the performance of the presentedscheme, a prediction horizon of  N  = 6 is adopted anddecomposed into I  = 4 separate blocks consisting of aninitial block of length d 1 = 3 and of 3 successive blocksof length d 2 = d 3 = d 4 = 1 . This choice largely dependson computational experiments; indeed, intuitively it can beassumed that employing a comparatively long initial block is beneficial for an application to MPC problems, where thequality of the first control move is essential for the overallperformance of the control scheme.It should be noticed that for the on-line solution of theMPC problem, the sampling interval T  s = 30 s imposesthe maximum computation time available. Because of thisstringent condition, there is no time available to perform anyiterations in the dual variables on-line. Therefore, the dualvariables are pre-computed off-line for a given characteristicstate and are kept at the constant value ¯ λ . For this particularexample, it turns out that the optimal dual variables remainrather unaffected by variations in the state. Therefore, ¯ λ yields good results.At each time step, the infeasible set of variables cor-responding to ¯ λ is evaluated, and starting from this afeasible solution is built. As the power system does notfeature any (hard) constraints on states, one may – as Full horizon Lagrangian schemeMin. time [s] 100 16.8Max. time [s] 486 25.2Avg. time [s] 276 18.6Min. γ  [%] 6.3Max. γ  [%] 12.3Avg. γ  [%] 9.1 TABLE IC OMPARISON OF THE COMPUTATION TIMES FOR THE FULL PROBLEMAT EACH SAMPLING INTERVAL AND THE L AGRANGIANDECOMPOSITION SCHEME WITH THE CORRESPONDING DUALITY GAP . previously mentioned – simply retain the calculated inputvariables and build a feasible solution set and cost value.Other approaches are possible, and indeed, a better feasiblesolution may be obtained by maintaining only the first fewinputs of the sequence and re-optimizing over the remainingpart of the horizon. According to the receding horizonpolicy of MPC, from this feasible input sequence only thefirst move is applied, and the same operation is repeated atthe next time instant.  D. Computation Results The case study has been run considering exactly the sameoperating conditions as in [9], with the line outage occurringat time t = 100 s. The setup features a 2.8 GHz Pentiumrunning Matlab R13 and CPLEX 8.0 as MILP solver, andsolutions have been obtained and compared for both theLagrangian scheme and the full problem. These are reportedin Table 1, where the indicated time represents the requiredcomputation time for a single sampling interval. The dualitygap γ  in percentage terms of the Lagrangian scheme iscalculated as γ  = 100( J  + − ¯ Z  ) / ¯ Z  , in which ¯ Z  correspondsto the value of the dual evaluated at ¯ λ . As can be seen, thetemporal Lagrangian decomposition scheme yields compu-tation times which are improved by an order of magnitude.In particular, the maximum computation time is reduced bya factor of  20 relative to the full problem. Most important,it is less than the sampling interval allowing for an on-line implementation of the control scheme. Furthermore,the duality gap lies within a range of  10% .It is worthwhile noting that for this model and for thefeatured sequence of operating points the suboptimal J  + actually coincides with J  ∗ , i.e. the optimum is in actualfact obtained. This is partly due to the fact that the dualitygap is small and that the inputs are purely binary preventingsmall deviations in the input variables that would otherwiseoccur. Although not strictly representative of the intendedpurpose of the presented algorithm, this result is consistentwith the fact that the derived control sequence is indeed ina region reasonably close to optimality.For the case study considered, the control problem maythus be tackled with a substantially lower computationaleffort, so that the effective potential for future applicationsappears to be encouraging. 2513

Grecia

Mar 3, 2018
Search
Tags
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks