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

#include <routing_ils.h>

Inheritance diagram for operations_research::SISRRuinProcedure:
operations_research::RuinProcedure

Public Member Functions

 SISRRuinProcedure (RoutingModel *model, std::mt19937 *rnd, int max_removed_sequence_size, int avg_num_removed_visits, double bypass_factor, int num_neighbors)
 
std::function< int64_t(int64_t)> Ruin (const Assignment *assignment) override
 Returns next accessors describing the ruined solution.
 
- Public Member Functions inherited from operations_research::RuinProcedure
virtual ~RuinProcedure ()=default
 

Detailed Description

Performs a ruin based on the Slack Induction by String Removals (SISR) procedure described in "Slack Induction by String Removals for Vehicle Routing Problems" by Jan Christiaens and Greet Vanden Berghe, Transportation Science 2020. Link to paper: https://kuleuven.limo.libis.be/discovery/search?query=any,contains,LIRIAS1988666&tab=LIRIAS&search_scope=lirias_profile&vid=32KUL_KUL:Lirias&offset=0

Note
, in this implementation, the notion of "string" is replaced by "sequence". In short, at every ruin application a number of routes are disrupted. This number of routes is selected according to a careful combination of user-defined parameters and solution and instance properties. Every selected route is then disrupted by removing a contiguous sequence of visits, possibly bypassing a contiguous subsequence. See also SISRRuinStrategy in ils.proto.

Definition at line 210 of file routing_ils.h.

Constructor & Destructor Documentation

◆ SISRRuinProcedure()

operations_research::SISRRuinProcedure::SISRRuinProcedure ( RoutingModel * model,
std::mt19937 * rnd,
int max_removed_sequence_size,
int avg_num_removed_visits,
double bypass_factor,
int num_neighbors )

Definition at line 906 of file routing_ils.cc.

Member Function Documentation

◆ Ruin()

std::function< int64_t(int64_t)> operations_research::SISRRuinProcedure::Ruin ( const Assignment * assignment)
overridevirtual

Returns next accessors describing the ruined solution.

We start by disrupting the route where the seed visit is served.

Implements operations_research::RuinProcedure.

Definition at line 925 of file routing_ils.cc.


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