A Rolling Horizon Restoration Framework for Post-disaster Restoration of Electrical Distribution Networks

Ran Wei, Arindam K. Das, Payman Arabshahi, and Daniel S. Kirschen This material is based upon work supported by the National Science Foundation under Grant No. 2139837: Optimal restoration of electricity distribution networks under rolling time windows and prediction of restoration time.R. Wei, P. Arabshahi and D. S. Kirschen are with the Department of Electrical and Computer Engineering, University of Washington, Seattle, WA, 98195-2500 USA. (Email: [email protected] )A. K. Das is with the Department of Computer Science and Electrical Engineering, Eastern Washington University, Cheney, WA, 99004-2493, USA.
Abstract

Severe weather events such as floods, hurricanes, earthquakes, and large wind or ice storms can cause extensive damage to electrical distribution networks, requiring a multi-day restoration effort. Complicating the recovery process is the lack of complete and accurate information regarding the extent and locations of damages, at least during the initial part of the recovery process. These factors make workforce planning challenging. In this paper, we adopt a rolling horizon restoration framework whereby repairs are planned for adjustable finite length restoration windows. Considering both repair times as well as travel times, we show that the optimal scheduling problem with multiple crews, each with their own time budget, can be recast in terms of a cost constrained reward maximizing m𝑚mitalic_mTSP (traveling salesman problem) on doubly weighted graphs, where the objective is to maximize the aggregate reward earned during the upcoming restoration window, provided no crew violates its time budget and certain electrical continuity constraints are met. We propose a mixed integer linear programming (MILP) model for solving the above problem which is validated on standard IEEE PES test feeder networks.

Index Terms:
Power distribution network, resilience, system restoration, optimal scheduling, rolling horizon, traveling salesman problem (TSP) variant.

I Introduction

Disasters, such as typhoons, earthquakes, and other natural calamities, can cause severe damage to distributed power networks. Worldwide, severe weather events have been reported to be the leading cause of major electrical outages [1]. For instance, an ice storm in 2023 severely damaged power lines in Texas, resulting in a blackout that lasted several days and affected more than 400,000 customers [2, 3]. It has been reported that the U.S. economy loses an estimated $20 to $55 billion each year due to weather-related outages [4, 5, 6]. Post-disaster recovery planning can be extremely challenging due to factors such as: (i) the large number of equipment that must be repaired or replaced, (ii) accessibility to job sites may be limited, and (iii) insufficient repair workforce and/or equipment [7]. Consequently, effective management of both equipment and personnel resources necessitates careful coordination and strategic planning. This involves prioritizing essential repairs and optimizing the travel schedule to reduce the unused work time.

A key impediment toward optimizing the restoration process is incomplete or uncertain information regarding: (i) repair locations, (ii) road infrastructure conditions, and (iii) availability of repair personnel. Since postponing the recovery process until better information is available is a luxury that planners can ill afford, the process usually begins with incomplete or uncertain information, and repair schedules/horizons are adjusted along the way as better and more accurate information starts to become available.

In this paper, we adopt a rolling horizon restoration framework where the recovery timeline is split into adjustable finite horizon windows. Repair activities for a particular restoration window are scheduled based on the information available until the end of the prior restoration window. This information could be some combination of newly acquired damage information, refinement of prior damage information, knowledge of completed repairs, and availability of repair equipment/personnel. Updating the damage and resource information before scheduling the repairs for the next restoration window helps adapt the recovery process to prevailing conditions on the ground.

We frame the optimal repair of the distribution network as a version of the traveling salesman problem (TSP) on a doubly weighted graph, i.e., a graph with node weights (modeling the repair times) and edge weights (modeling the travel times between repair sites). We assume that a certain number of repair crews (m𝑚mitalic_m) is available for the next restoration window, and that each crew has its own time budget, which need not be equal to the length of the window. To each node (repair job), we associate a reward which can be earned if the job is completed during the next window and certain electrical continuity constraints (explained later) are met. However, instead of a traditional TSP (or m𝑚mitalic_mTSP), we solve a model which closely resembles an instance of a cost constrained reward maximizing m𝑚mitalic_mTSP on doubly weighted graphs (CCRM-m𝑚mitalic_mTSP-DW), where the objective is to maximize the aggregate reward earned during the upcoming restoration window, provided no crew violates its time budget and certain additional electrical continuity constraints are met. Additionally, we show that if the power network is of star topology, the electrical continuity constraints are redundant and the restoration problem is exactly equivalent to an instance of the CCRM-m𝑚mitalic_mTSP-DW (see Section V-C). The reward maximization objective can be changed to a profit maximization objective by assigning a penalty parameter to each node, to be incurred if a job is not selected for repair during the upcoming window. Qualitatively speaking, a properly designed time-adaptive penalty parameter can introduce an element of ‘fairness’ to the solutions, so that repair jobs offering low reward (i.e., jobs viewed as low priority) are not automatically relegated to the back end of the recovery process. To the best of our knowledge, these variants of the TSP have not been studied before and may be of independent interest to researchers in other areas such as computer science and operations research.

II Literature Review

In addressing the complex problem of repairing electrical networks after disasters, researchers have explored a variety of approaches. Studies [8, 9, 10] built mathematical models under two simplifying assumptions: ignoring the travel time between repair nodes and assuming only a single crew was available. While these assumptions helped simplify the problem and speed up the optimization process, they did not fully meet the practical demands of real-world scenarios. Tan et al. in [10] touches upon multi-crews, which was thoroughly considered in [11, 12, 13].

As the field evolved, Ma et al. [14] and Arif et al. [15] both specifically pointed out the equal importance of accounting for both travel and repair times. To tackle the added complexity this brought, a number of studies [16, 17, 18, 19, 20] adopted co-optimization strategies, solving the problem by breaking it down into multiple stages or optimizing multiple objectives concurrently. Additionally, Markov decision process (MDP) [21], machine learning [22], and reinforcement learning algorithms [23] based on the idea of decision trees [24] were investigated.

After extreme weather disasters, the damage to the electrical network updates progressively over time. Accounting for this dynamic damage information is another critical aspect of the repair scheduling problem. In [25, 26, 17, 21, 27], the authors introduced rolling window techniques to adapt to continuous updates in network damage. This innovation reduces the complexity of the model, shortens the solving times, decreases the computational costs, and lets the scheduling start immediately.

Scholarly work has focused on the practical aspects of the issue, including network power load [17, 19, 20], cost-efficiency [25], and the average outage duration for consumers [21]. MILP models have been shown to be effective in optimizing repair routes and schedules. Arif et al. [15] discussed how to simultaneously allocate repair personnel and equipment resources, and Lei et al. [18] investigated how to dispatch the repair crews and mobile power sources at the same time.

However, prior research has seldom considered the different remaining work time budgets for each repair crew, although Xu et al. [13] conducted a preliminary study on incorporating this constraint. Therefore, this research seeks to enhance the scheduling and allocation of repair tasks by integrating a broader spectrum of practical factors, aiming to maximize the completion of repairs within a constrained rolling time frame. We concurrently consider the travel time, multiple crews, and the disparities in the remaining work time budgets among crews within a consistent rolling window. The developed MILP approach ensures a more efficient and effective allocation of resources, contributing significantly to the optimization of repair task scheduling in dynamic environments.

III Problem Definition

We begin with an explanation of the rolling horizon restoration framework we consider in this paper. Referring to Figure 1, let t=0𝑡0t=0italic_t = 0 denote the time corresponding to the onset of a disaster event. Repair and restoration work commences at time T0subscript𝑇0T_{0}italic_T start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, after adequate damage information has been collected and initial repair crews mobilized. The time between Tksubscript𝑇𝑘T_{k}italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and Tk1subscript𝑇𝑘1T_{k-1}italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT denotes the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT restoration window (planning horizon). We assume that damage information collection is a streaming process and commencement of repair and restoration efforts is not contingent on the availability of complete damage information. The set of all possible repair jobs during the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT window, LkDsuperscriptsubscript𝐿𝑘𝐷L_{k}^{D}italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT, includes previously known but unscheduled or unfinished jobs from prior windows, as well as new jobs learnt during the (k1)thsuperscript𝑘1𝑡(k-1)^{th}( italic_k - 1 ) start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT window. For notational simplicity, we will drop the ‘window subscript’ and simply use LDsuperscript𝐿𝐷L^{D}italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT to denote the complete set of repair jobs for any restoration window. Associated with each damaged line (in this paper, we will use the terms ‘edge’, ‘line’, and ‘job’ interchangeably) is a reward, rlsubscript𝑟𝑙r_{l}italic_r start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT, which we assume is known, determined by the utility companies. While it is certainly possible to assign identical rewards to all lines, we will discuss some alternate approaches later in the paper.

Refer to caption
Figure 1: Timeline of the restoration process, which commences at time T0subscript𝑇0T_{0}italic_T start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT after a disaster at t=0𝑡0t=0italic_t = 0. The set of all possible line/edge repairs (jobs) during the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT restoration window, [Tk1,Tk]subscript𝑇𝑘1subscript𝑇𝑘[T_{k-1},T_{k}][ italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT , italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ], comprises previously known but unscheduled jobs from prior windows and new jobs learnt during the (k1)thsuperscript𝑘1𝑡(k-1)^{th}( italic_k - 1 ) start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT restoration window (denoted by Jk1subscript𝐽𝑘1J_{k-1}italic_J start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT). Unfinished jobs from previous windows, possibly due to time overruns, can also be included in the set.

Let m𝑚mitalic_m denote the number of repair crews available to work during the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT window. The planning objective for the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT window is to determine the repair schedules for the m𝑚mitalic_m crews, choosing jobs from the set LDsuperscript𝐿𝐷L^{D}italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT, such that the total reward that can be earned at the end of the current window is maximized. The cost of any schedule is the sum of the repair times of the jobs on the schedule and the travel times necessary for moving from one job site to the next one on the schedule. We assume that the travel times between any pair of jobs in LDsuperscript𝐿𝐷L^{D}italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT are symmetric and correspond to the shortest path (derived from a separate transportation map) between the two job sites. Further, we assume that any job site is reachable from any other job site, failing which a job site which is unreachable, possibly due to loss of transportation infrastructure, should be removed from the set LDsuperscript𝐿𝐷L^{D}italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT. Obviously, the cost (length) of any schedule must not exceed the duration of the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT window, TkTk1subscript𝑇𝑘subscript𝑇𝑘1T_{k}-T_{k-1}italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT. Any line, l𝑙litalic_l, repaired during the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT window earns the reward rlsubscript𝑟𝑙r_{l}italic_r start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT only if it can be energized from the previously energized portion of the distribution network, at the end of the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT restoration window. This feasibility depends on whether a fully repaired path exists from the energized portion of the distribution network at Tksubscript𝑇𝑘T_{k}italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT to l𝑙litalic_l (electrical continuity constraint).

We do not assume that the repair crews are deployed to their first job sites from a common staging location. In practice, this would require provisioning of adequate slack times between successive restoration windows in the restoration timeline. The travel times to the first job sites on the m𝑚mitalic_m schedules can then be factored into these slack times and the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT restoration window can be deemed to start when all crews are at their initial job sites. Further, since the repair and travel times are estimated quantities and susceptible to delays, the slack times can be used to provide some cushion against unanticipated time overruns. In this paper, however, we ignore the presence of these slack times.

Mathematically, the broad objective is to construct m𝑚mitalic_m repair schedules in order to:

maximizelLDrlI(𝒫(l,Sk1)),maximizesubscript𝑙superscript𝐿𝐷subscript𝑟𝑙𝐼𝒫𝑙subscript𝑆𝑘1\text{maximize}\ \sum_{l\in L^{D}}r_{l}\,I\left(\mathcal{P}(l,S_{k-1})\right),maximize ∑ start_POSTSUBSCRIPT italic_l ∈ italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_I ( caligraphic_P ( italic_l , italic_S start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ) ) ,

where Sk1subscript𝑆𝑘1S_{k-1}italic_S start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT denotes the energized portion of the distribution network at time Tk1subscript𝑇𝑘1T_{k-1}italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT (the ‘source’) and I(𝒫(l,Sk1))𝐼𝒫𝑙subscript𝑆𝑘1I\left(\mathcal{P}(l,S_{k-1})\right)italic_I ( caligraphic_P ( italic_l , italic_S start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT ) ) is an indicator function which is equal to 1111 if a completely repaired path exists from l𝑙litalic_l to Sk1subscript𝑆𝑘1S_{k-1}italic_S start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT at time Tksubscript𝑇𝑘T_{k}italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and is equal to 00 otherwise. Henceforth, we will simply use ‘path’ to mean a ‘completely repaired path’ to the source. If the rlsubscript𝑟𝑙r_{l}italic_r start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT’s are equal for all l𝑙litalic_l, the objective function reduces to maximizing the number of repairs which can earn an immediate reward at the end of the current restoration window.

We conclude this section with a comparison of the objective in this paper vis-a-vis a similar objective considered by Tan et al in [12]. Broadly speaking, the core objectives in this paper and in [12] are similar, namely, restoring an electrical distribution network in the most efficient manner after a disaster. Specifically, in [12], the objective is to minimizelLDwlTlminimizesubscript𝑙superscript𝐿𝐷subscript𝑤𝑙subscript𝑇𝑙\text{minimize}\,\sum_{l\in L^{D}}w_{l}T_{l}minimize ∑ start_POSTSUBSCRIPT italic_l ∈ italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_w start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT, where wlsubscript𝑤𝑙w_{l}italic_w start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT is a weight on line l𝑙litalic_l representing its ‘importance’ (possibly related to the number of customers served by its downstream node) and Tlsubscript𝑇𝑙T_{l}italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT is the energization time of line l𝑙litalic_l. The objective function can therefore be interpreted as a measure of aggregate inconvenience, which is minimized. Inherent in this framework is the assumption that line l𝑙litalic_l will be energized after repairs as soon as it is feasible to do so, i.e., as soon as a path is established between l𝑙litalic_l and the source. The interpretation of Tlsubscript𝑇𝑙T_{l}italic_T start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT is therefore it is the earliest possible timeline l𝑙litalic_l can be energized along the restoration timeline. In our framework, however, even if it is feasible to energize a line in the middle of the current restoration window after completion of repairs, we wait till the end of the current restoration windows, at which time, all lines which can be energized are energized, after necessary operational/safety checks. Restoration is therefore a staged process in our framework and broad swathes of the network are energized at certain planned restoration horizons, as opposed to a ‘restore whenever feasible’ framework in [12].

IV Problem Formulation

