-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
123 lines (82 loc) · 4.42 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
NOTE FROM THE AUTHOR:
This project is no longer under active development or maintenance, but
I encourage you to report any issues you find. Suggestions to update the code,
in the form of merge requests, are furthermore reviewed and accepted.
-------------------------------------------------------------------------------
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 ...