optiBench
Run an optimization benchmark across available solvers
Syntax
optiBench(prob_type)
optiBench(prob_type,no)
optiBench(prob_type,no,plot)
[times,results,solvers] = optiBench(prob_type,no)
Description
optiBench(prob_type) runs all available solvers for a given problem type, prob_type, against all test problems. A comparison plot will be plotted as well as detailed problem by problem results printed in the command window.
optiBench(prob_type,no) runs only no number of test problems for the benchmark. If no is specified greater than the number available, it will be saturated at the maximum available.
optiBench(prob_type,no,plot) specifies whether to plot the result (1) or not (0).
[times,results,solvers] = optiBench(prob_type,no) returns the low level results as a structure from the benchmark as well as execution times and solver names.
Example
The following example shows how to run a benchmark test against the supplied LP solvers (note only tiny problems used in this example):
>> optiBench('LP')
The function will detect all available LP solvers, and run them across all available LP test problems. It will print on screen a problem by problem summary, as well as final summary:
--------------------------------------------------
LP Benchmark Summary:
--------------------------------------------------
Solver Problems Solved Total Time
CPLEX 10 / 10 [100.00%] 0.0875s
clp 10 / 10 [100.00%] 0.0029s
qsopt 10 / 10 [100.00%] 0.0021s
glpk 10 / 10 [100.00%] 0.0137s
lp_solve 9 / 10 [ 90.00%] 0.0178s
matlab 10 / 10 [100.00%] 0.0658s
opti 9 / 10 [ 90.00%] 0.0104s
--------------------------------------------------
As well as printing a comparison plot:

Copyright © 2011-2013 Jonathan Currie (I2C2)