Generated on: Thu Mar 29 07:46:58 PDT 2012 for custom file set | ||
|
||
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... |
Definition at line 408 of file network_routing.cc.
typedef hash_set<int> operations_research::NetworkRoutingSolver::OnePath |
Definition at line 410 of file network_routing.cc.
operations_research::NetworkRoutingSolver::NetworkRoutingSolver | ( | ) | [inline] |
Definition at line 412 of file network_routing.cc.
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] |
int64 operations_research::NetworkRoutingSolver::LnsSolve | ( | int | time_limit, | |
int | fail_limit | |||
) | [inline] |
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.
const int operations_research::NetworkRoutingSolver::kOneThousand = 1000 [static] |