Strategies for protecting supply chain networks against facility and transportation disruptions: an improved Benders decomposition approach
Disruptions rarely occur in supply chains, but their negative financial and technical impacts make the recovery process very slow. In this paper, we propose a capacitated supply chain network design (SCND) model under random disruptions both in facility and transportation, which seeks to determine the optimal location and types of distribution centers (DC) and also the best plan to assign customers to each opened DC. Unlike other studies in the extent literature, we use new concepts of reliability to model the strategic behavior of DCs and customers at the network: (1) Failure of DCs might be partial, i.e. a disrupted DC might still be able to serve with a portion of its initial capacity (2) The lost capacity of a disrupted DC shall be provided from a non-disrupted one and (3) The lost capacity fraction of a disrupted DC depends on its initial investment amount in the design phase. In order to solve the proposed model optimally, a modified version of Benders' Decomposition (BD) is applied. This modification tackles the difficulties of the BD's master problem (MP), which ultimately improves the solution time of BD significantly. The classical BD approach results in low density cuts in some cases, Covering Cut Bundle (CCB) generation addresses this issue by generating a bundle of cuts instead of a single cut, which could cover more decision variables of the MP. Our inspiration to improve the CCB generation led to a new method, namely Maximum Density Cut (MDC) generation. MDC is based on the observation that in some cases CCB generation is cumbersome to solve in order to cover all decision variables of the MP rather than to cover part of them. Thus the MDC method generates a cut to cover the remaining decision variables which are not covered by CCB. Numerical experiments demonstrate the practicability of the proposed model to be promising in the SCND area, also the modified BD approach decreases the number of BD iterations and improves the CPU times, significantly.