\setcounter{AlgoLine}{0}
\DontPrintSemicolon
	{\KwIn{TSP Solution $s$}
		\KwResult{Improved solution $s$}
		\Repeat{ all edges of $s$ have vainly initiated a chain}
		{Eject edge $[a, b]$ to initiate the chain\\
			\Repeat{ $s$ improved or no edge $[b,d]$ exists}
			{
				Find the edge $[b, d]$ to add, minimizing the reference structure weight, with $[c, d]$ not has been removed in the current ejection chain\\
				\uIf{Edge $[b,d]$ found and reference structure weight smaller than tour $s$}
				{\uIf{Adding $[a,c]$ and removing $[c,d]$ improve the tour}
					{Success: Replace solution $s$ by the new discovered tour\\
					}
					\Else
					{Add edge $[b, d]$\\
						Remove edge $[c,d]$\\
						$b \leftarrow c$\\
					}
				}
				\Else
   {Ejection failure: come back to $s$ and try another ejection}
}
}
}
