(1): 𝐰 = 𝐰 m i n
(2): 𝐶 o p t = 𝐶 ( 𝐰 )
(3): 𝐰 o p t
(4): 𝑇 { t a b u o p e r a t o r s }
(5): d ( 𝜆 ( 𝐰 ) > 𝜆 m i n ) ? 1 1 { d i r e c t i o n s e l e c t i o n }
(6): while   | 𝑇 | < 𝑁   do
(7): for  all   1 𝑘 𝑇 𝑁   do   { c o m p u t a t i o n o f 𝑘 }
(8):   𝐰 Δ 𝐰
(9):  if   d > 0 𝐰 ( 𝑘 ) < 𝐰 m a x ( 𝑘 )   then
(10):    𝐰 Δ ( 𝑘 ) 𝐰 ( 𝑘 ) + 1
(11):  else  if d < 0 𝐰 ( 𝑘 ) > 𝐰 m i n ( 𝑘 )   then
(12):    𝐰 Δ ( 𝑘 ) 𝐰 ( 𝑘 ) 1
(13):  else
(14):    𝑇 𝑇 { 𝑘 }
(15):  end  if
(16):  if   𝑘 𝑇   then   { C o m p u t a t i o n o f t h e m e t r i c f o r d i r e c t i o n s e l e c t i o n }
(17):    𝑘 𝑓 d i r ( 𝐰 Δ , 𝐰 )
(18):   if   𝜆 ( 𝐰 Δ ) > 𝜆 m i n   then
(19):    update of   𝐶 o p t and 𝐰 o p t   if necessary
(20):   end  if
(21):  end  if
(22): end  for
(23): if   | 𝑇 | = 𝑁   then   { a l l t h e v a r i a b l e a r e i n t h e t a b u l i s t }
(24):   stop
(25): end  if
(26): if   d > 0   then   { s e l e c t i o n o f t h e b e s t s o l u t i o n }
(27):   𝑗 a r g m a x 𝑘
(28):   𝐰 ( 𝑗 ) 𝐰 ( 𝑗 ) + 1
(29):  if   𝜆 ( 𝐰 ) > 𝜆 m i n   then
(30):    d 1 { c h a n g e o f d i r e c t i o n i f 𝜆 m i n i s n o w f u l l l e d }
(31):    𝑇 𝑇 { 𝑗 }
(32):  end  if
(33): else
(34):   𝑗 a r g m i n 𝑘
(35):   𝐰 ( 𝑗 ) 𝐰 ( 𝑗 ) 1
(36):  if   𝜆 ( 𝐰 ) < 𝜆 m i n   then
(37):    𝑑 1 { c h a n g e o f d i r e c t i o n i f 𝜆 m i n i s n o l o n g e r f u l l l e d }
(38):  end  if
(39):  end  if
(40): end  while
(41): return   𝐰 o p t
Algorithm 3: Tabu search for solution improvement in WL optimization.