Refer to caption
Figure 2: (a) Graph of an example radial distribution network, G=(𝒩,)𝐺𝒩G=(\mathcal{N},\mathcal{E})italic_G = ( caligraphic_N , caligraphic_E ), where 𝒩𝒩\mathcal{N}caligraphic_N is the set of nodes and \mathcal{E}caligraphic_E is the set of edges. Edges (1,2)12(1,2)( 1 , 2 ) and (1,3)13(1,3)( 1 , 3 ) have been repaired and power has (possibly) been restored to nodes 2222 and 3333 at the start of the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT restoration window. The set of damaged edges yet to be repaired is therefore: LD={(2,4),(2,5),(3,6),(3,7),(4,8),(7,9)}superscript𝐿𝐷242536374879L^{D}=\{(2,4),(2,5),(3,6),(3,7),(4,8),(7,9)\}italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT = { ( 2 , 4 ) , ( 2 , 5 ) , ( 3 , 6 ) , ( 3 , 7 ) , ( 4 , 8 ) , ( 7 , 9 ) }. Each damaged edge represents a ‘job/repair site’. The estimated repair time and reward of the edge (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) are wijsubscript𝑤𝑖𝑗w_{ij}italic_w start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT and rijsubscript𝑟𝑖𝑗r_{ij}italic_r start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT respectively.
(b) Graph G𝐺Gitalic_G modified by contracting the repaired/energized portion in G𝐺Gitalic_G into a supernode (root), r𝑟ritalic_r, and adding an auxiliary node, 00, with an edge connecting 00 and r𝑟ritalic_r. We denote this graph by Gmsubscript𝐺𝑚G_{m}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT. The repair time and reward of the dummy edge (0,r)0𝑟(0,r)( 0 , italic_r ), w0rsubscript𝑤0𝑟w_{0r}italic_w start_POSTSUBSCRIPT 0 italic_r end_POSTSUBSCRIPT and r0rsubscript𝑟0𝑟r_{0r}italic_r start_POSTSUBSCRIPT 0 italic_r end_POSTSUBSCRIPT, are both set to 00.
(c) Line graph of Gmsubscript𝐺𝑚G_{m}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, which we denote by L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). In this figure, we adopt a two-index notation for the node labels in the line graph simply for clarity. Repair times and rewards on edges in Gmsubscript𝐺𝑚G_{m}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT now appear as weights and rewards on nodes in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ).
(d) The graph L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) converted to a complete symmetric directed graph, which we denote by LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). The weight of the edge (i,j)LK(Gm)𝑖𝑗subscript𝐿𝐾subscript𝐺𝑚(i,j)\in L_{K}(G_{m})( italic_i , italic_j ) ∈ italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ), cijsubscript𝑐𝑖𝑗c_{ij}italic_c start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT, represents the shortest travel time between job sites i𝑖iitalic_i and j𝑗jitalic_j, cij=cjisubscript𝑐𝑖𝑗subscript𝑐𝑗𝑖c_{ij}=c_{ji}italic_c start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = italic_c start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT. Travel times between the node (0,r)0𝑟(0,r)( 0 , italic_r ) and any other node are set to 00. We refer to the node (0,r)0𝑟(0,r)( 0 , italic_r ) as the root of LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ).

Consider the radial electrical distribution network, G𝐺Gitalic_G, shown in Figure 2(a). The dotted portion of the network is assumed to have been repaired and energized at restoration horizon Tk1subscript𝑇𝑘1T_{k-1}italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT and the rest of the edges (job sites) in the network constitute the set LDsuperscript𝐿𝐷L^{D}italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT. Let rijsubscript𝑟𝑖𝑗r_{ij}italic_r start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT denote the reward associated with line (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) and wijsubscript𝑤𝑖𝑗w_{ij}italic_w start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT denote its estimated mean repair time. If no repair is needed on line (i,j)𝑖𝑗(i,j)( italic_i , italic_j ), both the reward and repair time parameters are set equal to zero. In a practical setting, time overruns are possible due to unforeseen eventualities and it could well be the case that a repair which started in a previous restoration window and was scheduled for completion within that window may not actually have been finished. To accommodate such time overruns, we interpret wijsubscript𝑤𝑖𝑗w_{ij}italic_w start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT as the estimated mean residual repair time of line (i,j)𝑖𝑗(i,j)( italic_i , italic_j ). In this paper, we concentrate on single source radial networks (more generally, acyclic graphs), but it is possible to extend our approach to any network with an arbitrary number of sources. We assume that a transportation graph is also available (not shown in Figure 2), which allows us to determine the shortest travel times between all pairs of job sites. Additionally, as mentioned in Section III, we assume that the travel times are symmetric and it is possible to reach any site from any other site. In order to embed the repair times (associated with the power distribution network) and the travel times (associated with the transportation network) within the same graph, we proceed as follows:

  • Step-1111: Contract the already energized portion of the network into a supernode (root), add an auxiliary node (node 00), and add an undirected edge between the auxiliary node and the root. Assign to this edge the parameter vector (w0r=0,r0r=0)formulae-sequencesubscript𝑤0𝑟0subscript𝑟0𝑟0\left(w_{0r}=0,r_{0r}=0\right)( italic_w start_POSTSUBSCRIPT 0 italic_r end_POSTSUBSCRIPT = 0 , italic_r start_POSTSUBSCRIPT 0 italic_r end_POSTSUBSCRIPT = 0 ), where wijsubscript𝑤𝑖𝑗w_{ij}italic_w start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT and rijsubscript𝑟𝑖𝑗r_{ij}italic_r start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT are the estimated repair time and reward of the edge (i,j)𝑖𝑗(i,j)( italic_i , italic_j ). The modified graph is denoted by Gmsubscript𝐺𝑚G_{m}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, as shown in Figure 2(b).

  • Step-2222: Construct the line graph of Gmsubscript𝐺𝑚G_{m}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, which we denote by L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). Note that the job sites appear as nodes in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). Furthermore, each node in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) is endowed with two parameters, a reward parameter and a repair time parameter, as shown in Figure 2(c). Both these parameters are zero if a node does not need repair.

  • Step-3333: Convert the line graph L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) to a complete graph, which we denote by LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ); L(Gm)LK(Gm)𝐿subscript𝐺𝑚subscript𝐿𝐾subscript𝐺𝑚L(G_{m})\subseteq L_{K}(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) ⊆ italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). This step is shown in Figure 2(d). We will refer to the node labeled (0,r)0𝑟(0,r)( 0 , italic_r ), interpreted as a dummy job, as the root of LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). The repair time and reward parameters associated with each node in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) carry over to LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). We will now assign weights to each undirected edge in LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). Let cij=cjisubscript𝑐𝑖𝑗subscript𝑐𝑗𝑖c_{ij}=c_{ji}italic_c start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = italic_c start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT, representing the shortest travel time between nodes i𝑖iitalic_i and j𝑗jitalic_j, denote the weight of the edge (i,j)LK(Gm)𝑖𝑗subscript𝐿𝐾subscript𝐺𝑚(i,j)\in L_{K}(G_{m})( italic_i , italic_j ) ∈ italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). For example, the weight of the undirected edge between the nodes (4,8)48(4,8)( 4 , 8 ) and (7,9)79(7,9)( 7 , 9 ) in Figure 2(d) represents the travel time for a crew moving from the line/job (4,8)48(4,8)( 4 , 8 ) in Figure 2(a) to the line/job (7,9)79(7,9)( 7 , 9 ) or vice versa. Travel times between the node (0,r)0𝑟(0,r)( 0 , italic_r ) and any other node are set to 00, the reason for which will be apparent shortly.

A couple of observations are in order here. First, expansion of L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) to LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) in Step-3333 allows the repair times (appears as node weights in Figure 2(d)) and the travel times (appears as edge weights in Figure 2(d)) to be embedded within the same undirected doubly weighted graph. If the number of damaged edges in Figure 2(a) is |LD|superscript𝐿𝐷|L^{D}|| italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT |, we end up with a doubly weighted complete graph in Figure 2(d) on |LD|+1superscript𝐿𝐷1|L^{D}|+1| italic_L start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT | + 1 nodes. Second, while the presence of each edge in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) reflects the physical connectivity of the underlying power distribution network G𝐺Gitalic_G (e.g., an edge exists between nodes (r,4)𝑟4(r,4)( italic_r , 4 ) and (4,8)48(4,8)( 4 , 8 ) in Figure 2(c) since the undirected edges (r,4)𝑟4(r,4)( italic_r , 4 ) and (4,8)48(4,8)( 4 , 8 ) share a node in Figure 2(b)), the interpretation of each edge in LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) is the time needed to travel the shortest path between the end nodes of that edge. This observation will be important when we discuss the nature of feasible solutions next.

It so turns out that the optimal repair schedules can be interpreted in the context of a new variant of the traveling salesman problem. Assume that the number of repair crews is m=1𝑚1m=1italic_m = 1 (one ‘repair salesman’). Operating within a certain time budget, the repair salesman starts from the node/home city (0,r)0𝑟(0,r)( 0 , italic_r ) in Figure 2(d) and selectively chooses to visit certain cities (repair sites) such that the reward collected at the end of the tour is maximized. If the salesman decides to visit a certain city, he must spend a prescribed amount of time at that city, equal to the repair time of that job site, before moving to the next city following the shortest path between the two cities. Since the travel time from the home city to any other node is 00, our repair salesman does not incur any cost while traveling to the first repair site, which is consistent with our assumption (see Section III) that any restoration window commences when all repair crew are at their first job sites. The total cost incurred by the salesman on his tour is the sum of the repair times (node weights in LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT )) and travel times (edge weights in LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT )) and the aggregate reward is the sum of the individual rewards collected at the cities visited. Since every non-root node in LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) is connected to the root by an edge with weight (travel time) 00, the salesman can make his way back to his home city if visiting an additional city would result in a violation of the time budget, min(𝒯,ΔTk)min𝒯Δsubscript𝑇𝑘\text{min}\left(\mathcal{T},\Delta T_{k}\right)min ( caligraphic_T , roman_Δ italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ), where 𝒯𝒯\mathcal{T}caligraphic_T represents the crew’s time budget and ΔTk:=TkTk1assignΔsubscript𝑇𝑘subscript𝑇𝑘subscript𝑇𝑘1\Delta T_{k}:=T_{k}-T_{k-1}roman_Δ italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT := italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - italic_T start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT denotes the length of the current restoration window.

Let us now take a look at some example ‘tours’ on LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (Figure 2(d)) which will help illustrate the nature of solutions we are looking for, as well as the similarities and differences between the traveling salesman framework outlined in the previous paragraph and the repair scheduling problem. For simplicity, we will assume that every node/city in LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ), other than the root, corresponds to a repair site and offers an unit reward.

  • Suppose the repair salesman’s solution is (0,r)(4,8)(r,4)(r,6)(0,r)0𝑟48𝑟4𝑟60𝑟(0,r)\to(4,8)\to(r,4)\to(r,6)\to(0,r)( 0 , italic_r ) → ( 4 , 8 ) → ( italic_r , 4 ) → ( italic_r , 6 ) → ( 0 , italic_r ). This is a valid tour from a TSP standpoint since there are no subtours in the solution. After removing the first and last cities from the tour (doing so does not alter the cost of the tour since the weight of any edge connecting to the home city (0,r)0𝑟(0,r)( 0 , italic_r ) is zero), we obtain the repair sequence, (4,8)(2,4)(3,6)482436(4,8)\to(2,4)\to(3,6)( 4 , 8 ) → ( 2 , 4 ) → ( 3 , 6 ), in the context of Figure 2(a). This repair schedule is also valid from an electrical standpoint since a connected path exists between the source node (0,r)0𝑟(0,r)( 0 , italic_r ) and the repaired nodes (4,8)48(4,8)( 4 , 8 ), (r,4)𝑟4(r,4)( italic_r , 4 ), and (r,6)𝑟6(r,6)( italic_r , 6 ) in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (Figure 2(c)). Note that the same conclusion could have been reached from either Figure 2(a) or Figure 2(b). Since all three distribution lines (2,4)24(2,4)( 2 , 4 ), (4,8)48(4,8)( 4 , 8 ), and (3,6)36(3,6)( 3 , 6 ) in Figure 2(a) can be energized at the end of the current restoration window, the salesman can claim a reward of 3 units.

  • Suppose the repair salesman’s solution is (0,r)(r,4)(4,8)(7,9)(0,r)0𝑟𝑟448790𝑟(0,r)\to(r,4)\to(4,8)\to(7,9)\to(0,r)( 0 , italic_r ) → ( italic_r , 4 ) → ( 4 , 8 ) → ( 7 , 9 ) → ( 0 , italic_r ), or equivalently, the repair schedule (2,4)(4,8)(7,9)244879(2,4)\to(4,8)\to(7,9)( 2 , 4 ) → ( 4 , 8 ) → ( 7 , 9 ) in the context of Figure 2(a). Although this is a valid solution from a TSP perspective, this is not an electrically valid solution since the set of repaired nodes, (0,r)0𝑟(0,r)( 0 , italic_r ), (r,4)𝑟4(r,4)( italic_r , 4 ), (4,8)48(4,8)( 4 , 8 ), and (7,9)79(7,9)( 7 , 9 ), do not induce a connected subgraph in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (Figure 2(c)). Alternately, from Figure 2(a), we can observe that the distribution line (7,9)79(7,9)( 7 , 9 ) cannot be energized unless line (3,7)37(3,7)( 3 , 7 ) is repaired. We say that this solution satisfies the path continuity condition (no subtours) but violates the electrical continuity condition.

  • Suppose the repair salesman’s solution is (0,r)(r,4)(4,8)(0,r),(r,5)(r,6)(r,7)(r,5)formulae-sequence0𝑟𝑟4480𝑟𝑟5𝑟6𝑟7𝑟5(0,r)\to(r,4)\to(4,8)\to(0,r),(r,5)\to(r,6)\to(r,7)\to(r,5)( 0 , italic_r ) → ( italic_r , 4 ) → ( 4 , 8 ) → ( 0 , italic_r ) , ( italic_r , 5 ) → ( italic_r , 6 ) → ( italic_r , 7 ) → ( italic_r , 5 ). Clearly, this is not a valid solution from a TSP perspective since it has subtours, although it is electrically valid since the set of repaired nodes, (0,r)0𝑟(0,r)( 0 , italic_r ), (r,4)𝑟4(r,4)( italic_r , 4 ), (4,8)48(4,8)( 4 , 8 ), (r,5)𝑟5(r,5)( italic_r , 5 ), (r,6)𝑟6(r,6)( italic_r , 6 ), and (r,7)𝑟7(r,7)( italic_r , 7 ), induce a connected subgraph in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). Therefore, this solution satisfies the electrical continuity condition but violates the path continuity condition.

  • Suppose there are two repair salesmen (both departing from the home city, operating under their individual time constraints) and their solutions are (0,r)(4,8)(7,9)(0,r)0𝑟48790𝑟(0,r)\to(4,8)\to(7,9)\to(0,r)( 0 , italic_r ) → ( 4 , 8 ) → ( 7 , 9 ) → ( 0 , italic_r ) and (0,r)(r,4)(r,7)(0,r)0𝑟𝑟4𝑟70𝑟(0,r)\to(r,4)\to(r,7)\to(0,r)( 0 , italic_r ) → ( italic_r , 4 ) → ( italic_r , 7 ) → ( 0 , italic_r ). Both solutions are free from subtours and therefore valid from a TSP perspective. These solutions are also electrically valid since the aggregate set of repaired nodes induce a connected subgraph in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (although, the first salesman’s solution, by itself, is not electrically valid). We say that the two solutions satisfy path continuity constraints (individually) as well as the electrical continuity constraint (aggregated). The total number of rewards claimed by the two salesmen is therefore four.

