A Repository of Convex Quadratic Programming Problems∗ ´n Maros† Istva and ´sza ´ros‡ Csaba Me Departmental Technical Report DOC 97/6 Department of Computing, Imperial College, London, U.K. 1 July 1997
Abstract The introduction of a standard set of linear programming problems, to be found in NETLIB/LP/DATA, had an important impact on measuring, comparing and reporting the performance of LP solvers. Until recently the efficiency of new algorithmic developments has been measured using this important reference set. Presently, we are witnessing an ever growing interest in the area of quadratic programming. The research community is somewhat troubled by the lack of a standard format for defining a QP problem and also by the lack of a standard reference set of problems for purposes similar to that of LP. In the paper we propose a standard format and announce the availability of a test set of collected 138 QP problems. Keywords: Quadratic programming, QPS format, test problems. ∗
Work supported by EPSRC grant No. GR/J52655 Email:
[email protected] ‡ Email:
[email protected]; This author is on leave from MTA SZTAKI Budapest. †
1
1
Introduction
The importance of quadratic optimization is steadily increasing thanks to the many important application areas. There are several solvers, both academic and commercial, available for solving real life convex quadratic programming (QP) problems. The performance characteristics (reliability, efficiency, accuracy, capacity) of the solvers vary quite widely. In parallel with the above, there is a growing need for a publicly available set of real life quadratic programming problems that can be used by developers of QP algorithms for testing and by potential users for comparing solvers. When we recently developed our interior point QP solver, BPMPD [5, 6] we encountered some difficulties when we tried to collect good test problems. In a search for such problems, we contacted several sources and, as a result, we have assembled a repository of convex QP problems. Unfortunately, it turned out that there is no standard file format for QP and different sources indeed used different formats. After this recognition we set two goals. First, to establish a standard format for presenting QP problems and, second, to satisfy the growing need for publicly available test problems that can be used to evaluate and compare QP solvers. With the kind permission of the problem owners we are making the test set available for the research community.
2
Proposed QP format
Without loss of generality, the convex QP problem is usually assumed to be in the following form: 1 min f (x) = c0 + cT x + xT Qx, Q symmetric and positive semidefinite 2 subject to Ax = b l≤x≤u where A is an m×n matrix and all the vectors are of appropriate dimensions, in particular, Q is n × n.. Some of the components of l and u may be −∞ and +∞, respectively. This 2
means that components of x can be of any type that is defined in the MPS format for linear programming (LP) problems. In practice, two QP formulations are common. One of them is the separable form where Q contains only diagonal (squared) terms. Sometimes it is natural, other times transformations are performed to bring the problem into this form. The usual reason for doing so is to ‘appease’ the solver. The other formulation is the general (or non-separable) one where off-diagonal entries also appear (in a symmetric fashion, of course). In linear programming there is a de facto standard of presenting LP problems. It was developed by IBM (see [4] or [7]) in the early days of computing. It is a fixed record oriented system with 80 character records. While its convenience is questionable, it is the only format accepted by all solvers. This is the main reason why we have decided to use it as a basis for the QP format. Our proposed QP format is an extension to the MPS format and is similar to the one used in the pioneering QP implementations of IBM OSL [8] and Vanderbei [9]. This extension makes it possible that when the QP part of a problem is missing the file is still a legitimate MPS file of the remaining LP problem. In the QP format, after the BOUNDS section of MPS, a new section is added. It is introduced by the QUADOBJ indicator record. As Q is symmetric, only its lower triangular part has to be given. The elements of Q must appear in columnwise order much the same way as the elements of the A matrix. The only difference is that row and column names that identify the qij coefficients in Q are the column names of A. Obviously, the row names of A do not play any role here. The 1/2 multiplier of the quadratic part is implied, therefore, the double of the diagonal coefficients has to be entered as shown in the following example. Original problem: min f (x, y) = 4 + 1.5x − 2y + 4x2 + 2xy + 5y 2 s.t.
y ≥
2
−x + 2y ≤
6
2x +
0 ≤ x ≤ 20, y ≥ 0 After implied rewriting:
3
1 (8x2 + 2xy + 2yx + 10y 2) 2 y ≥ 2
min f (x, y) = 4 + 1.5x − 2y + s.t.
2x +
−x + 2y ≤
6
0 ≤ x ≤ 20, y ≥ 0 Thus the Q matrix is
8 2 Q= 2 10
(1)
for which the lower triangular part (to be given) is:
8 QL = 2 10
(2)
In other words, the double of the diagonal (square) terms must be entered while the off-diagonal elements must be given as they appear in the original problem formulation. The MPS format ([4, 7]) divides the input records into fields. They have a fixed position in each record, namely: Field
Position
Field-1
2–3
Field-2
5–12
Field-3
15–22
Field-4
25–36
Field-5
40–47
Field-6
50–61
The extended MPS format is referred to as QPS format and the file extension is QPS, accordingly. In QPS format the use of fields is the same. For the above example the QPS file is:
4
NAME
QP example
ROWS N
obj
G
r1
L
r2
COLUMNS c1
r1
2.0
c1
obj
1.5
c2
r1
1.0
c2
obj
-2.0
rhs1
obj
-4.0
rhs1
r1
2.0
c1
20.0
c1
c1
8.0
c1
c2
2.0
c2
c2
10.0
r2
-1.0
r2
2.0
r2
6.0
RHS
BOUNDS UP bnd1 QUADOBJ
ENDATA It is important to note that the relative order of columns in QUADOBJ must be the same as in COLUMNS. This means that the structure of QUADOBJ is the same as that of COLUMNS. It is also to be noted that the constant c0 in the objective function is given as an RHS value. Therefore, if it is different from zero, it must be entered with the opposite sign. Additionally, we propose that the indicator of the exponent in the data fields be ‘e’ rather than ‘d’ (for instance, -0.10036986e-4 and not -0.10036986d-4). This is to avoid complications experienced when MPS files were read by programs written in C and the exponent indicator was ‘d’.
5
3
Set of problems
Presently, we have 138 problems available. Both formulations of QP problems (separable and non-separable) are well represented in the set. In a separate section we acknowledge the contributors. Below is a list of the problems. Here we give: NAME the name of the problem M
the number of rows in A
N
the number of variables
NZ
the number of nonzeros in A
QN
the number of quadratic variables
QNZ
the number of off-diagonal entries in the lower triangular part of Q
OPT the solution value obtained by the default settings of BPMPD solver. The separable problems are easily recognized by a 0 entry in the QNZ column. NAME
M
N
NZ
QN
QNZ
OPT
aug2d
10000
20200
40000
19800
0
0.168741175D+07
aug2dc
10000
20200
40000
20200
0
0.181836807D+07
aug2dcqp
10000
20200
40000
20200
0
0.649813475D+07
aug2dqp
10000
20200
40000
19800
0
0.623701205D+07
aug3d
1000
3873
6546
2673
0
5.54067726D+02
aug3dc
1000
3873
6546
3873
0
7.71262439D+02
aug3dcqp
1000
3873
6546
3873
0
9.93362148D+02
aug3dqp
1000
3873
6546
2673
0
6.75237673D+02
boyd1
18
93261
558985
93261
0
-6.17352196D+07
boyd2
186531
93263
423784
2
0
2.12567670D+01
cont-050
2401
2597
12005
2597
0
-4.56385090D+00
cont-100
9801
10197
49005
10197
0
-4.64439787D+00
cont-101
10098
10197
49599
2700
0
1.95527330D-01
cont-200
39601
40397
198005
40397
0
-4.68487590D+00
cont-201
40198
40397
199199
10400
0
1.92483373D-01
cont-300
90298
90597
448799
23100
0
1.91512321D-01
cvxqp1 l
5000
10000
14998
10000
29984
0.108704800D+09 ctd.
6
→
NAME
M
N
NZ
QN
QNZ
OPT
cvxqp1 m
500
1000
1498
1000
2984
0.108751157D+07
cvxqp1 s
50
100
148
100
286
0.115907181D+05
cvxqp2 l
2500
10000
7499
10000
29984
0.818424583D+08
cvxqp2 m
250
1000
749
1000
2984
0.820155431D+06
cvxqp2 s
25
100
74
100
286
0.812094048D+04
cvxqp3 l
7500
10000
22497
10000
29984
0.115711104D+09
cvxqp3 m
750
1000
2247
1000
2984
0.136282874D+07
cvxqp3 s
75
100
222
100
286
0.119434322D+05
dpklo1
77
133
1575
77
0
0.370096217D+00
dtoc3
9998
14999
34993
14997
0
0.235262481D+03
dual1
1
85
85
85
3473
3.50129662D-02
dual2
1
96
96
96
4412
3.37336761D-02
dual3
1
111
111
111
5997
1.35755839D-01
dual4
1
75
75
75
2724
7.46090842D-01
dualc1
215
9
1935
9
36
6.15525083D+03
dualc2
229
7
1603
7
21
3.55130769D+03
dualc5
278
8
2224
8
28
4.27232327D+02
dualc8
503
8
4024
8
28
1.83093588D+04
exdata
3001
3000
7500
1500
1124250
-1.41843432D+02
8
10
24
10
9
9.27173694D-01
gouldqp2
349
699
1047
349
348
1.84275341D-04
gouldqp3
349
699
1047
698
697
2.06278397D+00
hs118
17
15
39
15
0
6.64820452D+02
hs21
1
2
2
2
hs268
5
5
25
5
10
5.73107049D-07
hs35
1
3
3
3
2
1.11111111D-01
hs35mod
1
3
3
3
2
2.50000001D-01
hs51
3
5
7
5
2
8.88178420D-16
genhs28
0 -9.99599999D+01
ctd.
7
→
NAME
M
N
NZ
QN
QNZ
OPT
hs52
3
5
7
5
2
5.32664756D+00
hs53
3
5
7
5
2
4.09302326D+00
hs76
3
4
10
4
2
-4.68181818D+00
hues-mod
2
10000
19899
10000
0
0.348246902D+08
huestis
2
10000
19899
10000
0
0.348246902D+12
ksip∗
1001
20
18411
20
0
5.757979412D-01
laser
1000
1002
3000
1002
3000
0.240960135D+07
liswet1
10000
10002
30000
10002
0
0.361224021D+02
liswet10
10000
10002
30000
10002
0
0.494857847D+02
liswet11
10000
10002
30000
10002
0
0.495239570D+02
liswet12
10000
10002
30000
10002
0
0.173692742D+04
liswet2
10000
10002
30000
10002
0
0.249980761D+02
liswet3
10000
10002
30000
10002
0
0.250012200D+02
liswet4
10000
10002
30000
10002
0
0.250001121D+02
liswet5
10000
10002
30000
10002
0
0.250342534D+02
liswet6
10000
10002
30000
10002
0
0.249957476D+02
liswet7
10000
10002
30000
10002
0
0.498840891D+03
liswet8
10000
10002
30000
10002
0
0.714470057D+03
liswet9
10000
10002
30000
10002
0
0.196325126D+04
lotschd
7
12
54
6
0
0.239841589D+04
mosarqp1
700
2500
3422
2500
45
-0.952875441D+03
mosarqp2
600
900
2930
900
45
-0.159748211D+04
powell20
10000
10000
20000
10000
0
0.520895828D+11
primal1
85
325
5815
324
0
-3.50129646D-02
primal2
96
649
8042
648
0
-3.37336761D-02
primal3
111
745
21547
744
0
-1.35755836D-01
primal4
75
1489
16031
1488
0
-7.46090829D-01
primalc1
9
230
2070
229
0
-6.15525082D+03 ctd.
8
→
NAME
M
N
NZ
QN
QNZ
OPT
primalc2
7
231
1617
230
0
-3.55130769D+03
primalc5
8
287
2296
286
0
-4.27232326D+02
primalc8
8
520
4160
519
0
-1.83094298D+04
q25fv47
820
1571
10400
446
59053
1.37444479D+07
qadlittl
56
97
383
17
70
4.80318859D+05
qafiro
27
32
83
3
3
-1.59078179D+00
qbandm
305
472
2494
25
16
1.63523420D+04
qbeaconf
173
262
3375
18
9
1.64712062D+05
qbore3d
233
315
1429
28
50
3.10020080D+03
qbrandy
220
249
2148
16
49
2.83751149D+04
qcapri
271
353
1767
56
838
6.67932934D+07
qe226
223
282
2578
67
897
2.12653433D+02
qetamacr
400
688
2409
378
4069
8.67603699D+04
qfffff80
524
854
6227
278
1638
8.73147466D+05
qforplan
161
421
4563
36
546
7.45663148D+09
qgfrdxpn
616
1092
2377
54
108
1.00790585D+11
qgrow15
300
645
5620
38
462
-1.01693640D+08
qgrow22
440
946
8252
65
787
-1.49628953D+08
qgrow7
140
301
2612
30
327
-4.27987138D+07
qisrael
174
142
2269
42
656
2.53478378D+07
qpcblend
74
83
491
83
0
-7.84254092D-03
qpcboei1
351
384
3485
384
0
1.15039140D+07
qpcboei2
166
143
1196
143
0
8.17196225D+06
qpcstair
356
467
3856
467
0
6.20438748D+06
qpilotno
975
2172
13057
94
391
4.72858690D+06
qptest
2
2
4
2
1
0.437187500D+01
qrecipe
91
180
663
20
30
-2.66616000D+02
qsc205
205
203
551
11
10
-5.81395184D-03 ctd.
9
→
NAME
M
N
NZ
QN
QNZ
OPT
qscagr25
471
500
1554
28
100
2.01737938D+08
qscagr7
129
140
420
8
17
2.68659486D+07
qscfxm1
330
457
2589
56
677
1.68826917D+07
qscfxm2
660
914
5183
74
1057
2.77761617D+07
qscfxm3
990
1371
7777
89
1132
3.08163545D+07
qscorpio
388
358
1426
22
18
1.88050955D+03
qscrs8
490
1169
3182
33
88
9.04560014D+02
qscsd1
77
760
2388
54
691
8.66666668D+00
qscsd6
147
1350
4316
96
1308
5.08082139D+01
qscsd8
397
2750
8584
140
2370
9.40763574D+02
qsctap1
300
480
1692
36
117
1.41586111D+03
qsctap2
1090
1880
6714
141
636
1.73502650D+03
qsctap3
1480
2480
8874
186
861
1.43875468D+03
qseba
515
1028
4352
96
550
8.14818005D+07
qshare1b
117
225
1151
18
21
7.20078318D+05
qshare2b
96
79
694
10
45
1.17036917D+04
qshell
536
1775
3556
405
34385
1.57263684D+12
qship04l
402
2118
6332
14
42
2.42001553D+06
qship04s
402
1458
4352
14
42
2.42499367D+06
qship08l
778
4283
12802
940
34025
2.37604062D+06
qship08s
778
2387
7114
538
11139
2.38572885D+06
qship12l
1151
5427
16170
2023
60205
3.01887658D+06
qship12s
1151
2763
8178
1042
16361
3.05696226D+06
qsierra
1227
2036
7302
122
61
2.37504582D+07
qstair
356
467
3856
66
952
7.98545276D+06
qstandat
359
1075
3031
138
666
6.41183839D+03
5
5
25
5
10
5.73107049D-07
3999
2001
9997
2000
0
-2.85268638D+07
s268 stadat1
ctd.
10
→
NAME
M
N
NZ
QN
QNZ
OPT
stadat2
3999
2001
9997
2000
0
-3.26266649D+01
stadat3
7999
4001
19997
4000
0
-3.57794530D+01
stcqp1
2052
4097
13338
4097
22506
1.55143555D+05
stcqp2
2052
4097
13338
4097
22506
2.23273133D+04
tame
1
2
2
2
1
3.47098798D-30
ubh1
12000
18009
48000
6003
0
0.111600082D+01
1
202
202
202
3620
-0.139662114D+01
2000
2002
6000
2002
0
1.97704256D+02
2
2
4
1
0
-4.12500000D+00
values yao zecevic2 ∗
Problem ksip shows considerable numerical sensitivity. The value of the objective func-
tions varies rapidly as solution approaches the feasible domain and the final solution value depends on the feasibility tolerance used. We obtained the reported optimal value by using the following stopping criterion: If for the primal infeasibility ||Ax−b||/(1.0+||b||) < 10−8 and for the dual infeasibility ||AT y + z − Qx − c||/(1.0 + ||Qx − c||) < 10−8 (where z is the vector of dual slack variables) relations hold then the current solution is considered optimal. The tolerance of 10−8 is by an order of magnitude smaller than the default of BPMPD.
4
Availability
The problems are freely available to the academic community. They are stored in three different compressed (zipped) files, QPDATA1, QPDATA2 and QPDATA3. The same set of problems is also available and can be downloaded from http://www.doc.ic.ac.uk/~im/ by visiting the title A Selection of Data Files and clicking on each of the three zip files. They are organized in the following way. QPDATA1 contains problems from the CUTE library [1]. Problems provided by the Brunel optimization group [3] are in QPDATA2, while all the other problems are located in QPDATA3. Data in some problem files contain exponents. The exponent indicator is always ‘e’, in compliance with our proposal (see section 2). All the files have the .qps extension. The web site of QPDATA problems is maintained and new problem instances may be added. We keep the library open to further contributions. Anybody with such an intent 11
should contact any of the current authors by Email.
5
Acknowledgements
This work was supported by EPSRC grant No. GR/J52655 for which the authors express their indebtedness. The authors also gratefully acknowledge the contributions of the problems from the following sources: CUTE [1] library provided by Ingrid Bongartz and Andy Conn (IBM T.J. Watson Research Center), Nick Gould (Rutherford Appleton Laboratory, UK), and Philippe Toint (Facultes Universitaires Notre-Dame de la Paix): aug2d aug2dc aug2dcqp aug2dqp aug3d aug3dc aug3dcqp aug3dqp cvxqp1 l cvxqp1 m cvxqp1 s cvxqp2 l cvxqp2 m cvxqp2 s cvxqp3 l cvxqp3 m cvxqp3 s dtoc3 dual1 dual2 dual3 dual4 dualc1 dualc2 dualc5 dualc8 genhs28 gouldqp2 gouldqp3 hs118 hs21 hs268 hs35 hs35mod hs51 hs52 hs53 hs76 hues-mod huestis ksip liswet1 liswet10 liswet11 liswet12 liswet2 liswet3 liswet4 liswet5 liswet6 liswet7 liswet8 liswet9 lotschd mosarqp1 mosarqp2 powell20 primal1 primal2 primal3 primal4 primalc1 primalc2 primalc5 primalc8 qpcblend qpcboei1 qpcboei2 qpcstair s268 stcqp1 stcqp2 tame ubh1 yao zecevic2 Helen Jones and Gautam Mitra (Mathematical Programming Group, Brunel University, London) [3]: q25fv47 qadlittl qafiro qbandm qbeaconf qbore3d qbrandy qcapri qe226 qetamacr qfffff80 qforplan qgfrdxpn qgrow15 qgrow22 qgrow7 qisrael qpilotno qrecipe qsc205 qscagr25 qscagr7 qscfxm1 qscfxm2 qscfxm3 qscorpio qscrs8 qscsd1 qscsd6 qscsd8 qsctap1 qsctap2 qsctap3 qseba qshare1b qshare2b qshell qship04l qship04s qship08l qship08s qship12l qship12s qsierra qstair qstandat Piet Groeneboom (University of Washington, USA): stadat1 stadat2 stadat3 Hans D. Mittelmann (Arizona State University, USA): cont-050 cont-100 cont-101 cont-200 cont-201 cont-300 12
Athanassia Chalimourda (Ruhr University, Bochum, Germany): exdata values Don Boyd (Rensselaer Polytechnic Institute): boyd1 boyd2 James McNames (Stanford University, USA): laser Henry Wolkowitz (University of Waterloo, Canada): dpklo1 We also included the small QP example shown in section 2 in a separate file qptest
References [1] I. Bongartz, A. R. Conn, N. Gould, Ph. L Toint, CUTE: Constrained and unconstrained testing environment, ACM Transactions on Mathematical Software 21, 1995, pp. 123–160. [2] D.M. Gay, Electronic mail distribution of linear programming test problems, Mathematical Programming Society COAL Newsletter, 13, 1985, pp. 10–12. [3] H. Jones, G. Mitra, Solution of the Convex Quadratic Programming Problem Using the Interior Point Method, TR/03/97 Department of Mathematics and Statistics, Brunel University, London, 1997. [4] MPSX User’s Manual, IBM Corporation. [5] Cs. M´esz´aros, BPMPD User’s Manual Version 2.20, Department of Computing, Imperial College, 1997. [6] Cs. M´esz´aros, The BPMPD interior point solver for convex quadratic problems, Working paper WP 98–8, Computer and Automation Institute, Budapest, 1998. 13
[7] B. Murtagh,, Advanced Linear Programming: Computation and Practice. McGrawHill, 1981. [8] OSL Optimization Subroutine Library, IBM Corporation, OSL Home Page, http://www.research.ibm.com/osl/. [9] R. J. Vanderbei, LOQO User’s Manual, TR No. SOR-97-07, Statistics and Operations Research, Princeton University, New Jersey, USA, 1997.
14