%%************************************************************************* %% sqlparameters.m: set OPTIONS structure to specify default %% parameters for sqlp.m %% %% OPTIONS.vers : version of direction to use. %% 1 for HKM direction %% 2 for NT direction %% 0 for the default (which uses the HKM direction if %% semidefinite blocks exist; and NT direction of SOCP problms) %% OPTIONS.gam : step-length parameter, %% OPTIONS.predcorr : whether to use Mehrotra predictor-corrector. %% OPTIONS.expon : exponent in decrease of centering parameter sigma. %% OPTIONS.gaptol : tolerance for duality gap as a fraction of the %% value of the objective functions. %% OPTIONS.inftol : tolerance for stopping due to suspicion of %% infeasibility. %% OPTIONS.steptol : toloerance for stopping due to small steps. %% OPTIONS.maxit : maximum number of iteration allowed %% OPTIONS.printlevel : 3, if want to display result in each iteration, %% 2, if want to display only summary, %% 1, if want to display warning message, %% 0, no display at all. %% OPTIONS.stoplevel : 2, if want to automatically detect termination; %% 1, if want to automatically detect termination, but %% restart automatically with a new iterate %% when the algorithm stagnants because of tiny step-lengths. %% 0, if want the algorithm to continue forever except for %% successful completion, maximum number of iterations, or %% numerical failures. Note, do not change this field unless %% you very sure. %% OPTIONS.scale_data : 1, if want to scale the data before solving the problem, %% else = 0 %% OPTIONS.rmdepconstr : 1, if want to remove nearly dependent constraints, %% else = 0. %% OPTIONS.smallblkdim : block-size threshold determining what method to compute the %% schur complement matrix corresponding to semidefintie block. %% NOTE: this number should be small, say less than 20. %% OPTIONS.parbarrier : parameter values of the log-barrier terms in the SQLP problem. %% Default = [], meaning that the parameter values are all 0. %% OPTIONS.schurfun : [], if no user supplied routine to compute the Schur matrix, %% else, it is a cell array where each cell is either [], %% or contains a string that is the file name where the Schur matrix %% of the associated block data is computed. %% For example, if the SQLP data has the block structure %% blk{1,1} = '1'; blk{1,2} = 10; %% blk{2,1} = 's'; blk{2,2} = 50; %% and %% OPTIONS.schurfun{1} = []; %% OPTIONS.schurfun{2} = 'myownschur', where %% 'myownschur' is a function with the calling sequence: %% function schur = myownschur(X2,Z2inv,schurfun_par(2,:)); %% This means that for the first block, the Schur %% matrix is computed by the default method in SDPT3, %% and for the second block, the user supplies the %% routine to compute the associated Schur matrix. %% OPTIONS.schurfun_par: [], if no user supplied routine to compute the Schur matrix, %% else, it is a cell array where the p-th row is either [], %% or is a cell array containing the parameters needed in %% the user supplied Schur routine OPTIONS.schurfun{p}. %% For example, for the block structure described %% above, we may have: %% OPTIONS.schurfun_par{1} = []; %% OPTIONS.schurfun_par{2,1} = par1; %% OPTIONS.schurfun_par{2,2} = par2; %%***************************************************************** %% SDPT3: version 4.0 %% Copyright (c) 1997 by %% Kim-Chuan Toh, Michael J. Todd, Reha H. Tutuncu %% Last Modified: 16 Sep 2004 %%***************************************************************** function OPTIONS = sqlparameters OPTIONS.vers = 0; OPTIONS.gam = 0; OPTIONS.predcorr = 1; OPTIONS.expon = 1; OPTIONS.gaptol = 1e-8; OPTIONS.inftol = 1e-8; OPTIONS.steptol = 1e-6; OPTIONS.maxit = 100; OPTIONS.printlevel = 3; OPTIONS.stoplevel = 1; %% do not change this field unless you very sure. OPTIONS.scale_data = 0; OPTIONS.spdensity = 0.4; OPTIONS.rmdepconstr = 0; OPTIONS.smallblkdim = 50; OPTIONS.parbarrier = []; OPTIONS.schurfun = []; OPTIONS.schurfun_par = []; %%*************************************************************************