MPOPTION_OLD Used to set and retrieve old-style MATPOWER options vector. OPT = MPOPTION_OLD returns the default options vector OPT = MPOPTION_OLD(NAME1, VALUE1, NAME2, VALUE2, ...) returns the default options vector with new values for up to 7 options, NAME# is the name of an option, and VALUE# is the new value. OPT = MPOPTION_OLD(OPT, NAME1, VALUE1, NAME2, VALUE2, ...) same as above except it uses the options vector OPT as a base instead of the default options vector. Examples: opt = mpoption_old('PF_ALG', 2, 'PF_TOL', 1e-4); opt = mpoption_old(opt, 'OPF_ALG', 565, 'VERBOSE', 2); The currently defined options are as follows: idx - NAME, default description [options] --- ------------- ----------------------------------------- power flow options 1 - PF_ALG, 1 AC power flow algorithm [ 1 - Newton's method ] [ 2 - Fast-Decoupled (XB version) ] [ 3 - Fast-Decoupled (BX version) ] [ 4 - Gauss-Seidel ] 2 - PF_TOL, 1e-8 termination tolerance on per unit P & Q mismatch 3 - PF_MAX_IT, 10 maximum number of iterations for Newton's method 4 - PF_MAX_IT_FD, 30 maximum number of iterations for fast decoupled method 5 - PF_MAX_IT_GS, 1000 maximum number of iterations for Gauss-Seidel method 6 - ENFORCE_Q_LIMS, 0 enforce gen reactive power limits at expense of |V| [ 0 - do NOT enforce limits ] [ 1 - enforce limits, simultaneous bus type conversion ] [ 2 - enforce limits, one-at-a-time bus type conversion ] 10 - PF_DC, 0 DC modeling for power flow & OPF [ 0 - use AC formulation & corresponding algorithm options ] [ 1 - use DC formulation, ignore AC algorithm options ] OPF options 11 - OPF_ALG, 0 solver to use for AC OPF [ 0 - choose default solver based on availability in the ] [ following order, 540, 560 ] [ 500 - MINOPF, MINOS-based solver, requires optional ] [ MEX-based MINOPF package, available from: ] [ http://www.pserc.cornell.edu/minopf/ ] [ 520 - fmincon, MATLAB Optimization Toolbox >= 2.x ] [ 540 - PDIPM, primal/dual interior point method, requires ] [ optional MEX-based TSPOPF package, available from: ] [ http://www.pserc.cornell.edu/tspopf/ ] [ 545 - SC-PDIPM, step-controlled variant of PDIPM, requires ] [ TSPOPF (see 540) ] [ 550 - TRALM, trust region based augmented Langrangian ] [ method, requires TSPOPF (see 540) ] [ 560 - MIPS, MATLAB Interior Point Solver ] [ primal/dual interior point method (pure MATLAB) ] [ 565 - MIPS-sc, step-controlled variant of MIPS ] [ primal/dual interior point method (pure MATLAB) ] [ 580 - IPOPT, requires MEX interface to IPOPT solver ] [ available from: https://projects.coin-or.org/Ipopt/ ] [ 600 - KNITRO, requires MATLAB Optimization Toolbox and ] [ KNITRO libraries available from: http://www.ziena.com/ ] 16 - OPF_VIOLATION, 5e-6 constraint violation tolerance 17 - CONSTR_TOL_X, 1e-4 termination tol on x for fmincon/Knitro 18 - CONSTR_TOL_F, 1e-4 termination tol on f for fmincon/Knitro 19 - CONSTR_MAX_IT, 0 max number of iterations for fmincon [ 0 => default ] 24 - OPF_FLOW_LIM, 0 qty to limit for branch flow constraints [ 0 - apparent power flow (limit in MVA) ] [ 1 - active power flow (limit in MW) ] [ 2 - current magnitude (limit in MVA at 1 p.u. voltage) ] 25 - OPF_IGNORE_ANG_LIM, 0 ignore angle difference limits for branches even if specified [ 0 or 1 ] 26 - OPF_ALG_DC, 0 solver to use for DC OPF [ 0 - choose default solver based on availability in the ] [ following order: 500, 600, 700, 100, 300, 200 ] [ 100 - BPMPD, requires optional MEX-based BPMPD_MEX package ] [ available from: http://www.pserc.cornell.edu/bpmpd/ ] [ 200 - MIPS, MATLAB Interior Point Solver ] [ primal/dual interior point method (pure MATLAB) ] [ 250 - MIPS-sc, step-controlled variant of MIPS ] [ 300 - MATLAB Optimization Toolbox, QUADPROG, LINPROG ] [ 400 - IPOPT, requires MEX interface to IPOPT solver ] [ available from: https://projects.coin-or.org/Ipopt/ ] [ 500 - CPLEX, requires Matlab interface to CPLEX solver ] [ 600 - MOSEK, requires Matlab interface to MOSEK solver ] [ available from: http://www.mosek.com/ ] [ 700 - GUROBI, requires Gurobi optimizer (v. 5+) ] [ available from: http://www.gurobi.com/ ] output options 31 - VERBOSE, 1 amount of progress info printed [ 0 - print no progress info ] [ 1 - print a little progress info ] [ 2 - print a lot of progress info ] [ 3 - print all progress info ] 32 - OUT_ALL, -1 controls pretty-printing of results [ -1 - individual flags control what prints ] [ 0 - do not print anything ] [ (overrides individual flags) ] [ 1 - print everything ] [ (overrides individual flags) ] 33 - OUT_SYS_SUM, 1 print system summary [ 0 or 1 ] 34 - OUT_AREA_SUM, 0 print area summaries [ 0 or 1 ] 35 - OUT_BUS, 1 print bus detail [ 0 or 1 ] 36 - OUT_BRANCH, 1 print branch detail [ 0 or 1 ] 37 - OUT_GEN, 0 print generator detail [ 0 or 1 ] (OUT_BUS also includes gen info) 38 - OUT_ALL_LIM, -1 controls what constraint info is printed [ -1 - individual flags control what constraint info prints ] [ 0 - no constraint info (overrides individual flags) ] [ 1 - binding constraint info (overrides individual flags) ] [ 2 - all constraint info (overrides individual flags) ] 39 - OUT_V_LIM, 1 control output of voltage limit info [ 0 - do not print ] [ 1 - print binding constraints only ] [ 2 - print all constraints ] [ (same options for OUT_LINE_LIM, OUT_PG_LIM, OUT_QG_LIM) ] 40 - OUT_LINE_LIM, 1 control output of line flow limit info 41 - OUT_PG_LIM, 1 control output of gen P limit info 42 - OUT_QG_LIM, 1 control output of gen Q limit info 44 - OUT_FORCE, 0 print results even if success = 0 [ 0 or 1 ] 52 - RETURN_RAW_DER, 0 return constraint and derivative info in results.raw (in fields g, dg, df, d2f) FMINCON options 55 - FMC_ALG, 4 algorithm used by fmincon for OPF for Optimization Toolbox 4 and later [ 1 - active-set ] [ 2 - interior-point, w/default 'bfgs' Hessian approx ] [ 3 - interior-point, w/ 'lbfgs' Hessian approx ] [ 4 - interior-point, w/exact user-supplied Hessian ] [ 5 - interior-point, w/Hessian via finite differences ] KNITRO options 58 - KNITRO_OPT, 0 a non-zero integer N indicates that all KNITRO options should be handled by a KNITRO options file named 'knitro_user_options_N.txt' IPOPT options 60 - IPOPT_OPT, 0 See IPOPT_OPTIONS for details. MINOPF options 61 - MNS_FEASTOL, 0 (1e-3) primal feasibility tolerance, set to value of OPF_VIOLATION by default 62 - MNS_ROWTOL, 0 (1e-3) row tolerance set to value of OPF_VIOLATION by default 63 - MNS_XTOL, 0 (1e-3) x tolerance set to value of CONSTR_TOL_X by default 64 - MNS_MAJDAMP, 0 (0.5) major damping parameter 65 - MNS_MINDAMP, 0 (2.0) minor damping parameter 66 - MNS_PENALTY_PARM, 0 (1.0) penalty parameter 67 - MNS_MAJOR_IT, 0 (200) major iterations 68 - MNS_MINOR_IT, 0 (2500) minor iterations 69 - MNS_MAX_IT, 0 (2500) iterations limit 70 - MNS_VERBOSITY, -1 [ -1 - controlled by VERBOSE option ] [ 0 - print nothing ] [ 1 - print only termination status message ] [ 2 - print termination status and screen progress ] [ 3 - print screen progress, report file (usually fort.9) ] 71 - MNS_CORE, 0 (1200 * nb + 2 * (nb + ng)^2) memory allocation 72 - MNS_SUPBASIC_LIM, 0 (2*nb + 2*ng) superbasics limit 73 - MNS_MULT_PRICE, 0 (30) multiple price MIPS (including MIPS-sc), PDIPM, SC-PDIPM, and TRALM options 81 - PDIPM_FEASTOL, 0 feasibility (equality) tolerance for MIPS, PDIPM and SC-PDIPM, set to value of OPF_VIOLATION by default 82 - PDIPM_GRADTOL, 1e-6 gradient tolerance for MIPS, PDIPM and SC-PDIPM 83 - PDIPM_COMPTOL, 1e-6 complementary condition (inequality) tolerance for MIPS, PDIPM and SC-PDIPM 84 - PDIPM_COSTTOL, 1e-6 optimality tolerance for MIPS, PDIPM and SC-PDIPM 85 - PDIPM_MAX_IT, 150 maximum number of iterations for MIPS, PDIPM and SC-PDIPM 86 - SCPDIPM_RED_IT, 20 maximum number of MIPS-sc or SC-PDIPM reductions per iteration 87 - TRALM_FEASTOL, 0 feasibility tolerance for TRALM set to value of OPF_VIOLATION by default 88 - TRALM_PRIMETOL, 5e-4 primal variable tolerance for TRALM 89 - TRALM_DUALTOL, 5e-4 dual variable tolerance for TRALM 90 - TRALM_COSTTOL, 1e-5 optimality tolerance for TRALM 91 - TRALM_MAJOR_IT, 40 maximum number of major iterations 92 - TRALM_MINOR_IT, 100 maximum number of minor iterations 93 - SMOOTHING_RATIO, 0.04 piecewise linear curve smoothing ratio used in SC-PDIPM and TRALM CPLEX options 95 - CPLEX_LPMETHOD, 0 solution algorithm for continuous LPs [ 0 - automatic: let CPLEX choose ] [ 1 - primal simplex ] [ 2 - dual simplex ] [ 3 - network simplex ] [ 4 - barrier ] [ 5 - sifting ] [ 6 - concurrent (dual, barrier, and primal) ] 96 - CPLEX_QPMETHOD, 0 solution algorithm for continuous QPs [ 0 - automatic: let CPLEX choose ] [ 1 - primal simplex optimizer ] [ 2 - dual simplex optimizer ] [ 3 - network optimizer ] [ 4 - barrier optimizer ] 97 - CPLEX_OPT, 0 See CPLEX_OPTIONS for details MOSEK options 111 - MOSEK_LP_ALG, 0 solution algorithm for continuous LPs (MSK_IPAR_OPTIMIZER) [ 0 - automatic: let MOSEK choose ] [ 1 - interior point ] [ 4 - primal simplex ] [ 5 - dual simplex ] [ 6 - primal dual simplex ] [ 7 - automatic simplex (MOSEK chooses which simplex method) ] [ 10 - concurrent ] 112 - MOSEK_MAX_IT, 0 (400) interior point max iterations (MSK_IPAR_INTPNT_MAX_ITERATIONS) 113 - MOSEK_GAP_TOL, 0 (1e-8) interior point relative gap tolerance (MSK_DPAR_INTPNT_TOL_REL_GAP) 114 - MOSEK_MAX_TIME, 0 (-1) maximum time allowed for solver (MSK_DPAR_OPTIMIZER_MAX_TIME) 115 - MOSEK_NUM_THREADS, 0 (1) maximum number of threads to use (MSK_IPAR_INTPNT_NUM_THREADS) 116 - MOSEK_OPT, 0 See MOSEK_OPTIONS for details Gurobi options 121 - GRB_METHOD, -1 solution algorithm (Method) [ -1 - automatic, let Gurobi decide ] [ 0 - primal simplex ] [ 1 - dual simplex ] [ 2 - barrier ] [ 3 - concurrent (LP only) ] [ 4 - deterministic concurrent (LP only) ] 122 - GRB_TIMELIMIT, Inf maximum time allowed for solver (TimeLimit) 123 - GRB_THREADS, 0 (auto) maximum number of threads to use (Threads) 124 - GRB_OPT, 0 See GUROBI_OPTIONS for details
0001 function [options, names] = mpoption_old(varargin) 0002 %MPOPTION_OLD Used to set and retrieve old-style MATPOWER options vector. 0003 % 0004 % OPT = MPOPTION_OLD 0005 % returns the default options vector 0006 % 0007 % OPT = MPOPTION_OLD(NAME1, VALUE1, NAME2, VALUE2, ...) 0008 % returns the default options vector with new values for up to 7 0009 % options, NAME# is the name of an option, and VALUE# is the new 0010 % value. 0011 % 0012 % OPT = MPOPTION_OLD(OPT, NAME1, VALUE1, NAME2, VALUE2, ...) 0013 % same as above except it uses the options vector OPT as a base 0014 % instead of the default options vector. 0015 % 0016 % Examples: 0017 % opt = mpoption_old('PF_ALG', 2, 'PF_TOL', 1e-4); 0018 % opt = mpoption_old(opt, 'OPF_ALG', 565, 'VERBOSE', 2); 0019 % 0020 % The currently defined options are as follows: 0021 % 0022 % idx - NAME, default description [options] 0023 % --- ------------- ----------------------------------------- 0024 % power flow options 0025 % 1 - PF_ALG, 1 AC power flow algorithm 0026 % [ 1 - Newton's method ] 0027 % [ 2 - Fast-Decoupled (XB version) ] 0028 % [ 3 - Fast-Decoupled (BX version) ] 0029 % [ 4 - Gauss-Seidel ] 0030 % 2 - PF_TOL, 1e-8 termination tolerance on per unit 0031 % P & Q mismatch 0032 % 3 - PF_MAX_IT, 10 maximum number of iterations for 0033 % Newton's method 0034 % 4 - PF_MAX_IT_FD, 30 maximum number of iterations for 0035 % fast decoupled method 0036 % 5 - PF_MAX_IT_GS, 1000 maximum number of iterations for 0037 % Gauss-Seidel method 0038 % 6 - ENFORCE_Q_LIMS, 0 enforce gen reactive power limits 0039 % at expense of |V| 0040 % [ 0 - do NOT enforce limits ] 0041 % [ 1 - enforce limits, simultaneous bus type conversion ] 0042 % [ 2 - enforce limits, one-at-a-time bus type conversion ] 0043 % 10 - PF_DC, 0 DC modeling for power flow & OPF 0044 % [ 0 - use AC formulation & corresponding algorithm options ] 0045 % [ 1 - use DC formulation, ignore AC algorithm options ] 0046 % OPF options 0047 % 11 - OPF_ALG, 0 solver to use for AC OPF 0048 % [ 0 - choose default solver based on availability in the ] 0049 % [ following order, 540, 560 ] 0050 % [ 500 - MINOPF, MINOS-based solver, requires optional ] 0051 % [ MEX-based MINOPF package, available from: ] 0052 % [ http://www.pserc.cornell.edu/minopf/ ] 0053 % [ 520 - fmincon, MATLAB Optimization Toolbox >= 2.x ] 0054 % [ 540 - PDIPM, primal/dual interior point method, requires ] 0055 % [ optional MEX-based TSPOPF package, available from: ] 0056 % [ http://www.pserc.cornell.edu/tspopf/ ] 0057 % [ 545 - SC-PDIPM, step-controlled variant of PDIPM, requires ] 0058 % [ TSPOPF (see 540) ] 0059 % [ 550 - TRALM, trust region based augmented Langrangian ] 0060 % [ method, requires TSPOPF (see 540) ] 0061 % [ 560 - MIPS, MATLAB Interior Point Solver ] 0062 % [ primal/dual interior point method (pure MATLAB) ] 0063 % [ 565 - MIPS-sc, step-controlled variant of MIPS ] 0064 % [ primal/dual interior point method (pure MATLAB) ] 0065 % [ 580 - IPOPT, requires MEX interface to IPOPT solver ] 0066 % [ available from: https://projects.coin-or.org/Ipopt/ ] 0067 % [ 600 - KNITRO, requires MATLAB Optimization Toolbox and ] 0068 % [ KNITRO libraries available from: http://www.ziena.com/ ] 0069 % 16 - OPF_VIOLATION, 5e-6 constraint violation tolerance 0070 % 17 - CONSTR_TOL_X, 1e-4 termination tol on x for fmincon/Knitro 0071 % 18 - CONSTR_TOL_F, 1e-4 termination tol on f for fmincon/Knitro 0072 % 19 - CONSTR_MAX_IT, 0 max number of iterations for fmincon 0073 % [ 0 => default ] 0074 % 24 - OPF_FLOW_LIM, 0 qty to limit for branch flow constraints 0075 % [ 0 - apparent power flow (limit in MVA) ] 0076 % [ 1 - active power flow (limit in MW) ] 0077 % [ 2 - current magnitude (limit in MVA at 1 p.u. voltage) ] 0078 % 25 - OPF_IGNORE_ANG_LIM, 0 ignore angle difference limits for branches 0079 % even if specified [ 0 or 1 ] 0080 % 26 - OPF_ALG_DC, 0 solver to use for DC OPF 0081 % [ 0 - choose default solver based on availability in the ] 0082 % [ following order: 500, 600, 700, 100, 300, 200 ] 0083 % [ 100 - BPMPD, requires optional MEX-based BPMPD_MEX package ] 0084 % [ available from: http://www.pserc.cornell.edu/bpmpd/ ] 0085 % [ 200 - MIPS, MATLAB Interior Point Solver ] 0086 % [ primal/dual interior point method (pure MATLAB) ] 0087 % [ 250 - MIPS-sc, step-controlled variant of MIPS ] 0088 % [ 300 - MATLAB Optimization Toolbox, QUADPROG, LINPROG ] 0089 % [ 400 - IPOPT, requires MEX interface to IPOPT solver ] 0090 % [ available from: https://projects.coin-or.org/Ipopt/ ] 0091 % [ 500 - CPLEX, requires Matlab interface to CPLEX solver ] 0092 % [ 600 - MOSEK, requires Matlab interface to MOSEK solver ] 0093 % [ available from: http://www.mosek.com/ ] 0094 % [ 700 - GUROBI, requires Gurobi optimizer (v. 5+) ] 0095 % [ available from: http://www.gurobi.com/ ] 0096 % output options 0097 % 31 - VERBOSE, 1 amount of progress info printed 0098 % [ 0 - print no progress info ] 0099 % [ 1 - print a little progress info ] 0100 % [ 2 - print a lot of progress info ] 0101 % [ 3 - print all progress info ] 0102 % 32 - OUT_ALL, -1 controls pretty-printing of results 0103 % [ -1 - individual flags control what prints ] 0104 % [ 0 - do not print anything ] 0105 % [ (overrides individual flags) ] 0106 % [ 1 - print everything ] 0107 % [ (overrides individual flags) ] 0108 % 33 - OUT_SYS_SUM, 1 print system summary [ 0 or 1 ] 0109 % 34 - OUT_AREA_SUM, 0 print area summaries [ 0 or 1 ] 0110 % 35 - OUT_BUS, 1 print bus detail [ 0 or 1 ] 0111 % 36 - OUT_BRANCH, 1 print branch detail [ 0 or 1 ] 0112 % 37 - OUT_GEN, 0 print generator detail [ 0 or 1 ] 0113 % (OUT_BUS also includes gen info) 0114 % 38 - OUT_ALL_LIM, -1 controls what constraint info is printed 0115 % [ -1 - individual flags control what constraint info prints ] 0116 % [ 0 - no constraint info (overrides individual flags) ] 0117 % [ 1 - binding constraint info (overrides individual flags) ] 0118 % [ 2 - all constraint info (overrides individual flags) ] 0119 % 39 - OUT_V_LIM, 1 control output of voltage limit info 0120 % [ 0 - do not print ] 0121 % [ 1 - print binding constraints only ] 0122 % [ 2 - print all constraints ] 0123 % [ (same options for OUT_LINE_LIM, OUT_PG_LIM, OUT_QG_LIM) ] 0124 % 40 - OUT_LINE_LIM, 1 control output of line flow limit info 0125 % 41 - OUT_PG_LIM, 1 control output of gen P limit info 0126 % 42 - OUT_QG_LIM, 1 control output of gen Q limit info 0127 % 44 - OUT_FORCE, 0 print results even if success = 0 0128 % [ 0 or 1 ] 0129 % 52 - RETURN_RAW_DER, 0 return constraint and derivative info 0130 % in results.raw (in fields g, dg, df, d2f) 0131 % FMINCON options 0132 % 55 - FMC_ALG, 4 algorithm used by fmincon for OPF 0133 % for Optimization Toolbox 4 and later 0134 % [ 1 - active-set ] 0135 % [ 2 - interior-point, w/default 'bfgs' Hessian approx ] 0136 % [ 3 - interior-point, w/ 'lbfgs' Hessian approx ] 0137 % [ 4 - interior-point, w/exact user-supplied Hessian ] 0138 % [ 5 - interior-point, w/Hessian via finite differences ] 0139 % 0140 % KNITRO options 0141 % 58 - KNITRO_OPT, 0 a non-zero integer N indicates that all 0142 % KNITRO options should be handled by a 0143 % KNITRO options file named 0144 % 'knitro_user_options_N.txt' 0145 % 0146 % IPOPT options 0147 % 60 - IPOPT_OPT, 0 See IPOPT_OPTIONS for details. 0148 % 0149 % MINOPF options 0150 % 61 - MNS_FEASTOL, 0 (1e-3) primal feasibility tolerance, 0151 % set to value of OPF_VIOLATION by default 0152 % 62 - MNS_ROWTOL, 0 (1e-3) row tolerance 0153 % set to value of OPF_VIOLATION by default 0154 % 63 - MNS_XTOL, 0 (1e-3) x tolerance 0155 % set to value of CONSTR_TOL_X by default 0156 % 64 - MNS_MAJDAMP, 0 (0.5) major damping parameter 0157 % 65 - MNS_MINDAMP, 0 (2.0) minor damping parameter 0158 % 66 - MNS_PENALTY_PARM, 0 (1.0) penalty parameter 0159 % 67 - MNS_MAJOR_IT, 0 (200) major iterations 0160 % 68 - MNS_MINOR_IT, 0 (2500) minor iterations 0161 % 69 - MNS_MAX_IT, 0 (2500) iterations limit 0162 % 70 - MNS_VERBOSITY, -1 0163 % [ -1 - controlled by VERBOSE option ] 0164 % [ 0 - print nothing ] 0165 % [ 1 - print only termination status message ] 0166 % [ 2 - print termination status and screen progress ] 0167 % [ 3 - print screen progress, report file (usually fort.9) ] 0168 % 71 - MNS_CORE, 0 (1200 * nb + 2 * (nb + ng)^2) memory allocation 0169 % 72 - MNS_SUPBASIC_LIM, 0 (2*nb + 2*ng) superbasics limit 0170 % 73 - MNS_MULT_PRICE, 0 (30) multiple price 0171 % 0172 % MIPS (including MIPS-sc), PDIPM, SC-PDIPM, and TRALM options 0173 % 81 - PDIPM_FEASTOL, 0 feasibility (equality) tolerance 0174 % for MIPS, PDIPM and SC-PDIPM, set 0175 % to value of OPF_VIOLATION by default 0176 % 82 - PDIPM_GRADTOL, 1e-6 gradient tolerance for MIPS, PDIPM 0177 % and SC-PDIPM 0178 % 83 - PDIPM_COMPTOL, 1e-6 complementary condition (inequality) 0179 % tolerance for MIPS, PDIPM and SC-PDIPM 0180 % 84 - PDIPM_COSTTOL, 1e-6 optimality tolerance for MIPS, PDIPM 0181 % and SC-PDIPM 0182 % 85 - PDIPM_MAX_IT, 150 maximum number of iterations for MIPS, 0183 % PDIPM and SC-PDIPM 0184 % 86 - SCPDIPM_RED_IT, 20 maximum number of MIPS-sc or SC-PDIPM 0185 % reductions per iteration 0186 % 87 - TRALM_FEASTOL, 0 feasibility tolerance for TRALM 0187 % set to value of OPF_VIOLATION by default 0188 % 88 - TRALM_PRIMETOL, 5e-4 primal variable tolerance for TRALM 0189 % 89 - TRALM_DUALTOL, 5e-4 dual variable tolerance for TRALM 0190 % 90 - TRALM_COSTTOL, 1e-5 optimality tolerance for TRALM 0191 % 91 - TRALM_MAJOR_IT, 40 maximum number of major iterations 0192 % 92 - TRALM_MINOR_IT, 100 maximum number of minor iterations 0193 % 93 - SMOOTHING_RATIO, 0.04 piecewise linear curve smoothing ratio 0194 % used in SC-PDIPM and TRALM 0195 % 0196 % CPLEX options 0197 % 95 - CPLEX_LPMETHOD, 0 solution algorithm for continuous LPs 0198 % [ 0 - automatic: let CPLEX choose ] 0199 % [ 1 - primal simplex ] 0200 % [ 2 - dual simplex ] 0201 % [ 3 - network simplex ] 0202 % [ 4 - barrier ] 0203 % [ 5 - sifting ] 0204 % [ 6 - concurrent (dual, barrier, and primal) ] 0205 % 96 - CPLEX_QPMETHOD, 0 solution algorithm for continuous QPs 0206 % [ 0 - automatic: let CPLEX choose ] 0207 % [ 1 - primal simplex optimizer ] 0208 % [ 2 - dual simplex optimizer ] 0209 % [ 3 - network optimizer ] 0210 % [ 4 - barrier optimizer ] 0211 % 97 - CPLEX_OPT, 0 See CPLEX_OPTIONS for details 0212 % 0213 % MOSEK options 0214 % 111 - MOSEK_LP_ALG, 0 solution algorithm for continuous LPs 0215 % (MSK_IPAR_OPTIMIZER) 0216 % [ 0 - automatic: let MOSEK choose ] 0217 % [ 1 - interior point ] 0218 % [ 4 - primal simplex ] 0219 % [ 5 - dual simplex ] 0220 % [ 6 - primal dual simplex ] 0221 % [ 7 - automatic simplex (MOSEK chooses which simplex method) ] 0222 % [ 10 - concurrent ] 0223 % 112 - MOSEK_MAX_IT, 0 (400) interior point max iterations 0224 % (MSK_IPAR_INTPNT_MAX_ITERATIONS) 0225 % 113 - MOSEK_GAP_TOL, 0 (1e-8) interior point relative gap tolerance 0226 % (MSK_DPAR_INTPNT_TOL_REL_GAP) 0227 % 114 - MOSEK_MAX_TIME, 0 (-1) maximum time allowed for solver 0228 % (MSK_DPAR_OPTIMIZER_MAX_TIME) 0229 % 115 - MOSEK_NUM_THREADS, 0 (1) maximum number of threads to use 0230 % (MSK_IPAR_INTPNT_NUM_THREADS) 0231 % 116 - MOSEK_OPT, 0 See MOSEK_OPTIONS for details 0232 % 0233 % Gurobi options 0234 % 121 - GRB_METHOD, -1 solution algorithm (Method) 0235 % [ -1 - automatic, let Gurobi decide ] 0236 % [ 0 - primal simplex ] 0237 % [ 1 - dual simplex ] 0238 % [ 2 - barrier ] 0239 % [ 3 - concurrent (LP only) ] 0240 % [ 4 - deterministic concurrent (LP only) ] 0241 % 122 - GRB_TIMELIMIT, Inf maximum time allowed for solver (TimeLimit) 0242 % 123 - GRB_THREADS, 0 (auto) maximum number of threads to use (Threads) 0243 % 124 - GRB_OPT, 0 See GUROBI_OPTIONS for details 0244 0245 % MATPOWER 0246 % $Id: mpoption_old.m 2229 2013-12-11 01:28:09Z ray $ 0247 % by Ray Zimmerman, PSERC Cornell 0248 % Copyright (c) 1996-2013 by Power System Engineering Research Center (PSERC) 0249 % 0250 % This file is part of MATPOWER. 0251 % See http://www.pserc.cornell.edu/matpower/ for more info. 0252 % 0253 % MATPOWER is free software: you can redistribute it and/or modify 0254 % it under the terms of the GNU General Public License as published 0255 % by the Free Software Foundation, either version 3 of the License, 0256 % or (at your option) any later version. 0257 % 0258 % MATPOWER is distributed in the hope that it will be useful, 0259 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0260 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0261 % GNU General Public License for more details. 0262 % 0263 % You should have received a copy of the GNU General Public License 0264 % along with MATPOWER. If not, see <http://www.gnu.org/licenses/>. 0265 % 0266 % Additional permission under GNU GPL version 3 section 7 0267 % 0268 % If you modify MATPOWER, or any covered work, to interface with 0269 % other modules (such as MATLAB code and MEX-files) available in a 0270 % MATLAB(R) or comparable environment containing parts covered 0271 % under other licensing terms, the licensors of MATPOWER grant 0272 % you additional permission to convey the resulting work. 0273 0274 %%----- set up default option values ----- 0275 i = 1; 0276 if rem(nargin, 2) %% odd number of arguments 0277 options = varargin{1}; %% base options vector passed in 0278 i = 2; %% start processing parameters with 2nd one 0279 else %% even number of parameters 0280 options = [ %% use defaults for base options vector 0281 0282 %% power flow options 0283 1; %% 1 - PF_ALG 0284 1e-8; %% 2 - PF_TOL 0285 10; %% 3 - PF_MAX_IT 0286 30; %% 4 - PF_MAX_IT_FD 0287 1000; %% 5 - PF_MAX_IT_GS 0288 0; %% 6 - ENFORCE_Q_LIMS 0289 0; %% 7 - RESERVED7 0290 0; %% 8 - RESERVED8 0291 0; %% 9 - RESERVED9 0292 0; %% 10 - PF_DC 0293 0294 %% OPF options 0295 0; %% 11 - OPF_ALG 0296 0; %% 12 - RESERVED12 (was OPF_ALG_POLY = 100) 0297 0; %% 13 - RESERVED13 (was OPF_ALG_PWL = 200) 0298 0; %% 14 - RESERVED14 (was OPF_POLY2PWL_PTS = 10) 0299 0; %% 15 - OPF_NEQ (removed) 0300 5e-6; %% 16 - OPF_VIOLATION 0301 1e-4; %% 17 - CONSTR_TOL_X 0302 1e-4; %% 18 - CONSTR_TOL_F 0303 0; %% 19 - CONSTR_MAX_IT 0304 3e-3; %% 20 - LPC_TOL_GRAD (removed) 0305 1e-4; %% 21 - LPC_TOL_X (removed) 0306 400; %% 22 - LPC_MAX_IT (removed) 0307 5; %% 23 - LPC_MAX_RESTART (removed) 0308 0; %% 24 - OPF_FLOW_LIM 0309 0; %% 25 - OPF_IGNORE_ANG_LIM 0310 0; %% 26 - OPF_ALG_DC 0311 0; %% 27 - RESERVED27 0312 0; %% 28 - RESERVED28 0313 0; %% 29 - RESERVED29 0314 0; %% 30 - RESERVED30 0315 0316 %% output options 0317 1; %% 31 - VERBOSE 0318 -1; %% 32 - OUT_ALL 0319 1; %% 33 - OUT_SYS_SUM 0320 0; %% 34 - OUT_AREA_SUM 0321 1; %% 35 - OUT_BUS 0322 1; %% 36 - OUT_BRANCH 0323 0; %% 37 - OUT_GEN 0324 -1; %% 38 - OUT_ALL_LIM 0325 1; %% 39 - OUT_V_LIM 0326 1; %% 40 - OUT_LINE_LIM 0327 1; %% 41 - OUT_PG_LIM 0328 1; %% 42 - OUT_QG_LIM 0329 0; %% 43 - RESERVED43 (was OUT_RAW) 0330 0; %% 44 - OUT_FORCE 0331 0; %% 45 - RESERVED45 0332 0; %% 46 - RESERVED46 0333 0; %% 47 - RESERVED47 0334 0; %% 48 - RESERVED48 0335 0; %% 49 - RESERVED49 0336 0; %% 50 - RESERVED50 0337 0338 %% other options 0339 1; %% 51 - SPARSE_QP (removed) 0340 0; %% 52 - RETURN_RAW_DER 0341 0; %% 53 - RESERVED53 0342 0; %% 54 - RESERVED54 0343 4; %% 55 - FMC_ALG 0344 0; %% 56 - RESERVED56 0345 0; %% 57 - RESERVED57 0346 0; %% 58 - KNITRO_OPT 0347 0; %% 59 - RESERVED59 0348 0; %% 60 - IPOPT_OPT 0349 0350 %% MINOPF options 0351 0; %% 61 - MNS_FEASTOL 0352 0; %% 62 - MNS_ROWTOL 0353 0; %% 63 - MNS_XTOL 0354 0; %% 64 - MNS_MAJDAMP 0355 0; %% 65 - MNS_MINDAMP 0356 0; %% 66 - MNS_PENALTY_PARM 0357 0; %% 67 - MNS_MAJOR_IT 0358 0; %% 68 - MNS_MINOR_IT 0359 0; %% 69 - MNS_MAX_IT 0360 -1; %% 70 - MNS_VERBOSITY 0361 0; %% 71 - MNS_CORE 0362 0; %% 72 - MNS_SUPBASIC_LIM 0363 0; %% 73 - MNS_MULT_PRICE 0364 0; %% 74 - RESERVED74 0365 0; %% 75 - RESERVED75 0366 0; %% 76 - RESERVED76 0367 0; %% 77 - RESERVED77 0368 0; %% 78 - RESERVED78 0369 0; %% 79 - RESERVED79 0370 0; %% 80 - FORCE_PC_EQ_P0, for c3sopf 0371 0372 %% MIPS, PDIPM, SC-PDIPM, and TRALM options 0373 0; %% 81 - PDIPM_FEASTOL 0374 1e-6; %% 82 - PDIPM_GRADTOL 0375 1e-6; %% 83 - PDIPM_COMPTOL 0376 1e-6; %% 84 - PDIPM_COSTTOL 0377 150; %% 85 - PDIPM_MAX_IT 0378 20; %% 86 - SCPDIPM_RED_IT 0379 0; %% 87 - TRALM_FEASTOL 0380 5e-4; %% 88 - TRALM_PRIMETOL 0381 5e-4; %% 89 - TRALM_DUALTOL 0382 1e-5; %% 90 - TRALM_COSTTOL 0383 40; %% 91 - TRALM_MAJOR_IT 0384 100; %% 92 - TRALM_MINOR_IT 0385 0.04; %% 93 - SMOOTHING_RATIO 0386 0; %% 94 - RESERVED94 0387 0388 %% CPLEX options 0389 0; %% 95 - CPLEX_LPMETHOD 0390 0; %% 96 - CPLEX_QPMETHOD 0391 0; %% 97 - CPLEX_OPT 0392 0; %% 98 - RESERVED98 0393 0; %% 99 - RESERVED99 0394 0; %% 100 - RESERVED100 0395 0; %% 101 - RESERVED101 0396 0; %% 102 - RESERVED102 0397 0; %% 103 - RESERVED103 0398 0; %% 104 - RESERVED104 0399 0; %% 105 - RESERVED105 0400 0; %% 106 - RESERVED106 0401 0; %% 107 - RESERVED107 0402 0; %% 108 - RESERVED108 0403 0; %% 109 - RESERVED109 0404 0; %% 110 - RESERVED110 0405 0406 %% MOSEK options 0407 0; %% 111 - MOSEK_LP_ALG 0408 0; %% 112 - MOSEK_MAX_IT 0409 0; %% 113 - MOSEK_GAP_TOL 0410 0; %% 114 - MOSEK_MAX_TIME 0411 0; %% 115 - MOSEK_NUM_THREADS 0412 0; %% 116 - MOSEK_OPT 0413 0; %% 117 - RESERVED117 0414 0; %% 118 - RESERVED118 0415 0; %% 119 - RESERVED119 0416 0; %% 120 - RESERVED120 0417 0418 %% Gurobi options 0419 -1; %% 121 - GRB_METHOD 0420 Inf; %% 122 - GRB_TIMELIMIT 0421 0; %% 123 - GRB_THREADS 0422 0; %% 124 - GRB_OPT 0423 ]; 0424 end 0425 0426 %%----- set up option names ----- 0427 %% power flow options 0428 names = char( 'PF_ALG', ... %% 1 0429 'PF_TOL', ... %% 2 0430 'PF_MAX_IT', ... %% 3 0431 'PF_MAX_IT_FD', ... %% 4 0432 'PF_MAX_IT_GS', ... %% 5 0433 'ENFORCE_Q_LIMS', ... %% 6 0434 'RESERVED7', ... %% 7 0435 'RESERVED8', ... %% 8 0436 'RESERVED9', ... %% 9 0437 'PF_DC' ); %% 10 0438 0439 %% OPF options 0440 names = char( names, ... 0441 'OPF_ALG', ... %% 11 0442 'RESERVED12', ... %% 12 (was OPF_ALG_POLY) 0443 'RESERVED13', ... %% 13 (was OPF_ALG_PWL) 0444 'RESERVED14', ... %% 14 (was OPF_POLY2PWL_PTS) 0445 'OPF_NEQ', ... %% 15 (removed) 0446 'OPF_VIOLATION', ... %% 16 0447 'CONSTR_TOL_X', ... %% 17 0448 'CONSTR_TOL_F', ... %% 18 0449 'CONSTR_MAX_IT', ... %% 19 0450 'LPC_TOL_GRAD' ); %% 20 (removed) 0451 names = char( names, ... 0452 'LPC_TOL_X', ... %% 21 (removed) 0453 'LPC_MAX_IT', ... %% 22 (removed) 0454 'LPC_MAX_RESTART', ... %% 23 (removed) 0455 'OPF_FLOW_LIM', ... %% 24 0456 'OPF_IGNORE_ANG_LIM', ... %% 25 0457 'OPF_ALG_DC', ... %% 26 0458 'RESERVED27', ... %% 27 0459 'RESERVED28', ... %% 28 0460 'RESERVED29', ... %% 29 0461 'RESERVED30' ); %% 30 0462 0463 %% output options 0464 names = char( names, ... 0465 'VERBOSE', ... %% 31 0466 'OUT_ALL', ... %% 32 0467 'OUT_SYS_SUM', ... %% 33 0468 'OUT_AREA_SUM', ... %% 34 0469 'OUT_BUS', ... %% 35 0470 'OUT_BRANCH', ... %% 36 0471 'OUT_GEN', ... %% 37 0472 'OUT_ALL_LIM', ... %% 38 0473 'OUT_V_LIM', ... %% 39 0474 'OUT_LINE_LIM' ); %% 40 0475 names = char( names, ... 0476 'OUT_PG_LIM', ... %% 41 0477 'OUT_QG_LIM', ... %% 42 0478 'RESERVED43', ... %% 43 (was OUT_RAW) 0479 'OUT_FORCE', ... %% 44 0480 'RESERVED45', ... %% 45 0481 'RESERVED46', ... %% 46 0482 'RESERVED47', ... %% 47 0483 'RESERVED48', ... %% 48 0484 'RESERVED49', ... %% 49 0485 'RESERVED50' ); %% 50 0486 %% other options 0487 names = char( names, ... 0488 'SPARSE_QP', ... %% 51 (removed) 0489 'RETURN_RAW_DER', ... %% 52 0490 'RESERVED53', ... %% 53 0491 'RESERVED54', ... %% 54 0492 'FMC_ALG', ... %% 55 0493 'RESERVED56', ... %% 56 0494 'RESERVED57', ... %% 57 0495 'KNITRO_OPT', ... %% 58 0496 'RESERVED59', ... %% 59 0497 'IPOPT_OPT' ); %% 60 0498 %% MINOS options 0499 names = char( names, ... 0500 'MNS_FEASTOL', ... %% 61 0501 'MNS_ROWTOL', ... %% 62 0502 'MNS_XTOL', ... %% 63 0503 'MNS_MAJDAMP', ... %% 64 0504 'MNS_MINDAMP', ... %% 65 0505 'MNS_PENALTY_PARM', ... %% 66 0506 'MNS_MAJOR_IT', ... %% 67 0507 'MNS_MINOR_IT', ... %% 68 0508 'MNS_MAX_IT', ... %% 69 0509 'MNS_VERBOSITY' ); %% 70 0510 %% other flags 0511 names = char( names, ... 0512 'MNS_CORE', ... %% 71 0513 'MNS_SUPBASIC_LIM', ... %% 72 0514 'MNS_MULT_PRICE', ... %% 73 0515 'RESERVED74', ... %% 74 0516 'RESERVED75', ... %% 75 0517 'RESERVED76', ... %% 76 0518 'RESERVED77', ... %% 77 0519 'RESERVED78', ... %% 78 0520 'RESERVED79', ... %% 79 0521 'FORCE_PC_EQ_P0' ); %% 80 0522 0523 %% MIPS, PDIPM, SC-PDIPM, and TRALM options 0524 names = char( names, ... 0525 'PDIPM_FEASTOL', ... %% 81 0526 'PDIPM_GRADTOL', ... %% 82 0527 'PDIPM_COMPTOL', ... %% 83 0528 'PDIPM_COSTTOL', ... %% 84 0529 'PDIPM_MAX_IT', ... %% 85 0530 'SCPDIPM_RED_IT', ... %% 86 0531 'TRALM_FEASTOL', ... %% 87 0532 'TRALM_PRIMETOL', ... %% 88 0533 'TRALM_DUALTOL', ... %% 89 0534 'TRALM_COSTTOL', ... %% 90 0535 'TRALM_MAJOR_IT', ... %% 91 0536 'TRALM_MINOR_IT', ... %% 92 0537 'SMOOTHING_RATIO' ); %% 93 0538 0539 %% CPLEX options 0540 names = char( names, ... 0541 'RESERVED94', ... %% 94 0542 'CPLEX_LPMETHOD', ... %% 95 0543 'CPLEX_QPMETHOD', ... %% 96 0544 'CPLEX_OPT', ... %% 97 0545 'RESERVED98', ... %% 98 0546 'RESERVED99', ... %% 99 0547 'RESERVED100', ... %% 100 0548 'RESERVED101', ... %% 101 0549 'RESERVED102', ... %% 102 0550 'RESERVED103', ... %% 103 0551 'RESERVED104', ... %% 104 0552 'RESERVED105', ... %% 105 0553 'RESERVED106', ... %% 106 0554 'RESERVED107', ... %% 107 0555 'RESERVED108', ... %% 108 0556 'RESERVED109', ... %% 109 0557 'RESERVED110' ); %% 110 0558 0559 %% MOSEK options 0560 names = char( names, ... 0561 'MOSEK_LP_ALG', ... %% 111 0562 'MOSEK_MAX_IT', ... %% 112 0563 'MOSEK_GAP_TOL', ... %% 113 0564 'MOSEK_MAX_TIME', ... %% 114 0565 'MOSEK_NUM_THREADS', ... %% 115 0566 'MOSEK_OPT', ... %% 116 0567 'RESERVED117', ... %% 117 0568 'RESERVED118', ... %% 118 0569 'RESERVED119', ... %% 119 0570 'RESERVED120' ); %% 120 0571 0572 %% Gurobi options 0573 names = char( names, ... 0574 'GRB_METHOD', ... %% 121 0575 'GRB_TIMELIMIT', ... %% 122 0576 'GRB_THREADS', ... %% 123 0577 'GRB_OPT' ); %% 124 0578 0579 %%----- process parameters ----- 0580 while i <= nargin 0581 %% get parameter name and value 0582 pname = varargin{i}; 0583 pval = varargin{i+1}; 0584 0585 %% get parameter index 0586 namestr = names'; 0587 namestr = namestr(:)'; 0588 namelen = size(names, 2); 0589 pidx = ceil(findstr([pname blanks(namelen-length(pname))], namestr) / namelen); 0590 if isempty(pidx) 0591 error('"%s" is not a valid named option', pname); 0592 end 0593 % fprintf('''%s'' (%d) = %d\n', pname, pidx, pval); 0594 0595 %% update option 0596 options(pidx) = pval; 0597 0598 i = i + 2; %% go to next parameter 0599 end