#### Algorithm 1:

GBC Heuristic

**Input:** The sets $P$ and ${P}^{\prime}$, where $P=\{P(i)|i=1,\dots ,n\}$ and ${P}^{\prime}=\{{P}^{\prime}(i)|i=1,\dots ,n\}$. |

**Output:** The set $S$, where $S=\{S(i)|i=1,\dots ,n\}$. |

1: **for** $i=1$ **to** $n$ **do** |

2: $A(i)={\bigcap}_{m=1}^{t(i)}\text{\hspace{0.17em}}{p}_{m}(i)$ |

3: ${A}^{\prime}(i)={\bigcup}_{m=1}^{{t}^{\prime}(i)}\text{\hspace{0.17em}}{p}_{m}^{\prime}(i)$ |

4: **if** $A(i)=\xd8$ **then** |

5: $A(i)={p}_{1}(i)$ |

6: **end if** |

7: $S(i)=A(i)-(A(i)\text{\hspace{0.17em}}\bigcap \text{\hspace{0.17em}}{A}^{\prime}(i))$ |

8: **end for** |

9: **return** $S$ |

#### Algorithm 2:

GBCM Heuristic

**Input:** The sets $P$ and ${P}^{\prime}$, where $P=\{P(i)|i=1,\dots ,n\}$ and ${P}^{\prime}=\{{P}^{\prime}(i)|i=1,\dots ,n\}$. |

**Output:** The set $S$, where $S=\{S(i)|i=1,\dots ,n\}$. |

1: **for** $i=1$ **to** $n$ **do** |

2: **for** $m=1$ **to** $t(i)$ **do** |

3: Identify the incoming and the outgoing segmentation links of ${p}_{m}(i)$ (the segmentation links of ${p}_{m}(i)$). |

4: Identify the segments of ${p}_{m}(i)$. |

5: Let $k$ be the total number of segments of ${p}_{m}(i)$. |

6: $c\to 0$. |

7: **for** $j=1$ **to** $k$ **do** |

8: **if** ($c=0$ **AND** ${q}_{j}$ has detected the failure) **then** |

9: Add ${\mathit{\text{Seg}}}_{j}$ in $P(i)$ |

10: $c\to 1$ |

11: **else** |

12: Add ${\mathit{\text{Seg}}}_{j}$ in ${P}^{\prime}(i)$ |

13: **end if** |

14: **end for** |

15: Remove ${p}_{m}(i)$ from $P(i)$ |

16: **end for** |

17: **end for** |

18: Return sets $P$ and ${P}^{\prime}$. |

19: Execute GBC Heuristic (Algorithm 1) on sets $P$ and ${P}^{\prime}$. |

20: Return set $S$. |

#### TABLE I

Network and Dataset Information

Link | Length (km) | ${\lambda}_{j}$ | ${\beta}_{j}$ |
---|

${e}_{1}$ | 1100 | 471 | 2.77 |

${e}_{2}$ | 1600 | 202 | 1.55 |

${e}_{3}$ | 2800 | 131 | 1.45 |

${e}_{4}$ | 600 | 971 | 2.53 |

${e}_{5}$ | 1100 | 321 | 1.62 |

${e}_{6}$ | 2000 | 67 | 2.71 |

${e}_{7}$ | 600 | 1454 | 2.1 |

${e}_{8}$ | 800 | 229 | 1.77 |

${e}_{9}$ | 800 | 629 | 2.22 |

${e}_{10}$ | 1200 | 674 | 2.65 |

${e}_{11}$ | 700 | 263 | 2.43 |

${e}_{12}$ | 900 | 636 | 2.5 |

${e}_{13}$ | 700 | 1094 | 2.1 |

#### TABLE II

Simulation Statistics

Traffic load (Erlangs) | 7 | 10 | 20 |

# of blocked requests | 0 | 0 | 0 |

Max. # of established lightpaths | 20 | 23 | 38 |

