DP2PN2Solver: a flexible dynamic programming solver software tool. (English) Zbl 1115.90382

Summary: Dynamic programming (DP) is a very general optimization technique, which can be applied to numerous decision problems that typically require a sequence of decisions to be made. The solver software DP2PN2Solver presented in this paper is a general, flexible, and expandable software tool that solves DP problems. It consists of modules on two levels. A level one module takes the specification of a discrete DP problem instance as input and produces an intermediate Petri net (PN) representation called Bellman net (Lew, 2002; Lew, Mauch, 2003, 2004) as output – a middle layer, which concisely captures all the essential elements of a DP problem in a standardized and mathematically precise fashion. The optimal solution for the problem instance is computed by an “executable” code (e.g., Java, Spreadsheet, etc.) derived by a level two module from the Bellman net representation. DP2PN2Solver’s unique potential lies in its Bellman net representation. In theory, a PN’s intrinsic concurrency allows to distribute the computational load encountered when solving a single DP problem instance to several computational units.


90C34 Semi-infinite programming
49L20 Dynamic programming in optimal control and differential games


PNML; DP2PN2Solver
Full Text: EuDML