Compact representation of near-optimal integer programming solutions


It is often useful in practice to explore near-optimal solutions of an integer programming problem. We show how all solutions within a given tolerance of the optimal value can be efficiently and compactly represented in a weighted decision diagram. The structure of the diagram facilitates rapid processing of a wide range of queries about the near-optimal solution space, as well as reoptimization after changes in the objective function. We also exploit the paradoxical fact that the diagram can be reduced in size if it is allowed to represent additional solutions. We show that a “sound reduction” operation, applied repeatedly, yields the smallest such diagram that is suitable for postoptimality analysis, and one that is typically far smaller than a tree that represents the same set of near-optimal solutions. We conclude that postoptimality analysis based on sound-reduced diagrams has the potential to extract significantly more useful information from an integer programming model than was previously feasible.

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

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10


  1. 1.

    For example, all but one of the 22 pure integer instances in MIPLIB 3, and all but 25 of the 146 pure integer instances in MIPLIB 2010, are 0–1 instances.


  1. 1.

    Achterberg, T., Heinz, S., Koch, T.: Counting solutions of integer programs using unrestricted subtree detection. In: Perron, L., Trick, M.A. (eds.) Proceedings of CPAIOR, pp. 278–282. Springer, New York (2008)

    Google Scholar 

  2. 2.

    Akers, S.B.: Binary decision diagrams. IEEE Trans. Comput. C–27, 509–516 (1978)

    Article  Google Scholar 

  3. 3.

    Andersen, H.R., Hadžić, T., Hooker, J.N., Tiedemann, P.: A constraint store based on multivalued decision diagrams. In: Bessiere, C. (ed.) Principles and Practice of Constraint Programming (CP 2007). Lecture Notes in Computer Science, vol. 4741, pp. 118–132. Springer, New York (2007)

    Google Scholar 

  4. 4.

    Arthur, J.A., Hachey, M., Sahr, K., Huso, M., Kiester, A.R.: Finding all optimal solutions to the reserce site selection problem: Formulation and computational analysis. Environ. Ecol. Stat. 4, 153–165 (1997)

    Article  Google Scholar 

  5. 5.

    Behle, M.: Binary decision diagrams and integer programming. In: Ph.D. Thesis, Universitat des Saarlandes (2007)

  6. 6.

    Bergman, D., Cire, A.A., van Hoeve, W.J., Hooker, J.N.: Variable ordering for the application of BDDS to the maximum independent set problem. In: CPAIOR (2012)

  7. 7.

    Bergman, D., Ciré, A.A., van Hoeve, W.J., Hooker, J.N.: Discrete optimization with binary decision diagrams. INFORMS J. Comput. 28, 47–66 (2016)

    MathSciNet  Article  Google Scholar 

  8. 8.

    Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. Comput. 45(9), 993–1002 (1996)

    Article  Google Scholar 

  9. 9.

    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C–35, 677–691 (1986)

    Article  Google Scholar 

  10. 10.

    Camm, J.D.: ASP, the art and science of practice: a (very) short course in suboptimization. Interfaces 44(4), 428–431 (2014)

    Article  Google Scholar 

  11. 11.

    Danna, E., Fenelon, M., Gu, Z., Wunderling, R.: Generating multiple solutions for mixed integer programming problems. In: Fischetti, M., Williamson, D.P. (eds.) Proceedings of IPCO, pp. 280–294. Springer, New York (2007)

    Google Scholar 

  12. 12.

    Dawande, M., Hooker, J.N.: Inference-based sensitivity analysis for mixed integer/linear programming. Oper. Res. 48, 623–634 (2000)

    MathSciNet  Article  Google Scholar 

  13. 13.

    Ebendt, R., Gunther, W., Drechsler, R.: An improved branch and bound algorithm for exact bdd minimization. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 22(12), 1657–1663 (2003)

    Article  Google Scholar 

  14. 14.

    Fischetti, M., Salvagnin, D.: Pruning moves. INFORMS J. Comput. 22(1), 108–119 (2010)

    MathSciNet  Article  Google Scholar 

  15. 15.

    Fischetti, M., Toth, P.: A new dominance procedure for combinatorial optimization problems. Oper. Res. Lett. 7(4), 181–187 (1988)

    MathSciNet  Article  Google Scholar 

  16. 16.

    Gamrath, G., Hiller, B., Witzig, J.: Reoptimization techniques for MIP solvers. In: Bampis, E. (ed.) Proceedings of SEA, pp. 181–192. Springer, New York (2015)

    Google Scholar 

  17. 17.

    GAMS Support Wiki: Getting a List of Best Integer Solutions of My MIP (2013). Accessed 4 Apr 2019

  18. 18.

    Geoffrion, A.M., Nauss, R.: Parametric and postoptimality analysis in integer linear programming. Manag. Sci. 23(5), 453–466 (1977)

    Article  Google Scholar 

  19. 19.

    Glover, F., Løkketangen, A., Woodruff, D.L.: An annotated bibliography for post-solution analysis in mixed integer programming and combinatorial optimization. In: Laguna, M., González-Velarde, J.L. (eds.) OR Computing Tools for Modeling, Optimization and Simulation: Interfaces in Computer Science and Operations Research, pp. 299–317. Kluwer, New York (2000)

    Google Scholar 

  20. 20.

    Goetzendorff, A., Bichler, M., Shabalin, P., Day, R.W.: Compact bid languages and core pricing in large multi-item auctions. Manag. Sci. 61(7), 1684–1703 (2015)

    Article  Google Scholar 

  21. 21.

    Greistorfer, P., Løkketangen, A., Voß, S., Woodruff, D.L.: Experiments concerning sequential versus simultaneous maximization of objective function and distance. J. Heuristics 14, 613–625 (2008)

    Article  Google Scholar 

  22. 22.

    Hadžić, T., Hooker, J.N.: Discrete global optimization with binary decision diagrams. In: Workshop on Global Optimization: Integrating Convexity, Optimization, Logic Programming, and Computational Algebraic Geometry (GICOLAG). Vienna (2006)

  23. 23.

    Hadžić, T., Hooker, J.N.: Technical Report. Postoptimality analysis for integer programming using binary decision diagrams. Carnegie Mellon University, Pittsburgh (2006)

    Google Scholar 

  24. 24.

    Hadžić, T., Hooker, J.N.: Cost-bounded binary decision diagrams for 0–1 programming. In: van Hentemryck, P., Wolsey, L. (eds.) CPAIOR Proceedings. Lecture Notes in Computer Science, vol. 4510, pp. 332–345. Springer, New York (2007)

    Google Scholar 

  25. 25.

    Haus, U.U., Michini, C.: Representations of all solutions of Boolean programming problems. In: ISAIM (2014)

  26. 26.

    Hoda, S., van Hoeve, W.J., Hooker, J.N.: A systematic approach to MDD-based constraint programming. In: Proceedings of the 16th International Conference on Principles and Practices of Constraint Programming, Lecture Notes in Computer Science. Springer, New York (2010)

  27. 27.

    Holm, S., Klein, D.: Three methods for postoptimal analysis in integer linear programming. Math. Program. Study 21, 97–109 (1984)

    MathSciNet  Article  Google Scholar 

  28. 28.

    Hosaka, K., Takenaga, Y., Kaneda, T., Yajima, S.: Size of ordered binary decision diagrams representing threshold functions. Theor. Comput. Sci. 180, 47–60 (1997)

    MathSciNet  Article  Google Scholar 

  29. 29.

    Hu, A.J.: Techniques for efficient formal verification using binary decision diagrams. In: Thesis CS-TR-95-1561, Stanford University, Department of Computer Science, Stanford (1996)

  30. 30.

    Ibaraki, T.: The power of dominance relations in branch-and-bound algorithms. J. Assoc. Comput. Mach. 24(2), 264–279 (1977)

    MathSciNet  Article  Google Scholar 

  31. 31.

    IBM Support: Using CPLEX to Examine Alternate Optimal Solutions (2010). Accessed 4 Apr 2019

  32. 32.

    Kilinç-Karzan, F., Toriello, A., Ahmed, S., Nemhauser, G., Savelsbergh, M.: Approximating the stability region for binary mixed-integer programs. Oper. Res. Lett. 37, 250–254 (2009)

    MathSciNet  Article  Google Scholar 

  33. 33.

    Kohler, W., Steiglitz, K.: Characterization and theoretical comparison of branch-and-bound algorithms for permutation problems. J. Assoc. Comput. Mach. 21(1), 140–156 (1974)

    MathSciNet  Article  Google Scholar 

  34. 34.

    Lee, C.Y.: Representation of switching circuits by binary-decision programs. Bell Syst. Tech. J. 38, 985–999 (1959)

    MathSciNet  Article  Google Scholar 

  35. 35.

    Miller-Hooks, E., Yang, B.: Updating paths in time-varying networks given arc weight changes. Trans. Sci. 39, 451–464 (2005)

    Article  Google Scholar 

  36. 36.

    Schrage, L., Wolsey, L.: Sensitivity analysis for branch and bound integer programming. Oper. Res. 33, 1008–1023 (1985)

    MathSciNet  Article  Google Scholar 

  37. 37.

    Van Hoesel, S., Wagelmans, A.: On the complexity of postoptimality analysis of 0/1 programs. Discrete Appl. Math. 91, 251–263 (1999)

    MathSciNet  Article  Google Scholar 

  38. 38.

    Wegener, I.: Branching programs and binary decision diagrams: theory and applications. In: Society for Industrial and Applied Mathematics (2000)

Download references

Author information



Corresponding author

Correspondence to Thiago Serra.

Additional information

Publisher's Note

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

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Serra, T., Hooker, J.N. Compact representation of near-optimal integer programming solutions. Math. Program. 182, 199–232 (2020).

Download citation


  • Decision diagrams
  • Integer programming
  • Postoptimality

Mathematics Subject Classification

  • 90C10
  • 90C31
  • 90C35