Compact representation of near-optimal integer programming solutions

  • Thiago SerraEmail author
  • J. N. Hooker
Full Length Paper Series A


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.


Decision diagrams Integer programming Postoptimality 

Mathematics Subject Classification

90C10 90C31 90C35 



  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)CrossRefzbMATHGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
  5. 5.
    Behle, M.: Binary decision diagrams and integer programming. In: Ph.D. Thesis, Universitat des Saarlandes (2007)Google Scholar
  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)Google Scholar
  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)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. Comput. 45(9), 993–1002 (1996)CrossRefzbMATHGoogle Scholar
  9. 9.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C–35, 677–691 (1986)CrossRefzbMATHGoogle 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)CrossRefGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)CrossRefGoogle Scholar
  14. 14.
    Fischetti, M., Salvagnin, D.: Pruning moves. INFORMS J. Comput. 22(1), 108–119 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Fischetti, M., Toth, P.: A new dominance procedure for combinatorial optimization problems. Oper. Res. Lett. 7(4), 181–187 (1988)MathSciNetCrossRefzbMATHGoogle 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)CrossRefzbMATHGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefzbMATHGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  27. 27.
    Holm, S., Klein, D.: Three methods for postoptimal analysis in integer linear programming. Math. Program. Study 21, 97–109 (1984)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)Google Scholar
  30. 30.
    Ibaraki, T.: The power of dominance relations in branch-and-bound algorithms. J. Assoc. Comput. Mach. 24(2), 264–279 (1977)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    Lee, C.Y.: Representation of switching circuits by binary-decision programs. Bell Syst. Tech. J. 38, 985–999 (1959)MathSciNetCrossRefGoogle Scholar
  35. 35.
    Miller-Hooks, E., Yang, B.: Updating paths in time-varying networks given arc weight changes. Trans. Sci. 39, 451–464 (2005)CrossRefGoogle Scholar
  36. 36.
    Schrage, L., Wolsey, L.: Sensitivity analysis for branch and bound integer programming. Oper. Res. 33, 1008–1023 (1985)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar
  38. 38.
    Wegener, I.: Branching programs and binary decision diagrams: theory and applications. In: Society for Industrial and Applied Mathematics (2000)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature and Mathematical Optimization Society 2019

Authors and Affiliations

  1. 1.Carnegie Mellon UniversityPittsburghUSA

Personalised recommendations