\setcounter{AlgoLine}{0}
\DontPrintSemicolon
	\KwIn{Initial solution $s$ composed of $q$ disjoint parts $s_1, \dots, s_q$; sub-problem improvement method}
	\KwResult{Improved solution $s$}
	$U = \{s_1, \dots, s_q\}$\\
	\While{$U\neq \varnothing$}
	{ Select $s_g \in U$ \tcp*[h]{$s_g$: Seed part}\\
		Build a sub-problem $R$ composed of the $r$ parts of $s$ the closest to $s_g$\\
		Tentatively optimize $R$\\
		\uIf {$R$ is improved}
		{Update $s$\\
			From $U$, remove the part no longer belonging to $s$\\
			In $U$, insert the parts composing $R$\\
		}
		\Else($R$ not improved)
		{   Remove $s_g$ from $U$\\
		}
	}

