Skip to main content
Log in

Implementation of an interior point method with basis preconditioning

  • Full Length Paper
  • Published:
Mathematical Programming Computation Aims and scope Submit manuscript

Abstract

The implementation of a linear programming interior point solver is described that is based on iterative linear algebra. The linear systems are preconditioned by a basis matrix, which is updated from one interior point iteration to the next to bound the entries in a certain tableau matrix. The update scheme is based on simplex-type pivot operations and is implemented using linear algebra techniques from the revised simplex method. An initial basis is constructed by a crash procedure after a few interior point iterations. The basis at the end of the interior point solve provides the starting basis for a crossover method which recovers a basic solution to the linear program. Results of a computational study on a diverse set of medium to large-scale problems are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. For a matrix A the expression \(|A|\) is meant componentwise.

References

  1. Al-Jeiroudi, G., Gondzio, J., Hall, J.A.J.: Preconditioning indefinite systems in interior point methods for large scale linear optimisation. Optim. Methods Softw. 23(3), 345–363 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  2. Alabi, A., Castro, J.: Dantzig–Wolfe and block coordinate-descent decomposition in large-scale integrated refinery-planning. Comput. Oper. Res. 36(8), 2472–2483 (2009)

    Article  MATH  Google Scholar 

  3. Arioli, M., Duff, I.S.: Preconditioning linear least-squares problems by identifying a basis matrix. SIAM J. Sci. Comput. 37(5), S544–S561 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  4. Bixby, R.E., Fenelon, M., Gu, Z., Rothberg, E., Wunderling, R.: MIP: Theory and practice—closing the gap. In: System Modelling and Optimization: Methods, Theory and Applications, pp. 19–50. Kluwer Academic Publishers (1999)

  5. Bixby, R.E., Saltzman, M.J.: Recovering an optimal LP basis from an interior point solution. Oper. Res. Lett. 15(4), 169–178 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  6. Duff, I.S.: On algorithms for obtaining a maximum transversal. ACM Trans. Math. Softw. 7(3), 315–330 (1981)

    Article  Google Scholar 

  7. Fong, D.C.L., Saunders, M.A.: CG versus MINRES: an empirical comparison. SQU J. Sci. 17(1), 44–62 (2012)

    Article  Google Scholar 

  8. Gondzio, J.: Multiple centrality corrections in a primal-dual method for linear programming. Comput. Optim. Appl. 6(2), 137–156 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  9. Goreinov, S.A., Oseledets, I.V., Savostyanov, D.V., Tyrtyshnikov, E.E., Zamarashkin, N.L.: How to find a good submatrix. In: Matrix Methods: Theory. Algorithms and Applications, pp. 247–256. World Sci. Publ, Hackensack, NJ (2010)

  10. Gurobi Optimization. http://www.gurobi.com. Accessed 24 Jan 2017

  11. Hall, J.A.J., McKinnon, K.I.M.: Hyper-sparsity in the revised simplex method and how to exploit it. Comput. Optim. Appl. 32(3), 259–283 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  12. Harris, P.M.J.: Pivot selection methods of the Devex LP code. Math. Program. 5, 1–28 (1973)

    Article  MathSciNet  MATH  Google Scholar 

  13. Hestenes, M.R., Stiefel, E.: Methods of conjugate gradients for solving inear systems. J. Res. Natl. Bureau Stand. 49(6), 409–436 (1952)

    Article  MATH  Google Scholar 

  14. Higham, N.J., Relton, S.D.: Estimating the largest elements of a matrix. SIAM J. Sci. Comput. 38(5), C584–C601 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  15. Knuth, D.E.: Semioptimal bases for linear dependencies. Linear Multilinear Algebra 17(1), 1–4 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  16. Megiddo, N.: On finding primal- and dual-optimal bases. ORSA J. Comput. 3(1), 63–65 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  17. Mehrotra, S.: On the implementation of a primal-dual interior point method. SIAM J. Optim. 2(4), 575–601 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  18. Nugent, C.E., Vollman, T.E., Ruml, J.: An experimental comparison of techniques for the assignment of facilities to locations. Oper. Res. 16, 150–173 (1968)

    Article  Google Scholar 

  19. Oliveira, A.R.L., Sorensen, D.C.: A new class of preconditioners for large-scale linear systems from interior point methods for linear programming. Linear Algebra Appl. 394, 1–24 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  20. Paige, C.C., Saunders, M.A.: Solution of sparse indefinite systems of linear equations. SIAM J. Numer. Anal. 12(4), 617–629 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  21. Pan, C.T.: On the existence and computation of rank-revealing \(LU\) factorizations. Linear Algebra Appl. 316, 199–222 (2000)

    MathSciNet  MATH  Google Scholar 

  22. Resende, M.G.C., Ramakrishnan, K.G., Drezner, Z.: Computing lower bounds for the quadratic assignment problem with an interior point algorithm for linear programming. Oper. Res. 43(5), 781–791 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  23. Saad, Y.: Iterative Methods for Sparse Linear Systems, 2nd edn. Society for Industrial and Applied Mathematics, Philadelphia (2003)

    Book  MATH  Google Scholar 

  24. Schork, L.: Basis Preconditioning in Interior Point Methods. Ph.D. thesis, University of Edinburgh (2018)

  25. Schork, L., Gondzio, J.: Maintaining a basis matrix in the linear programming interior point method. Tech. Rep. ERGO-17-009, University of Edinburgh (2017)

  26. Schork, L., Gondzio, J.: Permuting spiked matrices to triangular form and its application to the Forrest-Tomlin update. Tech. Rep. ERGO-17-002, University of Edinburgh (2017)

  27. Wright, S.J.: Primal-Dual Interior-Point Methods. Society for Industrial and Applied Mathematics (SIAM), Philadelphia (1997)

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lukas Schork.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Supported by Google Research Award “Fast interior point method for linear programming problems”.

