Function  ILS_BL(LS_LM, Perb_LM, LS_BL, Perb_BL, MaxConsIter_BL)
s0Initialization;
ss0; ConsIter_BL≔0;
while  ConsIter_BL<=MaxConsIter_BL  do
   RVND(s0, LS_BL);
   sILS_LM(,LS_LM, Perb_LM);
if TC(s )<TC(s),then
  ss;
 ConsIter _BL≔0;
else
 ConsIter _BL≔ ConsIter _BL +1;
end
  s0Perturbation(s, Perb_BL);
end
Return  s

Algorithm 3: ILS for bi-level model.