Module vrp_core::construction::heuristics[][src]

A generalized insertion heuristic implementation.

Design

Structs

ActivityContext

Specifies insertion context for activity.

AllJobSelector

Returns a list of all jobs to be inserted.

AllRouteSelector

Returns a list of all possible routes for insertion.

BestResultSelector

Selects best result.

InsertionContext

A context which contains information needed for heuristic and metaheuristic.

InsertionFailure

Specifies insertion failure.

InsertionHeuristic

Implements generalized insertion heuristic. Using JobSelector, RouteSelector, and ResultSelector it tries to identify next job to be inserted until there are no jobs left or it is not possible to insert due to constraint limitations.

InsertionSuccess

Specifies insertion success result needed to insert job into tour.

NoiseResultSelector

Selects results with noise.

PositionInsertionEvaluator

Evaluates job insertion in routes at given position.

RegistryContext

Keeps track on how routes are used.

RouteContext

Specifies insertion context for route.

RouteModifier

A wrapper around route context modifier function.

RouteState

Provides the way to associate arbitrary data within route and activity.

SolutionContext

Contains information regarding discovered solution.

Enums

InsertionPosition

Specifies allowed insertion position in route for the job.

InsertionResult

Specifies insertion result variant.

Traits

InsertionEvaluator

Evaluates insertion.

JobSelector

On each insertion step, selects a list of jobs to be inserted. It is up to implementation to decide whether list consists of all jobs or just some subset.

ResultSelector

Insertion result selector.

RouteSelector

On each insertion step, selects a list of routes where jobs can be inserted. It is up to implementation to decide whether list consists of all possible routes or just some subset.

Functions

evaluate_job_constraint_in_route

Evaluates possibility to preform insertion in route context only.

evaluate_job_insertion_in_route

Evaluates possibility to preform insertion from given insertion context in given route at given position constraint.

get_customers_deviation

Gets standard deviation of the number of customer per tour.

get_distance_gravity_mean

Gets average distance between routes using medoids.

get_distance_mean

Gets mean of route distances.

get_duration_mean

Gets mean of route durations.

get_max_load_variance

Gets max load variance in tours.

get_medoid

Gets medoid location of given route context.

get_waiting_mean

Gets mean of future waiting time.

group_routes_by_proximity

Estimates distances between all routes using their medoids and returns the sorted groups.

Type Definitions

RouteProximityGroup

A type which represents routes grouped by their proximity.

StateValue

A any state value.