Appendix A: Test set and solution times

Appendix A: Test set and solution times

The LP models have been obtained from the following sources:

  1. (1)

    J. Castro: http://www-eio.upc.es/~jcastro/

    1. (a)

      huge CTA instances

    2. (b)

      integrated refinery problems

    3. (c)

      L1.zip

    4. (d)

      Linf.zip

  2. (2)

    J. A. J. Hall: http://www.maths.ed.ac.uk/hall/PublicLP/

  3. (3)

    Kennington collection: http://www.netlib.org/lp/data/kennington/index.html

  4. (4)

    C. Mészáros: http://old.sztaki.hu/~meszaros/public_ftp/lptestset/

    1. (a)

      misc

    2. (b)

      New

    3. (c)

      problematic

    4. (d)

      stochlp

  5. (5)

    MIPLIB 2010: http://miplib.zib.de/download/miplib2010-complete.tgz

  6. (6)

    H. Mittelmann: http://plato.asu.edu/ftp/lptestset/

    1. (a)

      fome

    2. (b)

      misc

    3. (c)

      nug

    4. (d)

      pds

    5. (e)

      rail

  7. (7)

    Netlib collection: http://www.netlib.org/lp/data/index.html

For mixed-integer problems, the canonical LP relaxation was used.

In the following table, the columns headed “\({\bar{m}}\)”, “\({\bar{n}}\)” and “\({{\,\mathrm{nnz}\,}}\)” provide the number of rows, columns and nonzero entries of the constraint matrix \({\bar{A}}\) in the problem formulation (2a), after the LP model was preprocessed by the Gurobi LP presolve. The column block headed “IPX” provides the runtime of the IPX interior point solver (“IPM”), of the IPX crossover push phases (“push”) and of the clean-up using the Gurobi simplex (“simplex”); the latter field is empty if no clean-up was needed. The column headed “total” gives the sum of the three runtimes. The column block headed “Gurobi” provides the runtimes of the Gurobi interior point solver (“IPM”) and crossover (“crossover”) as well as their sum (“total”). The presolve time has been excluded from these figures. Computation times are in seconds and were obtained on an Intel i5-6500 CPU (4 cores, 3.2 GHz, 6 MB L3 cache) and 8 GB of physical memory. Logfiles from IPX and Gurobi, from which the runtimes were extracted, are available at https://github.com/ERGO-Code/ipx/tree/master/benchmark.

