Parallelization of the FICO Xpress-Optimizer

  • Timo Berthold
  • James Farmer
  • Stefan Heinz
  • Michael Perregaard
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9725)


Many optimization problems arising in practice can be modeled as mixed integer programs (MIPs). In this paper, we present the new parallelization concept for the state-of-the-art MIP solver FICO Xpress-Optimizer. A natural precondition to achieving reasonabling speedups from parallelization is maintaining a high workload of the available computational resources. At the same time, reproducibility and reliability are key requirements for mathematical optimization software; solvers like the FICO Xpress-Optimizer are expected to be deterministic. The resulting synchronization latencies render the goal of a satisfying workload a challenge in itself.

We address this challenge by following a partial information approach and separating the concepts of simultaneous tasks and independent threads from each other. Our computational results indicate that this leads to a much higher CPU workload and thereby to an improved scaling on modern high-performance CPUs. As an added value, the solution path that the FICO Xpress-Optimizer takes is not only deterministic in a fixed environment, but, to a certain extent, thread-independent.


Mathematical optimization Mixed integer programming Parallelization 


  1. 1.
    Achterberg, T.: Constraint integer programming. Technische Universität Berlin (2007)Google Scholar
  2. 2.
    Dantzig, G., Wolfe, P.: Decomposition principle for linear programs. Oper. Res. 8(1), 101–111 (1960)CrossRefzbMATHGoogle Scholar
  3. 3.
    FICO Xpress-Optimizer, Reference Manual.
  4. 4.
    Fischetti, M., Lodi, A., Monaci, M., Salvagnin, D., Tramontani, A.: Improving branch-and-cut performance by random sampling. Math. Programm. Comput. 1–20 (2015)Google Scholar
  5. 5.
    Fischetti, M., Monaci, M., Salvagnin, D.: Self-splitting of workload in parallel computation. In: Simonis, H. (ed.) CPAIOR 2014. LNCS, vol. 8451, pp. 394–404. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  6. 6.
    Huangfu, Q., Hall, J.: Parallelizing the dual revised simplex method. Technical report 1503.01889, ArXiv e-prints (2015)Google Scholar
  7. 7.
    Koch, T., Achterberg, T., Andersen, E., Bastert, O., Berthold, T., Bixby, R.E., Danna, E., Gamrath, G., Gleixner, A.M., Heinz, S., Lodi, A., Mittelmann, H., Ralphs, T., Salvagnin, D., Steffy, D.E., Wolter, K.: MIPLIB 2010. Math. Progam. Comput. 3, 103–163 (2011)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Land, A.H., Doig, A.G.: An automatic method of solving discrete programming problems. Econometrica 28(3), 497–520 (1960)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Laundy, R., Perregaard, M., Tavares, G., Tipi, H., Vazacopoulos, A.: Solving hard mixed-integer programming problems with Xpress-MP: a MIPLIB 2003 case study. Inf. J. Comput. 21(2), 304–313 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Nemhauser, G.L., Wolsey, L.A.: Integer and Combinatorial Optimization. Wiley, New York (1988)CrossRefzbMATHGoogle Scholar
  11. 11.
    Ralphs, T.K., Ladányi, L., Saltzman, M.J.: Parallel branch, cut and price for large-scale discrete optimization. Math. Program. B 98(1–3), 253–280 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Shinano, Y., Achterberg, T., Berthold, T., Heinz, S., Koch, T.: ParaSCIP: a parallel extension of SCIP. Competence in High Performance Computing 2010, pp. 135–148. Springer, Heidelberg (2011)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Timo Berthold
    • 1
  • James Farmer
    • 2
  • Stefan Heinz
    • 1
  • Michael Perregaard
    • 2
  1. 1.FICO (Fair Isaac Corporation)BerlinGermany
  2. 2.FICOBirminghamUK

Personalised recommendations