A note on solving DiDi’s driver-order matching problem


This paper investigates the combinatorial nonlinear programming model that DiDi proposed for solving their driver-order matching problem. The model is reformulated to an equivalent continuous nonlinear program which is amenable to efficient commercial solvers. A backward induction procedure for computing the lower bound is also proposed. Computational experiments demonstrate that the local solution produced by the reformulation becomes increasingly close to the global solution, thereby suggesting a diminishing marginal benefit of pursing global optimality as the problem size increases.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5


  1. 1.

    The original formulation in [34] has a multiplicative factor (1/N), to represent the arithmetic mean of order-level success rates. We ignore that factor here since it does not alter the mathematical problem.

  2. 2.

    DICOPT was configured to call CONOPT and CPLEX for solving the NLP and MIP subproblems, respectively. By default, DICOPT stops as soon as the NLP subproblems stop improving, which is a heuristic criterion. We have also tested setting the options to “stop=1 convex=1 maxcycles=1000” in an attempt to defer stopping until the global solution is obtained. However, in this setting the algorithm failed to converge in 30 min for all but one instances.

  3. 3.

    This is an empirical statement in light of Theorem 1. In theory, a solver could return a fractional solution when the optimal solution is not unique and both fractional and integral solutions exist. Example: \(\min \{(1-0.5 x_{11}) + (1-0.5 x_{21}) \mid x_{11} + x_{21} \le 1, x_{11} \ge 0, x_{21} \ge 0\}\). However, a fractional solution (away from 0 or 1 by at least \(10^{-7}\)) of FLC has never been encountered at the default solver option for an array of NLP solvers.

  4. 4.

    For KNITRO, the option “bar_maxcrossit=10” was used to invoke the cross over steps.


  1. 1.

    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). https://doi.org/10.1016/j.disopt.2006.10.011

    MathSciNet  Article  MATH  Google Scholar 

  2. 2.

    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., et al.: An algorithmic framework for convex mixed integer nonlinear programs. Discrete Optim. 5(2), 186–204 (2008)

    MathSciNet  Article  Google Scholar 

  3. 3.

    Bonami, P., Kilinç, M., Linderoth, J.: Algorithms and software for convex mixed integer nonlinear programs. In: Lee, J., Leyffer, S. (eds.) Mixed Integer Nonlinear Programming, pp. 1–39. Springer, New York (2012)

    Google Scholar 

  4. 4.

    Boyd, S., Vandenberghe, L.: Convex Optimization, 1st edn. Cambridge University Press, Cambridge (2004)

    Google Scholar 

  5. 5.

    Burer, S., Letchford, A.N.: Non-convex mixed-integer nonlinear programming: a survey. Surv. Oper. Res. Manag. Sci. 17(2), 97–106 (2012). https://doi.org/10.1016/j.sorms.2012.08.001

    MathSciNet  Article  Google Scholar 

  6. 6.

    Bussieck, M.R., Drud, A.: Sbb: a new solver for mixed integer nonlinear programming, Talk, OR (2001)

  7. 7.

    Byrd, R.H., Nocedal, J., Waltz, R.A.: KNITRO: an integrated package for nonlinear optimization. In: Large-Scale Nonlinear Optimization, Springer, pp. 35–59 (2006)

  8. 8.

    Calinescu, G., Chekuri, C., Pál, M., Vondrák, J.: Maximizing a monotone submodular function subject to a matroid constraint. SIAM J. Comput. 40(6), 1740–1766 (2011). https://doi.org/10.1137/080733991

    MathSciNet  Article  MATH  Google Scholar 

  9. 9.

    Costa, A., Liberti, L.: Relaxations of multilinear convex envelopes: dual is better than primal. In: Klasing, R. (ed.) Exp. Algorithms, pp. 87–98. Springer, Berlin (2012)

    Google Scholar 

  10. 10.

    Del Pia, A., Khajavirad, A.: The multilinear polytope for acyclic hypergraphs. SIAM J. Optim. 28(2), 1049–1076 (2018)

    MathSciNet  Article  Google Scholar 

  11. 11.

    Drud, A.: CONOPT: a GRG code for large sparse dynamic nonlinear optimization problems. Math. Program. 31(2), 153–191 (1985)

    MathSciNet  Article  Google Scholar 

  12. 12.

    Drud, A.S.: CONOPT: a large-scale GRG code. ORSA J. Comput. 6(2), 207–216 (1994)

    Article  Google Scholar 

  13. 13.

    Feige, U.: A threshold of ln n for approximating set cover. J. ACM 45(4), 634–652 (1998). https://doi.org/10.1145/285055.285059

    MathSciNet  Article  MATH  Google Scholar 

  14. 14.

    Ferris, M.C., Munson, T.S.: Interfaces to PATH 3.0: design, implementation and usage. Comput. Optim. Appl. 12(1–3), 207–227 (1999)

    MathSciNet  Article  Google Scholar 

  15. 15.

    Filmus, Y., Ward, J.: A tight combinatorial algorithm for submodular maximization subject to a matroid constraint. In: 2012 IEEE 53rd Annual Symposium on Foundations of Computer Science, pp. 659–668 (2012). https://doi.org/10.1109/FOCS.2012.55

  16. 16.

    Grossmann, I.E., Viswanathan, J., Vecchietti, A., Raman, R., Kalvelagen, E., et al.: GAMS/DICOPT: a discrete continuous optimization package. GAMS Corporation Inc, pp. 0885–8950 (2002)

  17. 17.

    Khajavirad, A., Sahinidis, N.V.: A hybrid LP/NLP paradigm for global optimization relaxations. Math. Program. Comput. 10(3), 383–421 (2018). https://doi.org/10.1007/s12532-018-0138-5

    MathSciNet  Article  MATH  Google Scholar 

  18. 18.

    Kocis, G.R., Grossmann, I.E.: Computational experience with DICOPT solving MINLP problems in process systems engineering. Comput. Chem. Eng. 13(3), 307–315 (1989)

    Article  Google Scholar 

  19. 19.

    Kronqvist, J., Bernal, D.E., Lundell, A., Grossmann, I.E.: A review and comparison of solvers for convex minlp. Optim. Eng. (2018). https://doi.org/10.1007/s11081-018-9411-8

    Article  Google Scholar 

  20. 20.

    Lehmann, B., Lehmann, D., Nisan, N.: Combinatorial auctions with decreasing marginal utilities. In: Proceedings of the 3rd ACM Conference on Electronic Commerce, EC ’01, ACM, New York, pp. 18–28 (2001). https://doi.org/10.1145/501158.501161

  21. 21.

    Lin, Y., Schrage, L.: The global solver in the LINDO API. Optim. Methods Softw. 24(4–5), 657–668 (2009)

    MathSciNet  Article  Google Scholar 

  22. 22.

    Luedtke, J., Namazifar, M., Linderoth, J.: Some results on the strength of relaxations of multilinear functions. Math. Program. 136, 325–351 (2012). https://doi.org/10.1007/s10107-012-0606-z

    MathSciNet  Article  MATH  Google Scholar 

  23. 23.

    Misener, R., Floudas, C.A.: ANTIGONE: algorithms for continuous/integer global optimization of nonlinear equations. J. Glob. Optim. 59(2–3), 503–526 (2014)

    MathSciNet  Article  Google Scholar 

  24. 24.

    Nemhauser, G.L., Wolsey, L.A.: Best algorithms for approximating the maximum of a submodular set function. Math. Oper. Res. 3(3), 177–188 (1978). http://www.jstor.org/stable/3689488

  25. 25.

    Nemhauser, G.L., Wolsey, L.A., Fisher, M.L.: An analysis of approximations for maximizing submodular set functions—i. Math. Program. 14(1), 265–294 (1978). https://doi.org/10.1007/BF01588971

    MathSciNet  Article  MATH  Google Scholar 

  26. 26.

    Nocedal, J., Wright, S.J.: Numerical Optimization, 2nd edn. Springer, Berlin (2006)

    Google Scholar 

  27. 27.

    Rikun, A.D.: A convex envelope formula for multilinear functions. J. Glob. Optim. 10, 425–437 (1997)

    MathSciNet  Article  Google Scholar 

  28. 28.

    Ross, S.: I-finite-stage models. In: Ross, S. (ed.) Introduction to Stochastic Dynamic Programming, Probability and Mathematical Statistics: A Series of Monographs and Textbooks, Academic Press, pp. 1 – 27 (1983). https://doi.org/10.1016/B978-0-12-598420-1.50005-2

  29. 29.

    Sahinidis, N.V.: BARON: a general purpose global optimization software package. J. Glob. Optim. 8(2), 201–205 (1996)

    MathSciNet  Article  Google Scholar 

  30. 30.

    Sherali, H.D.: Convex envelopes of multilinear functions over a unit hypercube and over special discrete sets. ACTA Math. Vietnam. 22(1), 245–270 (1997)

    MathSciNet  MATH  Google Scholar 

  31. 31.

    Vondrak, J.: Optimal approximation for the submodular welfare problem in the value oracle model. In: Proceedings of the Fortieth Annual ACM Symposium on Theory of Computing, STOC ’08, ACM, New York, NY, pp. 67–74 (2008). https://doi.org/10.1145/1374376.1374389

  32. 32.

    Vondrák, J.: CS 369P: Polyhedral techniques in combinatorial optimization (2010). https://theory.stanford.edu/~jvondrak/CS369P/lec17.pdf

  33. 33.

    Wächter, A., Biegler, L.T.: On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Math. Program. 106(1), 25–57 (2006). https://doi.org/10.1007/s10107-004-0559-y

    MathSciNet  Article  MATH  Google Scholar 

  34. 34.

    Zhang, L., Hu, T., Min, Y., Wu, G., Zhang, J., Feng, P., Gong, P., Ye, J.: A taxi order dispatch model based on combinatorial optimization. In: Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ’17, ACM, New York, NY, USA, pp. 2151–2159 (2017). https://doi.org/10.1145/3097983.3098138

Download references


The author would like to thank two anonymous referees for their constructive comments that helped identify the connection to submodular functions and provided insights into global optimization algorithms, and thank Lingyu Zhang (DiDi Chuxing) and Dr. Ignacio Grossmann (Carnegie Mellon University) for helpful discussions.

Author information



Corresponding author

Correspondence to Yanchao Liu.

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

Liu, Y. A note on solving DiDi’s driver-order matching problem. Optim Lett 15, 109–125 (2021). https://doi.org/10.1007/s11590-020-01590-3

Download citation


  • Combinatorial optimization
  • Submodular welfare problem
  • Mixed integer nonlinear programming
  • Transportation applications