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:

lpbench