Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::InsertionSequenceGenerator Class Reference

Detailed Description

Definition at line 1056 of file routing_search.h.

#include <routing_search.h>

Public Member Functions

 InsertionSequenceGenerator ()=default
void AppendPickupDeliveryMultitourInsertions (int pickup, int delivery, int vehicle, absl::Span< const int > path, const std::vector< bool > &path_node_is_pickup, const std::vector< bool > &path_node_is_delivery, InsertionSequenceContainer &insertions)

Constructor & Destructor Documentation

◆ InsertionSequenceGenerator()

operations_research::InsertionSequenceGenerator::InsertionSequenceGenerator ( )
default

Member Function Documentation

◆ AppendPickupDeliveryMultitourInsertions()

void operations_research::InsertionSequenceGenerator::AppendPickupDeliveryMultitourInsertions ( int pickup,
int delivery,
int vehicle,
absl::Span< const int > path,
const std::vector< bool > & path_node_is_pickup,
const std::vector< bool > & path_node_is_delivery,
InsertionSequenceContainer & insertions )

Generates insertions for a pickup and delivery pair in a multitour path:

  • a series of pickups may only start if all the deliveries of previous pickups have been performed.
  • given a maximal pickup*delivery* subsequence, either the pickups or the deliveries are symmetric, meaning their order does not matter. Under these specifications, this method generates all unique insertions of the given pair that keep the multitour property.
    Note
    there are several ways one can extend pure pickup and delivery problems to mixed paired and unpaired visits. Two extreme views:
  • multitour heuristics should consider that only consecutive pickups or consecutive deliveries have a symmetry. Heuristics should only break those symmetries, in the mixed case inserting a pair in a path of length p has O(p²) possibilities.
  • multitour heuristics should not consider unpaired visits. Insertions are made on the subpath of paired nodes, all extensions to the original path that conserve order are equivalent.

Definition at line 2484 of file routing_search.cc.


The documentation for this class was generated from the following files: