AN IMPLEMENTATION OF PROGRESSIVE HEDGING ALGORITHM FOR ENGINEERING PROBLEMS Lubom´ ır Klimeˇ s and Pavel Popela Faculty of Mechanical Engineering Brno University of Technology Institute of Mathematics Technick´a 2896/2, 616 69 Brno Czech Republic cajanek.michal@gmail.com popela@fme.vutbr.cz Abstract: The purpose of the paper is to introduce an original parallel implementation of the decomposition algorithm for large-scale engineering decision making problems involving uncertain parameters. References to these problems in mechanical and civil engineering are included. Specifically, a mathematical programming approach is chosen to model decisions. The uncertain parameters are modeled by random elements with discrete probability distributions. Therefore, the suitable models are scenario-based stochastic programs that may have several stages. Among the decomposition algorithms, we have chosen a progressive hedging algorithm (PHA) that is suitable also for the common case in engineering when nonlinear programs are related to scenarios. The algorithm is described in the form that is suitable for an object-oriented implementation and further implemented within the object-oriented framework for parallel computations. However, the inner parts of the implementation allows to use various solvers for the scenario-related problems. We have chosen the GAMS as a good initial to solve problems of scenarios. The original example is utilized to illustrate algorithm’s implementation behaviour and further large-scale tests are listed. Keywords: scenario-based stochastic program, progressive hedging algorithm, object-oriented approach, GAMS. 1 Introduction Many applications in civil and mechanical engineering are decision making problems involving uncertain param- eters, see, e.g., [12], [13], and [26] for hedging against failures of steel production system; [8], [9], [24], and [25] for various concrete design problems involving random loads. These problems lead to large-scale optimization mod- els involving random parameters, see [2] and [22]. The detail discussion about these problems has identified their stage-related decision structure and the need for robust solution techniques. Hence, because of these requests, we utilize scenario-based stochastic nonlinear programming, see [2], and a decomposition technique called pro- gressive hedging algorithm (PHA), see [29]. The development related models for aforementioned applications started a few yeas ago at the Brno University of Technology (BUT) by ˇ Zampachov´ a, Popela et al., see [16] for modeling issues, see [30], for various modeled and computed cases. Firstly, stochastic programs constrained by hyperbolic and parabolic PDEs were built and solved, see ˇ Zampachov´a et al. [32] and [31] for details. Then, the case of a random load on the beam has been studied by nonlinear stochastic programming in [33]. The applicability of suitable decomposition algorithms [18] and heuristic algorithms, see ([11] and [10], regarding a scenario generation [21] and global optimum search for nonlinear cases is strongly requested. Therefore, the presented paper originally implements PHA techniques developed by Wets and Rockafellar, see [20] and [29]. This decomposition technique is a powerful tool to solve these problems. Due to the decomposition, the original problem is decomposed into smaller subproblems and these subproblems are solved separately. Moreover, these subproblems can be solved in parallel, thereby, the computing time could be significantly spared. In this paper, the parallel implementation of the progressive hedging algorithm is suggested and discussed. 2 Stochastic Programming The engineering deterministic decision problems related to application areas are often modeled by so called mathematical programs [1]. However, real-world cases include random parameters, and they can be modeled in different ways, see [27]. One of the useful approaches is stochastic programming [22]. We focus on the cases where the program parameters are random elements with discrete probability distributions. The mathematical program involving random parameters is called an underlying program [7]. Although its description is syntacti- cally correct, it is unclear from the semantical point of view. Therefore, we have to introduce its deterministic Please, cite this paper as: L. Klimes and P. Popela, An implementation of progressive hedging algorithm for engineering problems. In Proceedings of 16th International Conference on Soft Computing MENDEL, 2010, Brno, pp. 459-464. ISBN 978-80-214-4120-0. 16th International Conference on Soft Computing MENDEL 2010, Brno, Czech Republic, June 23-25, 2010 459