src

Name

\({\bar{m}}\)

\({\bar{n}}\)

\({{\,\mathrm{nnz}\,}}\)

IPX

Gurobi

Total

IPM

Push

Cleanup

Total

IPM

Crossover

1a

L1_sixm250obs

154,168

308,284

639,901

180.1

176.5

3.6

 

43.5

42.1

1.4

1a

L1_sixm500obs

283,055

565,680

1,196,860

553.8

506.0

47.8

 

471.8

468.7

3.1

1b

srd120

186,440

357,070

9,804,510

329.5

327.4

2.1

 

496.5

484.9

11.6

1b

srd240

372,920

714,190

36,457,110

1883.3

1877.2

6.1

 

3615.5

3577.2

38.3

1c

L1_bts4

25,611

69,900

181,413

5.7

5.6

0.1

 

1.4

1.3

0.2

1c

L1_five20b

28,342

62,986

187,981

47.4

47.2

0.1

 

6.5

3.7

2.8

1d

Linf_bts4

61,465

70,128

287,954

11.1

10.8r

0.3

0.1

49.3

48.7

0.6

1d

Linf_five20b

60,911

63,458

285,418

243.5

64.6r

16.3

162.6

25.1

10.8

14.3

2

dcp2

13,927

25,376

281,550

5.7

5.7r

0.0

 

0.7

0.6

0.2

3

cre-b

5213

31,720

107,039

2.3

2.3

0.0

 

0.4

0.4

0.0

3

ken-18

39,855

89,346

204,936

5.5

5.5

0.1

 

1.3

1.1

0.2

3

osa-60

10,209

224,125

584,253

5.7

5.6

0.1

 

1.1

1.0

0.1

4a

bas1lp

5409

4443

582,390

4.0

3.8

0.2

 

1.2

1.0

0.1

4a

baxter

18,867

10,742

78,412

2.5

2.4

0.1

 

1.9

1.9

0.1

4a

co9

6784

10,675

81,809

2.1

2.1

0.0

 

0.4

0.4

0.1

4a

dbic1

33,598

140,205

781,668

58.4

46.7

11.7

 

12.0

2.8

9.2

4a

dbir1

7150

24,862

994,828

17.3

16.3

1.0

 

1.6

1.4

0.2

4a

e18

24,598

14,211

131,991

12.6

12.3

0.2

 

63.2

63.1

0.2

4a

ex3sta1

12,602

12,675

54,377

3.5

3.4

0.0

 

0.4

0.2

0.2

4a

jendrec1

2109

3535

88,915

0.9

0.9

0.0

 

1.1

0.7r

0.4

4a

lpl1

32,427

82,733

252,587

21.9

21.4

0.5

 

4.1

1.8

2.3

4a

mod2

23,706

24,005

114,068

6.1

6.1

0.0

 

1.5

1.2

0.2

4a

model10

2961

10,373

94,372

1.6

1.5

0.0

0.0

0.3

0.2

0.1

4a

nemsemm1

2829

36,052

495,916

5.8

5.8

0.0

 

0.6

0.6

0.1

4a

nl

5290

7997

36,524

1.0

1.0

0.0

 

0.4

0.4

0.0

4a

nsct1

7696

11,297

589,578

7.7

7.5

0.2

 

3.5

3.4

0.1

4a

p010

8907

17,770

60,150

4.3

4.2

0.0

 

0.1

0.1

0.0

4a

rat7a

2152

6772

156,249

2.0

2.0

0.0

 

0.5

0.3

0.2

4a

route

20,779

23,923

184,576

2.4

2.3

0.1

 

0.4

0.4

0.0

4a

stat96v1

4624

187,892

562,110

21.7

21.2r

0.4

0.1

20.8

4.9r

15.8

4a

stat96v3

26,274

1,090,091

3,250,147

1423.9

470.1r

14.0

939.9

8063.5

5.2r

8058.3

4a

ulevimin

4594

41,225

135,479

3.9

3.9

0.0

 

0.6

0.5

0.1

4a

world

