boundDifference = model.ub - model.lb;
bool = length(model.rxns);
Z = table(boundDifference,model.rxns,model.rxnNames,'VariableNames',{'boundDifference','rxns','rxnNames'});
if any(boundDifference<0)
error(['lb > ub for ' num2str(nnz(boundDifference)) ' reactions'])
boolDifference = boundDifference<1e-5 & boundDifference~=0;
Z = sortrows(Z(boolDifference,:),'boundDifference');
printFluxBounds(model,Z.rxns,1)
fprintf('%g%s\n',nnz(boolRxns)*100/length(boolRxns), ' = percent of bounds with difference (ub - lb) less than 1e-5')
0.389712 = percent of bounds with difference (ub - lb) less than 1e-5
forwardBoolDifference = boolDifference & model.lb>=0 & model.ub>0;
reverseBoolDifference = boolDifference & model.lb<0 & model.ub<=0;
reversibleBoolDifference = boolDifference & model.lb<0 & model.ub>0;
if any((forwardBoolDifference | reverseBoolDifference | reversibleBoolDifference)~=boolDifference)
error('missing bool difference')
% 0 CPX_ALG_AUTOMATIC Automatic: let CPLEX choose; default
% 1 CPX_ALG_PRIMAL Primal simplex
% 2 CPX_ALG_DUAL Dual simplex
% 3 CPX_ALG_NET Network simplex
% 4 CPX_ALG_BARRIER Barrier
% 5 CPX_ALG_SIFTING Sifting
% 6 CPX_ALG_CONCURRENT Concurrent (Dual, Barrier, and Primal in opportunistic parallel mode; Dual and Barrier in deterministic parallel mode)
%https://www.ibm.com/docs/en/icos/12.10.0?topic=parameters-algorithm-continuous-linear-problems
cplexLPMethods ={'AUTOMATIC','PRIMAL','DUAL','NETWORK','BARRIER','SIFTING','CONCURRENT'};
% 0 CPX_ALG_AUTOMATIC Automatic: let CPLEX choose; default
% 1 CPX_ALG_PRIMAL Use the primal simplex optimizer.
% 2 CPX_ALG_DUAL Use the dual simplex optimizer.
% 3 CPX_ALG_NET Use the network optimizer.
% 4 CPX_ALG_BARRIER Use the barrier optimizer.
% 6 CPX_ALG_CONCURRENT Use the concurrent optimizer.
% https://www.ibm.com/docs/en/icos/12.10.0?topic=parameters-algorithm-continuous-quadratic-optimization
cplexQPMethods ={'AUTOMATIC','PRIMAL','DUAL','NETWORK','BARRIER','CONCURRENT'};
% The parameter controls which optimizer is used to optimize the task.
% Accepted "FREE", "INTPNT", "CONIC", "PRIMAL_SIMPLEX", "DUAL_SIMPLEX", "FREE_SIMPLEX", "MIXED_INT"
% Example param.MSK_IPAR_OPTIMIZER = 'MSK_OPTIMIZER_FREE'
mosekLPMethods ={'FREE', 'INTPNT', 'CONIC', 'PRIMAL_SIMPLEX', 'DUAL_SIMPLEX', 'FREE_SIMPLEX'};
mosekQPMethods ={'FREE', 'INTPNT'}; %CONIC not yet encoded in solveCobraQP
% https://www.gurobi.com/documentation/current/refman/method.html
% Algorithm used to solve continuous models
% Algorithm used to solve continuous models or the initial root relaxation of a MIP model. Options are:
gurobiLPMethods = {'AUTOMATIC','PRIMAL','DUAL','BARRIER','CONCURRENT','DETERMINISTIC_CONCURRENT'};
gurobiQPMethods = {'AUTOMATIC','PRIMAL','DUAL','BARRIER'};
gurobiLPMethods={'BARRIER'};
gurobiQPMethods={'BARRIER'};
cplexLPMethods={'BARRIER'};
cplexQPMethods={'BARRIER'};
mosekLPMethods = {'CONIC'};
mosekQPMethods = {'FREE'};
gurobiLPMethods={'AUTOMATIC'};
gurobiQPMethods={'AUTOMATIC'};
cplexLPMethods={'AUTOMATIC'};
cplexQPMethods={'AUTOMATIC'};
mosekLPMethods = {'FREE'};
mosekQPMethods = {'FREE'};
for i = 1:length(solveWBMmethods)
param.solveWBMmethod = solveWBMmethods{i};
switch param.solveWBMmethod
param.minNorm = minNormWeight;
param.minNorm = minNormWeight;
if isfield(model,'SConsistentRxnBool')
param.minNorm = 'oneInternal';
error('param.solveWBMmethod = oneInternal cannot be implemented as model.SConsistentRxnBool is missing')
for j = 1:length(solvers)
if any(strcmp(param.solveWBMmethod,{'LP','zero','oneInternal'}))
solverMethods = gurobiLPMethods;
solverMethods = gurobiQPMethods;
if any(strcmp(param.solveWBMmethod,{'LP','zero','oneInternal'}))
solverMethods = cplexLPMethods;
solverMethods = cplexQPMethods;
if any(strcmp(param.solveWBMmethod,{'LP','zero','oneInternal'}))
solverMethods = mosekLPMethods;
solverMethods = mosekQPMethods;
% Solve a problem with selected solver and each method available to that solver
for k=1:length(solverMethods)
if any(strcmp(param.solveWBMmethod,{'LP','zero','oneInternal'}))
param.lpmethod = solverMethods{k};
if isfield(param,'qpmethod')
param = rmfield(param,'qpmethod');
param.qpmethod = solverMethods{k};
if isfield(param,'lpmethod')
param = rmfield(param,'lpmethod');
solution = optimizeCbModel(model,'min', param.minNorm,1,param);
disp('-------------------fail--------------')
disp(param.solveWBMmethod)
disp('-------------------fail--------------')
T = [T; {'optimizeCbModel', param.solver, solverMethods{k}, param.solveWBMmethod, modelToUse, solution.stat,{solution.origStat},toc,{solution.obj},{solution.f1},{solution.f2},{solution.f0}}];
end
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ______ _______ ________ ____ _________ _____ ______________ _____ ______________ _______
"optimizeCbModel" "mosek" "FREE" "QP" "Harvey" 1 "OPTIMAL" 62.06 {[7.0353e+06]} {[0]} {[7.0353e+06]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ________ _______ ________ ____ _________ ______ ______________ _____ ______________ _______
"optimizeCbModel" "mosek" "INTPNT" "QP" "Harvey" 1 "OPTIMAL" 62.152 {[7.0353e+06]} {[0]} {[7.0353e+06]} {[NaN]}
T = 2×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ___________ _______ ________ ____ _____________ ______ ______________ _____ ______________ _______
"optimizeCbModel" "ibm_cplex" "AUTOMATIC" "QP" "Harvey" 3 "non-optimal" 30.437 {[7.0408e+06]} {[0]} {[7.0408e+06]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ________ _______ ________ ____ _____________________ ______ _______ _______ _______ _______
"optimizeCbModel" "ibm_cplex" "PRIMAL" "QP" "Harvey" -1 "time limit exceeded" 206.49 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ______ _______ ________ ____ _____________________ ______ _______ _______ _______ _______
"optimizeCbModel" "ibm_cplex" "DUAL" "QP" "Harvey" -1 "time limit exceeded" 206.25 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _____________________ ______ _______ _______ _______ _______
"optimizeCbModel" "ibm_cplex" "NETWORK" "QP" "Harvey" -1 "time limit exceeded" 206.08 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _____________ ______ ______________ _____ ______________ _______
"optimizeCbModel" "ibm_cplex" "BARRIER" "QP" "Harvey" 3 "non-optimal" 30.376 {[7.0408e+06]} {[0]} {[7.0408e+06]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ____________ _______ ________ ____ _____________________ ______ _______ _______ _______ _______
"optimizeCbModel" "ibm_cplex" "CONCURRENT" "QP" "Harvey" -1 "time limit exceeded" 206.25 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
T = 8×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ___________ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "AUTOMATIC" "QP" "Harvey" -1 "TIME_LIMIT" 201.78 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ________ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "PRIMAL" "QP" "Harvey" -1 "TIME_LIMIT" 200.18 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ______ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "DUAL" "QP" "Harvey" -1 "TIME_LIMIT" 200.18 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ _________ _______ ________ ____ ____________ _____ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "BARRIER" "QP" "Harvey" -1 "TIME_LIMIT" 200.2 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
T = 12×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ______ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "mosek" "FREE" "LP" "Harvey" 1 "OPTIMAL" 23.359 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "mosek" "INTPNT" "LP" "Harvey" 1 "OPTIMAL" 23.298 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ _______ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "mosek" "CONIC" "LP" "Harvey" 1 "OPTIMAL" 16.838 {[2.7693]} {[2.7693]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ________________ _______ ________ ____ ______________________________________ _____ _______ _______ _______ _______
"optimizeCbModel" "mosek" "PRIMAL_SIMPLEX" "LP" "Harvey" -1 "DUAL_FEASIBLE & MSK_RES_TRM_MAX_TIME" 200.9 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ______________ _______ ________ ____ ________________________________ ______ _______ _______ _______ _______
"optimizeCbModel" "mosek" "DUAL_SIMPLEX" "LP" "Harvey" -1 "UNKNOWN & MSK_RES_TRM_MAX_TIME" 206.15 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ______________ _______ ________ ____ ________________________________ ______ _______ _______ _______ _______
"optimizeCbModel" "mosek" "FREE_SIMPLEX" "LP" "Harvey" -1 "UNKNOWN & MSK_RES_TRM_MAX_TIME" 205.42 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
T = 18×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ___________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "AUTOMATIC" "LP" "Harvey" 1 "optimal" 17.237 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ________ _______ ________ ____ _____________________ ______ ______________ ______________ _______ _______
"optimizeCbModel" "ibm_cplex" "PRIMAL" "LP" "Harvey" 3 "time limit exceeded" 205.84 {[2.1423e+03]} {[2.1423e+03]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ______ _______ ________ ____ _______________________________________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "DUAL" "LP" "Harvey" 3 "optimal with unscaled infeasibilities" 48.978 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _______________________________________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "NETWORK" "LP" "Harvey" 3 "optimal with unscaled infeasibilities" 47.106 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "BARRIER" "LP" "Harvey" 1 "optimal" 16.065 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "SIFTING" "LP" "Harvey" 1 "optimal" 100.04 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ____________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "CONCURRENT" "LP" "Harvey" 1 "optimal" 17.236 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
T = 25×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ___________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "gurobi" "AUTOMATIC" "LP" "Harvey" 1 "OPTIMAL" 41.334 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ________ _______ ________ ____ ____________ _____ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "PRIMAL" "LP" "Harvey" -1 "TIME_LIMIT" 200.2 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ______ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "DUAL" "LP" "Harvey" -1 "TIME_LIMIT" 200.19 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ _________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "gurobi" "BARRIER" "LP" "Harvey" 1 "OPTIMAL" 31.246 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ____________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "gurobi" "CONCURRENT" "LP" "Harvey" 1 "OPTIMAL" 41.333 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ __________________________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "gurobi" "DETERMINISTIC_CONCURRENT" "LP" "Harvey" 1 "OPTIMAL" 51.667 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
T = 31×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ______ _______ ________ ____ _________ ______ ______________ _____ ______________ _______
"optimizeCbModel" "mosek" "FREE" "QP" "Harvey" 1 "OPTIMAL" 61.866 {[7.0353e+06]} {[0]} {[7.0353e+06]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ________ _______ ________ ____ _________ ______ ______________ _____ ______________ _______
"optimizeCbModel" "mosek" "INTPNT" "QP" "Harvey" 1 "OPTIMAL" 61.835 {[7.0353e+06]} {[0]} {[7.0353e+06]} {[NaN]}
T = 33×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ___________ _______ ________ ____ _____________ ______ ______________ _____ ______________ _______
"optimizeCbModel" "ibm_cplex" "AUTOMATIC" "QP" "Harvey" 3 "non-optimal" 30.179 {[7.0408e+06]} {[0]} {[7.0408e+06]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ________ _______ ________ ____ _____________________ ______ _______ _______ _______ _______
"optimizeCbModel" "ibm_cplex" "PRIMAL" "QP" "Harvey" -1 "time limit exceeded" 206.31 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ______ _______ ________ ____ _____________________ ______ _______ _______ _______ _______
"optimizeCbModel" "ibm_cplex" "DUAL" "QP" "Harvey" -1 "time limit exceeded" 206.22 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _____________________ ______ _______ _______ _______ _______
"optimizeCbModel" "ibm_cplex" "NETWORK" "QP" "Harvey" -1 "time limit exceeded" 206.04 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _____________ _____ ______________ _____ ______________ _______
"optimizeCbModel" "ibm_cplex" "BARRIER" "QP" "Harvey" 3 "non-optimal" 30.21 {[7.0408e+06]} {[0]} {[7.0408e+06]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ____________ _______ ________ ____ _____________________ ______ _______ _______ _______ _______
"optimizeCbModel" "ibm_cplex" "CONCURRENT" "QP" "Harvey" -1 "time limit exceeded" 206.22 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
T = 39×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ___________ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "AUTOMATIC" "QP" "Harvey" -1 "TIME_LIMIT" 201.39 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ________ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "PRIMAL" "QP" "Harvey" -1 "TIME_LIMIT" 200.21 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ______ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "DUAL" "QP" "Harvey" -1 "TIME_LIMIT" 200.18 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ _________ _______ ________ ____ ____________ ____ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "BARRIER" "QP" "Harvey" -1 "TIME_LIMIT" 201 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
T = 43×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ______ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "mosek" "FREE" "LP" "Harvey" 1 "OPTIMAL" 23.077 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "mosek" "INTPNT" "LP" "Harvey" 1 "OPTIMAL" 23.255 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ _______ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "mosek" "CONIC" "LP" "Harvey" 1 "OPTIMAL" 16.841 {[2.7693]} {[2.7693]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ________________ _______ ________ ____ ______________________________________ ______ _______ _______ _______ _______
"optimizeCbModel" "mosek" "PRIMAL_SIMPLEX" "LP" "Harvey" -1 "DUAL_FEASIBLE & MSK_RES_TRM_MAX_TIME" 202.11 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ______________ _______ ________ ____ ________________________________ ______ _______ _______ _______ _______
"optimizeCbModel" "mosek" "DUAL_SIMPLEX" "LP" "Harvey" -1 "UNKNOWN & MSK_RES_TRM_MAX_TIME" 202.08 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ _______ ______________ _______ ________ ____ ________________________________ ______ _______ _______ _______ _______
"optimizeCbModel" "mosek" "FREE_SIMPLEX" "LP" "Harvey" -1 "UNKNOWN & MSK_RES_TRM_MAX_TIME" 205.95 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
T = 49×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ___________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "AUTOMATIC" "LP" "Harvey" 1 "optimal" 17.153 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ________ _______ ________ ____ _____________________ _____ ______________ ______________ _______ _______
"optimizeCbModel" "ibm_cplex" "PRIMAL" "LP" "Harvey" 3 "time limit exceeded" 205.7 {[2.1441e+03]} {[2.1441e+03]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ______ _______ ________ ____ _______________________________________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "DUAL" "LP" "Harvey" 3 "optimal with unscaled infeasibilities" 49.304 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _______________________________________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "NETWORK" "LP" "Harvey" 3 "optimal with unscaled infeasibilities" 47.056 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "BARRIER" "LP" "Harvey" 1 "optimal" 16.145 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ _________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "SIFTING" "LP" "Harvey" 1 "optimal" 99.974 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ___________ ____________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "ibm_cplex" "CONCURRENT" "LP" "Harvey" 1 "optimal" 17.228 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
T = 56×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ___________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "gurobi" "AUTOMATIC" "LP" "Harvey" 1 "OPTIMAL" 41.581 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ________ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "PRIMAL" "LP" "Harvey" -1 "TIME_LIMIT" 200.19 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ______ _______ ________ ____ ____________ ______ _______ _______ _______ _______
"optimizeCbModel" "gurobi" "DUAL" "LP" "Harvey" -1 "TIME_LIMIT" 200.19 {[NaN]} {[NaN]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ _________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "gurobi" "BARRIER" "LP" "Harvey" 1 "OPTIMAL" 30.577 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ ____________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "gurobi" "CONCURRENT" "LP" "Harvey" 1 "OPTIMAL" 42.292 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
1×12 table
interface solver method problem model stat origStat time obj f1 f2 f0
_________________ ________ __________________________ _______ ________ ____ _________ ______ __________ __________ _______ _______
"optimizeCbModel" "gurobi" "DETERMINISTIC_CONCURRENT" "LP" "Harvey" 1 "OPTIMAL" 52.273 {[2.6571]} {[2.6571]} {[NaN]} {[NaN]}
T = 62×12 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 |
|---|
| 1 | "optimizeCbModel" | "mosek" | "FREE" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.0603 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 2 | "optimizeCbModel" | "mosek" | "INTPNT" | "QP" | "Harvey" | 1 | "OPTIMAL" | 62.1519 | 7.0353e+06 | 0 | 7.0353e+06 | NaN |
|---|
| 3 | "optimizeCbModel" | "ibm_cplex" | "AUTOMATIC" | "QP" | "Harvey" | 3 | "non-optimal" | 30.4370 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 4 | "optimizeCbModel" | "ibm_cplex" | "PRIMAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.4879 | NaN | NaN | NaN | NaN |
|---|
| 5 | "optimizeCbModel" | "ibm_cplex" | "DUAL" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2450 | NaN | NaN | NaN | NaN |
|---|
| 6 | "optimizeCbModel" | "ibm_cplex" | "NETWORK" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.0766 | NaN | NaN | NaN | NaN |
|---|
| 7 | "optimizeCbModel" | "ibm_cplex" | "BARRIER" | "QP" | "Harvey" | 3 | "non-optimal" | 30.3764 | 7.0408e+06 | 0 | 7.0408e+06 | NaN |
|---|
| 8 | "optimizeCbModel" | "ibm_cplex" | "CONCURRENT" | "QP" | "Harvey" | -1 | "time limit exceeded" | 206.2457 | NaN | NaN | NaN | NaN |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN |
|---|
| 10 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN |
|---|
| 13 | "optimizeCbModel" | "mosek" | "FREE" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.3590 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| 14 | "optimizeCbModel" | "mosek" | "INTPNT" | "LP" | "Harvey" | 1 | "OPTIMAL" | 23.2980 | 2.6571 | 2.6571 | NaN | NaN |
|---|
| â‹® |
|---|
T.method = replace(T.method,'MSK_OPTIMIZER_','');
T.method = replace(T.method,'_',' ');
T.solver = replace(T.solver,'ibm_','');
T.approach = append(T.solver, ' ', T.method);
T =sortrows(T,{'stat','time'},{'ascend','ascend'});
display(T)
T = 62×13 table
| interface | solver | method | problem | model | stat | origStat | time | obj | f1 | f2 | f0 | approach |
|---|
| 1 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1767 | NaN | NaN | NaN | NaN | "gurobi PRIMAL" |
|---|
| 2 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1772 | NaN | NaN | NaN | NaN | "gurobi DUAL" |
|---|
| 3 | "optimizeCbModel" | "gurobi" | "DUAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1791 | NaN | NaN | NaN | NaN | "gurobi DUAL" |
|---|
| 4 | "optimizeCbModel" | "gurobi" | "DUAL" | "LP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1863 | NaN | NaN | NaN | NaN | "gurobi DUAL" |
|---|
| 5 | "optimizeCbModel" | "gurobi" | "DUAL" | "LP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1911 | NaN | NaN | NaN | NaN | "gurobi DUAL" |
|---|
| 6 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "LP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1913 | NaN | NaN | NaN | NaN | "gurobi PRIMAL" |
|---|
| 7 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "LP" | "Harvey" | -1 | "TIME_LIMIT" | 200.1959 | NaN | NaN | NaN | NaN | "gurobi PRIMAL" |
|---|
| 8 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2008 | NaN | NaN | NaN | NaN | "gurobi BARRIER" |
|---|
| 9 | "optimizeCbModel" | "gurobi" | "PRIMAL" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 200.2117 | NaN | NaN | NaN | NaN | "gurobi PRIMAL" |
|---|
| 10 | "optimizeCbModel" | "mosek" | "PRIMAL SIMPLEX" | "LP" | "Harvey" | -1 | "DUAL_FEASIBLE & MSK_RES_TRM_MAX_TIME" | 200.9047 | NaN | NaN | NaN | NaN | "mosek PRIMAL SIMPLEX" |
|---|
| 11 | "optimizeCbModel" | "gurobi" | "BARRIER" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.0008 | NaN | NaN | NaN | NaN | "gurobi BARRIER" |
|---|
| 12 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.3852 | NaN | NaN | NaN | NaN | "gurobi AUTOMATIC" |
|---|
| 13 | "optimizeCbModel" | "gurobi" | "AUTOMATIC" | "QP" | "Harvey" | -1 | "TIME_LIMIT" | 201.7818 | NaN | NaN | NaN | NaN | "gurobi AUTOMATIC" |
|---|
| 14 | "optimizeCbModel" | "mosek" | "DUAL SIMPLEX" | "LP" | "Harvey" | -1 | "UNKNOWN & MSK_RES_TRM_MAX_TIME" | 202.0791 | NaN | NaN | NaN | NaN | "mosek DUAL SIMPLEX" |
|---|
| â‹® |
|---|
% Create the first histogram
histogram(T.time(T.stat==1 & strcmp(T.problem,'LP')),'NumBins',100,'FaceColor', 'r','FaceAlpha', 0.5); % 'r' sets the color to red
hold on; % Keep the current plot so that the second histogram is overlaid
% Create the second histogram
histogram(T.time(T.stat==1 & strcmp(T.problem,'QP')),'NumBins',100,'FaceColor', 'b','FaceAlpha', 0.5); % 'r' sets the color to red
xlabel({'Whole body metabolic model LP solution time (seconds)',[int2str(nMet) ' metabolites, ' int2str(nRxn) ' reactions.']})
ylabel('Number of solutions')
title('Solution time depends on solver, method and problem');
hold off; % Release the hold for future plots
% Concatenate solver and method into 'approach'
T.approach = append(T.solver, ' ', T.method);
T = T(strcmp(T.problem,'LP') & T.stat==1,:);
% Calculate the mean solve time and standard deviation for each approach
avg_times = varfun(@mean, T, 'InputVariables', 'time', 'GroupingVariables', 'approach');
std_times = varfun(@std, T, 'InputVariables', 'time', 'GroupingVariables', 'approach');
times.std_time = std_times.std_time;
% Sort both the avg_times and std_times by the mean solve time
[times, sort_idx] = sortrows(times, 'mean_time');
% Create a bar plot with the sorted data
b = bar(times.mean_time, 'FaceColor', 'b', 'FaceAlpha', 0.5);
% Add error bars using the sorted standard deviations
errorbar(times.mean_time, times.std_time, 'k', 'linestyle', 'none', 'LineWidth', 1.5);
xticks(1:length(times.approach))
xticklabels(times.approach)
xlabel('Approach', 'Interpreter', 'none');
ylabel('Solve Time (s)');
title('Successful LP solve times', 'Interpreter', 'none');
times = times(times.mean_time<mean(times.mean_time),:);
% Create a bar plot with the sorted data
b = bar(times.mean_time, 'FaceColor', 'b', 'FaceAlpha', 0.5);
% Add error bars using the sorted standard deviations
errorbar(times.mean_time, times.std_time, 'k', 'linestyle', 'none', 'LineWidth', 1.5);
xticks(1:length(times.approach))
xticklabels(times.approach)
xlabel('Approach', 'Interpreter', 'none');
ylabel('Solve Time (s)');
title('Successful LP solve times (lowest 50%)', 'Interpreter', 'none');
% Concatenate solver and method into 'approach'
T.approach = append(T.solver, ' ', T.method);
T = T(strcmp(T.problem,'QP') & T.stat==1,:);
% Calculate the mean solve time and standard deviation for each approach
avg_times = varfun(@mean, T, 'InputVariables', 'time', 'GroupingVariables', 'approach');
std_times = varfun(@std, T, 'InputVariables', 'time', 'GroupingVariables', 'approach');
times.std_time = std_times.std_time;
% Sort both the avg_times and std_times by the mean solve time
[times, sort_idx] = sortrows(times, 'mean_time');
% Create a bar plot with the sorted data
b = bar(times.mean_time, 'FaceColor', 'r', 'FaceAlpha', 0.5);
% Add error bars using the sorted standard deviations
errorbar(times.mean_time, times.std_time, 'k', 'linestyle', 'none', 'LineWidth', 1.5);
xticks(1:length(times.approach))
xticklabels(times.approach)
xlabel('Approach', 'Interpreter', 'none');
ylabel('Solve Time (seconds)');
title('Successful QP solve times', 'Interpreter', 'none');
times = times(times.mean_time<mean(times.mean_time),:);
% Create a bar plot with the sorted data
b = bar(times.mean_time, 'FaceColor', 'r', 'FaceAlpha', 0.5);
% Add error bars using the sorted standard deviations
errorbar(times.mean_time, times.std_time, 'k', 'linestyle', 'none', 'LineWidth', 1.5);
xticks(1:length(times.approach))
xticklabels(times.approach)
xlabel('Approach', 'Interpreter', 'none');
ylabel('Solve Time (seconds)');
title('Successful QP solve times (lowest 50%)', 'Interpreter', 'none');