92 lines
5.2 KiB
Matlab
Executable File
92 lines
5.2 KiB
Matlab
Executable File
%%*************************************************************************
|
|
%% 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 = [];
|
|
%%*************************************************************************
|