This paper addresses the optimal design of resilient systems, in which components can fail. The system can react to failures and its behavior is described by general mixed integer nonlinear programs, which allows for applications to many (technical) systems. This then leads to a three-level optimization problem. The upper level designs the system minimizing a cost function, the middle level represents worst-case failures of components, i.e., interdicts the system, and the lowest level operates the remaining system. We describe new inequalities that characterize the set of resilient solutions and allow to reformulate the problem. The reformulation can then be solved using a nested branch-and-cut approach. We discuss several improvements, for instance, by taking symmetry into account and strengthening cuts. We demonstrate the effectiveness of our implementation on the optimal design of water networks, robust trusses, and gas networks, in comparison to an approach in which the failure scenarios are directly included into the model.
Department of Mathematics, TU Darmstadt, Dolivostr. 15, 64293 Darmstadt, Germany