The previous examples illustrate the two types of continuity constraints, path continuity (alternately, subtour elimination constraint) and electrical continuity, which we require for a repair schedule to be valid. Next, we will discuss how electrical continuity constraints may be imposed. Modeling such constraints is dependent on the specific topology of the power distribution network. We show that for single-source radial distribution networks, such constraints translate to precedence relations between the set of repaired nodes.

Refer to caption
Figure 3: (a) Graph of the radial distribution network shown in Figure 2. Arrow directions on the edges denote the direction of power flow. Since this is a directed graph, we denote it by Gdsuperscript𝐺𝑑G^{d}italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT. (b) Graph Gdsuperscript𝐺𝑑G^{d}italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT modified by contracting the repaired/energized portion in Gdsuperscript𝐺𝑑G^{d}italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT into a supernode, r𝑟ritalic_r, and adding an auxiliary node, 00, connected to node r𝑟ritalic_r. We denote this directed graph by Gmdsuperscriptsubscript𝐺𝑚𝑑G_{m}^{d}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT. (c) Line graph of the directed graph shown in panel (b), L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ).

Consider the power distribution network shown in Figure 3(a), which is the same network shown in Figure 2(a), except arrows have been added indicating the direction of power flow. We denote this directed graph by Gdsuperscript𝐺𝑑G^{d}italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT. Next, we contract the repaired/energized portion in Gdsuperscript𝐺𝑑G^{d}italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT into a supernode, r𝑟ritalic_r, and add an auxiliary node, 00, connected to node r𝑟ritalic_r, as shown in Figure 3(b). We denote this modified graph by Gmdsuperscriptsubscript𝐺𝑚𝑑G_{m}^{d}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT. Finally, we convert Gmdsuperscriptsubscript𝐺𝑚𝑑G_{m}^{d}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT to its line graph representation, L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ), as shown in Figure 3(c). This directed line graph captures all the precedence relations we will require our solution to satisfy. For example, if node (7,9)79(7,9)( 7 , 9 ) is chosen to be repaired during the current window, we will require that node (r,7)𝑟7(r,7)( italic_r , 7 ) be repaired first. Similarly, if node (4,8)48(4,8)( 4 , 8 ) is chosen to be repaired during the current window, we will require that node (r,4)𝑟4(r,4)( italic_r , 4 ) be repaired first. No precedence relations are required for nodes (r,4)𝑟4(r,4)( italic_r , 4 ), (r,5)𝑟5(r,5)( italic_r , 5 ), (r,6)𝑟6(r,6)( italic_r , 6 ), and (r,7)𝑟7(r,7)( italic_r , 7 ). It is easy to verify that if these precedence relations are enforced, the solution (0,r)(r,4)(4,8)(7,9)(0,r)0𝑟𝑟448790𝑟(0,r)\to(r,4)\to(4,8)\to(7,9)\to(0,r)( 0 , italic_r ) → ( italic_r , 4 ) → ( 4 , 8 ) → ( 7 , 9 ) → ( 0 , italic_r ) (which violates the electrical continuity constraint) will be rendered infeasible.

IV-A Electrical continuity constraints for partially damaged networks

In the previous paragraph, we assumed that all nodes in Figure 3(c), other than the root node (0,r)0𝑟(0,r)( 0 , italic_r ), are damaged. For partially damaged scenarios, we adopt one more pre-processing step whereby the line graph L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) is “collapsed” to eliminate all non-damaged nodes. In order to avoid additional notation, we will continue to refer to the collapsed graph as L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ), i.e., L(Gmd)collapse procedureL(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑collapse procedure𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})\to\text{collapse procedure}\to L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) → collapse procedure → italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ). Precedence relations are extracted as part of this procedure.

Consider the directed graph L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) shown in Figure 4(a), where we have adopted single-index node labels for simplicity, unlike the node labels in Figure 3. Figure 4(b) shows the modified L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ), which is obtained as follows:

  • Step-1111: First, all undamaged leaf nodes in L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) are deleted, along with the directed edges incident on these nodes. Deletion of an undamaged leaf node may create an additional undamaged leaf node, which is also deleted. At the end of this step, there must not be any undamaged leaf node in L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ). Executing this step on Figure 4(a) leads to the deletion of nodes labeled 10, 11, 6, and 1. Note that the last three nodes are deleted sequentially (after node 11 is deleted, node 6 becomes a leaf node, which is deleted next, followed by node 1).

  • Step-2222: Next, for every damaged node jL(Gmd)𝑗𝐿superscriptsubscript𝐺𝑚𝑑j\in L(G_{m}^{d})italic_j ∈ italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ), we search for its nearest ancestor which is also damaged. If no such node is found, we record its nearest ancestor to be the root node (which, by definition, is undamaged). The precedence relation for node j𝑗jitalic_j is therefore of the form ij𝑖𝑗i\to jitalic_i → italic_j, where i𝑖iitalic_i is the nearest ancestor of j𝑗jitalic_j which is also damaged. If i=𝑖i=\emptysetitalic_i = ∅, we assign i:=root node of L(Gmd)assign𝑖root node of L(Gmd)i:=\text{root node of $L(G_{m}^{d})$}italic_i := root node of italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ). Executing this step on Figure 4(a) leads to the following precedence relations: (i) 07070\to 70 → 7 (node 2 deleted), (ii) 03030\to 30 → 3, (iii) 3123123\to 123 → 12 (node 8 deleted), (iv) 04040\to 40 → 4, (v) 4144144\to 144 → 14 (nodes 9 and 13 deleted), and (ii) 05050\to 50 → 5. These precedence relations are embodied in Figure 4(b).

The previous discussion leads to an interesting question: ‘for a partially damaged network, how should one assign the rewards for a damaged node?’ For example, referring to Figure 4(a), we see that if node 4 is repaired and energized, it may be possible to energize nodes 9 and 13 simultaneously, provided there is a switch between nodes 13 and 14. In this case, the true reward for repairing node 4 is the sum of the individual rewards associated with nodes 4, 9, and 13. Accounting for node rewards in this manner, aided by knowledge of switch locations, may lead to improved decision making. A similar argument in favor of switch location guided repair scheduling can also be made for a fully damaged network. We plan on investigating this issue in future.

Remark IV.1

In order to keep the set of nodes in LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (see Figure 2(d)) and L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) identical, nodes which are deleted as part of Step-2222 above should also be deleted (along with incident edges) from LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ).

Refer to caption
Figure 4: Illustrating the “graph collapse” procedure for a partially damaged network. (a) L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) as obtained after application of the procedure illustrated in Figure 3. (b) L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) after the undamaged nodes (other than the root) are deleted.

We are now in a position to state the MILP formulation for the m𝑚mitalic_m-crew repair scheduling problem. Although we have cycled through different graph representations, our model will be defined on the undirected complete graph LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (see Figure 2(d)) and the directed graph L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) (see Figure 3(c)). We will use LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) to set up the repair scheduling problem as a traveling salesman-like problem and L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) to impose the additional electrical continuity constraints. For the rest of the paper, we will refer to these two graphs as working graphs and denote them by Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT and Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT respectively, the subscript w𝑤witalic_w indicating ‘working’ and the subscript d𝑑ditalic_d indicating ‘directed’. Variables defined on undirected edges will bear the subscript (ij)𝑖𝑗(ij)( italic_i italic_j ); e.g., x(ij)c=1subscript𝑥𝑖𝑗𝑐1x_{(ij)c}=1italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT = 1 would mean that the undirected edge between i𝑖iitalic_i and j𝑗jitalic_j is traveled by crew c𝑐citalic_c. Variables defined on directed edges will bear the subscript ij𝑖𝑗ijitalic_i italic_j; e.g., xijc=1subscript𝑥𝑖𝑗𝑐1x_{ijc}=1italic_x start_POSTSUBSCRIPT italic_i italic_j italic_c end_POSTSUBSCRIPT = 1 would mean that the directed edge from i𝑖iitalic_i to j𝑗jitalic_j is traveled by crew c𝑐citalic_c. Table I summarizes the major notation we will use in the rest of the paper. We also summarize all our assumptions below:

  1. A.1

    The power distribution network is radial with a single source. Our assumption of a radial distribution network isn’t too restrictive since, even if such networks are topologically non-radial (e.g., meshed), they are operated radially. If operational decisions are made prior to repair planning/scheduling, allowing the non-radial network to be pruned and pre-configured to a radial structure, the MILP model discussed in this paper will be applicable.

  2. A.2

    Every repair site is reachable from every other repair site.

  3. A.3

    The travel time between any two repair sites, following the shortest path between the two sites, is symmetric.

  4. A.4

    The reward parameters (possibly determined by utilities or other planning agencies) are known.

  5. A.5

    Time accounting for every crew starts when they are at their first repair site. That is, we do not assume that crews are dispatched from a central staging location, in which case additional travel time needs to be accounted for while commuting from the staging location to the first repair site.

Notation         Description
Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT undirected complete working graph, LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (see Figure 2(d)).
wsubscript𝑤\mathcal{E}_{w}caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT set of undirected edges in Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT.
Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT directed working graph, L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) (see Figure 3(c)).
wdsubscript𝑤𝑑\mathcal{E}_{wd}caligraphic_E start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT set of directed edges in Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT.
𝒩wsubscript𝒩𝑤\mathcal{N}_{w}caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT set of all nodes in Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT or Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT; 𝒩w={0,1,2,n1}subscript𝒩𝑤012𝑛1\mathcal{N}_{w}=\{0,1,2,\ldots n-1\}caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT = { 0 , 1 , 2 , … italic_n - 1 }, where node 00 is the root/home city.
n𝑛nitalic_n number of nodes in Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT or Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT
𝒩wDsuperscriptsubscript𝒩𝑤𝐷\mathcal{N}_{w}^{D}caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT subset of nodes in 𝒩wsubscript𝒩𝑤\mathcal{N}_{w}caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT which are damaged and require repair; note that node 0 is not in 𝒩wDsuperscriptsubscript𝒩𝑤𝐷\mathcal{N}_{w}^{D}caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT.
risubscript𝑟𝑖r_{i}italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (0)absent0(\geq 0)( ≥ 0 ) reward of node i𝒩w𝑖subscript𝒩𝑤i\in\mathcal{N}_{w}italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT; ri=0subscript𝑟𝑖0r_{i}=0italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0, i{𝒩w𝒩wD}for-all𝑖subscript𝒩𝑤superscriptsubscript𝒩𝑤𝐷\forall i\in\left\{\mathcal{N}_{w}\setminus\mathcal{N}_{w}^{D}\right\}∀ italic_i ∈ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ∖ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT }.
wisubscript𝑤𝑖w_{i}italic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT repair time of node i𝒩w𝑖subscript𝒩𝑤i\in\mathcal{N}_{w}italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT; wi=0subscript𝑤𝑖0w_{i}=0italic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0, i{𝒩w𝒩wD}for-all𝑖subscript𝒩𝑤superscriptsubscript𝒩𝑤𝐷\forall i\in\left\{\mathcal{N}_{w}\setminus\mathcal{N}_{w}^{D}\right\}∀ italic_i ∈ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ∖ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT }.
c(ij)subscript𝑐𝑖𝑗c_{(ij)}italic_c start_POSTSUBSCRIPT ( italic_i italic_j ) end_POSTSUBSCRIPT travel time between nodes i,j𝒩w𝑖𝑗subscript𝒩𝑤i,j\in\mathcal{N}_{w}italic_i , italic_j ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT, following the shortest path between i𝑖iitalic_i and j𝑗jitalic_j; i.e., c(ij)=cij=cjisubscript𝑐𝑖𝑗subscript𝑐𝑖𝑗subscript𝑐𝑗𝑖c_{(ij)}=c_{ij}=c_{ji}italic_c start_POSTSUBSCRIPT ( italic_i italic_j ) end_POSTSUBSCRIPT = italic_c start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = italic_c start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT. If either i=0𝑖0i=0italic_i = 0 or j=0𝑗0j=0italic_j = 0, then c(ij)=0subscript𝑐𝑖𝑗0c_{(ij)}=0italic_c start_POSTSUBSCRIPT ( italic_i italic_j ) end_POSTSUBSCRIPT = 0
𝒞𝒞\mathcal{C}caligraphic_C set of crew indices; 𝒞={1,2,m}𝒞12𝑚\mathcal{C}=\{1,2,\ldots m\}caligraphic_C = { 1 , 2 , … italic_m }
m𝑚mitalic_m number of repair crew (repair salesmen)
𝒯csubscript𝒯𝑐\mathcal{T}_{c}caligraphic_T start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT time budget of crew c𝑐citalic_c
ΔTkΔsubscript𝑇𝑘\Delta T_{k}roman_Δ italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT time duration of the current (kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT) restoration window.
yicsubscript𝑦𝑖𝑐y_{ic}italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT binary variable which takes the value 1111 if crew c𝑐citalic_c visits/repairs node i𝒩wD𝑖superscriptsubscript𝒩𝑤𝐷i\in\mathcal{N}_{w}^{D}italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT or node i𝑖iitalic_i does not need repair, i.e., i{𝒩w{𝒩wD0}}𝑖subscript𝒩𝑤superscriptsubscript𝒩𝑤𝐷0i\in\left\{\mathcal{N}_{w}\setminus\left\{\mathcal{N}_{w}^{D}\cup 0\right\}\right\}italic_i ∈ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ∖ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ∪ 0 } }, 00 otherwise.
x(ij)csubscript𝑥𝑖𝑗𝑐x_{(ij)c}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT integer variable which takes the value 00 if crew c𝑐citalic_c does not travel between nodes i,j𝒩w𝑖𝑗subscript𝒩𝑤i,j\in\mathcal{N}_{w}italic_i , italic_j ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT, ij𝑖𝑗i\neq jitalic_i ≠ italic_j. If crew c𝑐citalic_c travels between nodes i𝑖iitalic_i and j𝑗jitalic_j, then x(ij)c{1,2}subscript𝑥𝑖𝑗𝑐12x_{(ij)c}\in\{1,2\}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT ∈ { 1 , 2 }, provided the undirected edge (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) is between node 00 and some other node. If (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) is not incident on the root, x(ij)c=1subscript𝑥𝑖𝑗𝑐1x_{(ij)c}=1italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT = 1.
(i,j)𝑖𝑗(i,j)( italic_i , italic_j ) undirected edge between nodes i𝑖iitalic_i and j𝑗jitalic_j.
ij𝑖𝑗i\to jitalic_i → italic_j directed edge from node i𝑖iitalic_i to j𝑗jitalic_j.
{i,j}𝑖𝑗\{i,j\}{ italic_i , italic_j } set of nodes i𝑖iitalic_i and j𝑗jitalic_j.
TABLE I: Table of notations used in MILP modeling of the repair scheduling problem.