23,640

25,839

114,431

6.7

6.7

0.0

 

1.7

1.3

0.4

4b

degme

185,501

659,415

8,127,528

2496.8

2495.9

0.9

 

166.4

79.8

86.6

4b

karted

46,501

133,114

1,770,336

499.6

499.4

0.2

 

144.9

27.2

117.7

4b

tp-6

142,752

1,014,301

11,537,419

2820.9

2820.0

0.8

 

66.0

42.0

24.0

4b

ts-palko

22,002

47,235

1,076,903

314.7

314.5

0.2

 

79.2

8.6

70.6

4c

gen4

1475

4173

104,236

12.3

11.8r

0.5

 

1.8

0.5

1.3

4c

l30

2698

15,360

51,093

1.8

1.6

0.1

0.1

4.0

0.8

3.2

4d

fxm3_16

32,946

57,391

315,606

7.2

7.2

0.1

 

1.0

0.8

0.2

4d

pltexpa4_6

13,693

24,221

70,946

3.0

3.0

0.1

 

1.3

1.2

0.1

4d

scfxm1-2r-256

25,922

45,663

158,006

8.1

8.1

0.1

 

1.6

1.0

0.5

4d

stormg2-125

47,536

129,869

358,498

28.3

28.1

0.2

 

2.8

2.5

0.4

4d

stormg2_1000

380,036

1,038,119

2,865,373

 

f

  

29.3

24.1

5.2

5

30_70_45_095_100

12,515

10,967

46,614

2.4

1.0

1.5

 

1.2

0.3

0.9

5

app1-2

52,261

26,265

194,705

4.5

4.4

0.1

 

1.0

0.9

0.2

5

atlanta-ip

19,835

17,484

182,879

10.2

10.0

0.2

 

4.8

4.5

0.3

5

bab3

22,478

393,457

3,097,799

120.1

119.8

0.3

 

6.2

5.9

0.3

5

bley_xl1

175,178

5724

867,393

10.4

7.8

2.6

 

13.5

13.2

0.3

5

buildingenergy

225,031

128,695

683,844

262.5

260.5

2.0

 

6.1

5.7

0.5

5

circ10-3

42,620

2700

307,320

1.2

1.0

0.3

 

0.6

0.4

0.2

5

core4872-1529

4607

24,098

184,762

4.2

4.1

0.1

 

1.6

1.3

0.3

5

dano3mip

3150

13,837

79,530

1.7

1.7

0.0

 

1.1

0.9

0.2

5

datt256

9863

196,147

1,124,622

1218.3

158.1

1060.2

 

718.3

1.0

717.3

5

dc1l

1650

35,496

424,338

5.9

5.9

0.1

 

1.1

1.0

0.1

5

dolom1

1802

10,825

176,976

2.4

2.4

0.0

 

0.6

0.5

0.0

5

ds-big

1042

173,029

4,573,582

196.9

195.4

1.6

 

6.0

5.0

1.0

5

ex10

62,932

15,896

1,031,940

38.7

12.9

25.8

 

121.8

114.4

7.4

5

f2000

10,495

3995

29,490

3.6

2.3

1.3

 

2.8

0.9

1.9

5

germanrr

5524

10,650

159,548

2.0

1.9

0.0

0.0

0.3

0.3

0.0

5

gmut-75-50

2499

35,915

569,806

6.0

5.9

0.0

0.0

0.8

0.7

0.1

5

in

1,495,549

1,439,571

6,696,217

5381.1

4622.9

758.2

 

101.2

82.7

18.4

5

ivu06-big

1177

2,197,774

22,556,378

2067.8

2064.9

2.9

 

34.3

30.7

3.6

5

ivu52

2116

157,543

2,178,871

69.2

68.4

0.8

 

3.5

3.2

0.3

5

map06

37,504

18,973

81,653

11.3

11.2

0.1

 

3.5

3.2

0.3

5

mining

661,094

348,958

2,754,430

772.0

770.0

2.0

 

46.6

36.8

9.8

5

momentum3

56,421

13,334

566,199

25.7

25.6

0.2

 

22.1

18.0

4.0

