Function Help: lmmcp | View code for lmmcp | Function Reference |

lmmcp

lmmcp solves a mixed complementarity problem. lmmcp uses a semismooth least squares formulation. The method applies a Levenberg-Marquardt/Gauss-Newton algorithm to a least-squares formulation. X = lmmcp(FUN,X0) tries to solve the system of nonlinear equations F(X)=0 and starts at the vector X0. FUN accepts a vector X and return a vector F of equation values F evaluated at X and, as second output if required, a matrix J, the Jacobian evaluated at X. X = lmmcp(FUN,X0,LB,UB) solves the mixed complementarity problem of the form: LB =X => F(X)>0, LB<=X<=UB => F(X)=0, X =UB => F(X)<0. X = lmmcp(FUN,X0,LB,UB,OPTIONS) solves the MCP problem using the options defined in the structure OPTIONS. Main fields are Display : control the display of iterations, 'none' (default), 'iter-detailed' or 'final-detailed' Switch from phase I to phase II preprocess : activate preprocessor for phase I (default = 1) presteps : number of iterations in phase I (default = 20) Termination parameters MaxIter : Maximum number of iterations (default = 500) tmin : safeguard stepsize (default = 1E-12) TolFun : Termination tolerance on the function value, a positive scalar (default = sqrt(eps)) Stepsize parameters m : number of previous function values to use in the nonmonotone line search rule (default = 10) kwatch : maximum number of steps (default = 20 and should not be smaller than m) watchdog : activate the watchdog strategy (default = 1) Ther are other minor parameters. Please see the code for their default values and interpretation. [X,FVAL] = lmmcp(FUN,X0,...) returns the value of the equations FUN at X. [X,FVAL,EXITFLAG] = lmmcp(FUN,X0,...) returns EXITFLAG that describes the exit conditions. Possible values are 1 : lmmcp converged to a root 0 : Too many iterations -1 : [X,FVAL,EXITFLAG,OUTPUT] = lmmcp(FUN,X0,...) returns the structure OUTPUT that contains the number of iterations (OUTPUT.iterations), the value of the merit function (OUTPUT.Psix), and the norm of the derivative of the merit function (OUTPUT.normDPsix). [X,FVAL,EXITFLAG,OUTPUT,JACOB] = lmmcp(FUN,X0,...) returns JACOB the Jacobian of FUN evaluated at X. More details of the main program may be found in the following paper: Christian Kanzow and Stefania Petra: On a semismooth least squares formulation of complementarity problems with gap reduction. Optimization Methods and Software 19, 2004, pp. 507-525. In addition, the current implementation uses a preprocessor which is the projected Levenberg-Marquardt step from the following preprint: Christian Kanzow and Stefania Petra: Projected filter trust region methods for a semismooth least squares formulation of mixed complementarity problems. Optimization Methods and Software 22, 2007, pp. 713-735. A user's guide is also available: Christian Kanzow and Stefania Petra (2005). lmmcp --- A Levenberg-Marquardt-type MATLAB Solver for Mixed Complementarity Problems. University of Wuerzburg. http://www.mathematik.uni-wuerzburg.de/~kanzow/software/UserGuide.pdf This is a modification by Christophe Gouel of the original files, which can be downloaded from: http://www.mathematik.uni-wuerzburg.de/~kanzow/software/LMMCP.zip copyright: Christian Kanzow and Stefania Petra Institute of Applied Mathematics and Statistics University of Wuerzburg Am Hubland 97074 Wuerzburg GERMANY e-mail: kanzow@mathematik.uni-wuerzburg.de petra@mathematik.uni-wuerzburg.de