V MILP formulation

In this section, we discuss a MILP model for the repair scheduling problem. Given a distribution network G𝐺Gitalic_G, we first perform a series of pre-processing steps to create the two working graphs, Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT and Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT (see Table I), summarized below:

G𝐺absent\displaystyle G\,\to\,italic_G → Gmsubscript𝐺𝑚absent\displaystyle\,G_{m}\,\to\,italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT → L(Gm)LK(Gm)Figure 2(d)𝐿subscript𝐺𝑚superscriptsubscript𝐿𝐾subscript𝐺𝑚Figure 2(d)\displaystyle L(G_{m})\,\to\,\overbrace{L_{K}(G_{m})}^{\text{Figure~{}\ref{fig% :Fig1_2}(d)}}italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) → over⏞ start_ARG italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) end_ARG start_POSTSUPERSCRIPT Figure (d) end_POSTSUPERSCRIPT :=Gw=(𝒩w,w)assignabsentsubscript𝐺𝑤subscript𝒩𝑤subscript𝑤\displaystyle:=G_{w}=\left(\mathcal{N}_{w},\mathcal{E}_{w}\right):= italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT = ( caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT , caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT )
\displaystyle\downarrow
Gdsuperscript𝐺𝑑absent\displaystyle G^{d}\,\to\,italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT → Gmdsuperscriptsubscript𝐺𝑚𝑑absent\displaystyle\,G_{m}^{d}\toitalic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT → L(Gmd)Figure 3(c)subscript𝐿superscriptsubscript𝐺𝑚𝑑Figure 3(c)\displaystyle\underbrace{L(G_{m}^{d})}_{\text{Figure~{}\ref{fig:Fig5}(c)}}under⏟ start_ARG italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) end_ARG start_POSTSUBSCRIPT Figure (c) end_POSTSUBSCRIPT :=Gwd=(𝒩w,wd)assignabsentsubscript𝐺𝑤𝑑subscript𝒩𝑤subscript𝑤𝑑\displaystyle:=G_{wd}=\left(\mathcal{N}_{w},\mathcal{E}_{wd}\right):= italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT = ( caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT , caligraphic_E start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT )

