Parampl: A simple approach for parallel execution of AMPL programs

Olszak, A; Karbowski, A

  • Parallel Processing and Applied Mathematics;
  • Tom: 8385;
  • Strony: 86-94;
  • 2014;

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.

Keywords: AMPL, Parallel, Optimization, Modeling languages