The CBLIB base of scripts and tools
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cblib
LICENSE
README

README

-------------------------------------------------------------------------------
The CBLIB base of scripts and tools
-------------------------------------------------------------------------------

The Conic Benchmark Library is organised as follows.

  ./docs/
      format.pdf        The CBF file format

  ./instances/
      ./cbf/            Instances in CBF format
      ref.bib           BibTeX references
      ref.csv           Contributors, descriptions and reference keys

  ./scripts/
      filter.py         Filter out instances of interest
      run.py            Run instances
      summary.py        Analyse solutions

  ./tools/
      Makefile.cbftool  Convert from CBF to other file formats (GNU makefile)


Additional files are included for administrative purposes.

  ./scripts/
      ./admin/
          pack.py                 Archieve a new selection from CBLIB
          print-bibtable.py       Print table of citations based on 'ref.bib'
          print-reftable.py       Print table of references based on 'ref.csv'
          print-stattable.py      Print table of statistics based on 'stat.csv'
          make-stattable.py       Create new 'stat.csv'
          update-stattable.py     Update 'stat.csv' based on solution files
          update-autogen-tags.py  Add metadata to instances based on 'ref.csv'


-------------------------------------------------------------------------------
 filter.py: Filter out instances of interest.
-------------------------------------------------------------------------------

Usage examples:

  All instances:
    python filter.py ""

  Mixed-integer second-order cone instances:
    python filter.py "||int|| and ||cones|so|| and not ||psdcones||"

  Continuous second-order cone instances:
    python filter.py "not ||int|| and ||cones|so|| and not ||psdcones||"

  Instances with more than 100000 second-order cones:
    python filter.py "||cones|so|| >= 100000"

  Instances with less than 4 members per second-order cone on average:
    python filter.py "||entries|so|| / ||cones|so|| <= 4"


The argument is a string which can be evaluated to True or False in Python,
when filter tags on the form ||TAGNAME|| are substituted out. Substitution
is based on function ''getval'' in ./scripts/filters/TAGNAME.py.


-------------------------------------------------------------------------------
 run.py: Run instances.
-------------------------------------------------------------------------------

Usage examples:

  Solve 'qssp30.cbf' with mosek:
    python scripts/run.py runmosek -f ./instances/cbf/qssp30.cbf

  Solve problems listed in 'set-cblib2014.csv':
    python scripts/run.py runmosek -s ./instances/set-cblib2014.csv

Both commands will output time and solution summary onto the screen. Solution 
files are written to ./instances/cbf/qssp30.cbf.sol respectively 
./instances/set-cblib2014.csv.sol in these examples.


-------------------------------------------------------------------------------
 summary.py: Analyse solutions.
-------------------------------------------------------------------------------

Usage examples:

  Summary of 'qssp30.cbf.sol' solution file:
    python scripts/summary.py -f ./instances/cbf/qssp30.cbf

  Summary of solutions to problems listed in 'set-cblib2014.csv' (assuming
  solution files are found in ./instances/set-cblib2014.csv.sol):
    python scripts/summary.py -s ./instances/set-cblib2014.csv


-------------------------------------------------------------------------------
 cbftool: Convert from CBF to other file formats.
-------------------------------------------------------------------------------

This tool will have to be compiled from source using the GNU Makefile.

  make clean all -f Makefile.cbftool


Usage examples:

  Convert files from CBF to MPS format using the MOSEK 
  extension for cones (writes to the directory read from):
    cbftool -o mps-mosek CBFFILE1 CBFFILE2 CBFFILE3 ...

  Convert files from CBF to MPS format using the CPLEX 
  extension for cones (writes to the directory read from):
    cbftool -o mps-cplex CBFFILE1 CBFFILE2 CBFFILE3 ...

  Convert files from CBF to SDPA format and write files to 
  the ''../instances/sdpa'' directory:
    cbftool -o sdpa -opath ../instances/sdpa CBFFILE1 CBFFILE2 CBFFILE3 ...