5

msc98-ip

15,293

12,823

81,666

4.1

3.6

0.3

0.2

3.0

2.6

0.4

5

mspp16

524,814

4081

27,555,511

65.3

65.0

0.3

 

57.4

52.7

4.7

5

mzzv11

9316

9902

133,424

2.3

2.1

0.2

 

1.6

1.5r

0.1

5

n15-3

28,860

153,140

575,246

19.0

18.6

0.3

 

2.4

2.1

0.3

5

n3seq24

5950

119,856

2,404,844

27.0

26.5

0.5

 

4.1

3.7

0.3

5

nb10tb

94,742

49,744

802,185

92.8

78.2

0.6

14.0

53.6

41.9

11.7

5

neos-1140050

3795

39,075

806,835

6.8

6.8

0.0

 

3.9

3.3

0.6

5

neos-1429212

29,416

64,404

1,222,493

34.1

31.4

2.6

 

3.3

1.9

1.4

5

neos-1605075

3464

4085

91,314

1.3

0.9

0.3

 

1.0

0.9

0.2

5

neos-476283

4312

6528

3,924,503

23.8

23.3

0.5

 

20.0

19.8

0.3

5

neos-506428

129,925

42,981

343,466

7.5

4.4

3.1

 

1.3

1.0

0.3

5

neos-520729

17,391

64,464

175,131

12.1

11.8

0.3

 

0.4

0.4

0.1

5

neos-631710

169,576

167,056

834,166

220.2

3.4

216.8

 

8.7

1.2

7.5

5

neos-738098

25,736

8981

100,842

2.6

1.5

1.1

 

0.6

0.5

0.1

5

neos-799711

12,660

11,615

40,152

1.4

1.3

0.1

 

0.5

0.4

0.1

5

neos-824661

18,804

29,920

122,230

2.0

1.7

0.3

 

0.3

0.2

0.1

5

neos-826694

6730

15,210

52,020

1.2

0.8

0.3

 

0.2

0.1

0.1

5

neos-933638

9642

8887

54,484

1.9

1.0

0.9

 

0.6

0.4

0.3

5

neos-941313

13,099

116,670

386,400

8.4

6.9

1.6

 

1.1

0.4

0.7

5

neos-948126

7208

7777

37,891

1.6

1.1

0.5

 

0.4

0.2

0.2

5

neos-957389

5114

6034

355,369

4.4

4.3

0.1

 

0.6

0.5

0.1

5

neos-984165

6921

7315

36,573

1.7

1.2

0.5

 

0.4

0.2

0.2

5

neos6

1036

8563

251,723

1.1

1.1

0.0

 

0.5

0.4

0.0

5

neos808444

17,729

19,330

119,357

2.8

1.2

1.6

 

0.6

0.4

0.3

5

net12

13,975

14,115

80,108

2.8

2.8

0.0

 

4.4

4.4

0.0

5

netdiversion

99,581

128,968

495,878

110.3

105.2

5.1

 

14.4

4.2

10.3

5

npmv07

60,835

162,180

378,798

23.1

22.9

0.2

 

3.7

3.5

0.2

5

ns1111636

13,453

76,462

283,284

5.3

5.1

0.2

 

0.5

0.4

0.1

5

ns1116954

131,865

11,928

409,850

7.0

2.1

4.9

 

12.2

11.7

0.4

5

ns1631475

24,074

22,485

100,023

4.6

4.4

0.3

 

1.0

0.5

0.5

5

ns1644855

30,597

30,199

2,100,495

49.5

47.9

1.6

 

131.6

131.2

0.5

5

ns1663818

167,047

123,027

20,177,986

1105.0

1077.8r

27.3

 

208.3

197.3r

10.9

5

ns1685374

43,195

9174

206,101

9.9

9.9

0.0

 

11.9

1.6

10.4

5

ns1696083

10,513

7748

371,757

4.9

4.9

0.1

 

1.7

1.6

0.1

5

ns1758913

615,190

17,824

1,265,492

26.2

19.6

6.6

 

21.0

3.9

17.1

5

ns1853823

223,144

213,176

1,346,924

492.6

