Home > matpower7.0 > lib > mpoption_old.m

mpoption_old

PURPOSE ^

MPOPTION_OLD Used to set and retrieve old-style MATPOWER options vector.

SYNOPSIS ^

function [options, names] = mpoption_old(varargin)

DESCRIPTION ^

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, MATPOWER 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 - Artelys Knitro, requires Knitro solver, available from:]
           [        https://www.artelys.com/solvers/knitro/                ]
       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: https://www.mosek.com/                  ]
           [  700 - GUROBI, requires Gurobi optimizer (v. 5+)              ]
           [        available from: https://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        ]

   Artelys 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

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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, MATPOWER 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 - Artelys Knitro, requires Knitro solver, available from:]
0068 %           [        https://www.artelys.com/solvers/knitro/                ]
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: https://www.mosek.com/                  ]
0094 %           [  700 - GUROBI, requires Gurobi optimizer (v. 5+)              ]
0095 %           [        available from: https://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 %   Artelys 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 %   Copyright (c) 1996-2016, Power Systems Engineering Research Center (PSERC)
0247 %   by Ray Zimmerman, PSERC Cornell
0248 %
0249 %   This file is part of MATPOWER.
0250 %   Covered by the 3-clause BSD License (see LICENSE file for details).
0251 %   See https://matpower.org for more info.
0252 
0253 %%-----  set up default option values  -----
0254 i = 1;
0255 if rem(nargin, 2)       %% odd number of arguments
0256     options = varargin{1};  %% base options vector passed in
0257     i = 2;                  %% start processing parameters with 2nd one
0258 else                    %% even number of parameters
0259     options = [             %% use defaults for base options vector
0260     
0261         %% power flow options
0262         1;      %% 1  - PF_ALG
0263         1e-8;   %% 2  - PF_TOL
0264         10;     %% 3  - PF_MAX_IT
0265         30;     %% 4  - PF_MAX_IT_FD
0266         1000;   %% 5  - PF_MAX_IT_GS
0267         0;      %% 6  - ENFORCE_Q_LIMS
0268         0;      %% 7  - RESERVED7
0269         0;      %% 8  - RESERVED8
0270         0;      %% 9  - RESERVED9
0271         0;      %% 10 - PF_DC
0272         
0273         %% OPF options
0274         0;      %% 11 - OPF_ALG
0275         0;      %% 12 - RESERVED12 (was OPF_ALG_POLY = 100)
0276         0;      %% 13 - RESERVED13 (was OPF_ALG_PWL = 200)
0277         0;      %% 14 - RESERVED14 (was OPF_POLY2PWL_PTS = 10)
0278         0;      %% 15 - OPF_NEQ (removed)
0279         5e-6;   %% 16 - OPF_VIOLATION
0280         1e-4;   %% 17 - CONSTR_TOL_X
0281         1e-4;   %% 18 - CONSTR_TOL_F
0282         0;      %% 19 - CONSTR_MAX_IT
0283         3e-3;   %% 20 - LPC_TOL_GRAD (removed)
0284         1e-4;   %% 21 - LPC_TOL_X (removed)
0285         400;    %% 22 - LPC_MAX_IT (removed)
0286         5;      %% 23 - LPC_MAX_RESTART (removed)
0287         0;      %% 24 - OPF_FLOW_LIM
0288         0;      %% 25 - OPF_IGNORE_ANG_LIM
0289         0;      %% 26 - OPF_ALG_DC
0290         0;      %% 27 - RESERVED27
0291         0;      %% 28 - RESERVED28
0292         0;      %% 29 - RESERVED29
0293         0;      %% 30 - RESERVED30
0294         
0295         %% output options
0296         1;      %% 31 - VERBOSE
0297         -1;     %% 32 - OUT_ALL
0298         1;      %% 33 - OUT_SYS_SUM
0299         0;      %% 34 - OUT_AREA_SUM
0300         1;      %% 35 - OUT_BUS
0301         1;      %% 36 - OUT_BRANCH
0302         0;      %% 37 - OUT_GEN
0303         -1;     %% 38 - OUT_ALL_LIM
0304         1;      %% 39 - OUT_V_LIM
0305         1;      %% 40 - OUT_LINE_LIM
0306         1;      %% 41 - OUT_PG_LIM
0307         1;      %% 42 - OUT_QG_LIM
0308         0;      %% 43 - RESERVED43 (was OUT_RAW)
0309         0;      %% 44 - OUT_FORCE
0310         0;      %% 45 - RESERVED45
0311         0;      %% 46 - RESERVED46
0312         0;      %% 47 - RESERVED47
0313         0;      %% 48 - RESERVED48
0314         0;      %% 49 - RESERVED49
0315         0;      %% 50 - RESERVED50
0316         
0317         %% other options
0318         1;      %% 51 - SPARSE_QP (removed)
0319         0;      %% 52 - RETURN_RAW_DER
0320         0;      %% 53 - RESERVED53
0321         0;      %% 54 - RESERVED54
0322         4;      %% 55 - FMC_ALG
0323         0;      %% 56 - RESERVED56
0324         0;      %% 57 - RESERVED57
0325         0;      %% 58 - KNITRO_OPT
0326         0;      %% 59 - RESERVED59
0327         0;      %% 60 - IPOPT_OPT
0328         
0329         %% MINOPF options
0330         0;      %% 61 - MNS_FEASTOL
0331         0;      %% 62 - MNS_ROWTOL
0332         0;      %% 63 - MNS_XTOL
0333         0;      %% 64 - MNS_MAJDAMP
0334         0;      %% 65 - MNS_MINDAMP
0335         0;      %% 66 - MNS_PENALTY_PARM
0336         0;      %% 67 - MNS_MAJOR_IT
0337         0;      %% 68 - MNS_MINOR_IT
0338         0;      %% 69 - MNS_MAX_IT
0339         -1;     %% 70 - MNS_VERBOSITY
0340         0;      %% 71 - MNS_CORE
0341         0;      %% 72 - MNS_SUPBASIC_LIM
0342         0;      %% 73 - MNS_MULT_PRICE
0343         0;      %% 74 - RESERVED74
0344         0;      %% 75 - RESERVED75
0345         0;      %% 76 - RESERVED76
0346         0;      %% 77 - RESERVED77
0347         0;      %% 78 - RESERVED78
0348         0;      %% 79 - RESERVED79
0349         0;      %% 80 - FORCE_PC_EQ_P0, for c3sopf
0350         
0351         %% MIPS, PDIPM, SC-PDIPM, and TRALM options
0352         0;      %% 81 - PDIPM_FEASTOL
0353         1e-6;   %% 82 - PDIPM_GRADTOL
0354         1e-6;   %% 83 - PDIPM_COMPTOL
0355         1e-6;   %% 84 - PDIPM_COSTTOL
0356         150;    %% 85 - PDIPM_MAX_IT
0357         20;     %% 86 - SCPDIPM_RED_IT
0358         0;      %% 87 - TRALM_FEASTOL
0359         5e-4;   %% 88 - TRALM_PRIMETOL
0360         5e-4;   %% 89 - TRALM_DUALTOL
0361         1e-5;   %% 90 - TRALM_COSTTOL
0362         40;     %% 91 - TRALM_MAJOR_IT
0363         100;    %% 92 - TRALM_MINOR_IT
0364         0.04;   %% 93 - SMOOTHING_RATIO
0365         0;      %% 94 - RESERVED94
0366         
0367         %% CPLEX options
0368         0;      %% 95 - CPLEX_LPMETHOD
0369         0;      %% 96 - CPLEX_QPMETHOD
0370         0;      %% 97 - CPLEX_OPT
0371         0;      %% 98 - RESERVED98
0372         0;      %% 99 - RESERVED99
0373         0;      %% 100 - RESERVED100
0374         0;      %% 101 - RESERVED101
0375         0;      %% 102 - RESERVED102
0376         0;      %% 103 - RESERVED103
0377         0;      %% 104 - RESERVED104
0378         0;      %% 105 - RESERVED105
0379         0;      %% 106 - RESERVED106
0380         0;      %% 107 - RESERVED107
0381         0;      %% 108 - RESERVED108
0382         0;      %% 109 - RESERVED109
0383         0;      %% 110 - RESERVED110
0384 
0385         %% MOSEK options
0386         0;      %% 111 - MOSEK_LP_ALG
0387         0;      %% 112 - MOSEK_MAX_IT
0388         0;      %% 113 - MOSEK_GAP_TOL
0389         0;      %% 114 - MOSEK_MAX_TIME
0390         0;      %% 115 - MOSEK_NUM_THREADS
0391         0;      %% 116 - MOSEK_OPT
0392         0;      %% 117 - RESERVED117
0393         0;      %% 118 - RESERVED118
0394         0;      %% 119 - RESERVED119
0395         0;      %% 120 - RESERVED120
0396 
0397         %% Gurobi options
0398         -1;     %% 121 - GRB_METHOD
0399         Inf;    %% 122 - GRB_TIMELIMIT
0400         0;      %% 123 - GRB_THREADS
0401         0;      %% 124 - GRB_OPT
0402     ];
0403 end
0404 
0405 %%-----  set up option names  -----
0406 %% power flow options
0407 names = char(   'PF_ALG', ...               %% 1
0408                 'PF_TOL', ...               %% 2
0409                 'PF_MAX_IT', ...            %% 3
0410                 'PF_MAX_IT_FD', ...         %% 4
0411                 'PF_MAX_IT_GS', ...         %% 5
0412                 'ENFORCE_Q_LIMS', ...       %% 6
0413                 'RESERVED7', ...            %% 7
0414                 'RESERVED8', ...            %% 8
0415                 'RESERVED9', ...            %% 9
0416                 'PF_DC' );                  %% 10
0417 
0418 %% OPF options
0419 names = char(   names, ...
0420                 'OPF_ALG', ...              %% 11
0421                 'RESERVED12', ...           %% 12   (was OPF_ALG_POLY)
0422                 'RESERVED13', ...           %% 13   (was OPF_ALG_PWL)
0423                 'RESERVED14', ...           %% 14   (was OPF_POLY2PWL_PTS)
0424                 'OPF_NEQ', ...              %% 15   (removed)
0425                 'OPF_VIOLATION', ...        %% 16
0426                 'CONSTR_TOL_X', ...         %% 17
0427                 'CONSTR_TOL_F', ...         %% 18
0428                 'CONSTR_MAX_IT', ...        %% 19
0429                 'LPC_TOL_GRAD'  );          %% 20   (removed)
0430 names = char(   names, ...
0431                 'LPC_TOL_X', ...            %% 21   (removed)
0432                 'LPC_MAX_IT', ...           %% 22   (removed)
0433                 'LPC_MAX_RESTART', ...      %% 23   (removed)
0434                 'OPF_FLOW_LIM', ...         %% 24
0435                 'OPF_IGNORE_ANG_LIM', ...   %% 25
0436                 'OPF_ALG_DC', ...           %% 26
0437                 'RESERVED27', ...           %% 27
0438                 'RESERVED28', ...           %% 28
0439                 'RESERVED29', ...           %% 29
0440                 'RESERVED30'    );          %% 30
0441 
0442 %% output options
0443 names = char(   names, ...
0444                 'VERBOSE', ...              %% 31
0445                 'OUT_ALL', ...              %% 32
0446                 'OUT_SYS_SUM', ...          %% 33
0447                 'OUT_AREA_SUM', ...         %% 34
0448                 'OUT_BUS', ...              %% 35
0449                 'OUT_BRANCH', ...           %% 36
0450                 'OUT_GEN', ...              %% 37
0451                 'OUT_ALL_LIM', ...          %% 38
0452                 'OUT_V_LIM', ...            %% 39
0453                 'OUT_LINE_LIM'  );          %% 40
0454 names = char(   names, ...
0455                 'OUT_PG_LIM', ...           %% 41
0456                 'OUT_QG_LIM', ...           %% 42
0457                 'RESERVED43', ...           %% 43 (was OUT_RAW)
0458                 'OUT_FORCE', ...            %% 44
0459                 'RESERVED45', ...           %% 45
0460                 'RESERVED46', ...           %% 46
0461                 'RESERVED47', ...           %% 47
0462                 'RESERVED48', ...           %% 48
0463                 'RESERVED49', ...           %% 49
0464                 'RESERVED50'    );          %% 50
0465 %% other options
0466 names = char(   names, ...
0467                 'SPARSE_QP', ...            %% 51   (removed)
0468                 'RETURN_RAW_DER', ...       %% 52
0469                 'RESERVED53', ...           %% 53
0470                 'RESERVED54', ...           %% 54
0471                 'FMC_ALG', ...              %% 55
0472                 'RESERVED56', ...           %% 56
0473                 'RESERVED57', ...           %% 57
0474                 'KNITRO_OPT', ...           %% 58
0475                 'RESERVED59', ...           %% 59
0476                 'IPOPT_OPT'     );          %% 60
0477 %% MINOS options
0478 names = char(   names, ...
0479                 'MNS_FEASTOL', ...          %% 61
0480                 'MNS_ROWTOL', ...           %% 62
0481                 'MNS_XTOL', ...             %% 63
0482                 'MNS_MAJDAMP', ...          %% 64
0483                 'MNS_MINDAMP', ...          %% 65
0484                 'MNS_PENALTY_PARM', ...     %% 66
0485                 'MNS_MAJOR_IT', ...         %% 67
0486                 'MNS_MINOR_IT', ...         %% 68
0487                 'MNS_MAX_IT', ...           %% 69
0488                 'MNS_VERBOSITY' );          %% 70
0489 %% other flags
0490 names = char(   names, ...
0491                 'MNS_CORE', ...             %% 71
0492                 'MNS_SUPBASIC_LIM', ...     %% 72
0493                 'MNS_MULT_PRICE', ...       %% 73
0494                 'RESERVED74', ...           %% 74
0495                 'RESERVED75', ...           %% 75
0496                 'RESERVED76', ...           %% 76
0497                 'RESERVED77', ...           %% 77
0498                 'RESERVED78', ...           %% 78
0499                 'RESERVED79', ...           %% 79
0500                 'FORCE_PC_EQ_P0'    );      %% 80
0501 
0502 %% MIPS, PDIPM, SC-PDIPM, and TRALM options
0503 names = char(   names, ...
0504                 'PDIPM_FEASTOL', ...        %% 81
0505                 'PDIPM_GRADTOL', ...        %% 82
0506                 'PDIPM_COMPTOL', ...        %% 83
0507                 'PDIPM_COSTTOL', ...        %% 84
0508                 'PDIPM_MAX_IT', ...         %% 85
0509                 'SCPDIPM_RED_IT', ...       %% 86
0510                 'TRALM_FEASTOL', ...        %% 87
0511                 'TRALM_PRIMETOL', ...       %% 88
0512                 'TRALM_DUALTOL', ...        %% 89
0513                 'TRALM_COSTTOL', ...        %% 90
0514                 'TRALM_MAJOR_IT', ...       %% 91
0515                 'TRALM_MINOR_IT', ...       %% 92
0516                 'SMOOTHING_RATIO'   );      %% 93
0517 
0518 %% CPLEX options
0519 names = char(   names, ...
0520                 'RESERVED94', ...           %% 94
0521                 'CPLEX_LPMETHOD', ...       %% 95
0522                 'CPLEX_QPMETHOD', ...       %% 96
0523                 'CPLEX_OPT', ...            %% 97
0524                 'RESERVED98', ...           %% 98
0525                 'RESERVED99', ...           %% 99
0526                 'RESERVED100', ...          %% 100
0527                 'RESERVED101', ...          %% 101
0528                 'RESERVED102', ...          %% 102
0529                 'RESERVED103', ...          %% 103
0530                 'RESERVED104', ...          %% 104
0531                 'RESERVED105', ...          %% 105
0532                 'RESERVED106', ...          %% 106
0533                 'RESERVED107', ...          %% 107
0534                 'RESERVED108', ...          %% 108
0535                 'RESERVED109', ...          %% 109
0536                 'RESERVED110'   );          %% 110
0537 
0538 %% MOSEK options
0539 names = char(   names, ...
0540                 'MOSEK_LP_ALG', ...         %% 111
0541                 'MOSEK_MAX_IT', ...         %% 112
0542                 'MOSEK_GAP_TOL', ...        %% 113
0543                 'MOSEK_MAX_TIME', ...       %% 114
0544                 'MOSEK_NUM_THREADS', ...    %% 115
0545                 'MOSEK_OPT', ...            %% 116
0546                 'RESERVED117', ...          %% 117
0547                 'RESERVED118', ...          %% 118
0548                 'RESERVED119', ...          %% 119
0549                 'RESERVED120'   );          %% 120
0550 
0551 %% Gurobi options
0552 names = char(   names, ...
0553                 'GRB_METHOD', ...           %% 121
0554                 'GRB_TIMELIMIT', ...        %% 122
0555                 'GRB_THREADS', ...          %% 123
0556                 'GRB_OPT'   );              %% 124
0557 
0558 %%-----  process parameters  -----
0559 while i <= nargin
0560     %% get parameter name and value
0561     pname = varargin{i};
0562     pval  = varargin{i+1};
0563     
0564     %% get parameter index
0565     namestr = names';
0566     namestr = namestr(:)';
0567     namelen = size(names, 2);
0568     pidx = ceil(strfind(namestr, [pname blanks(namelen-length(pname))]) / namelen);
0569     if isempty(pidx)
0570         error('"%s" is not a valid named option', pname);
0571     end
0572     % fprintf('''%s'' (%d) = %d\n', pname, pidx, pval);
0573 
0574     %% update option
0575     options(pidx) = pval;
0576 
0577     i = i + 2;                              %% go to next parameter
0578 end

Generated on Mon 24-Jun-2019 15:58:45 by m2html © 2005