Mathematical Programming Computation

, Volume 5, Issue 3, pp 227–265 | Cite as

TACO: a toolkit for AMPL control optimization

Full Length Paper


We describe a set of extensions to the AMPL modeling language to conveniently model mixed-integer optimal control problems for ODE or DAE dynamic processes. These extensions are realized as AMPL user functions and suffixes and do not require intrusive changes to the AMPL language standard or implementation itself. We describe and provide TACO, a Toolkit for AMPL Control Optimization that reads AMPL files and detects the structure of the optimal control problem. This toolkit is designed to facilitate the coupling of existing optimal control software packages to AMPL. We discuss requirements, capabilities, and the current implementation. Using the example of the multiple shooting code for optimal control MUSCOD-II, a direct and simultaneous method for DAE-constrained optimal control, we demonstrate how the problem information provided by the TACO toolkit is interfaced to the solver. In addition, we show how the MS-MINTOC algorithm for mixed-integer optimal control can be used to efficiently solve mixed-integer optimal control problems modeled in AMPL. We use the AMPL extensions to model three control problem examples and we discuss how those extensions affect the representation of optimal control problems. Solutions to these problems are obtained by using MUSCOD-II and MS-MINTOC inside the AMPL environment. A collection of further AMPL control models is provided on the web site MUSCOD-II and MS-MINTOC have been made available on the NEOS Server for Optimization, using the TACO toolkit to enable input of AMPL models.


Mixed-integer optimal control Differential-algebraic equations Domain specific languages Mathematical modeling 

Mathematics Subject Classification (2010)

49M37 68N15 90-04 93A30 