Avg. # of established lightpaths | 4.2 | 5.41 | 10.58 |

Min. # of established lightpaths | 1 | 1 | 1 |

#### TABLE III

Number of Incidents in ${\mathcal{D}}_{j}^{\text{train}}$

Link | 7 Erlangs | 10 Erlangs | 20 Erlangs |
---|

${e}_{1}$ | 771 | 550 | 299 |

${e}_{2}$ | 1937 | 1568 | 1388 |

${e}_{3}$ | 1819 | 1697 | 1542 |

${e}_{4}$ | 1102 | 762 | 424 |

${e}_{5}$ | 743 | 570 | 410 |

${e}_{6}$ | 3807 | 3685 | 3570 |

${e}_{7}$ | 444 | 242 | 61 |

${e}_{8}$ | 927 | 774 | 608 |

${e}_{9}$ | 546 | 313 | 135 |

${e}_{10}$ | 686 | 467 | 153 |

${e}_{11}$ | 812 | 472 | 202 |

${e}_{12}$ | 632 | 415 | 58 |

${e}_{13}$ | 694 | 481 | 238 |

#### TABLE IV

Information for ${\mathcal{D}}_{r}^{\text{test}}$ Passed to the GP Classifier

Traffic load (Erlangs) | 7 | 10 | 20 |

# of incidents | 1541 | 1184 | 686 |

Min. # of suspect links | 2 | 2 | 2 |

Max. # of suspect links | 12 | 9 | 5 |

Avg. # of suspect links | 3.24 | 2.77 | 2.18 |

#### TABLE V

Accuracy Versus Traffic Load

Traffic load (Erlangs) | 7 | 10 | 20 |

# of incidents in ${\mathcal{D}}^{\text{test}}$ | 3000 | 3000 | 3000 |

# of correctly classified incidents by GBC | 1459 | 1816 | 2314 |

# of incidents in ${\mathcal{D}}_{r}^{\text{test}}$ (passed to GP) | 1541 | 1184 | 686 |

# of correctly classified incidents by GP | 1327 | 1068 | 655 |

GP accuracy | 0.86 | 0.9 | 0.95 |

Total accuracy (GBC and GP) | 0.93 | 0.96 | 0.99 |

#### TABLE VI

Number of Incidents in ${\mathcal{D}}_{j}^{tra\text{in}}$ for $|{\mathcal{D}}^{\text{train}}|=5000$

Link | 7 Erlangs | 10 Erlangs | 20 Erlangs |
---|

${e}_{1}$ | 536 | 387 | 182 |

${e}_{2}$ | 1361 | 1155 | 1035 |

${e}_{3}$ | 1294 | 1223 | 1104 |

${e}_{4}$ | 748 | 578 | 242 |

${e}_{5}$ | 529 | 412 | 286 |

${e}_{6}$ | 2694 | 2621 | 2538 |

${e}_{7}$ | 330 | 176 | 39 |

${e}_{8}$ | 645 | 573 | 438 |

${e}_{9}$ | 394 | 211 | 97 |

${e}_{10}$ | 501 | 330 | 102 |

${e}_{11}$ | 543 | 322 | 139 |

${e}_{12}$ | 456 | 290 | 42 |

${e}_{13}$ | 491 | 356 | 179 |

#### TABLE VII

Number of Incidents in ${\mathcal{D}}_{j}^{\text{train}}$ for $|{\mathcal{D}}^{\text{train}}|=3000$

Link | 7 Erlangs | 10 Erlangs | 20 Erlangs |

${e}_{1}$ | 337 | 240 | 120 |

${e}_{2}$ | 795 | 709 | 593 |

${e}_{3}$ | 810 | 761 | 686 |

${e}_{4}$ | 449 | 330 | 162 |

${e}_{5}$ | 330 | 250 | 176 |

${e}_{6}$ | 1614 | 1571 | 1519 |

${e}_{7}$ | 186 | 97 | 26 |

