@@ 452,7 452,13 @@ fn test_local_search_one_max() {
let result = local_search_first_improving(
&one_max,
- &mut EqualTerminatingCondition::new(optimum.clone()),
+ &mut
+ AndTerminatingConditions::new(
+ vec![
+ &mut EqualTerminatingCondition::new(optimum.clone()),
+ &mut NoBetterForCyclesTerminatingCondition::new(100)
+ ]
+ ),
&mut BinaryStringBitPerturbation::new(0.3),
&DefaultBetterThan::new(),
&BinaryString::new(vec![1; 10]),
@@ 482,7 488,13 @@ fn test_local_search_sphere() {
let result = local_search_first_improving(
&sphere_wrapped,
- &mut EqualTerminatingCondition::new(optimum.clone()),
+ &mut
+ AndTerminatingConditions::new(
+ vec![
+ &mut EqualTerminatingCondition::new(optimum.clone()),
+ &mut NoBetterForCyclesTerminatingCondition::new(100)
+ ]
+ ),
&mut BinaryStringBitPerturbation::new(0.3),
&DefaultBetterThan::new(),
&BinaryString::new(vec![1; 10]),