Without any loss of generality, we assume that all nodes in Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT and Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT, other than the root node, are damaged. For a partially damaged scenario, this requires the “graph collapse” procedure explained in Section IV-A to be implemented (see also Remark IV.1). As mentioned previously, we will use Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT to set up the repair scheduling problem as a traveling salesman-like problem and Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT to impose the additional electrical continuity constraints. Note that |w|=n(n1)/2subscript𝑤𝑛𝑛12\left|\mathcal{E}_{w}\right|=n(n-1)/2| caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT | = italic_n ( italic_n - 1 ) / 2 since Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT is an undirected graph. Accordingly, we will choose the set of edges in Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT to be w={(i,j):0in2,j>i}subscript𝑤conditional-set𝑖𝑗formulae-sequence0𝑖𝑛2𝑗𝑖\mathcal{E}_{w}=\{(i,j):0\leq i\leq n-2,\,j>i\}caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT = { ( italic_i , italic_j ) : 0 ≤ italic_i ≤ italic_n - 2 , italic_j > italic_i }. Our decision variables are {yic:i𝒩w,c𝒞}conditional-setsubscript𝑦𝑖𝑐formulae-sequence𝑖subscript𝒩𝑤𝑐𝒞\left\{y_{ic}:i\in\mathcal{N}_{w},\,c\in\mathcal{C}\right\}{ italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT : italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT , italic_c ∈ caligraphic_C } and {x(ij)c:(i,j)w,c𝒞}conditional-setsubscript𝑥𝑖𝑗𝑐formulae-sequence𝑖𝑗subscript𝑤𝑐𝒞\left\{x_{(ij)c}:(i,j)\in\mathcal{E}_{w},\,c\in\mathcal{C}\right\}{ italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT : ( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT , italic_c ∈ caligraphic_C }. The interpretations of these variables are discussed in Table I.

The MILP formulation for m𝑚mitalic_m-crew repair scheduling is listed in Figure 5. We dispatch m𝑚mitalic_m ‘repair salesmen’, each salesman starting and ending his tour at the root node 00. Additionally, each salesman operates under his own time budget and each node which needs repair can be visited by at most one repair salesman. Our objective function (eqn. (1a)) is maximization of the aggregate reward that can be collected by all crew at the end of the current restoration window. If ri=1subscript𝑟𝑖1r_{i}=1italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1, for all i𝒩wD𝑖superscriptsubscript𝒩𝑤𝐷i\in\mathcal{N}_{w}^{D}italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT, the objective function reduces to maximization of the number of nodes that can be repaired within the current restoration window. The roles of the constraint equations are discussed below.

  • Eqn. (1b) forces each crew to visit the root (node 00).

  • Eqn. (1c) imposes binary conditions on all nodes in 𝒩wDsuperscriptsubscript𝒩𝑤𝐷\mathcal{N}_{w}^{D}caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT (set of all nodes which need repair), on a per crew basis.

  • Eqns. (1d) and (1e) impose integrality conditions on the triple indexed x(ij)csubscript𝑥𝑖𝑗𝑐x_{(ij)c}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT variables. The set of values these variables can take depends on whether the undirected edge (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) is incident on the root node or not. If (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) is not incident on the root, x(ij)csubscript𝑥𝑖𝑗𝑐x_{(ij)c}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT is binary valued (eqn. (1e)). In contrast, if (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) is incident on the root, x(ij)csubscript𝑥𝑖𝑗𝑐x_{(ij)c}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT takes a value from the set {0,1,2}012\{0,1,2\}{ 0 , 1 , 2 } (eqn. (1d)). We allow x(ij)csubscript𝑥𝑖𝑗𝑐x_{(ij)c}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT to take the value 2222 in the latter case since we accept cycles of length 2222 in the optimal solution. For example, referring to Figure 2(d), the optimal solution for m=2𝑚2m=2italic_m = 2 could be (0,r)(r,4)(0,r)0𝑟𝑟40𝑟(0,r)\to(r,4)\to(0,r)( 0 , italic_r ) → ( italic_r , 4 ) → ( 0 , italic_r ) and (0,r)(r,5)(r,6)(0,r)0𝑟𝑟5𝑟60𝑟(0,r)\to(r,5)\to(r,6)\to(0,r)( 0 , italic_r ) → ( italic_r , 5 ) → ( italic_r , 6 ) → ( 0 , italic_r ). In this case, the undirected edge between (0,r)0𝑟(0,r)( 0 , italic_r ) and (r,4)𝑟4(r,4)( italic_r , 4 ) is used twice by the first crew, but all edges traveled by the second crew are used once.

  • Eqn. (1f) stipulates that all nodes needing repair be visited/repaired by at most one crew.

  • Eqn. (1g) relates the x𝑥xitalic_x variables to the y𝑦yitalic_y variables, on a per crew basis. If crew c𝑐citalic_c visits node i𝑖iitalic_i, where i𝑖iitalic_i is either the root node or belongs to the set of nodes needing repair, then yic=1subscript𝑦𝑖𝑐1y_{ic}=1italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT = 1, which implies j:(ij)wx(ij)c=2subscript:𝑗𝑖𝑗subscript𝑤subscript𝑥𝑖𝑗𝑐2\sum_{j:(ij)\,\in\,\mathcal{E}_{w}}x_{(ij)c}=2∑ start_POSTSUBSCRIPT italic_j : ( italic_i italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT = 2. This leaves open two possibilities: (i) some undirected edge incident on node i𝑖iitalic_i is used twice by the crew, which happens only when the edge connects to the root and the optimal solution for that crew is a cycle of length 2222 (i.e., the tour is of the form 0i00𝑖00\to i\to 00 → italic_i → 0), or (ii) two different edges incident on i𝑖iitalic_i are used, once each, which happens when the optimal solution for that crew is a cycle of length greater than 2222, in which case one edge is used to enter the node and another to exit (i.e., the tour is of the form 0iq00𝑖𝑞00\to i\to q\cdots\to 00 → italic_i → italic_q ⋯ → 0 or 0piq00𝑝𝑖𝑞00\to\cdots\to p\to i\to q\cdots\to 00 → ⋯ → italic_p → italic_i → italic_q ⋯ → 0). The role of this constraint, when applied to the home node, i.e., node 00, in determining model feasibility under limited time budgets is discussed in Section V-A.

  • Eqn. (1h) imposes a time constraint on every tour, on a per crew basis. For crew index c𝑐citalic_c, the maximum tour cost (in units of time) is the minimum of 𝒯csubscript𝒯𝑐\mathcal{T}_{c}caligraphic_T start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and ΔTkΔsubscript𝑇𝑘\Delta T_{k}roman_Δ italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, where 𝒯csubscript𝒯𝑐\mathcal{T}_{c}caligraphic_T start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT is the time budget for crew c𝑐citalic_c and ΔTkΔsubscript𝑇𝑘\Delta T_{k}roman_Δ italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is the time duration of the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT restoration window. Since we do not allow fractional repairs (and therefore, prorated rewards), the l.h.s of eqn. (1h) may not equal the r.h.s in the optimal solution. Note that both repair times and travel times are accounted for in the l.h.s of eqn. (1h).

  • Eqn. (1i) enforces the electrical continuity constraint by ensuring that for every node which is visited/repaired by some crew, a directed fully repaired path exists from the source to that node. This is achieved by imposing the complete set of precedence relations dictated by the working graph Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT (i.e., L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ); see Figure 3(c), Figure 4 for a partially damaged network, and Remark IV.1).

    In essence, the electrical continuity constraints yield a pattern of energized swathes which expand radially outward from the source over time, which makes intuitive sense for single-source radial distribution networks. For other topologies with either single or multiple sources, these constraints may need to be modeled differently.

  • Eqn. (1j) is a placeholder for subtour elimination constraints (SECs) which we address below.

 

max i𝒩wDric𝒞yicsubscript𝑖superscriptsubscript𝒩𝑤𝐷subscript𝑟𝑖subscript𝑐𝒞subscript𝑦𝑖𝑐\displaystyle\sum_{i\,\in\,\mathcal{N}_{w}^{D}}r_{i}\,\sum_{c\,\in\,\mathcal{C% }}y_{ic}∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT (1a)
s.t
yicsubscript𝑦𝑖𝑐\displaystyle y_{ic}italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT =1;absent1\displaystyle=1;= 1 ; c𝒞,i=0formulae-sequencefor-all𝑐𝒞𝑖0\displaystyle\forall c\in\mathcal{C},\ i=0∀ italic_c ∈ caligraphic_C , italic_i = 0 (1b)
yicsubscript𝑦𝑖𝑐\displaystyle y_{ic}italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT {0,1};absent01\displaystyle\in\{0,1\};∈ { 0 , 1 } ; c𝒞,i𝒩wDformulae-sequencefor-all𝑐𝒞for-all𝑖superscriptsubscript𝒩𝑤𝐷\displaystyle\forall c\in\mathcal{C},\ \forall i\in\mathcal{N}_{w}^{D}∀ italic_c ∈ caligraphic_C , ∀ italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT (1c)
x(ij)csubscript𝑥𝑖𝑗𝑐\displaystyle x_{(ij)c}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT {0,1,2};absent012\displaystyle\in\{0,1,2\};\ ∈ { 0 , 1 , 2 } ; c𝒞,(i,j)w,i=0formulae-sequencefor-all𝑐𝒞formulae-sequencefor-all𝑖𝑗subscript𝑤𝑖0\displaystyle\forall c\in\mathcal{C},\ \forall(i,j)\,\in\,\mathcal{E}_{w},\ i=0∀ italic_c ∈ caligraphic_C , ∀ ( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT , italic_i = 0 (1d)
x(ij)csubscript𝑥𝑖𝑗𝑐\displaystyle x_{(ij)c}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT {0,1};absent01\displaystyle\in\{0,1\};∈ { 0 , 1 } ; c𝒞,(i,j)w,i0formulae-sequencefor-all𝑐𝒞formulae-sequencefor-all𝑖𝑗subscript𝑤𝑖0\displaystyle\forall c\in\mathcal{C},\ \forall(i,j)\,\in\,\mathcal{E}_{w},\ i\neq 0∀ italic_c ∈ caligraphic_C , ∀ ( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT , italic_i ≠ 0 (1e)
c𝒞subscript𝑐𝒞\displaystyle\sum_{c\,\in\,\mathcal{C}}∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT yicsubscript𝑦𝑖𝑐\displaystyle y_{ic}italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT 1;absent1\displaystyle\leq 1;\quad≤ 1 ; i𝒩wD(note: 0𝒩wD)for-all𝑖superscriptsubscript𝒩𝑤𝐷note: 0superscriptsubscript𝒩𝑤𝐷\displaystyle\forall i\in\mathcal{N}_{w}^{D}\ (\text{note: }0\not\in\mathcal{N% }_{w}^{D})∀ italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ( note: 0 ∉ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ) (1f)
j:(ij)wsubscript:𝑗𝑖𝑗subscript𝑤\displaystyle\sum_{j:(ij)\,\in\,\mathcal{E}_{w}}∑ start_POSTSUBSCRIPT italic_j : ( italic_i italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT x(ij)c2yicsubscript𝑥𝑖𝑗𝑐2subscript𝑦𝑖𝑐\displaystyle x_{(ij)c}-2\,y_{ic}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT - 2 italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT =0;absent0\displaystyle=0;= 0 ; c𝒞,i{𝒩wD0}/* see eqns. (1b), (1c) */formulae-sequencefor-all𝑐𝒞for-all𝑖superscriptsubscript𝒩𝑤𝐷0/* see eqns. (1b), (1c) */\displaystyle\forall c\in\mathcal{C},\ \forall i\in\left\{\mathcal{N}_{w}^{D}% \cup 0\right\}\ \ \text{/* see eqns.~{}(\ref{eq:const1}), (\ref{eq:const2}) */}∀ italic_c ∈ caligraphic_C , ∀ italic_i ∈ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ∪ 0 } /* see eqns. ( ), ( ) */ (1g)
i𝒩wDsubscript𝑖superscriptsubscript𝒩𝑤𝐷\displaystyle\sum_{i\,\in\,\mathcal{N}_{w}^{D}}∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT wiyic+(i,j)wc(ij)x(ij)csubscript𝑤𝑖subscript𝑦𝑖𝑐subscript𝑖𝑗subscript𝑤subscript𝑐𝑖𝑗subscript𝑥𝑖𝑗𝑐\displaystyle w_{i}\,y_{ic}+\sum_{(i,j)\,\in\,\mathcal{E}_{w}}c_{(ij)}\,x_{(ij% )c}italic_w start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT ( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT ( italic_i italic_j ) end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT min(𝒯c,ΔTk);absentminsubscript𝒯𝑐Δsubscript𝑇𝑘\displaystyle\leq\text{min}\left(\mathcal{T}_{c},\Delta T_{k}\right);\quad≤ min ( caligraphic_T start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT , roman_Δ italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) ; c𝒞for-all𝑐𝒞\displaystyle\forall c\in\mathcal{C}∀ italic_c ∈ caligraphic_C (1h)
c𝒞subscript𝑐𝒞\displaystyle\sum_{c\,\in\,\mathcal{C}}∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT yicc𝒞yjcsubscript𝑦𝑖𝑐subscript𝑐𝒞subscript𝑦𝑗𝑐\displaystyle y_{ic}-\sum_{c\,\in\,\mathcal{C}}y_{jc}italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_j italic_c end_POSTSUBSCRIPT 0;absent0\displaystyle\geq 0;\quad≥ 0 ; (ij)wd/* electrical continuity constraints */for-all𝑖𝑗subscript𝑤𝑑/* electrical continuity constraints */\displaystyle\forall(i\to j)\in\mathcal{E}_{wd}\ \ \mbox{/* electrical % continuity constraints */}∀ ( italic_i → italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT /* electrical continuity constraints */ (1i)
subtour elimination constraints (1j)

 

Figure 5: MILP formulation for m𝑚mitalic_m-crew repair scheduling during the kthsuperscript𝑘𝑡k^{th}italic_k start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT restoration window. Note that the electrical continuity constraints, eqn. (1i), are valid only for single source, radial power distribution networks.

V-A Discussion on problem infeasibility due to limited time budgets

In this section, we discuss why the MILP model can produce counterintuitive results with respect to the number of crews m𝑚mitalic_m, in the sense that the problem can be feasible for some values of m𝑚mitalic_m and m+2𝑚2m+2italic_m + 2, but infeasible for m+1𝑚1m+1italic_m + 1. To illustrate why and when this might happen, consider the distribution network 123412341\rightarrow 2\rightarrow 3\rightarrow 41 → 2 → 3 → 4, where node 1111 is the source (undamaged) and the directed arrows represent the direction of power flow. For simplicity, assume all travel times are zero, and the repair times of nodes 2, 3, and 4 are 30 minutes, 30 minutes, and 20 minutes respectively. Suppose we can choose to deploy one, two, or three crews, and the time budgets for the first and third crews are 30 minutes each, while that for the second crew is 20 minutes. When only the first crew is available, it can be deployed to node 2. Similarly, when all three crews are available, the first and third crews can be deployed to nodes 2 and 3, while the second crew can be deployed to node 4. However, if only the first two crews are available, the first crew can be deployed to node 2, but no job can be assigned to the second crew (electrical continuity constraints prevent deployment of the second crew to node 4 until node 3 is repaired), rendering the model infeasible. Whenever we encountered such infeasibilities during simulations, we discarded those problem instances.

Although not implemented, there exist at least two approaches by which model infeasibility due to inadequate time budgets can be avoided. Before we discuss possible solutions, let us first understand why eqn. 1g:

j:(ij)wx(ij)c2yic=0;c𝒞,i{𝒩wD0},formulae-sequencesubscript:𝑗𝑖𝑗subscript𝑤subscript𝑥𝑖𝑗𝑐2subscript𝑦𝑖𝑐0formulae-sequencefor-all𝑐𝒞for-all𝑖superscriptsubscript𝒩𝑤𝐷0\sum_{j:(ij)\,\in\,\mathcal{E}_{w}}\ x_{(ij)c}-2\,y_{ic}=0;\ \forall c\in% \mathcal{C},\ \forall i\in\left\{\mathcal{N}_{w}^{D}\cup 0\right\},∑ start_POSTSUBSCRIPT italic_j : ( italic_i italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT - 2 italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT = 0 ; ∀ italic_c ∈ caligraphic_C , ∀ italic_i ∈ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ∪ 0 } ,

is responsible for inducing such infeasibilities. Since y0c=1subscript𝑦0𝑐1y_{0c}=1italic_y start_POSTSUBSCRIPT 0 italic_c end_POSTSUBSCRIPT = 1 for all c𝑐citalic_c, j:(0j)wx(0j)c=2subscript:𝑗0𝑗subscript𝑤subscript𝑥0𝑗𝑐2\sum_{j:(0j)\,\in\,\mathcal{E}_{w}}\ x_{(0j)c}=2∑ start_POSTSUBSCRIPT italic_j : ( 0 italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( 0 italic_j ) italic_c end_POSTSUBSCRIPT = 2, which forces every crew to venture out of the home node, even if its time budget isn’t enough to finish a single job meeting the electrical continuity constraints. This explains why the 2-crew instance in the previous example is infeasible. The first approach to circumventing this infeasibility issue involves introducing a dummy node, say node 0, so that the new network is 01234012340-1\rightarrow 2\rightarrow 3\rightarrow 40 - 1 → 2 → 3 → 4. The reason for showing the edge between nodes 0 and 1 with an undirected line is that, while node 0 plays no role as far as power flow (electrical continuity) is concerned, the edge 01010-10 - 1 is available for travel between nodes 0 and 1. Now, if we set a zero reward for node 0 and zero travel time on the undirected edge 01010-10 - 1, the second crew in the above example is free to make the tour 1011011\to 0\to 11 → 0 → 1, for zero reward and cost, rendering a 2-crew solution feasible. The other approach involves splitting eqn. 1g into two:

i) j:(ij)wx(ij)c2yicsubscript:𝑗𝑖𝑗subscript𝑤subscript𝑥𝑖𝑗𝑐2subscript𝑦𝑖𝑐\displaystyle\sum_{j:(ij)\,\in\,\mathcal{E}_{w}}\ x_{(ij)c}-2\,y_{ic}∑ start_POSTSUBSCRIPT italic_j : ( italic_i italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT - 2 italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT =0;absent0\displaystyle=0;\ = 0 ; c𝒞,i𝒩wDformulae-sequencefor-all𝑐𝒞for-all𝑖superscriptsubscript𝒩𝑤𝐷\displaystyle\forall c\in\mathcal{C},\ \forall i\in\mathcal{N}_{w}^{D}∀ italic_c ∈ caligraphic_C , ∀ italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT
ii) j:(ij)wx(ij)c2yicsubscript:𝑗𝑖𝑗subscript𝑤subscript𝑥𝑖𝑗𝑐2subscript𝑦𝑖𝑐\displaystyle\sum_{j:(ij)\,\in\,\mathcal{E}_{w}}\ x_{(ij)c}-2\,y_{ic}∑ start_POSTSUBSCRIPT italic_j : ( italic_i italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT - 2 italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT 0;absent0\displaystyle\leq 0;\ ≤ 0 ; c𝒞,i=0formulae-sequencefor-all𝑐𝒞𝑖0\displaystyle\forall c\in\mathcal{C},\ i=0∀ italic_c ∈ caligraphic_C , italic_i = 0

Notice that the first equation (equality) is applicable for the damaged nodes only, while the second equation (inequality) is for the home node (undamaged). Since the equality is loosened to an inequality for the home node, j:(0j)wx(0j)c2subscript:𝑗0𝑗subscript𝑤subscript𝑥0𝑗𝑐2\sum_{j:(0j)\,\in\,\mathcal{E}_{w}}\ x_{(0j)c}\leq 2∑ start_POSTSUBSCRIPT italic_j : ( 0 italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( 0 italic_j ) italic_c end_POSTSUBSCRIPT ≤ 2, and the second crew in our above example can choose not to travel at all from the home node. However, if the crew does travel from the home node to some damaged node i𝑖iitalic_i, the equality constraint in the first equation will force it to either travel to another damaged node j𝑗jitalic_j (the tour will be of the form 0ij00𝑖𝑗00\to i\to j\to\ldots\to 00 → italic_i → italic_j → … → 0) or come back to the home node (the tour will be of the form 0i00𝑖00\to i\to 00 → italic_i → 0), depending on the remaining time.

V-B Subtour elimination constraints

There exists a rich body of literature on different approaches for subtour elimination in the traveling salesman problem (TSP). Some of these approaches utilize an exponential number of constraints, while others are polynomial formulations. It is not our intent to review relevant existing literature in this paper. In our work, we have adopted and modified the single commodity flow (SCF) based subtour elimination procedure proposed by Gavish and Graves [28]. In the context of the TSP, the SCF-based subtour elimination procedure requires that the home city be able to send a unit of flow to each of the cities visited, under the constraint that a positive flow can be activated on the edge ij𝑖𝑗i\to jitalic_i → italic_j only if salesman has traveled from i𝑖iitalic_i to j𝑗jitalic_j. Clearly, for the flow constraints to be satisfied, there must not be any subtour in the optimal solution.

To accommodate a flow model, we view each undirected edge (i,j)w𝑖𝑗subscript𝑤(i,j)\in\mathcal{E}_{w}( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT as a bidirected edge with corresponding (continuous-valued and non-negative) flow variables fijsubscript𝑓𝑖𝑗f_{ij}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT and fjisubscript𝑓𝑗𝑖f_{ji}italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT, where fijsubscript𝑓𝑖𝑗f_{ij}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is interpreted as a flow from i𝑖iitalic_i to j𝑗jitalic_j. In other words, each undirected edge (i,j)w𝑖𝑗subscript𝑤(i,j)\in\mathcal{E}_{w}( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT maps to two flow variables, fijsubscript𝑓𝑖𝑗f_{ij}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT and fjisubscript𝑓𝑗𝑖f_{ji}italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT. We define the ‘flow differential’ at any node as the aggregate flow out of the node minus the aggregate flow into the node. Our SCF based subtour elimination formulation is shown in eqn. (3), which requires an additional O(n2)𝑂superscript𝑛2O(n^{2})italic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) continuous variables and O(n2)𝑂superscript𝑛2O(n^{2})italic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) constraints. Notice that all inequalities are coupling constraints, in the sense that every equality/inequality depends on the collective job completions over all m𝑚mitalic_m crew.

Eqn. (3a) ensures that the flow differential at the root is equal to the total number of jobs completed by all crew. Eqn. (3b) ensures that the flow differential at any node which needs repair is equal to 11-1- 1 if it has been visited/repaired by any crew, and 00 otherwise.

Eqn. (3c) is a flow activation condition which ensures that flows on ij𝑖𝑗i\to jitalic_i → italic_j and ji𝑗𝑖j\to iitalic_j → italic_i can be activated only if some crew has traveled the undirected edge (i,j)𝑖𝑗(i,j)( italic_i , italic_j ), i.e., c𝒞x(ij)c1subscript𝑐𝒞subscript𝑥𝑖𝑗𝑐1\sum_{c\,\in\,\mathcal{C}}x_{(ij)c}\geq 1∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT ≥ 1. If flows are activated, it also imposes a capacity constraint which limits the maximum flow to either 2mn2𝑚𝑛2mn2 italic_m italic_n or 2n22superscript𝑛22n^{2}2 italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. To see why, consider some node i{𝒩wD0}𝑖superscriptsubscript𝒩𝑤𝐷0i\in\left\{\mathcal{N}_{w}^{D}\cup 0\right\}italic_i ∈ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ∪ 0 }. Summing eqn. (1g) over c𝑐citalic_c, we find:

c𝒞j:(ij)wx(ij)c2c𝒞yic,i{𝒩wD0}formulae-sequencesubscript𝑐𝒞subscript:𝑗𝑖𝑗subscript𝑤subscript𝑥𝑖𝑗𝑐2subscript𝑐𝒞subscript𝑦𝑖𝑐for-all𝑖superscriptsubscript𝒩𝑤𝐷0\displaystyle\sum_{c\,\in\,\mathcal{C}}\sum_{j:(ij)\,\in\,\mathcal{E}_{w}}x_{(% ij)c}\leq 2\sum_{c\,\in\,\mathcal{C}}y_{ic},\ \forall i\in\left\{\mathcal{N}_{% w}^{D}\cup 0\right\}∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j : ( italic_i italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT ≤ 2 ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT , ∀ italic_i ∈ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ∪ 0 } (2)

If i=0𝑖0i=0italic_i = 0, the r.h.s of eqn. (2) evaluates to 2m2𝑚2m2 italic_m, using eqn. (1b). Since:

c𝒞j:(ij)wx(ij)c2mc𝒞x(ij)c2m,subscript𝑐𝒞subscript:𝑗𝑖𝑗subscript𝑤subscript𝑥𝑖𝑗𝑐2𝑚subscript𝑐𝒞subscript𝑥𝑖𝑗𝑐2𝑚\sum_{c\,\in\,\mathcal{C}}\sum_{j:(ij)\,\in\,\mathcal{E}_{w}}x_{(ij)c}\leq 2m% \ \Rightarrow\ \sum_{c\,\in\,\mathcal{C}}x_{(ij)c}\leq 2m,∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j : ( italic_i italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT ≤ 2 italic_m ⇒ ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT ≤ 2 italic_m ,

eqn. (3c) reduces to:

fij,fjinc𝒞x(ij)c=2mnsubscript𝑓𝑖𝑗subscript𝑓𝑗𝑖𝑛subscript𝑐𝒞subscript𝑥𝑖𝑗𝑐2𝑚𝑛f_{ij},\,f_{ji}\leq n\sum_{c\,\in\,\mathcal{C}}x_{(ij)c}=2mnitalic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ≤ italic_n ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT = 2 italic_m italic_n

However, if i𝒩wD𝑖superscriptsubscript𝒩𝑤𝐷i\in\mathcal{N}_{w}^{D}italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT, the r.h.s of eqn. (2) evaluates to 2n2𝑛2n2 italic_n, using eqn. (1f), and eqn. (3c) reduces to:

fij,fjinc𝒞x(ij)c=2n2subscript𝑓𝑖𝑗subscript𝑓𝑗𝑖𝑛subscript𝑐𝒞subscript𝑥𝑖𝑗𝑐2superscript𝑛2f_{ij},\,f_{ji}\leq n\sum_{c\,\in\,\mathcal{C}}x_{(ij)c}=2n^{2}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT ≤ italic_n ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT = 2 italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT

Eqn. (3d) significantly tightens the flow upper bound established by eqn. (3c) by restricting the maximum flow on any directed edge to the total number of nodes visited/repaired by all crew, which can be at most equal to the cardinality of 𝒩wDsuperscriptsubscript𝒩𝑤𝐷\mathcal{N}_{w}^{D}caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT (i.e., number of nodes needing repair). Although a tighter upper bound would have been maxc𝒞(i𝒩wDyic)subscriptmax𝑐𝒞subscript𝑖superscriptsubscript𝒩𝑤𝐷subscript𝑦𝑖𝑐\mbox{max}_{c\,\in\,\mathcal{C}}\left(\sum_{i\,\in\,\mathcal{N}_{w}^{D}}y_{ic}\right)max start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ( ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT ), i.e., the maximum number of nodes visited/repaired by any crew, we did not implement this in order to avoid introducing additional auxiliary binary variables.

 

j=1nf0jj=1nfj0superscriptsubscript𝑗1𝑛subscript𝑓0𝑗superscriptsubscript𝑗1𝑛subscript𝑓𝑗0\displaystyle\sum_{j=1}^{n}f_{0j}-\sum_{j=1}^{n}f_{j0}∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_f start_POSTSUBSCRIPT 0 italic_j end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_f start_POSTSUBSCRIPT italic_j 0 end_POSTSUBSCRIPT =c𝒞i𝒩wDyic;absentsubscript𝑐𝒞subscript𝑖superscriptsubscript𝒩𝑤𝐷subscript𝑦𝑖𝑐\displaystyle=\sum_{c\,\in\,\mathcal{C}}\,\sum_{i\,\in\,\mathcal{N}_{w}^{D}}y_% {ic};= ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT ; (3a)
j=0jinfijj=0jinfjisuperscriptsubscript𝑗0𝑗𝑖𝑛subscript𝑓𝑖𝑗superscriptsubscript𝑗0𝑗𝑖𝑛subscript𝑓𝑗𝑖\displaystyle\sum_{\begin{subarray}{c}j=0\\ j\neq i\end{subarray}}^{n}f_{ij}-\sum_{\begin{subarray}{c}j=0\\ j\neq i\end{subarray}}^{n}f_{ji}∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 0 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_i end_CELL end_ROW end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 0 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_i end_CELL end_ROW end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT =c=1myic;absentsuperscriptsubscript𝑐1𝑚subscript𝑦𝑖𝑐\displaystyle=-\sum_{c=1}^{m}y_{ic};\ = - ∑ start_POSTSUBSCRIPT italic_c = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT ; i𝒩wDfor-all𝑖superscriptsubscript𝒩𝑤𝐷\displaystyle\forall i\in\mathcal{N}_{w}^{D}∀ italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT (3b)
fij,fjisubscript𝑓𝑖𝑗subscript𝑓𝑗𝑖\displaystyle f_{ij},\,f_{ji}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT nc𝒞x(ij)c;absent𝑛subscript𝑐𝒞subscript𝑥𝑖𝑗𝑐\displaystyle\leq n\sum_{c\,\in\,\mathcal{C}}x_{(ij)c};\ ≤ italic_n ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT ; (i,j)wfor-all𝑖𝑗subscript𝑤\displaystyle\forall(i,j)\in\mathcal{E}_{w}∀ ( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT (3c)
fij,fjisubscript𝑓𝑖𝑗subscript𝑓𝑗𝑖\displaystyle f_{ij},\,f_{ji}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT c𝒞i𝒩wDyic;absentsubscript𝑐𝒞subscript𝑖superscriptsubscript𝒩𝑤𝐷subscript𝑦𝑖𝑐\displaystyle\leq\sum_{c\,\in\,\mathcal{C}}\sum_{i\,\in\,\mathcal{N}_{w}^{D}}y% _{ic};\ ≤ ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT ; (i,j)wfor-all𝑖𝑗subscript𝑤\displaystyle\forall(i,j)\in\mathcal{E}_{w}∀ ( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT (3d)
fij,fjisubscript𝑓𝑖𝑗subscript𝑓𝑗𝑖\displaystyle f_{ij},\,f_{ji}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT 0;absent0\displaystyle\geq 0;\,≥ 0 ; (i,j)wfor-all𝑖𝑗subscript𝑤\displaystyle\forall(i,j)\in\mathcal{E}_{w}∀ ( italic_i , italic_j ) ∈ caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT (3e)

 

Figure 6: Single commodity flow based subtour elimination constraints to be used in conjunction with the MILP model in Figure 5. Each undirected edge (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) in wsubscript𝑤\mathcal{E}_{w}caligraphic_E start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT gives rise to two directed flow variables, fijsubscript𝑓𝑖𝑗f_{ij}italic_f start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT and fjisubscript𝑓𝑗𝑖f_{ji}italic_f start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT.

V-C A special case: when {𝒩w{𝒩wD0}}=subscript𝒩𝑤superscriptsubscript𝒩𝑤𝐷0\left\{\mathcal{N}_{w}\setminus\left\{\mathcal{N}_{w}^{D}\cup 0\right\}\right% \}=\emptyset{ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ∖ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ∪ 0 } } = ∅ and the power distribution network is a star graph: introducing a new variant of the TSP

An even more special case arises when the power distribution network is a star graph and {𝒩w{𝒩wD0}}=subscript𝒩𝑤superscriptsubscript𝒩𝑤𝐷0\left\{\mathcal{N}_{w}\setminus\left\{\mathcal{N}_{w}^{D}\cup 0\right\}\right% \}=\emptyset{ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ∖ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ∪ 0 } } = ∅. Note that all star graphs are radial, but the converse is not true. Since the line graph of a star graph on n𝑛nitalic_n nodes is a complete graph on n1𝑛1n-1italic_n - 1 nodes, the graph L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (see Figure 2(c)) itself would be a complete graph, i.e., L(Gm)=LK(Gm)𝐿subscript𝐺𝑚subscript𝐿𝐾subscript𝐺𝑚L(G_{m})=L_{K}(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) = italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) (in general, L(Gm)LK(Gm)𝐿subscript𝐺𝑚subscript𝐿𝐾subscript𝐺𝑚L(G_{m})\subseteq L_{K}(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) ⊆ italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT )). Since the set of edges in L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) and LK(Gm)subscript𝐿𝐾subscript𝐺𝑚L_{K}(G_{m})italic_L start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) are identical, L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) itself is a complete descriptor of the physical connectivity of the power network as well as the connectivity of the transportation graph. Another way of stating this is that, energization of any node after repair is not contingent on the repair status of any other node. In fact, the precedence relations embodied by wdsubscript𝑤𝑑\mathcal{E}_{wd}caligraphic_E start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT would state:

c𝒞y0cc𝒞yic;i{𝒩w0},formulae-sequencesubscript𝑐𝒞subscript𝑦0𝑐subscript𝑐𝒞subscript𝑦𝑖𝑐for-all𝑖subscript𝒩𝑤0\sum_{c\,\in\,\mathcal{C}}y_{0c}\geq\sum_{c\,\in\,\mathcal{C}}y_{ic};\quad% \forall i\in\left\{\mathcal{N}_{w}\setminus 0\right\},∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT 0 italic_c end_POSTSUBSCRIPT ≥ ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT ; ∀ italic_i ∈ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ∖ 0 } ,

which will always be true since the l.h.s of the inequality evaluates to the number of crew, m𝑚mitalic_m (1absent1\geq 1≥ 1, see eqn. (1b)), and the r.h.s is 1absent1\leq 1≤ 1 (see eqn. (1f)). This proves that the electrical continuity constraint in eqn. (1i) can be dropped and the pre-processing steps outlined in Figure 3 can be omitted. See Figure 7 for an illustration.

The m𝑚mitalic_m-crew repair scheduling problem therefore reduces to: “given a complete doubly weighted (node costs as well as edge costs) graph on n𝑛nitalic_n nodes, where each node offers a reward and each crew has a time budget, find optimal tours for m𝑚mitalic_m crews such that the aggregate reward collected by all crews is maximized.”

Essentially, what we have arrived at is, to the best of our knowledge, a new variant of the multiple traveling salesman problem which has not been studied before, which we call the “cost constrained reward maximizing mTSP on doubly weighted graphs”, or CCRM-m𝑚mitalic_mTSP-DW. The variant of the TSP which is closest to CCRM-m𝑚mitalic_mTSP-DW is the “selective TSP (S-TSP)” which was introduced by Laporte and Martello [29]. The objective in the S-TSP is to visit a subset of n𝑛nitalic_n cities such that the aggregate reward collected by the salesman at the end of the tour is maximized, under the constraint that the total cost incurred by the salesman be no more than some pre-determined amount. Therefore, the CCRM-m𝑚mitalic_mTSP-DW can be viewed as a generalization of S-TSP along two fronts: (i) multiple salesmen instead of one, and (ii) doubly weighted input graph with node weights and edge weights, instead of an edge-weighted graph. From this perspective, CCRM-m𝑚mitalic_mTSP-DW \equiv S-m𝑚mitalic_mTSP-DW. Based on our preceding discussion, it follows that the MILP model in Figure 5, along with appropriately defined subtour elimination constraints (e.g., using the equations in Figure 6), can also be used to solve an instance of the CCRM-m𝑚mitalic_mTSP-DW problem, after setting the r.h.s of eqn. (1h) equal to 𝒯csubscript𝒯𝑐\mathcal{T}_{c}caligraphic_T start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT since ΔTkΔsubscript𝑇𝑘\Delta T_{k}roman_Δ italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT plays no role in a TSP framework.

Refer to caption
Figure 7: (a) Graph of a star connected distribution network, G𝐺Gitalic_G. (b) Graph G𝐺Gitalic_G modified by contracting the repaired/energized portion in G𝐺Gitalic_G into a supernode (root), r𝑟ritalic_r, and adding an auxiliary node, 00, with an edge connecting 00 and r𝑟ritalic_r. We denote this graph by Gmsubscript𝐺𝑚G_{m}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT. (c) Line graph of Gmsubscript𝐺𝑚G_{m}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT, which we denote by L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). Since L(Gm)𝐿subscript𝐺𝑚L(G_{m})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) is itself a complete graph, this is our undirected working graph Gwsubscript𝐺𝑤G_{w}italic_G start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT. (d) Directed version of G𝐺Gitalic_G, Gdsuperscript𝐺𝑑G^{d}italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT, showing the direction of power flow. (e) Graph Gdsuperscript𝐺𝑑G^{d}italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT modified by contracting the repaired/energized portion in Gdsuperscript𝐺𝑑G^{d}italic_G start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT into a supernode, r𝑟ritalic_r, and adding an auxiliary node, 00, connected to node r𝑟ritalic_r. We denote this directed graph by Gmdsuperscriptsubscript𝐺𝑚𝑑G_{m}^{d}italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT. (f) Line graph of the directed graph shown in panel (e), L(Gmd)𝐿superscriptsubscript𝐺𝑚𝑑L(G_{m}^{d})italic_L ( italic_G start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ). This is our directed working graph Gwdsubscript𝐺𝑤𝑑G_{wd}italic_G start_POSTSUBSCRIPT italic_w italic_d end_POSTSUBSCRIPT.