473.3

19.3

 

32.7

20.8r

11.9

5

ns1854840

143,236

135,754

844,834

136.5

124.1

12.4

 

6.2

4.7

1.6

5

ns1904248

146,398

38,262

371,070

6.6

1.7

4.9

 

0.8

0.7

0.2

5

ns1905797

51,876

18,188

239,156

1.6

1.5

0.1

 

11.4

11.3

0.1

5

ns2017839

49,884

53,364

298,482

20.2

20.1

0.1

0.0

7.3

3.2r

4.1

5

ns2118727

160,408

164,350

636,614

42.0

41.9

0.1

 

13.8

13.5

0.3

5

ns2122603

19,036

16,556

64,357

 

f

  

4.4

1.6

2.9

5

ns2124243

32,277

48,893

192,513

4.8

4.4

0.4

 

0.6

0.3

0.3

5

ns2137859

99,385

99,462

593,332

11.6

11.4

0.2

 

2.7

2.1

0.5

5

ns894244

9479

16,399

68,362

3.1

2.6

0.5

 

0.8

0.6

0.2

5

ns930473

22,846

33,136

139,974

7.2

6.8

0.4

 

1.1

0.8

0.4

5

nsr8k

6283

38,264

370,206

16.8

16.4

0.4

 

4.7

3.9

0.7

5

ofi

105,107

222,217

848,037

135.5

134.7

0.8

0.1

29.0

28.5

0.5

5

opm2-z11-s8

205,936

7653

473,063

19.4

10.9

8.6

 

22.4

15.0

7.4

5

opm2-z12-s7

297,892

10,336

678,441

44.4

20.4

23.9

 

37.8

23.2

14.6

5

pb-simp-nonunif

123,532

11,798

298,082

1.3

1.0

0.3

 

1.3

0.7

0.5

5

rail02

54,524

192,618

599,436

71.0

62.3

8.6

 

45.2

42.0

3.2

5

rail03

129,647

567,095

1,349,518

399.2

318.7

80.5

 

55.4

48.7

6.8

5

ramos3

2187

2187

32,805

4.6

1.0

3.6

 

4.4

0.3

4.1

5

reblock420

62,800

4200

138,670

1.9

1.2

0.8

 

0.8

0.6

0.3

5

rmatr100-p5

8685

8784

26,152

3.9

3.8

0.0

 

9.1

9.1

0.0

5

rmatr200-p5

37,617

37,816

113,048

56.5

55.7

0.8

 

1.3

1.2

0.1

5

rmine14

268,474

32,144

659,980

83.0

80.4

2.6

 

48.6

20.8

27.8

5

rmine21

1,441,506

162,402

3,514,014

2707.8

2580.2

127.7

 

1620.0

694.8

925.2

5

rocII-9-11

42,412

20,557

503,343

6.6

6.3

0.3

 

1.1

0.7

0.3

5

satellites3-40-fs

28,171

54,578

199,798

22.0

14.7

7.4

 

6.2

3.1

3.1

5

satellites3-40

37,422

54,578

588,630

34.4

25.4

9.0

 

61.2

56.6

4.6

5

sct1

9171

14,514

85,676

4.2

4.1

0.1

 

1.3

1.2

0.1

5

shs1023

126,657

432,068

1,013,029

173.5

170.8

2.7

 

14.4

12.8

1.6

5

siena1

2211

13,482

254,310

3.9

3.8

0.1

 

1.1

1.0

0.1

5

sing161

150,806

464,036

1,459,828

281.9

273.6

8.3

 

13.6

12.1

1.5

5

sing359

153,253

428,748

1,408,257

268.7

258.4

10.3

 

11.9

10.1

1.8

5

sp97ar

1692

14,100

281,317

1.4

1.4

0.0

 

0.2

0.2

0.0

5

splan1

521,819

1,253,087

5,088,694

5242.2

4989.8

250.4

1.9

1775.7

1587.6

188.1

5

stockholm

36,517

16,622

111,003

5.6

5.5

0.1

 

0.7

0.6

0.1

5

stp3d

97,936

137,646

500,753

196.5

163.4

