PySCIPOpt: Mathematical Programming in Python with the SCIP Optimization Suite

  • Stephen Maher
  • Matthias Miltenberger
  • João Pedro Pedroso
  • Daniel Rehfeldt
  • Robert Schwarz
  • Felipe Serrano
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9725)

Abstract

SCIP is a solver for a wide variety of mathematical optimization problems. It is written in C and extendable due to its plug-in based design. However, dealing with all C specifics when extending SCIP can be detrimental to development and testing of new ideas. This paper attempts to provide a remedy by introducing PySCIPOpt, a Python interface to SCIP that enables users to write new SCIP code entirely in Python. We demonstrate how to intuitively model mixed-integer linear and quadratic optimization problems and moreover provide examples on how new Python plug-ins can be added to SCIP.

Keywords

SCIP Mathematical optimization Python Modeling 

References

  1. 1.
    Achterberg, T.: Constraint integer programming. Ph.D. thesis, Technische Universität Berlin (2007)Google Scholar
  2. 2.
    Dantzig, G.B., Fulkerson, D.R., Johnson, S.M.: Solution of a large-scale traveling-salesman problem. Oper. Res. 3, 393–410 (1954)MathSciNetGoogle Scholar
  3. 3.
    Gamrath, G., Fischer, T., Gally, T., Gleixner, A.M., Hendel, G., Koch, T., Maher, S.J., Miltenberger, M., Müller, B., Pfetsch, M.E., Puchert, C., Rehfeldt, D., Schenker, S., Schwarz, R., Serrano, F., Shinano, Y., Vigerske, S., Weninger, D., Winkler, M., Witt, J.T., Witzig, J.: The SCIP optimization suite 3.2. Technical report 15–60, ZIB, Takustr. 7, 14195 Berlin (2016)Google Scholar
  4. 4.
    Lubin, M., Dunning, I.: Computing in operations research using Julia. INFORMS J. Comput. 27(2), 238–248 (2015)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Vigerske, S., Gleixner, A., SCIP: global optimization of mixed-integer nonlinear programs in a branch-and-cut framework. Technical report 16–24, ZIB, Takustr. 7, 14195 Berlin (2016)Google Scholar
  6. 6.
    Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. Ph.D. thesis, Technische Universität Berlin (1996)Google Scholar
  7. 7.
  8. 8.
  9. 9.
    Decision support methods, Universidade do Porto. http://www.dcc.fc.up.pt/~jpp/mad/
  10. 10.
    PEP 0257 - Docstring Conventions. https://www.python.org/dev/peps/pep-0257/
  11. 11.
    GCG: Generic Column Generation. http://www.or.rwth-aachen.de/gcg/
  12. 12.
    Gurobi optimizer reference manual. http://www.gurobi.com/
  13. 13.
    SCIP: Solving Constraint Integer Programs. http://scip.zib.de/
  14. 14.
  15. 15.
    SoPlex: Sequential object-oriented simPlex. http://soplex.zib.de/
  16. 16.
    UG: Ubiquity Generator framework. http://ug.zib.de/
  17. 17.
    ZIMPL: Zuse Institute Mathematical Programming Language. http://zimpl.zib.de/

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Stephen Maher
    • 1
  • Matthias Miltenberger
    • 1
  • João Pedro Pedroso
    • 2
  • Daniel Rehfeldt
    • 1
  • Robert Schwarz
    • 1
  • Felipe Serrano
    • 1
  1. 1.Zuse Institute BerlinBerlinGermany
  2. 2.Faculdade de Ciências da Universidade do PortoPortoPortugal

Personalised recommendations