V-D Valid inequalities

The MILP model in Figure 5 can be fortified through addition of valid inequalities. One set of such inequalities can be: “if undirected edges (i,j)𝑖𝑗(i,j)( italic_i , italic_j ) and (j,k)𝑗𝑘(j,k)( italic_j , italic_k ) are traveled on by any crew, then (i,k)𝑖𝑘(i,k)( italic_i , italic_k ) must not be traveled on by that crew, where ijk0,{i,j,k}𝒩wformulae-sequence𝑖𝑗𝑘0𝑖𝑗𝑘subscript𝒩𝑤i\neq j\neq k\neq 0,\,\left\{i,j,k\right\}\in\mathcal{N}_{w}italic_i ≠ italic_j ≠ italic_k ≠ 0 , { italic_i , italic_j , italic_k } ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT”.

x(ij)c+x(jk)c+x(ik)cyic+yjc;c𝒞formulae-sequencesubscript𝑥𝑖𝑗𝑐subscript𝑥𝑗𝑘𝑐subscript𝑥𝑖𝑘𝑐subscript𝑦𝑖𝑐subscript𝑦𝑗𝑐for-all𝑐𝒞\displaystyle\hskip 12.91663ptx_{(ij)c}+x_{(jk)c}+x_{(ik)c}\,\leq\,y_{ic}+y_{% jc};\ \forall c\in\mathcal{C}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_j italic_k ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_i italic_k ) italic_c end_POSTSUBSCRIPT ≤ italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT italic_j italic_c end_POSTSUBSCRIPT ; ∀ italic_c ∈ caligraphic_C (4a)
x(ij)c+x(jk)c+x(ik)cyjc+ykc;c𝒞formulae-sequencesubscript𝑥𝑖𝑗𝑐subscript𝑥𝑗𝑘𝑐subscript𝑥𝑖𝑘𝑐subscript𝑦𝑗𝑐subscript𝑦𝑘𝑐for-all𝑐𝒞\displaystyle\hskip 12.91663ptx_{(ij)c}+x_{(jk)c}+x_{(ik)c}\,\leq\,y_{jc}+y_{% kc};\ \forall c\in\mathcal{C}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_j italic_k ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_i italic_k ) italic_c end_POSTSUBSCRIPT ≤ italic_y start_POSTSUBSCRIPT italic_j italic_c end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT italic_k italic_c end_POSTSUBSCRIPT ; ∀ italic_c ∈ caligraphic_C (4b)
x(ij)c+x(jk)c+x(ik)cyic+ykc;c𝒞formulae-sequencesubscript𝑥𝑖𝑗𝑐subscript𝑥𝑗𝑘𝑐subscript𝑥𝑖𝑘𝑐subscript𝑦𝑖𝑐subscript𝑦𝑘𝑐for-all𝑐𝒞\displaystyle\hskip 12.91663ptx_{(ij)c}+x_{(jk)c}+x_{(ik)c}\,\leq\,y_{ic}+y_{% kc};\ \forall c\in\mathcal{C}italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_j italic_k ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_i italic_k ) italic_c end_POSTSUBSCRIPT ≤ italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT italic_k italic_c end_POSTSUBSCRIPT ; ∀ italic_c ∈ caligraphic_C (4c)

The above system of inequalities ensures that:

  • if i𝑖iitalic_i, j𝑗jitalic_j and k𝑘kitalic_k are all repaired by crew c𝑐citalic_c, then x(ij)c+x(jk)c+x(ik)c2subscript𝑥𝑖𝑗𝑐subscript𝑥𝑗𝑘𝑐subscript𝑥𝑖𝑘𝑐2x_{(ij)c}+x_{(jk)c}+x_{(ik)c}\leq 2italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_j italic_k ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_i italic_k ) italic_c end_POSTSUBSCRIPT ≤ 2.

  • if any two from i𝑖iitalic_i, j𝑗jitalic_j and k𝑘kitalic_k are repaired, then x(ij)c+x(jk)c+x(ik)c1subscript𝑥𝑖𝑗𝑐subscript𝑥𝑗𝑘𝑐subscript𝑥𝑖𝑘𝑐1x_{(ij)c}+x_{(jk)c}+x_{(ik)c}\leq 1italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_j italic_k ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_i italic_k ) italic_c end_POSTSUBSCRIPT ≤ 1, and

  • if any one from i𝑖iitalic_i, j𝑗jitalic_j and k𝑘kitalic_k or none are repaired, then x(ij)c+x(jk)c+x(ik)c0subscript𝑥𝑖𝑗𝑐subscript𝑥𝑗𝑘𝑐subscript𝑥𝑖𝑘𝑐0x_{(ij)c}+x_{(jk)c}+x_{(ik)c}\leq 0italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_j italic_k ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_i italic_k ) italic_c end_POSTSUBSCRIPT ≤ 0.

