($fitness)($bestNeighbor)) ) { $bestNeighbor = $neighbor; } } if (\is_null($bestNeighbor)) { break; } $tabuList[] = $bestNeighbor; if (\count($tabuList) > $tabuListSize) { \array_shift($tabuList); } $currentSolution = $bestNeighbor; if (($score = ($fitness)($bestNeighbor)) > $bestFitness) { $bestSolution = $bestNeighbor; $bestFitness = $score; } } return $bestSolution; } }