33.1

 

11.2

9.4

1.8

5

tanglegram1

68,210

34,501

204,158

7.3

5.8

1.5

 

7.7

0.3

7.4

5

triptim3

14,121

22,982

494,503

14.2

13.3

0.9

 

5.3

4.8

0.5

5

uc-case3

34,288

27,194

230,068

7.2

7.0

0.2

 

1.1

0.9

0.2

5

unitcal_7

43,301

25,767

109,859

12.5

12.1

0.4

 

1.1

0.9

0.2

5

van

22,016

7360

481,408

2.7

2.7

0.0

 

7.5

7.3

0.1

5

vpphard

39,140

43,395

332,904

8.2

7.2

1.0

 

3.7

3.4

0.3

5

vpphard2

136,399

139,234

561,958

26.2

25.8

0.4

 

36.6

36.3

0.3

5

wnq-n100-mw99-14

656,900

10,000

1,333,400

20.3

20.0

0.2

 

39.4

39.0

0.3

6a

fome13

34,600

76,249

246,895

40.5

36.0

4.5

 

5.8

4.6

1.2

6a

fome21

24,173

162,336

356,706

15.5

15.0

0.5

 

3.5

3.1

0.4

6b

cont1

120,395

40,398

359,593

88.5

88.4

0.1

 

18.8

2.0

16.8

6b

cont11

120,395

80,396

359,593

668.6

641.7

4.8

22.1

250.0

1.9

248.1

6b

cont11_l

1,468,599

981,396

4,403,001

 

f

  

3256.3

32.1

3224.2

6b

cont1_l

1,918,399

641,598

5,752,001

 

f

  

1951.3

50.3

1900.9

6b

neos

419,478

41,140

911,651

118.8

118.6

0.2

 

8.1

7.8

0.3

6b

neos1

131,581

1892

468,009

7.9

7.8

0.1

 

1.4

1.3

0.1

6b

neos3

512,209

6624

1,542,816

60.9

27.4

33.5

 

38.6

11.4

27.2

6b

ns1687037

36,080

30,955

1,377,655

145.8

145.8

0.1

 

24.5

15.4

9.1

6b

ns1688926

24,576

16,489

901,120

 

f

  

28.9

22.5r

6.4

6b

sgpf5y6

19,499

39,020

109,247

3.4

3.3

0.1

 

1.7

1.4

0.3

6b

watson_1

107,522

216,565

658,933

85.7

85.2

0.5

 

4.5

3.3

1.3

6b

watson_2

185,474

378,986

1,040,238

193.8

192.7

1.1

 

6.5

3.5

3.0

6c

nug08-3rd

18,270

20,448

128,547

573.8

253.7

320.1

 

91.2

18.8

72.4

6c

nug20

14,098

72,546

281,906

192.3

176.1

16.1

 

435.5

37.5

398.0

6c

nug30

52,260

379,350

1,567,800

11,473.2

5125.2

6337.0

11.1

 

1400.5

t

6d

pds-100

94,994

433,867

933,313

110.6

104.9

5.7

 

30.9

28.1

2.7

6d

pds-60

54,289

285,112

617,497

39.5

37.7

1.8

 

16.5

15.4

1.1

6e

rail2586

2463

909,940

7,901,059

259.0

258.6

0.4

 

15.3

12.7

2.7

6e

rail4284

4176

1,090,526

11,174,639

370.7

369.9

0.8

 

32.9

29.7

3.2

7

dfl001

4325

9511

30,833

2.2

2.0

0.1

 

0.6

0.5

0.1

7

pilot87

1815

4420

70,035

1.6

1.6

0.0

 

0.4

0.3

0.2

7

qap15

5698

22,218

85,413

15.4

13.3

2.1

 

4.3

2.8

1.5

  1. f failed, t 36, 000 s time limit reached, r IPM solution reported not optimal

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Schork, L., Gondzio, J. Implementation of an interior point method with basis preconditioning. Math. Prog. Comp. 12, 603–635 (2020). https://doi.org/10.1007/s12532-020-00181-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-020-00181-8

Keywords

Mathematics Subject Classification

Navigation