In essence, eqn. (4), which introduces 3(n3)3binomial𝑛33\,\binom{n}{3}3 ( FRACOP start_ARG italic_n end_ARG start_ARG 3 end_ARG ) constraints, is equivalent to:

x(ij)c+x(jk)c+x(ik)cmax(0,yic+yjc+ykc1).subscript𝑥𝑖𝑗𝑐subscript𝑥𝑗𝑘𝑐subscript𝑥𝑖𝑘𝑐max0subscript𝑦𝑖𝑐subscript𝑦𝑗𝑐subscript𝑦𝑘𝑐1x_{(ij)c}+x_{(jk)c}+x_{(ik)c}\leq\text{max}\left(0,y_{ic}+y_{jc}+y_{kc}-1% \right).italic_x start_POSTSUBSCRIPT ( italic_i italic_j ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_j italic_k ) italic_c end_POSTSUBSCRIPT + italic_x start_POSTSUBSCRIPT ( italic_i italic_k ) italic_c end_POSTSUBSCRIPT ≤ max ( 0 , italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT italic_j italic_c end_POSTSUBSCRIPT + italic_y start_POSTSUBSCRIPT italic_k italic_c end_POSTSUBSCRIPT - 1 ) .

V-E Alternate objective function: profit maximization instead of reward maximization

Since the objective function in eqn. (1a) will always prefer nodes with higher rewards, repairs of lower priority nodes (low reward) will tend to be deferred to later restoration windows. This phenomenon will be most acute if there are no high priority nodes downstream of the low priority node along a power flow path from the root (see Figure 3). In order to mitigate this situation, we can introduce penalty parameters, {pi:i𝒩wD}conditional-setsubscript𝑝𝑖𝑖superscriptsubscript𝒩𝑤𝐷\{p_{i}:i\in\mathcal{N}_{w}^{D}\}{ italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT }, which could be time dependent so that the penalty associated with a node, if not chosen for repair during the current restoration window, depends on the time elapsed since arrival of damage information for that node. Eqn. (1a) can then be modified to as follows:

max (i𝒩wDric𝒞yici𝒩wDpic𝒞(1yic)),max subscript𝑖superscriptsubscript𝒩𝑤𝐷subscript𝑟𝑖subscript𝑐𝒞subscript𝑦𝑖𝑐subscript𝑖superscriptsubscript𝒩𝑤𝐷subscript𝑝𝑖subscript𝑐𝒞1subscript𝑦𝑖𝑐\displaystyle\text{max }\left(\sum_{i\,\in\,\mathcal{N}_{w}^{D}}r_{i}\,\sum_{c% \,\in\,\mathcal{C}}y_{ic}-\sum_{i\,\in\,\mathcal{N}_{w}^{D}}p_{i}\,\sum_{c\,% \in\,\mathcal{C}}\left(1-y_{ic}\right)\right),max ( ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT italic_i ∈ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_c ∈ caligraphic_C end_POSTSUBSCRIPT ( 1 - italic_y start_POSTSUBSCRIPT italic_i italic_c end_POSTSUBSCRIPT ) ) , (5)

where the first term is the aggregate reward and the second term is the aggregate penalty. If {𝒩w{𝒩wD0}}=subscript𝒩𝑤superscriptsubscript𝒩𝑤𝐷0\left\{\mathcal{N}_{w}\setminus\left\{\mathcal{N}_{w}^{D}\cup 0\right\}\right% \}=\emptyset{ caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ∖ { caligraphic_N start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D end_POSTSUPERSCRIPT ∪ 0 } } = ∅ and the power distribution network is a star graph, the resulting TSP variant can be dubbed the “cost constrained profit maximizing mTSP on doubly weighted graphs”, or CCPM-m𝑚mitalic_mTSP-DW.

VI Computational Results

In this section, we evaluate our base model shown in Figure 5 (i.e, without the valid inequalities discussed in Section V-D) on three IEEE test feeder networks, shown in Figures A1, A2 and A3 in the Appendix. Some modifications were made to the standard IEEE networks, which are discussed below:

  • Link distances in the standard IEEE test networks [30], which are specified as 0 ft are set equal to 1 ft. For example, in the case of the 13-node network, the distance of link (633,634)633634(633,634)( 633 , 634 ) was set to 1 ft.

  • Since our model is designed exclusively for radial networks, certain links were deleted from the standard IEEE networks so that the modified network is radial. For example, the links (151,300)151300(151,300)( 151 , 300 ) and (54,94)5494(54,94)( 54 , 94 ) were deleted from the standard IEEE-123 node network (see Figure A3 in the Appendix). Additionally, for the 123-node network, the switches between nodes 151 and 300 and between nodes 54 and 94 were deemed to be in an open state.

Our simulations were conducted using the Gurobi [31] solver with the following parameters:

  • the rewards for all jobs are equal to 1111, i.e., ri=1,isubscript𝑟𝑖1for-all𝑖r_{i}=1,\,\forall iitalic_r start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 , ∀ italic_i,

  • the penalties for all unfinished jobs are equal to 00, i.e., pi=0,isubscript𝑝𝑖0for-all𝑖p_{i}=0,\,\forall iitalic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 , ∀ italic_i (therefore, we solve a reward maximization problem (eqn. 1a) instead of profit maximization (eqn. 5)),

  • job repair times were drawn from a Weibull distribution with varying means, subject to a lower bound of 30303030 minutes (consequently, all repair times are 30 minutes or longer),

  • travel distance between job sites i𝑖iitalic_i and j𝑗jitalic_j was set equal to the shortest path distance between i𝑖iitalic_i and j𝑗jitalic_j, which in turn was derived from IEEE specifications, subject to the modification discussed above (in other words, we assume that the road infrastructure network is identical to the power network),

  • travel speed was adjusted to yield varying travel time matrices (the travel time between jobs i𝑖iitalic_i and j𝑗jitalic_j is equal to the shortest path distance between i𝑖iitalic_i and j𝑗jitalic_j, divided by the travel speed) matrices,

  • all nodes other than the source are damaged and require repair,

  • the time budgets for all crew are identical, and

  • the ‘home nodes’ (node 0) are node 650, 800, and 150 (see Figures A1, A2 and A3 in the Appendix) for the 13, 34, and 123-node networks respectively.

Simulations on the 13-node network were carried out on an M1Pro laptop with 16 GB RAM. Simulations on the 34 and 123 node networks were conducted on University of Washington’s Hyak supercomputing system [32]. For each simulation on the supercomputing system, we allocated 20 tasks per node and 80 GB RAM (total). Since model complexity depends on the network size (as discussed in Section V), networks of varying sizes require different computational times. All problem instances on the IEEE 13-node network were solved to optimality. However, for the 34 and 123-node networks, we specified a termination criterion of 13% duality gap or 12 hours solver time, whichever occurs first. The mean and worst-case gap (defined as UB - LB, where UB denotes the best feasible upper bound and LB denotes the best feasible lower bound) we observed after program termination, over all 34-node trials and all 123-node trials, are: (i) 34-node: mean 1.25, worst 3, (ii) 123-node: mean 2.05, worst 7.

In the subsequent subsections, we evaluate our model on three performance metrics: (i) normalized aggregate reward per crew, defined as the aggregate reward (i.e, the value of the objective function upon program termination) divided by the product of number of nodes (n1𝑛1n-1italic_n - 1) and number of crew (m𝑚mitalic_m), as a function of mean repair time and time budget per crew, (ii) aggregate reward as a function of number of crew and repair to travel time ratio, and (iii) normalized unused work time, defined as the ratio of total unused work time over all crew divided by the total work time over all crew, as a function of repair to travel time ratio and number of crew. Note that since fractional job completions are not allowed in our model (rewards earned on job completion, provided electrical continuity constraints are met, are therefore all-or-nothing), the total work time (i.e., the total time spent on repair and travel) for any crew need not be exactly equal to the time budget allocated to that crew. We refer to this residual time as the unused work time for that crew. There is another reason why the unused work time need not be zero. Depending on the number of crews deployed and the time budget for each crew, it may be possible for one or more crews to complete their repair schedule strictly before their respective time budgets. In this case too, the unused work time will be non-zero.

VI-A Discussion on normalized aggregate reward per crew vs. mean repair time and time budget per crew

Figure 8 shows the normalized aggregate reward (NAR) per crew as a function of mean repair time and time budget per crew for all three network sizes. Each data point in Figure 8 is obtained by averaging over multiple trials: 100100100100 for the IEEE-13 node network and 10101010 for the 34 and 123-node networks. Since deploying an identical number of crews for all three network sizes is unrealistic, we elected to plot the NAR/crew instead of the NAR. Simulations for the 13-node network were conducted using 4 crews (m=4𝑚4m=4italic_m = 4), while those for the 34 and 123-node networks were conducted using m=8𝑚8m=8italic_m = 8. Observe that the maximum NAR per crew that can be achieved for the 13-node network with m=4𝑚4m=4italic_m = 4 is 1/4=0.25140.251/4=0.251 / 4 = 0.25, while for the 34 and 123-node networks, it is equal to 1/8=0.125180.1251/8=0.1251 / 8 = 0.125 when m=8𝑚8m=8italic_m = 8. Additionally, the travel speed was set such that the mean repair to travel time ratio is 3:1 for all network sizes when the mean repair time is 47.725 minutes. This required using a speed of 141 ft/min (1.6absent1.6\approx 1.6≈ 1.6 mph) for the 13-node network, 4740 ft/min (54absent54\approx 54≈ 54 mph) for the 34-node network, and 225 ft/min (2.6absent2.6\approx 2.6≈ 2.6 mph) for the 123-node network. Although the speeds for 13 and 123-node networks are unrealistic, using these values in conjunction with IEEE-specified edge lengths resulted in realistic travel times, in the range of [0.0071,36.17]0.007136.17[0.0071,36.17][ 0.0071 , 36.17 ] minutes for the 13-node network, [0.00021,40.825]0.0002140.825[0.00021,40.825][ 0.00021 , 40.825 ] minutes for the 34-node network, and [0.025,216.325]0.025216.325[0.025,216.325][ 0.025 , 216.325 ] minutes for the 123-node network. Keeping the travel speeds (or equivalently, travel times) fixed at the above values, we then varied the mean repair time and the time budget/crew to generate the figures shown in Figure 8.

Figure 8(a) shows the NAR/crew for the 13-node network. When the time budget/crew is very high (e.g., 240, 300, or 360 minutes) relative to repair and travel times, we observe that the NAR/crew achieves its highest possible value (0.25) when the mean repair time is swept between 4766476647-6647 - 66 minutes (approximately). Conversely, for very low time budgets (60 minutes), the NAR/crew remains constant at approximately 1/120.08331120.08331/12\approx 0.08331 / 12 ≈ 0.0833, which corresponds to 4 completed jobs out of possible 12. For moderate time budgets, we expect the NAR/crew to be monotonically decreasing as the mean repair time is increased (keeping the travel times fixed), and this is indeed what we observe when the time budget per crew is 120 or 180 minutes. Similar inferences can be made for the 34 and 123-node networks (see Figures 8(b) and 8(c)). However, since instances of these networks weren’t solved to optimality, we observe local deviations from the expected non-decreasing behavior (e.g., in the neighborhood of mean repair time =52absent52=52= 52 minutes when the time budget is 240 or 300 minutes in the case of the 34-node network). Additionally, when the time budget is very small (60 minutes) and the mean repair time exceeds 56 minutes (approximately), no jobs could be completed by any crew, ensuring electrical continuity constraints, which resulted in a NAR/crew of zero. This explains why the x𝑥xitalic_x-axis is limited to approximately 52 minutes when the time budget/crew is 60 minutes.

VI-B Discussion on aggregate reward vs. number of crew and mean repair to travel time ratio

Figure 9 shows the aggregate reward as a function of number of crew and repair to travel time ratio for all three network sizes. For convenience, the y𝑦yitalic_y-axes are dual scaled to show the aggregate reward as well as the normalized aggregate reward (NAR). Note that per crew normalization is not performed (unlike Figure 8) since our intent is to understand the marginal benefit due to deployment of an additional crew. For this analysis, we fixed the repair time vectors (approximately 88 minutes for 13-node network and 79 minutes for 34 and 123-node networks) for each of the three network sizes, and varied the travel speed to obtain different travel time matrices/distributions (see Figures A4, A5, and A6 in Appendix for representative distributions). This resulted in different mean repair time to mean travel time ratios. Since the travel speed and the repair time vectors are assumed to be deterministic, each data point in Figure 9 is derived from a single trial.

Intuitively, for a fixed repair to travel time ratio, we expect the aggregate reward to be non-decreasing, which is confirmed in Figure 9. Additionally, for a fixed repair time vector, a larger repair to travel time ratio (e.g., 12:1) implies smaller commute times which allows for more jobs to be completed (higher aggregate reward), while a smaller repair to travel time ratio (e.g., 1:12) implies larger commute time which results in fewer job completions (smaller aggregate reward). A visual examination of the color coded sequence of plots in Figure 9 confirms this behavior. We also observe that the trend for the 13-node network shows a saturation behavior as m𝑚mitalic_m increases, which is unlike what we see for the other two network sizes. In general, this saturation phenomenon can occur for any network size if all jobs can be completed by a certain number of crew, resulting in zero marginal aggregate reward (defined as AR(m+1)AR(m)AR𝑚1AR𝑚\text{AR}(m+1)-\text{AR}(m)AR ( italic_m + 1 ) - AR ( italic_m ), where AR(m)AR𝑚\text{AR}(m)AR ( italic_m ) denotes the aggregate reward from m𝑚mitalic_m crews, or alternately, the slope of the aggregate reward curve between successive values of m𝑚mitalic_m) due to deployment of an additional crew. See Figure A7 in the Appendix for plots of marginal aggregate reward corresponding to Figure 9.

Since an analysis of marginal aggregate reward (MAR) w.r.t number of crew can provide useful insights for personnel planning purposes, an important question we wanted to address in this section is, ‘are there critical values of m𝑚mitalic_m at which the MAR increases sharply?’ While we did not observe such behavior over m[5,10]𝑚510m\in[5,10]italic_m ∈ [ 5 , 10 ], an examination of Figure A7(c) in the Appendix (for 123-node network) does provide some interesting insights. Recall that the repair times are held constant. When the mean repair to travel ratio is relatively small (e.g., 1:12, 1:9, 1:6, and 1:3), we observe that the MAR hovers between 1 and 2. For example, when the ratio is 1:12, (i) MAR =1absent1=1= 1 when the number of crews increases from 5 to 6, (ii) MAR =2absent2=2= 2 when the number of crews increases from 6 to 7, (iii) MAR =1absent1=1= 1 when the number of crews increases from 7 to 8, and (iv) MAR =2absent2=2= 2 when the number of crews increases from 8 to 9, or from 9 to 10. In contrast, when the mean repair to travel ratio is 1 or higher, the MAR is either 2 or 3. For example, when the ratio is 12:1, (i) MAR =2absent2=2= 2 when the number of crews increases from 5 to 6, (ii) MAR =3absent3=3= 3 when the number of crews increases from 6 to 7, (iii) MAR =2absent2=2= 2 when the number of crews increases from 7 to 8, and (iv) MAR =3absent3=3= 3 when the number of crews increases from 8 to 9, or from 9 to 10. The preceding discussion should not be construed to imply that critical values of m𝑚mitalic_m, as alluded to in the beginning of this paragraph, do not exist. In general, the network topology is an important factor which can affect the marginal aggregate reward w.r.t the number of crews deployed and the mean repair to travel time ratio. For example, in a rural environment, the distribution network, despite being radial, may have locally dense clusters of repair jobs with large travel distances/times for any inter-cluster travel. For such network topologies, it is conceivable that deployment of an additional crew deployment may result in a sharp increase in the marginal aggregate reward.

VI-C Discussion on normalized unused work time vs. repair to travel time ratio and number of crew

Figure 10 shows the normalized unused work time (NUWT, can be viewed as a measure of crew utilization) as a function of mean repair to travel time ratio and number of crew. The repair and travel time parameters for Figure 10 are identical to those used for Figure 9. As in Figure 9, each data point in Figure 10 is derived from a single trial.

Figure 10(c) shows the normalized unused work time for the 123-node network. For a fixed repair time vector, when the ratio of the number of available repair jobs to number of crew is high (recall that we assume that all but the source node is damaged) and the time budgets are reasonable, we can expect that most of the crews will be ’maximally utilized’, i.e., be engaged in either repair/travel for a substantial fraction of their time budgets, particularly when travel times are small (or alternately, large mean repair to travel time ratios). This should result in small unused work time. For large travel times, it may not be possible for crews to make multiple commutes, possibly resulting in a larger unused work time. Figure 10(c) confirms this behavior. We also observe that the unity repair to travel ratio is an elbow point of the family of NUWT curves.

The 34-node network (see Figure 10(b)) behaves similarly to the 123-node network, except there is a steep transition between the 1:3 ratio and the unity ratio. Although we are not entirely sure what causes this sharp transitory behavior for the 34-node network, we posit that it is due to the relative scarcity of the number of repair jobs (33 for the 34-node network compared to 122 for the 123-node network). When travel times are large, it is plausible that the repair crews are faced with relatively few choices for selecting additional repairs without violating their time budget, leading to higher (compared to the 123-node network) unused work time when the mean repair to travel time ratio is less than unity. When the ratio is unity or higher, the travel times become comparable to or smaller than the repair times in an average sense, thereby opening up more choices for the crews to travel and complete additional repair jobs.

Finally, we observe that the 13-node network (see Figure 10(a)) behaves somewhat differently compared to the 34 and 123-node networks. With only 12 repair jobs, deploying 10 crews will naturally lead to one or two crews completing multiple jobs while the rest of the crews complete only one job (no travel time is involved for these crews since we assume that time accounting starts when a crew is stationed at the first repair site), leading to a high unused work time. This is manifested in the relatively flat characteristic throughout the range of repair to travel ratios when m=10𝑚10m=10italic_m = 10. As the number of crews decreases, we start to see a behavior which resembles the behavior in Figures 10(b) and 10(c), with an ‘elbow effect’ appearing for fewer crews at a ratio of 3:1.

VII Conclusion

In this paper, we address the problem of optimal restoration of electrical distribution networks after a severe weather event. Since the collection of damage information is a streaming process and prone to uncertainty or incompleteness, particularly during the initial hours/days after the event, we adopt a rolling horizon restoration framework. Incorporating both repair times and travel times, we propose a mixed integer linear programming model for solving the problem optimally on a restoration window basis. A key feature of this model is the inclusion of electrical connectivity constraints which ensures that all nodes scheduled for repair in the upcoming restoration window can be energized at the end of the window. We show that when the power network is of star topology, the optimal recovery problem reduces to an instance of the cost constrained reward maximizing m𝑚mitalic_mTSP on doubly weighted graphs, a novel variant of the traveling salesman problem, which, to the best of our knowledge has not been studied before. We validate our model on multiple IEEE test networks and evaluate the objective function w.r.t number of crews deployed, time budgets, mean repair time, and mean travel time.

References

  • [1] M. Panteli and P. Mancarella, “Influence of extreme weather and climate change on the resilience of power systems: Impacts and possible mitigation strategies,” Electric Power Systems Research, vol. 127, pp. 259–270, 2015.
  • [2] S. Aguilar, “How freezing rain, tree-lined neighborhoods and above-ground power lines prolonged austin power outages,” The Texas Tribune, 7 Feburary 2023, https://www.texastribune.org/2023/02/07/austin-ice-storm-power-outages-2023/.
  • [3] J. Calma, “Why hundreds of thousands of texans lost power in another cold snap,” The Verge, 2 Feburary 2023, https://www.theverge.com/2023/2/2/23582788/texas-freeze-power-outage-winter-storm.
  • [4] R. J. Campbell and S. Lowry, “Weather-related power outages and electric system resiliency.”   Congressional Research Service, Library of Congress Washington, DC, 2012.
  • [5] M. A. Mohamed, T. Chen, W. Su, and T. Jin, “Proactive resilience of power systems against natural disasters: A literature review,” IEEE Access, vol. 7, pp. 163 778–163 795, 2019.
  • [6] P. Hines, J. Apt, and S. Talukdar, “Large blackouts in north america: Historical trends and policy implications,” Energy Policy, vol. 37, no. 12, pp. 5249–5259, 2009.
  • [7] M. C. Kinn and C. Abbott, “To what extent is electricity central to resilience and disaster management of the built environment?” Procedia Economics and Finance, vol. 18, pp. 238–246, 2014.
  • [8] H. Zhang, G. Li, and H. Yuan, “Collaborative optimization of post-disaster damage repair and power system operation,” Energies, vol. 11, no. 10, p. 2611, 2018.
  • [9] H. Zhang, Z. Bie, C. Yan, and G. Li, “Post-disaster power system resilience enhancement considering repair process,” in 2018 China International Conference on Electricity Distribution (CICED).   IEEE, 2018, pp. 1550–1554.
  • [10] Y. Tan, A. K. Das, P. Arabshahi, and D. S. Kirschen, “Distribution systems hardening against natural disasters,” IEEE Transactions on Power Systems, vol. 33, no. 6, pp. 6849–6860, 2018.
  • [11] A. Arab, A. Khodaei, S. K. Khator, and Z. Han, “Electric power grid restoration considering disaster economics,” Ieee Access, vol. 4, pp. 639–649, 2016.
  • [12] Y. Tan, F. Qiu, A. K. Das, D. S. Kirschen, P. Arabshahi, and J. Wang, “Scheduling post-disaster repairs in electricity distribution networks,” IEEE Transactions on Power Systems, vol. 34, no. 4, pp. 2611–2621, 2019.
  • [13] N. Xu, S. D. Guikema, R. A. Davidson, L. K. Nozick, Z. Çağnan, and K. Vaziri, “Optimizing scheduling of post-earthquake electric power restoration tasks,” Earthquake engineering & structural dynamics, vol. 36, no. 2, pp. 265–284, 2007.
  • [14] C. Ma, J. Zhang, Y. Zhao, M. F. Habib, S. S. Savas, and B. Mukherjee, “Traveling repairman problem for optical network recovery to restore virtual networks after a disaster,” Journal of Optical Communications and Networking, vol. 7, no. 11, pp. B81–B92, 2015.
  • [15] A. Arif, Z. Wang, C. Chen, and J. Wang, “Repair and resource scheduling in unbalanced distribution systems using neighborhood search,” IEEE Transactions on Smart Grid, vol. 11, no. 1, pp. 673–685, 2019.
  • [16] S. Zhu, H. Hou, L. Zhu, Y. Liang, R. Wei, Y. Huang, and Y. Zhang, “An optimization model of power emergency repair path under typhoon disaster,” Energy Reports, vol. 7, pp. 204–209, 2021.
  • [17] H. Wan, W. Liu, Q. Shi, Y. Zhang, Y. Wang, and S. Zhang, “Multi-time-step rolling optimization strategy for post-disaster emergency recovery in distribution system based on model predictive control,” CSEE Journal of Power and Energy Systems, 2022.
  • [18] S. Lei, C. Chen, Y. Li, and Y. Hou, “Resilient disaster recovery logistics of distribution systems: Co-optimize service restoration with repair crew and mobile power source dispatch,” IEEE Transactions on Smart Grid, vol. 10, no. 6, pp. 6187–6202, 2019.
  • [19] J. Li, M. E. Khodayar, and M. R. Feizi, “Hybrid modeling based co-optimization of crew dispatch and distribution system restoration considering multiple uncertainties,” IEEE Systems Journal, vol. 16, no. 1, pp. 1278–1288, 2021.
  • [20] G. Zhang, F. Zhang, X. Zhang, K. Meng, and Z. Y. Dong, “Sequential disaster recovery model for distribution systems with co-optimization of maintenance and restoration crew dispatch,” IEEE Transactions on Smart Grid, vol. 11, no. 6, pp. 4700–4713, 2020.
  • [21] J. Yan, B. Hu, K. Xie, T. Niu, C. Li, and H.-M. Tai, “Dynamic repair scheduling for transmission systems based on look-ahead strategy approximation,” IEEE Transactions on Power Systems, vol. 36, no. 4, pp. 2918–2933, 2020.
  • [22] J. Yan, B. Hu, C. Shao, W. Huang, Y. Sun, W. Zhang, and K. Xie, “Scheduling post-disaster power system repair with incomplete failure information: A learning-to-rank approach,” IEEE Transactions on Power Systems, vol. 37, no. 6, pp. 4630–4641, 2022.
  • [23] H. Nie, Y. Chen, Y. Xia, S. Huang, and B. Liu, “Optimizing the post-disaster control of islanded microgrid: A multi-agent deep reinforcement learning approach,” IEEE Access, vol. 8, pp. 153 455–153 469, 2020.
  • [24] A. Abiri-Jahromi, M. Fotuhi-Firuzabad, and E. Abbasi, “An efficient mixed-integer linear formulation for long-term overhead lines maintenance scheduling in power distribution systems,” IEEE transactions on Power Delivery, vol. 24, no. 4, pp. 2043–2053, 2009.
  • [25] S. Kim, Y. Shin, G. M. Lee, and I. Moon, “Network repair crew scheduling for short-term disasters,” Applied Mathematical Modelling, vol. 64, pp. 510–523, 2018.
  • [26] D. Feng, F. Wu, Y. Zhou, U. Rahman, X. Zhao, and C. Fang, “Multi-agent-based rolling optimization method for restoration scheduling of distribution systems with distributed generation,” Journal of Modern Power Systems and Clean Energy, vol. 8, no. 4, pp. 737–749, 2020.
  • [27] M. Schmitz, D. P. Bernardon, V. J. Garcia, W. I. Schmitz, M. Wolter, and L. L. Pfitscher, “Price-based dynamic optimal power flow with emergency repair,” IEEE Transactions on Smart Grid, vol. 12, no. 1, pp. 324–337, 2020.
  • [28] B. Gavish and S. C. Graves, “The travelling salesman problem and related problems,” 1978.
  • [29] G. Laporte and S. Martello, “The selective travelling salesman problem,” Discrete applied mathematics, vol. 26, no. 2-3, pp. 193–207, 1990.
  • [30] “Ieee pes test feeder,” https://cmte.ieee.org/pes-testfeeders/resources/.
  • [31] “Gurobi optimization official website,” https://www.gurobi.com/whats-new-gurobi-11-0/.
  • [32] “University of washington research computing, hyak,” https://hyak.uw.edu/systems.
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 8: Plots of normalized aggregate reward (NAR) per crew as a function of mean repair time and time budget per crew. (a) 13-node and m=4𝑚4m=4italic_m = 4, where m𝑚mitalic_m denotes the number of crew, (b) 34-node and m=8𝑚8m=8italic_m = 8, and (c) 123-node and m=8𝑚8m=8italic_m = 8.
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 9: Plots of aggregate reward (AR) and normalized aggregate reward (NAR) as a function of number of crew and mean repair to travel time ratio. (a) 13-node (b) 34-node, and (c) 123-node. The time budget for each crew is 180 minutes.
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 10: Plots of normalized unused work time (NUWT) as a function of mean repair to travel time ratio and number of crew m𝑚mitalic_m. (a) 13-node (b) 34-node, and (c) 123-node. The time budget for each crew is 180 minutes.
Refer to caption
Figure A1: IEEE 13-node network.
Refer to caption
Figure A2: IEEE 34-node network.
Refer to caption
Figure A3: IEEE 123-node network.
Refer to caption
Figure A4: Histogram of travel times for IEEE-13 node network. The mean/median travel times are 26.22/29.42 minutes respectively. A speed of 85 ft/min (1absent1\approx 1≈ 1 mph) was used to compute the travel time matrix from the IEEE specified distance matrix.
Refer to caption
Figure A5: Histogram of travel times for IEEE-34 node network. The mean/median travel times are 24.82/24.18 minutes respectively. A speed of 2875 ft/min (32.7absent32.7\approx 32.7≈ 32.7 mph) was used to compute the travel time matrix from the IEEE specified distance matrix. Approximately 20% of travel times are less than 5 minutes. This distribution is significantly different from the travel time distributions of the 13-node (Figure A4) and 123-node (Figure A6) networks, even though the mean/median travel time for all three network sizes are similar.
Refer to caption
Figure A6: Histogram of travel times for IEEE-123 node network. The mean/median travel times are 26.26/25.20 minutes respectively. A speed of 137 ft/min (1.6absent1.6\approx 1.6≈ 1.6 mph) was used to compute the travel time matrix from the IEEE specified distance matrix.
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure A7: Plots of marginal aggregate reward (MAR) as a function of mean repair to travel time ratio and number of crew m𝑚mitalic_m. (a) 13-node (b) 34-node, and (c) 123-node. The time budget for each crew is 180 minutes.