[][src]Module vrp_core::solver::mutation

Structs

AdjustedStringRemoval

"Adjusted string removal" ruin strategy based on "Slack Induction by String Removals for Vehicle Routing Problems" (aka SISR) by Jan Christiaens, Greet Vanden Berghe. Some definitions from the paper: String is a sequence of consecutive nodes in a tour. Cardinality is the number of customers included in a string or tour.

ClusterRemoval

A ruin strategy which removes job clusters using DBSCAN algorithm.

CompositeRecreate

Provides the way to run one of multiple recreate methods.

CompositeRuin

Provides the way to run multiple ruin methods one by one on the same solution.

JobRemovalLimit

Specifies a limit for amount of jobs to be removed.

NeighbourRemoval

A ruin strategy which removes jobs in neighbourhood of randomly selected job (inclusive).

RandomJobRemoval

A ruin strategy which removes random jobs from solution.

RandomRouteRemoval

A ruin strategy which removes random route from solution.

RecreateWithBlinks

A recreate method as described in "Slack Induction by String Removals for Vehicle Routing Problems" (aka SISR) paper by Jan Christiaens, Greet Vanden Berghe.

RecreateWithCheapest

A recreate method which is equivalent to cheapest insertion heuristic.

RecreateWithGaps

A recreate method which selects on each insertion step only subset of randomly chosen jobs.

RecreateWithNearestNeighbor

Recreates solution using nearest neighbor algorithm.

RecreateWithRegret

A recreate method which uses regret insertion approach.

RuinAndRecreateMutation

A mutation which implements ruin and recreate metaheuristic.

WorstJobRemoval

A ruin strategy which detects the most cost expensive jobs in each route and delete them with their neighbours.

Traits

Mutation

Mutates given insertion context.

Recreate

A trait which specifies logic to produce a new feasible solution from partial one.

Ruin

A trait which specifies logic to destroy parts of solution.