# Path: cameo/config.py



import time
from bisect import insort
from inspyred.ec import Individual as OriginalIndividual
from cameo.config import ndecimals
        self.birthdate = birthdate

    def __iter__(self):
        for v in self.candidate:
            yield v

    def __eq__(self, other):
        return self.candidate == other.candidate and self.fitness == other.fitness

    def __cmp__(self, other):
        if self.fitness > other.fitness:
            return -1 if self.maximize else 1
        elif self.fitness == other.fitness:
            if self.improves(other):
                return -1
            elif self == other:
                return 0
            else:
                return 1
        else:
            return 1 if self.maximize else -1

    def __lt__(self, other):
        if self.fitness > other.fitness:
            return self.maximize
        elif self.fitness == other.fitness:
            if self.improves(other):
                return True
            elif self == other:
                return False

# Path: cameo/config.py



# Path: cameo/strain_design/heuristic/evolutionary/archives.py
import time
from bisect import insort
from inspyred.ec import Individual as OriginalIndividual
from cameo.config import ndecimals

        self.birthdate = birthdate

    def __iter__(self):
        for v in self.candidate:
            yield v

    def __eq__(self, other):
        return self.candidate == other.candidate and self.fitness == other.fitness

    def __cmp__(self, other):
        if self.fitness > other.fitness:
            return -1 if self.maximize else 1
        elif self.fitness == other.fitness:
            if self.improves(other):
                return -1
            elif self == other:
                return 0
            else:
                return 1
        else:
            return 1 if self.maximize else -1

    def __lt__(self, other):
        if self.fitness > other.fitness:
            return self.maximize
        elif self.fitness == other.fitness:
            if self.improves(other):
                return True
            elif self == other:
                return False

            else: