@@ -398,56 +398,6 @@ where
398398 }
399399}
400400
401- // Builds the local search phase from config or defaults.
402- pub fn build_list_local_search < S , V , DM , IDM > (
403- config : & SolverConfig ,
404- ctx : & ListContext < S , V , DM , IDM > ,
405- ) -> ListLocalSearch < S , V , DM , IDM >
406- where
407- S : PlanningSolution ,
408- S :: Score : Score + ParseableScore ,
409- V : Clone + Copy + PartialEq + Eq + std:: hash:: Hash + Send + Sync + fmt:: Debug + ' static ,
410- DM : CrossEntityDistanceMeter < S > + Clone ,
411- IDM : CrossEntityDistanceMeter < S > + Clone ,
412- {
413- let ls_config = config. phases . iter ( ) . find_map ( |p| {
414- if let PhaseConfig :: LocalSearch ( ls) = p {
415- Some ( ls)
416- } else {
417- None
418- }
419- } ) ;
420-
421- let Some ( ls) = ls_config else {
422- // Default: LA(400) + AcceptedCount(4) + Union(NearbyChange(20), NearbySwap(20), Reverse)
423- let acceptor = LateAcceptanceAcceptor :: < S > :: new ( 400 ) ;
424- let forager = AcceptedCountForager :: new ( 4 ) ;
425- let move_selector = ListMoveSelectorBuilder :: build ( None , ctx) ;
426- return ListLocalSearch :: Default ( LocalSearchPhase :: new (
427- move_selector,
428- acceptor,
429- forager,
430- None ,
431- ) ) ;
432- } ;
433-
434- let acceptor = ls
435- . acceptor
436- . as_ref ( )
437- . map ( |ac| AcceptorBuilder :: build :: < S > ( ac) )
438- . unwrap_or_else ( || AnyAcceptor :: LateAcceptance ( LateAcceptanceAcceptor :: < S > :: new ( 400 ) ) ) ;
439-
440- let forager = ForagerBuilder :: build :: < S > ( ls. forager . as_ref ( ) ) ;
441- let move_selector = ListMoveSelectorBuilder :: build ( ls. move_selector . as_ref ( ) , ctx) ;
442-
443- ListLocalSearch :: Config ( LocalSearchPhase :: new (
444- move_selector,
445- acceptor,
446- forager,
447- None ,
448- ) )
449- }
450-
451401#[ cfg( test) ]
452402mod tests {
453403 use super :: * ;
0 commit comments