culebra.solution.tsp.Ant
class¶
- class Ant(species: Species, fitness_cls: Type[Fitness], path: Sequence[int] | None = None)¶
Construct a default solution.
Class attributes¶
Class methods¶
- classmethod Ant.load_pickle(filename: str) Base ¶
Load a pickled object from a file.
- Parameters:
filename (
str
) – The file name.- Raises:
TypeError – If filename is not a valid file name
ValueError – If the filename extension is not
PICKLE_FILE_EXTENSION
Properties¶
- property Ant.fitness: Fitness¶
Get and set the solution’s fitness.
- Getter:
Return the current fitness
- Setter:
Set a new Fitness
- Type:
- property Ant.path: Sequence[int]¶
Get and set the path.
- Getter:
Return the path.
- Setter:
Set the new path. An array-like object of node indices is expected
- Type:
- Raises:
ValueError – If the new path does not meet the species constraints.
Methods¶
- Ant.save_pickle(filename: str) None ¶
Pickle this object and save it to a file.
- Parameters:
filename (
str
) – The file name.- Raises:
TypeError – If filename is not a valid file name
ValueError – If the filename extension is not
PICKLE_FILE_EXTENSION
- Ant.append(node: int) None ¶
Append a new node to the ant’s path.
- Raises:
TypeError – If node is not an integer number
ValueError – If node does not meet the species constraints.
ValueError – If node is already in the path.
- Ant.discard(node: int) None ¶
Discard a node.
This method raises an exception since nodes can not be discarded for the TSP problem.
- Parameters:
node (
int
) – The node- Raises:
RuntimeError – If called
Private methods¶
Dunder methods¶
- Ant.__hash__() int ¶
Return the hash number for this solution.
The hash number is used for equality comparisons. Currently is implemented as the hash of the solution’s string representation.