The research leading to these results has received funding from the European Union Seventh Framework Programme FP7/2007-2013 under grant agreement no FP7-ICT-2009-4 248940. The first author acknowledges a travel grant by Heidelberg Graduate Academy, funded by the German Excellence Initiative. We thank Hans Georg Bock, Johannes P. Schlöder, and Sebastian Sager for permission to use the optimal control software package MUSCOD-II and the mixed-integer optimal control algorithm MS-MINTOC. This work was also supported by the Office of Advanced Scientific Computing Research, Office of Science, U.S. Department of Energy, under Contract DE-AC02-06CH11357, and by the Directorate for Computer and Information Science and Engineering of the National Science Foundation under award NSF-CCF-0830035.


  1. 1.
    Abhishek, K., Leyffer, S., Linderoth, T.: FilMINT: an outer approximation-based solver for mixed-integer nonlinear programs. INFORMS J. Comput. 22(4), 555–567 (2010).
  2. 2.
    Achtziger, W., Kanzow, C.: Mathematical programs with vanishing constraints: optimality conditions and constraint qualifications. Math. Program. Ser. A 114, 69–99 (2008).
  3. 3.
    Åkesson, J., Årzén, K., Gräfvert, M., Bergdahl, T., Tummescheit. H.: Modeling and optimization with Optimica and–languages and tools for solving large-scale dynamic optimization problems. Comput. Chem. Eng. 34(11), 1737–1749 (2008).
  4. 4.
    Albersmeyer, J.: Adjoint based algorithms and numerical methods for sensitivity generation and optimization of large scale dynamic systems. PhD thesis, Ruprecht-Karls-Universität Heidelberg (2010).
  5. 5.
    Andreani, R., Birgin, E., Martinez, J., Schuverdt, M.: On augmented Lagrangian methods with general lower-level constraints. SIAM J. Optim. 18, 1286–1309 (2007).
  6. 6.
    Andreani, R., Birgin, E., Martinez, J., Schuverdt, M.: Augmented Lagrangian methods under the constant positive linear dependence constraint qualification. Math Program 111, 5–32 (2008).
  7. 7.
    Barton, P., Pantelides, C.: gPROMS—a combined discrete/continuous modelling environment for chemical processing systems. Simul. Ser. 25, 25–34 (1993)Google Scholar
  8. 8.
    Bauer, I., Bock, H., Körkel, S., Schlöder, J.: Numerical methods for initial value problems and derivative generation for DAE models with application to optimum experimental design of chemical processes. In: Scientific Computing in Chemical Engineering II, pp 282–289. Springer, Berlin (1999).
  9. 9.
    Belotti, P.: Couenne: a user’s manual. Tech. rep., Lehigh University (2009).
  10. 10.
    Betts, J., Eldersveld, S., Huffman, W.: Sparse nonlinear programming test problems (Release 1.0). Tech. rep. BCSTECH-93-074, Boeing Computer Services (1993)Google Scholar
  11. 11.
    Bock, H., Plitt, K.: A multiple shooting algorithm for direct solution of optimal control problems. In: Proceedings of the 9th IFAC World Congress, pp 242–247. Pergamon Press, Budapest (1984).
  12. 12.
    Bonami, P., Biegler, L., Conn, A., Cornuéjols, G., Grossmann, I., Laird, C., 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). Google Scholar
  13. 13.
    Box, G., Hunter, W., MacGregor, J., Erjavec, J.: Some problems associated with the analysis of multiresponse data. Technometrics 15, 33–51 (1973). Google Scholar
  14. 14.
    Bryson, A., Ho, Y.: Applied optimal control: optimization, estimation, and control. Wiley, Hoboken (1975)Google Scholar
  15. 15.
    Byrd, R.H., Hribar, M.E., Nocedal, J.: An interior point algorithm for large scale nonlinear programming. SIAM J. Optim. 9(4), 877–900 (1999)MathSciNetMATHCrossRefGoogle Scholar
  16. 16.
    Byrd, R.H., Gilbert, J.C., Nocedal, J.: A trust region method based on interior point techniques for nonlinear programming. Math. Program. 89, 149–185 (2000). Google Scholar
  17. 17.
    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, pp 35–59. Springer, Berlin (2006).
  18. 18.
    Cesari, L.: Optimization—theory and applications. Springer, Berlin (1983)MATHGoogle Scholar
  19. 19.
    Conn, A.R., Gould, N.I.M., Toint, P.L.: LANCELOT: A Fortran Package for Large-Scale Nonlinear Optimization (Release A). Springer, Heidelberg (1992)MATHGoogle Scholar
  20. 20.
    Cuthrell, J., Biegler, L.: On the optimization of differential-algebraic process systems. AIChE 33, 1257–1270 (1987).
  21. 21.
    Diehl, M.: Real-time optimization for large scale nonlinear processes. PhD thesis, Ruprecht-Karls-Universität Heidelberg (2001).
  22. 22.
    Diehl, M., Leineweber, D., Schäfer, A.: MUSCOD-II Users’ Manual. IWR Preprint 2001–25, Interdisciplinary Center for Scientific Computing (IWR), Ruprecht-Karls-Universität Heidelberg, Im Neuenheimer Feld 368, 69120 Heidelberg, Germany (2001).
  23. 23.
    Diehl, M., Bock, H., Kostina, E.: An approximation technique for robust nonlinear optimization. Math. Program. 107, 213–230 (2006). Google Scholar
  24. 24.
    Dolan, E., Moré, J., Munson, T.: Benchmarking Optimization Software with COPS 3.0. Tech. rep. ANL/MCS-TM-273, Mathematics and Computer Science Division, Argonne National Laboratory, 9700 South Cass Avenue, Argonne, IL 60439, USA (2004).
  25. 25.
    Elmqvist, H., Brück, D.: Dymola–dynamic modeling language. User’s manual, Dynasim AB (2001)Google Scholar
  26. 26.
    Fletcher, R., Leyffer, S.: User manual for filterSQP. Tech. rep., University of Dundee (1999).
  27. 27.
    Floudas, C., Pardalos, P., Adjiman, C., Esposito, W., Gumus, Z., Harding, S., Klepeis, J., Meyer, C., Schweiger, C.: Handbook of Test Problems for Local and Global Optimization. Kluwer, Dordrecht (1999)CrossRefGoogle Scholar
  28. 28.
    Fourer, B., Ferris, M.C., Gay, D.M.: Expressing complementarity problems and communicating them to solvers. SIAM J. Optim. 9, 991–1009 (1999).
  29. 29.
    Fourer, R., Gay, D., Kernighan, B.: A modeling language for mathematical programming. Manage. Sci. 36, 519–554 (1990). Google Scholar
  30. 30.
    Fourer, R., Gay, D.M., Kernighan, B.W.: AMPL: A Modelling Language for Mathematical Programming, 2nd edn. Books/Cole-Thomson Learning (2003)Google Scholar
  31. 31.
    Gay, D.M.: Hooking your solver to AMPL. Tech. rep., Bell Laboratories, Murray Hill, NJ (1993; revised 1994, 1997).
  32. 32.
    Gill, P., Murray, W., Saunders, M., Wright, M.: User’s guide for NPSOL Version 5.0: a Fortran package for nonlinear programming. Report SOL 86–1, Dept. of Mathematics, University of California, San Diego (1998)
  33. 33.
    Gill, P., Murray, W., Saunders, M.: SNOPT: An SQP algorithm for large-scale constrained optimization. SIAM J. Optim. 12, 979–1006 (2002).
  34. 34.
    Gropp, W., Moré, J.: Optimization environments and the NEOS Server. In: Buhmann M, Iserles A (eds.) Approximation theory and optimization, pp 167–182. Cambridge University Press, Cambridge (1997).
  35. 35.
    Hatz, K.: Estimating parameters in optimal control problems. Ruprecht-Karls-Universität Heidelberg, Diploma thesis (2008)Google Scholar
  36. 36.
    Kameswaran, S., Biegler, L.: Advantages of nonlinear-programming-based methodologies for inequality path-constrained optimal control problems - a numerical study. SIAM J. Sci. Comput. 30, 957–981 (2008).
  37. 37.
    Kirches, C.: Fast numerical methods for mixed-integer nonlinear model-predictive control. PhD thesis, Ruprecht-Karls-Universität Heidelberg (2010).
  38. 38.
    Kočvara, M., Stingl, M.: PENNON–a code for convex nonlinear and semidefinite programming. Optim. Methods Softw. 18(3), 317–333 (2003).
  39. 39.
    Kočvara, M., Stingl, M.: PENNON User’s Guide (Version 0.9). PENOPT (2008).
  40. 40.
    Kühl, P., Milewska. A., Diehl, M., Molga, E., Bock, H.: NMPC for runaway-safe fed-batch reactors. In: Proc. Int. Workshop on Assessment and Future Directions of NMPC, pp. 467–474 (2005).
  41. 41.
    Leineweber, D.: Analyse und Restrukturierung eines Verfahrens zur direkten Lösung von Optimal-Steuerungsproblemen. Ruprecht-Karls-Universität Heidelberg, Diploma thesis (1995)Google Scholar
  42. 42.
    Leineweber, D.: Efficient reduced SQP methods for the optimization of chemical processes described by large sparse DAE models, Fortschritt-Berichte VDI Reihe 3, Verfahrenstechnik, vol. 613. VDI Verlag, Düsseldorf (1999)Google Scholar
  43. 43.
    Leineweber, D., Bauer, I., Schäfer, A., Bock, H., Schlöder, J.: An efficient multiple shooting based reduced SQP strategy for large-scale dynamic process optimization (Parts I and II). Comput. Chem. Eng. 27, 157–174 (2003)., Google Scholar
  44. 44.
    Leyffer, S.: User manual for MINLP. University of Dundee (1998)Google Scholar
  45. 45.
    Logsdon, J., Biegler, L.: Decomposition strategies for large-scale dynamic optimization problems. Chem. Eng. Sci. 47(4), 851–864 (1992). Google Scholar
  46. 46.
    Maria, G.: An adaptive strategy for solving kinetic model concomitant estimation-reduction problems. Can. J. Chem. Eng. 67, 825 (1989). Google Scholar
  47. 47.
    Mattsson, S., Elmqvist, H., Broenink, J.: Modelica: an international effort to design the next generation modelling language. J. A Benelux Q. J. Autom. Control 38(3), 16–19 (1997), special issue on Computer Aided Control System Design, CACSD (1998).
  48. 48.
    Milewska, A.: Modelling of batch and semibatch chemical reactors—safety aspects. PhD thesis, Warsaw University of Technology (2006)Google Scholar
  49. 49.
    Moessner-Beigel, M.: Optimale Steuerung für Industrieroboter unter Berücksichtigung der getriebebedingten Elastizität. Diploma thesis Ruprecht-Karls-Universität Heidelberg (1995)Google Scholar
  50. 50.
    Murtagh, B., Saunders, M.: MINOS 5.4 user’s guide. Report SOL 83–20R, Department of Operations Research, Stanford University (1993)Google Scholar
  51. 51.
    Nocedal, J., Wright, S.: Numerical Optimization, 2nd edn. Springer, Berlin (2006)MATHGoogle Scholar
  52. 52.
    Petzold, L., Li, S., Cao, Y., Serban, R.: Sensitivity analysis of differential-algebraic equations and partial differential equations. Comput. Chem. Eng. 30, 1553–1559 (2006).
  53. 53.
    Plitt, K.: Ein superlinear konvergentes Mehrzielverfahren zur direkten Berechnung beschränkter optimaler Steuerungen. Diploma thesis Rheinische Friedrich-Wilhelms-Universität Bonn (1981)Google Scholar
  54. 54.
    Potschka, A., Bock, H., Schlöder, J.: A minima tracking variant of semi-infinite programming for the treatment of path constraints within direct solution of optimal control problems. Optim. Methods Softw. 24(2), 237–252 (2009).
  55. 55.
    Rothschild, B., Sharov, A., Kearsley, A., Bondarenko, A.: Estimating growth and mortality in stage-structured populations. J. Plankton Res. 19, 1913–1928 (1997). Google Scholar
  56. 56.
    Rutquist, P., Edvall, M.: PROPT–Matlab Optimal Control Software. User’s manual, TOMLAB Optimization (2010).
  57. 57.
    Sager, S.: Numerical methods for mixed-integer optimal control problems. Der andere Verlag, Tönning, Lübeck, Marburg (2005).
  58. 58.
    Sager, S.: A benchmark library of mixed-integer optimal control problems. In: Proceedings MINLP09 (2011).
  59. 59.
    Sager, S., Bock, H., Diehl, M.: The integer approximation error in mixed-integer optimal control. Math. Program. A (2011). doi:10.1007/s10107-010-0405-3.
  60. 60.
    von Stryk, O.: User’s guide for DIRCOL (Version 2.1): a direct collocation method for the numerical solution of optimal control problems. Tech. rep., Technische Universität München, Germany (1999)Google Scholar
  61. 61.
    Tjoa, I.B., Biegler, L.: Simultaneous solution and optimization strategies for parameter estimation of differential-algebraic equations systems. Ind. Eng. Chem. Res. 30, 376–385 (1991).
  62. 62.
    Vanderbei, R., Shanno, D.: An interior point algorithm for nonconvex nonlinear programming. COAP 13, 231–252 (1999).
  63. 63.
    Wächter, A., Biegler, L.: On the implementation of an interior-point filter line-search algorithm for Large-Scale Nonlinear Programming. Math. Program. 106(1), 25–57 (2006).

Copyright information

© Springer-Verlag Berlin Heidelberg and Mathematical Optimization Society 2013

Authors and Affiliations

  1. 1.Interdisciplinary Center for Scientific Computing (IWR)Heidelberg UniversityHeidelbergGermany
  2. 2.Mathematics and Computer Science DivisionArgonne National LaboratoryArgonneUSA

Personalised recommendations