Generated on: Thu Mar 29 07:46:58 PDT 2012 for custom file set
// doxy/ or-tools/ examples/ cpp/

operations_research::NetworkRoutingSolver Class Reference

List of all members.

Public Types

typedef hash_set< int > OnePath

Public Member Functions

 NetworkRoutingSolver ()
void ComputeAllPathsForOneDemandAndOnePathLength (int demand_index, int max_length, int max_paths)
int ComputeAllPaths (int extra_hops, int max_paths)
 This method will fill the all_paths_ data structure.
void AddArcData (int index, int source, int destination, int arc_id)
void InitArcInfo (const NetworkRoutingData &data)
int InitDemandInfo (const NetworkRoutingData &data)
int64 InitShortestPaths (const NetworkRoutingData &data)
int InitPaths (const NetworkRoutingData &data, int extra_hops, int max_paths)
void Init (const NetworkRoutingData &data, int extra_hops, int max_paths)
void BuildNodePathConstraint (Solver *const solver, const std::vector< IntVar * > &path_vars, int demand_index, std::vector< IntVar * > *decision_vars)
 Build the AllowedAssignment constraint with one tuple per path for a given demand.
void BuildTrafficVariable (Solver *const solver, int arc_index, const std::vector< std::vector< IntVar * > > &path_vars, IntVar **const traffic)
 Build traffic variable summing all traffic from all demands going through a single arc.
int64 EvaluateMarginalCost (std::vector< IntVar * > *path_costs, int64 var, int64 val)
int64 HasArc (int i, int j)
 Callback for Dijkstra Shortest Path.
int64 LnsSolve (int time_limit, int fail_limit)
 Main Solve routine.
void DisplaySolution (int num_arcs, int64 max_usage_cost, const std::vector< IntVar * > &usage_costs, const std::vector< std::vector< IntVar * > > &path_vars, bool precise, int64 comfort_zone)

Static Public Member Functions

static Solver::DecisionModification MaxDiscrepancy1 (Solver *const solver)
 Limit the Maximum Number of Discrepancies in the Sub-Search.

Static Public Attributes

static const int kOneThousand = 1000
 Evaluator for the Decision Builder.

Classes

class  ApplyMaxDiscrepancy
class  PathBasedLns
 Implement 'clever' Large Neighborhood Search. More...
class  StoreUsageCosts
 Auxilliary Decision Builder to Store the Cost of a Solution. More...


Detailed Description

Definition at line 408 of file network_routing.cc.


Member Typedef Documentation

Definition at line 410 of file network_routing.cc.


Constructor & Destructor Documentation

operations_research::NetworkRoutingSolver::NetworkRoutingSolver (  )  [inline]

Definition at line 412 of file network_routing.cc.


Member Function Documentation

void operations_research::NetworkRoutingSolver::ComputeAllPathsForOneDemandAndOnePathLength ( int  demand_index,
int  max_length,
int  max_paths 
) [inline]

Definition at line 414 of file network_routing.cc.

int operations_research::NetworkRoutingSolver::ComputeAllPaths ( int  extra_hops,
int  max_paths 
) [inline]

This method will fill the all_paths_ data structure.

all_paths contains, for each demand, a vector of possible paths, stored as a hash_set of arc indices.

Definition at line 459 of file network_routing.cc.

void operations_research::NetworkRoutingSolver::AddArcData ( int  index,
int  source,
int  destination,
int  arc_id 
) [inline]

Definition at line 480 of file network_routing.cc.

void operations_research::NetworkRoutingSolver::InitArcInfo ( const NetworkRoutingData data  )  [inline]

Definition at line 484 of file network_routing.cc.

int operations_research::NetworkRoutingSolver::InitDemandInfo ( const NetworkRoutingData data  )  [inline]

Definition at line 512 of file network_routing.cc.

int64 operations_research::NetworkRoutingSolver::InitShortestPaths ( const NetworkRoutingData data  )  [inline]

Definition at line 528 of file network_routing.cc.

int operations_research::NetworkRoutingSolver::InitPaths ( const NetworkRoutingData data,
int  extra_hops,
int  max_paths 
) [inline]

Definition at line 554 of file network_routing.cc.

void operations_research::NetworkRoutingSolver::Init ( const NetworkRoutingData data,
int  extra_hops,
int  max_paths 
) [inline]

Definition at line 578 of file network_routing.cc.

void operations_research::NetworkRoutingSolver::BuildNodePathConstraint ( Solver *const   solver,
const std::vector< IntVar * > &  path_vars,
int  demand_index,
std::vector< IntVar * > *  decision_vars 
) [inline]

Build the AllowedAssignment constraint with one tuple per path for a given demand.

Definition at line 603 of file network_routing.cc.

void operations_research::NetworkRoutingSolver::BuildTrafficVariable ( Solver *const   solver,
int  arc_index,
const std::vector< std::vector< IntVar * > > &  path_vars,
IntVar **const   traffic 
) [inline]

Build traffic variable summing all traffic from all demands going through a single arc.

Definition at line 634 of file network_routing.cc.

int64 operations_research::NetworkRoutingSolver::EvaluateMarginalCost ( std::vector< IntVar * > *  path_costs,
int64  var,
int64  val 
) [inline]

Definition at line 747 of file network_routing.cc.

static Solver::DecisionModification operations_research::NetworkRoutingSolver::MaxDiscrepancy1 ( Solver *const   solver  )  [inline, static]

Limit the Maximum Number of Discrepancies in the Sub-Search.

Definition at line 767 of file network_routing.cc.

int64 operations_research::NetworkRoutingSolver::HasArc ( int  i,
int  j 
) [inline]

Callback for Dijkstra Shortest Path.

Definition at line 810 of file network_routing.cc.

int64 operations_research::NetworkRoutingSolver::LnsSolve ( int  time_limit,
int  fail_limit 
) [inline]

Main Solve routine.

Definition at line 820 of file network_routing.cc.

void operations_research::NetworkRoutingSolver::DisplaySolution ( int  num_arcs,
int64  max_usage_cost,
const std::vector< IntVar * > &  usage_costs,
const std::vector< std::vector< IntVar * > > &  path_vars,
bool  precise,
int64  comfort_zone 
) [inline]

Definition at line 977 of file network_routing.cc.


Member Data Documentation

Evaluator for the Decision Builder.

Definition at line 745 of file network_routing.cc.


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