Advertisement

Juniper: An Open-Source Nonlinear Branch-and-Bound Solver in Julia

  • Ole Kröger
  • Carleton Coffrin
  • Hassan Hijazi
  • Harsha Nagarajan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10848)

Abstract

Nonconvex mixed-integer nonlinear programs (MINLPs) represent a challenging class of optimization problems that often arise in engineering and scientific applications. Because of nonconvexities, these programs are typically solved with global optimization algorithms, which have limited scalability. However, nonlinear branch-and-bound has recently been shown to be an effective heuristic for quickly finding high-quality solutions to large-scale nonconvex MINLPs, such as those arising in infrastructure network optimization. This work proposes Juniper, a Julia-based open-source solver for nonlinear branch-and-bound. Leveraging the high-level Julia programming language makes it easy to modify Juniper’s algorithm and explore extensions, such as branching heuristics, feasibility pumps, and parallelization. Detailed numerical experiments demonstrate that the initial release of Juniper is comparable with other nonlinear branch-and-bound solvers, such as Bonmin, Minotaur, and Knitro, illustrating that Juniper provides a strong foundation for further exploration in utilizing nonlinear branch-and-bound algorithms as heuristics for nonconvex MINLPs.

References

  1. 1.
    Audet, C., Brimberg, J., Hansen, P., Digabel, S.L., Mladenovic, N.: Pooling problem: alternate formulations and solution methods. Manage. Sci. 50(6), 761–776 (2004)CrossRefGoogle Scholar
  2. 2.
    Trespalacios, F., Kolodziej, S.P., Furman, K.C., Sawaya, N.W.: Multiperiod blend scheduling problem. Cyber Infrastructure for MINLP, June 2013. www.minlp.org/library/problem/index.php?i=168
  3. 3.
    Jabr, R.A.: Optimization of AC transmission system planning. IEEE Trans. Power Syst. 28(3), 2779–2787 (2013)CrossRefGoogle Scholar
  4. 4.
    Coffrin, C., Hijazi, H.L., Lehmann, K., Hentenryck, P.V.: Primal and dual bounds for optimal transmission switching. In: 2014 Power Systems Computation Conference, pp. 1–8, August 2014Google Scholar
  5. 5.
    Coffrin, C., Hijazi, H.L.: Heuristic MINLP for optimal power flow problems. In: 2014 IEEE Power & Energy Society General Meetings (PES) Application of Modern Heuristic Optimization Algorithms for Solving Optimal Power Flow Problems Competition (2014)Google Scholar
  6. 6.
    Borraz-Sanchez, C., Bent, R., Backhaus, S., Hijazi, H., Hentenryck, P.V.: Convex relaxations for gas expansion planning. INFORMS J. Comput. 28(4), 645–656 (2016)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Belotti, P., Kirches, C., Leyffer, S., Linderoth, J., Luedtke, J., Mahajan, A.: Mixed-integer nonlinear optimization. Acta Numer. 22, 1–131 (2013)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Bonami, P., Biegler, L.T., Conn, A.R., Cornuéjols, G., Grossmann, I.E., Laird, C.D., Lee, J., Lodi, A., Margot, F., Sawaya, N., Wächter, A.: An algorithmic framework for convex mixed integer nonlinear programs. Discrete Optim. 5(2), 186–204 (2008). In memory of George B. DantzigMathSciNetCrossRefGoogle Scholar
  9. 9.
    Lubin, M., Yamangil, E., Bent, R., Vielma, J.P.: Extended formulations in mixed-integer convex programming. In: Louveaux, Q., Skutella, M. (eds.) IPCO 2016. LNCS, vol. 9682, pp. 102–113. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-33461-5_9CrossRefMATHGoogle Scholar
  10. 10.
    Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Bonami, P., Gunluk, O., Linderoth, J.: Solving box-constrained nonconvex quadratic programs (2016). http://www.optimization-online.org/DB_HTML/2016/06/5488.html
  12. 12.
    Ryoo, H., Sahinidis, N.: A branch-and-reduce approach to global optimization. J. Global Optim. 8(2), 107–138 (1996)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Belotti, P.: Couenne: user manual (2009). https://projects.coin-or.org/Couenne/. Accessed 04 Oct 2015
  14. 14.
    Nagarajan, H., Lu, M., Wang, S., Bent, R., Sundar, K.: An adaptive, multivariate partitioning algorithm for global optimization of nonconvex programs. arXiv preprint arXiv:1707.02514 (2017)
  15. 15.
    Nagarajan, H., Lu, M., Yamangil, E., Bent, R.: Tightening McCormick relaxations for nonlinear programs via dynamic multivariate partitioning. In: Rueher, M. (ed.) CP 2016. LNCS, vol. 9892, pp. 369–387. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-44953-1_24CrossRefGoogle Scholar
  16. 16.
    Sahraei-Ardakani, M., Korad, A., Hedman, K.W., Lipka, P., Oren, S.: Performance of AC and DC based transmission switching heuristics on a large-scale polish system. In: 2014 IEEE PES General Meeting—Conference Exposition, pp. 1–5, July 2014Google Scholar
  17. 17.
    Dunning, I., Huchette, J., Lubin, M.: JuMP: a modeling language for mathematical optimization. SIAM Rev. 59(2), 295–320 (2017)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Wächter, A., Biegler, L.T.: On the implementation of a primal-dual interior point filter line search algorithm for large-scale nonlinear programming. Math. Program. 106(1), 25–57 (2006)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Benichou, M., Gauthier, J.M., Girodet, P., Hentges, G., Ribiere, G., Vincent, O.: Experiments in mixed-integer linear programming. Math. Program. 1(1), 76–94 (1971)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Applegate, D., Bixby, R., Chvatal, V., Cook, B.: Finding cuts in the TSP (a preliminary report). Technical report (1995)Google Scholar
  21. 21.
    Achterberg, T., Koch, T., Martin, A.: Branching rules revisited. Oper. Res. Lett. 33(1), 42–54 (2005)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Fischetti, M., Glover, F., Lodi, A.: The feasibility pump. Math. Program. 104(1), 91–104 (2005)MathSciNetCrossRefGoogle Scholar
  23. 23.
    D’Ambrosio, C., Frangioni, A., Liberti, L., Lodi, A.: A storm of feasibility pumps for nonconvex MINLP. Math. Program. 136(2), 375–402 (2012)MathSciNetCrossRefGoogle Scholar
  24. 24.
    Byrd, R.H., Nocedal, J., Waltz, R.A.: KNITRO: an integrated package for nonlinear optimization. In: Di Pillo, G., Roma, M. (eds.) Large-Scale Nonlinear Optimization. Nonconvex Optimization and Its Applications, vol. 83, pp. 53–59. Springer, Boston (2006).  https://doi.org/10.1007/0-387-30065-1_4CrossRefGoogle Scholar
  25. 25.
    Kröger, O., Coffrin, C., Hijazi, H., Nagarajan, H.: Juniper (2017). https://github.com/lanl-ansi/Juniper.jl. Accessed 14 Dec 2017
  26. 26.
    Mahajan, A., Leyffer, S., Linderoth, J., Luedtke, J., Munson, T.: Minotaur: a mixed-integer nonlinear optimization toolkit (2017)Google Scholar
  27. 27.
    Gleixner, A., Eifler, L., Gally, T., Gamrath, G., Gemander, P., Gottwald, R.L., Hendel, G., Hojny, C., Koch, T., Miltenberger, M., Müller, B., Pfetsch, M.E., Puchert, C., Rehfeldt, D., Schlösser, F., Serrano, F., Shinano, Y., Viernickel, J.M., Vigerske, S., Weninger, D., Witt, J.T., Witzig, J.: The SCIP optimization suite 5.0. Technical report 17–61, ZIB, Takustr. 7, 14195 Berlin (2017)Google Scholar
  28. 28.
    Research Councils UK: The HSL mathematical software library. http://www.hsl.rl.ac.uk/. Accessed 30 Oct 2017
  29. 29.
    Vigerske, S.: MINLP Library 2 (2017). http://www.gamsworld.org/minlp/minlplib2/html/. Accessed 17 Dec 2017
  30. 30.
    Wang, S.: MINLPLibJuMP (2017). https://github.com/lanl-ansi/MINLPLibJuMP.jl. Accessed 14 Dec 2017
  31. 31.
    Free Software Foundation Inc.: GNU linear programming kit (2017). https://www.gnu.org/software/glpk/
  32. 32.
    The COIN-OR Foundation: COIN-OR CBC (2017). https://projects.coin-or.org/Cbc
  33. 33.
    Gurobi Optimization Inc.: Gurobi optimizer reference manual (2014). http://www.gurobi.com

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Ole Kröger
    • 1
  • Carleton Coffrin
    • 1
  • Hassan Hijazi
    • 1
  • Harsha Nagarajan
    • 1
  1. 1.Los Alamos National LaboratoryLos AlamosUSA

Personalised recommendations