


RUNSDPOPF Runs a semidefinite relaxation of the AC optimal power flow.
[RESULTS, SUCCESS] = RUNSDPOPF(CASEDATA, MPOPT, FNAME, SOLVEDCASE)
Runs a semidefinite programming relaxation of the AC optimal power flow,
optionally returning a RESULTS struct and SUCCESS flag.
Inputs (all are optional):
CASEDATA : either a MATPOWER case struct or a string containing
the name of the file with the case data (default is 'case9')
(see also CASEFORMAT and LOADCASE)
MPOPT : MATPOWER options struct to override default options
can be used to specify the solution algorithm, output options
termination tolerances, and more (see also MPOPTION).
FNAME : name of a file to which the pretty-printed output will
be appended
SOLVEDCASE : name of file to which the solved case will be saved
in MATPOWER case format (M-file will be assumed unless the
specified name ends with '.mat')
Outputs (all are optional):
RESULTS : results struct, with the following fields:
(all fields from the input MATPOWER case, i.e. bus, branch,
gen, etc., but with solved voltages, power flows, etc.)
order - info used in external <-> internal data conversion
et - elapsed time in seconds
success - success flag, 1 = succeeded, 0 = failed
(additional OPF fields, see OPF for details)
SUCCESS : the success flag can additionally be returned as
a second output argument
Calling syntax options:
results = runsdpopf;
results = runsdpopf(casedata);
results = runsdpopf(casedata, mpopt);
results = runsdpopf(casedata, mpopt, fname);
results = runsdpopf(casedata, mpopt, fname, solvedcase);
[results, success] = runsdpopf(...);
Alternatively, for compatibility with previous versions of MATPOWER,
some of the results can be returned as individual output arguments:
[baseMVA, bus, gen, gencost, branch, f, success, et] = runsdpopf(...);
Example:
results = runsdpopf('case30');
See also RUNOPF.

0001 function varargout = runsdpopf(casedata, mpopt, fname, solvedcase) 0002 %RUNSDPOPF Runs a semidefinite relaxation of the AC optimal power flow. 0003 % [RESULTS, SUCCESS] = RUNSDPOPF(CASEDATA, MPOPT, FNAME, SOLVEDCASE) 0004 % 0005 % Runs a semidefinite programming relaxation of the AC optimal power flow, 0006 % optionally returning a RESULTS struct and SUCCESS flag. 0007 % 0008 % Inputs (all are optional): 0009 % CASEDATA : either a MATPOWER case struct or a string containing 0010 % the name of the file with the case data (default is 'case9') 0011 % (see also CASEFORMAT and LOADCASE) 0012 % MPOPT : MATPOWER options struct to override default options 0013 % can be used to specify the solution algorithm, output options 0014 % termination tolerances, and more (see also MPOPTION). 0015 % FNAME : name of a file to which the pretty-printed output will 0016 % be appended 0017 % SOLVEDCASE : name of file to which the solved case will be saved 0018 % in MATPOWER case format (M-file will be assumed unless the 0019 % specified name ends with '.mat') 0020 % 0021 % Outputs (all are optional): 0022 % RESULTS : results struct, with the following fields: 0023 % (all fields from the input MATPOWER case, i.e. bus, branch, 0024 % gen, etc., but with solved voltages, power flows, etc.) 0025 % order - info used in external <-> internal data conversion 0026 % et - elapsed time in seconds 0027 % success - success flag, 1 = succeeded, 0 = failed 0028 % (additional OPF fields, see OPF for details) 0029 % SUCCESS : the success flag can additionally be returned as 0030 % a second output argument 0031 % 0032 % Calling syntax options: 0033 % results = runsdpopf; 0034 % results = runsdpopf(casedata); 0035 % results = runsdpopf(casedata, mpopt); 0036 % results = runsdpopf(casedata, mpopt, fname); 0037 % results = runsdpopf(casedata, mpopt, fname, solvedcase); 0038 % [results, success] = runsdpopf(...); 0039 % 0040 % Alternatively, for compatibility with previous versions of MATPOWER, 0041 % some of the results can be returned as individual output arguments: 0042 % 0043 % [baseMVA, bus, gen, gencost, branch, f, success, et] = runsdpopf(...); 0044 % 0045 % Example: 0046 % results = runsdpopf('case30'); 0047 % 0048 % See also RUNOPF. 0049 0050 % MATPOWER 0051 % Copyright (c) 1996-2019, Power Systems Engineering Research Center (PSERC) 0052 % by Ray Zimmerman, PSERC Cornell 0053 % and Daniel Molzahn, PSERC U of Wisc, Madison 0054 % 0055 % This file is part of MATPOWER/mx-sdp_pf. 0056 % Covered by the 3-clause BSD License (see LICENSE file for details). 0057 % See https://github.com/MATPOWER/mx-sdp_pf/ for more info. 0058 0059 %% default arguments 0060 if nargin < 4 0061 solvedcase = ''; %% don't save solved case 0062 if nargin < 3 0063 fname = ''; %% don't print results to a file 0064 if nargin < 2 0065 mpopt = mpoption; %% use default options 0066 if nargin < 1 0067 casedata = 'case9'; %% default data file is 'case9.m' 0068 end 0069 end 0070 end 0071 end 0072 0073 mpopt = mpoption(mpopt, 'opf.ac.solver', 'SDPOPF'); 0074 [varargout{1:nargout}] = runopf(casedata, mpopt, fname, solvedcase);