HAVE_FEATURE_OPTI_CLP Detect availability/version info for OPTI_CLP Feature detection function implementing 'opti_clp' tag for HAVE_FEATURE to detect availability/version of the version of CLP (COIN-OR Linear Programming solver) distributed with OPTI Toolbox (https://www.inverseproblem.co.nz/OPTI/). See also HAVE_FEATURE, HAVE_FEATURE_CLP, QPS_MASTER, CLP.
0001 function [TorF, vstr, rdate] = have_feature_opti_clp() 0002 %HAVE_FEATURE_OPTI_CLP Detect availability/version info for OPTI_CLP 0003 % 0004 % Feature detection function implementing 'opti_clp' tag for HAVE_FEATURE 0005 % to detect availability/version of the version of CLP (COIN-OR Linear 0006 % Programming solver) distributed with OPTI Toolbox 0007 % (https://www.inverseproblem.co.nz/OPTI/). 0008 % 0009 % See also HAVE_FEATURE, HAVE_FEATURE_CLP, QPS_MASTER, CLP. 0010 0011 % MP-Opt-Model 0012 % Copyright (c) 2004-2020, Power Systems Engineering Research Center (PSERC) 0013 % by Ray Zimmerman, PSERC Cornell 0014 % 0015 % This file is part of MP-Opt-Model. 0016 % Covered by the 3-clause BSD License (see LICENSE file for details). 0017 % See https://github.com/MATPOWER/mp-opt-model for more info. 0018 0019 TorF = exist('opti_clp', 'file') == 2 && exist('clp', 'file') == 3; 0020 vstr = ''; 0021 rdate = ''; 0022 if TorF 0023 str = evalc('clp'); 0024 pat = 'CLP: COIN-OR Linear Programming \[v([^\s,]+), Built ([^\],])+(,[^\]]*)*\]'; %% OPTI, Giorgetti/Currie 0025 [s,e,tE,m,t] = regexp(str, pat); 0026 if ~isempty(t) 0027 vstr = t{1}{1}; 0028 rdate = datestr(t{1}{2}, 'dd-mmm-yyyy'); 0029 end 0030 end