MPOPTION_INFO_GUROBI Returns MATPOWER option info for Gurobi. DEFAULT_OPTS = MPOPTION_INFO_GUROBI('D') VALID_OPTS = MPOPTION_INFO_GUROBI('V') EXCEPTIONS = MPOPTION_INFO_GUROBI('E') Returns a structure for Gurobi options for MATPOWER containing ... (1) default options, (2) valid options, or (3) NESTED_STRUCT_COPY exceptions for setting options ... depending on the value of the input argument. This function is used by MPOPTION to set default options, check validity of option names or modify option setting/copying behavior for this subset of optional MATPOWER options. See also MPOPTION.
0001 function opt = mpoption_info_gurobi(selector) 0002 %MPOPTION_INFO_GUROBI Returns MATPOWER option info for Gurobi. 0003 % 0004 % DEFAULT_OPTS = MPOPTION_INFO_GUROBI('D') 0005 % VALID_OPTS = MPOPTION_INFO_GUROBI('V') 0006 % EXCEPTIONS = MPOPTION_INFO_GUROBI('E') 0007 % 0008 % Returns a structure for Gurobi options for MATPOWER containing ... 0009 % (1) default options, 0010 % (2) valid options, or 0011 % (3) NESTED_STRUCT_COPY exceptions for setting options 0012 % ... depending on the value of the input argument. 0013 % 0014 % This function is used by MPOPTION to set default options, check validity 0015 % of option names or modify option setting/copying behavior for this 0016 % subset of optional MATPOWER options. 0017 % 0018 % See also MPOPTION. 0019 0020 % MATPOWER 0021 % Copyright (c) 2014-2016, Power Systems Engineering Research Center (PSERC) 0022 % by Ray Zimmerman, PSERC Cornell 0023 % 0024 % This file is part of MATPOWER. 0025 % Covered by the 3-clause BSD License (see LICENSE file for details). 0026 % See https://matpower.org for more info. 0027 0028 if nargin < 1 0029 selector = 'D'; 0030 end 0031 if have_feature('gurobi') 0032 switch upper(selector) 0033 case {'D', 'V'} %% default and valid options 0034 opt = struct(... 0035 'gurobi', struct(... 0036 'method', -1, ... 0037 'timelimit', Inf, ... 0038 'threads', 0, ... 0039 'opts', [], ... 0040 'opt_fname', '', ... 0041 'opt', 0 ... 0042 ) ... 0043 ); 0044 case 'E' %% exceptions used by nested_struct_copy() for applying 0045 opt = struct(... 0046 'name', { 'gurobi.opts' }, ... 0047 'check', 0 ... 0048 ); 0049 % 'copy_mode', { @gurobi_options } ... 0050 otherwise 0051 error('mpoption_info_gurobi: ''%s'' is not a valid input argument', selector); 0052 end 0053 else 0054 opt = struct([]); %% Gurobi is not available 0055 end