Abstract
Due to the physical processor frequency scaling constraint, current computer systems are equipped with more and more processing units. Therefore, parallel computing has become an important paradigm in the recent years. AMPL is a comprehensive algebraic modeling language for formulating optimization problems. However, AMPL itself does not support defining tasks to be executed in parallel. Although in last years the parallelism is often provided by solvers, which take advantage of multiple processing units, in many cases it is more efficient to formulate the problem in a decomposed way and apply various problem specific enhancements. Moreover, when the number of cores is permanently growing, it is possible to use both types of parallelism.
This paper presents the design of Parampl - a simple tool for parallel execution of AMPL programs. Parampl introduces explicit asynchronous execution of AMPL subproblems from within the program code. Such an extension implies a new view on AMPL programs, where a programmer is able to define complex, parallelized optimization tasks and formulate algorithms solving optimization subproblems in parallel.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The time of calculations of the AMPL mathematical instructions in the sequential part, i.e. the time of execution of the coordination algorithm is rather negligible. However, for much smaller problems and large numbers of subproblems and iterations, we noticed that significant portion of the execution time is the startup time of the Python virtual machine and thus the speedup drops sharply.
References
Fourer, R., Gay, D.M., Kernighan, B.W.: AMPL: A Modeling Language for Mathematical Programming, 2nd edn. Duxbury Press, Belmont (2002)
Boschetti, M., Maniezzo, V.: Benders decomposition, Lagrangean relaxation and metaheuristic design. J. Heuristics 15, 283–312 (2009)
Dolan, E.D., Fourer, R., Goux, J.-P., Munson, T.S., Sarich, J.: Kestrel: an interface from optimization modeling systems to the NEOS server. INFORMS J. Comput. 20, 525–538 (2008)
Colombo, M., Grothey, A., Hogg, J., Woodsend, K., Gondzio, J.: A structure-conveying modelling language for mathematical and stochastic programming. Math. Program. Comput. 1(4), 223–247 (2009). doi:10.1007/s12532-009-0008-2
Fragnière, E., Gondzio, J., Sarkissian, R., Vial, J.-P.: Structure exploiting tool in algebraic modeling languages. Manage. Sci. 46, 1145–1158 (2000)
Fourer, R., Gay, D.M.: Conveying problem structure from an algebraic modeling language to optimization algorithms. In: Laguna, M., González Velarde, J.L. (eds.) Computing Tools for Modeling, Optimization and Simulation. Interfaces in Computer Science and Operations Research, vol. 12, pp. 75–89. Kluwer, Boston (2000)
Buchanan, C.S., McKinnon, K.I.M., Skondras, G.K.: The recursive definition of stochastic linear programming problems within an algebraic modeling language. Ann. Oper. Res. 104(1–4), 15–32 (2001)
Valente, C., Mitra, G., Sadki, M., Fourer, R.: Extending algebraic modelling languages for stochastic programming. INFORMS J. Comput. 21(1), 107–122 (2009)
Fourer, R., Lopes, L.: StAMPL: a filtration-oriented modeling tool for multistage stochastic recourse problems. INFORMS J. Comput. 21, 242–256 (2009)
Powell, M.J.D.: On the quadratic programming algorithm of Goldfarb and Idnani. Math. Program. Stud. 25, 46–61 (1985)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Olszak, A., Karbowski, A. (2014). Parampl: A Simple Approach for Parallel Execution of AMPL Programs. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2013. Lecture Notes in Computer Science(), vol 8385. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-55195-6_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-55195-6_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-55194-9
Online ISBN: 978-3-642-55195-6
eBook Packages: Computer ScienceComputer Science (R0)