${e}_{8}$ | 371 | 328 | 256 |

${e}_{9}$ | 233 | 105 | 61 |

${e}_{10}$ | 291 | 198 | 54 |

${e}_{11}$ | 326 | 194 | 83 |

${e}_{12}$ | 274 | 189 | 21 |

${e}_{13}$ | 308 | 222 | 107 |

#### TABLE VIII

Number of Incidents in ${\mathcal{D}}_{j}^{\text{train}}$ for $|{\mathcal{D}}^{\text{train}}|=1000$

Link | 7 Erlangs | 10 Erlangs | 20 Erlangs |
---|

${e}_{1}$ | 114 | 72 | 33 |

${e}_{2}$ | 246 | 238 | 204 |

${e}_{3}$ | 294 | 273 | 250 |

${e}_{4}$ | 119 | 111 | 84 |

${e}_{5}$ | 95 | 82 | 52 |

${e}_{6}$ | 525 | 524 | 497 |

${e}_{7}$ | 45 | 35 | 7 |

${e}_{8}$ | 119 | 108 | 80 |

${e}_{9}$ | 44 | 27 | 28 |

${e}_{10}$ | 80 | 66 | 22 |

${e}_{11}$ | 87 | 75 | 31 |

${e}_{12}$ | 56 | 83 | 5 |

${e}_{13}$ | 96 | 68 | 42 |

#### TABLE IX

Accuracy Versus Traffic Load for $|{\mathcal{D}}^{\text{train}}|=5000$

Traffic load (Erlangs) | 7 | 10 | 20 |

# of incidents in ${\mathcal{D}}^{\text{test}}$ | 3000 | 3000 | 3000 |

# of correctly classified incidents by GBC | 1432 | 1847 | 2223 |

# of incidents in ${\mathcal{D}}_{r}^{\text{test}}$ (passed to GP) | 1568 | 1153 | 777 |

# of correctly classified incidents by GP | 1330 | 1032 | 748 |

GP accuracy | 0.84 | 0.89 | 0.96 |

Total accuracy (GBC and GP) | 0.93 | 0.95 | 0.99 |

#### TABLE X

Accuracy Versus Traffic Load for $|{\mathcal{D}}^{\text{train}}|=3000$

Traffic load (Erlangs) | 7 | 10 | 20 |

# of incidents in ${\mathcal{D}}^{\text{test}}$ | 3000 | 3000 | 3000 |

# of correctly classified incidents by GBC | 1442 | 1809 | 2303 |

# of incidents in ${\mathcal{D}}_{r}^{\text{test}}$ (passed to GP) | 1558 | 1191 | 697 |

# of correctly classified incidents by GP | 1305 | 1055 | 669 |

GP accuracy | 0.83 | 0.88 | 0.95 |

Total accuracy (GBC and GP) | 0.91 | 0.95 | 0.99 |

#### TABLE XI

Accuracy Versus Traffic Load for $|{\mathcal{D}}^{\text{train}}|=1000$

Traffic load (Erlangs) | 7 | 10 | 20 |

# of incidents in ${\mathcal{D}}^{\text{test}}$ | 3000 | 3000 | 3000 |

# of correctly classified incidents by GBC | 1477 | 1822 | 2228 |

# of incidents in ${\mathcal{D}}_{r}^{\text{test}}$ (passed to GP) | 1523 | 1178 | 772 |

# of correctly classified incidents by GP | 1288 | 1043 | 731 |

GP accuracy | 0.84 | 0.88 | 0.94 |

Total accuracy (GBC and GP) | 0.92 | 0.95 | 0.98 |

#### TABLE XII

Training and Classification Time

# of incidents in ${\mathcal{D}}^{\text{train}}$ | 7000 | 5000 | 3000 | 1000 |
---|

Training time (min) | 60 | 30 | 10 | 2 |

Classification time (s) | 1.3 | 0.7 | 0.7 | 0.1 |