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

operations_research Namespace Reference

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. More...


Classes

class  OrderedLNS
 Cycles all possible permutations. More...
class  RandomLNS
 RandomLNS is used for the local search and frees the number of elements specified in 'free_elements' randomly. More...
class  Evaluator
class  SymbolsSharedByTwoCardsConstraint
 Dedicated constraint to count the symbols shared by two cards. More...
class  DobbleOperator
 Local Search. More...
class  SwapSymbols
 Swap 2 symbols. More...
class  SwapSymbolsOnCardPairs
 Multiple swaps of two symbols. More...
class  DobbleFilter
 Local Search Filter. More...
class  SubstitutionMap
 SubstitutionMap. More...
struct  Bounds
 Bounds. More...
class  BoundsStore
 BoundsStore. More...
class  ArithmeticConstraint
 ArithmeticConstraint. More...
class  ArithmeticPropagator
 ArithmeticPropagator. More...
class  RowConstraint
 Custom Constraints. More...
class  OrConstraint
class  ConstraintRef
class  GlobalArithmeticConstraint
class  JobShopData
 JobShopData. More...
class  SwapIntervals
 Exchange 2 intervals on a sequence variable. More...
class  ShuffleIntervals
 Shuffle a fixed-length sub-sequence on one sequence variable. More...
class  SequenceLns
 LNS Operator. More...
class  MultiDimKnapsackData
 Data. More...
class  NetworkRoutingData
 Data Contains problem data. More...
class  NetworkRoutingDataBuilder
 Data Generation. More...
struct  Demand
 Solving the Problem. More...
class  NetworkRoutingSolver
class  NQueenSymmetry
class  SX
 Symmetry vertical axis. More...
class  SY
 Symmetry horizontal axis. More...
class  SD1
 Symmetry first diagonal axis. More...
class  SD2
 Symmetry second diagonal axis. More...
class  R90
 Rotate 1/4 turn. More...
class  R180
 Rotate 1/2 turn. More...
class  R270
 Rotate 3/4 turn. More...
struct  ParserState
struct  Instance
 Data Instances. More...
class  Box
 Box. More...
struct  BoxLessThan
class  CoveringProblem
 Covering Problem. More...

Typedefs

typedef std::vector< std::pair
< int, int > > 
Coordinates
 Vector of (x,y) node coordinates, *unscaled*, in some imaginary planar, metric grid.

Functions

void CheckConstraintViolators (const std::vector< int64 > &vars, std::vector< int > *const violators)
 Checks that all pairwise distances are unique and returns all violators.
bool CheckCostas (const std::vector< int64 > &vars)
 Check that all pairwise differences are unique.
void CostasSoft (const int dim)
 Computes a Costas Array using soft constraints.
void CostasHard (const int dim)
 Computes a Costas Array.
void Cryptoarithmetics ()
CostValue BuildAndSolveHungarianInstance (const LinearSumAssignment< ForwardStarGraph > &assignment)
void DisplayAssignment (const LinearSumAssignment< ForwardStarGraph > &assignment)
int solve_dimacs_assignment (int argc, char *argv[])
IntVar * CreateViolationVar (Solver *const solver, const std::vector< IntVar * > &card1_symbol_vars, const std::vector< IntVar * > &card2_symbol_vars, int num_symbols_per_card)
 Creates two integer variables: one that counts the number of symbols common to two cards, and one that counts the absolute difference between the first var and 1 (i.e.
void SolveDobble (int num_cards, int num_symbols, int num_symbols_per_card)
 Main Method.
void MinCostFlowOn4x4Matrix ()
 Min Cost Flow.
void MaxFeasibleFlow ()
 Max Flow.
void GolombRuler (int size)
void RunIntegerProgrammingExample (MPSolver::OptimizationProblemType optimization_problem_type)
void RunAllExamples ()
void Jobshop (const JobShopData &data)
void JobshopLs (const JobShopData &data)
 Model and Solve.
void AssignmentOn4x4Matrix ()
 Test assignment on a 4x4 matrix.
void RunLinearProgrammingExample (MPSolver::OptimizationProblemType optimization_problem_type)
void BuildLinearProgrammingMaxExample (MPSolver::OptimizationProblemType type)
void MagicSquare (int grid_size)
string ExprLabel (int index)
 Creates node labels.
string IntervalLabel (int index)
string SequenceLabel (int index)
string ConstraintLabel (int index)
template<class T>
void ExportLinks (const CPModelProto &model, const string &source, const T &proto, GraphExporter *const exporter)
 Scans argument to add links in the graph.
bool GetValueIfConstant (const CPModelProto &model, const CPIntegerExpressionProto &proto, int64 *const value)
 Scans the expression protobuf to see if it corresponds to an integer variable with min_value == max_value.
void DeclareExpression (int index, const CPModelProto &proto, GraphExporter *const exporter)
 Declares a labelled expression in the graph file.
void DeclareInterval (int index, const CPModelProto &proto, GraphExporter *const exporter)
void DeclareSequence (int index, const CPModelProto &proto, GraphExporter *const exporter)
void DeclareConstraint (int index, const CPModelProto &proto, GraphExporter *const exporter)
void ExportToGraphFile (const CPModelProto &proto, File *const file, GraphExporter::GraphFormat format)
 Parses the proto and exports it to a graph file.
int Run ()
 Main Method.
int64 EvaluateItem (MultiDimKnapsackData *const data, int64 var, int64 val)
void SolveKnapsack (MultiDimKnapsackData *const data)
void CheckNumberOfSolutions (int size, int num_solutions)
void NQueens (int size)
static void ParseProblemLine (const char *line, ParserState *state, ForwardStarGraph **graph)
static void ParseNodeLine (const char *line, ParserState *state)
static void ParseArcLine (const char *line, ParserState *state, ForwardStarGraph *graph, LinearSumAssignment< ForwardStarGraph > **assignment)
static void ParseOneLine (ParserState *state, ForwardStarGraph **graph, LinearSumAssignment< ForwardStarGraph > **assignment, char *line)
 Parameters out of style-guide order because this function is used as a callback that varies the input line.
void ParseFileByLines (const string &filename, Callback1< char * > *line_parser)
LinearSumAssignment
< ForwardStarGraph > * 
ParseDimacsAssignment (const string &filename, string *error_message, ForwardStarGraph **graph_handle)
 Reads an assignment problem description from the given file in DIMACS format and returns a LinearSumAssignment object representing the problem description.
int64 Travel (const Coordinates *const coords, RoutingModel::NodeIndex from, RoutingModel::NodeIndex to)
 Returns the scaled Euclidean distance between two nodes, coords holding the coordinates of the nodes.
int64 ServiceTime (const std::vector< int64 > *const service_times, RoutingModel::NodeIndex node)
 Returns the scaled service time at a given node, service_times holding the service times.
int64 TravelPlusServiceTime (const Coordinates *const coords, const std::vector< int64 > *const service_times, RoutingModel::NodeIndex from, RoutingModel::NodeIndex to)
 Returns the scaled (distance plus service time) between two nodes, coords holding the coordinates of the nodes and service_times holding the service times.
int64 Demand (const std::vector< int64 > *const demands, RoutingModel::NodeIndex from, RoutingModel::NodeIndex to)
 Returns the demand (quantity picked up or delivered) of a node, demands holds the demand of each node.
string VerboseOutput (const RoutingModel &routing, const Assignment &assignment, const Coordinates &coords, const std::vector< int64 > &service_times)
 Outputs a solution to the current model in a string.
bool SafeParseInt64Array (const string &str, std::vector< int64 > *parsed_int)
 An inefficient but convenient method to parse a whitespace-separated list of integers.
bool LoadAndSolve (const string &pdp_file)
 Builds and solves a model from a file in the format defined by Li & Lim (http://www.sintef.no/static/am/opti/projects/top/vrp/format_pdp.htm).
static void WriteOrDie (const char *buffer, size_t item_size, size_t buffer_length, FILE *fp)
void PrintDimacsAssignmentProblem (const LinearSumAssignment< ForwardStarGraph > &assignment, const TailArrayManager< ForwardStarGraph > &tail_array_manager, const string &output_filename)
 Given a LinearSumAssigment object representing an assignment problem description, outputs the problem in DIMACS format in the output file.
void ComputeOneDayOneTeamTuples (int num_teams, IntTupleSet *const tuples)
 Utility functions to help create the model.
void AddOneDayOneTeamConstraint (Solver *const solver, IntVar *const opponent, IntVar *const home_away, IntVar *const signed_opponent, const IntTupleSet &intra_day_tuples)
void ComputeOneDayTuples (int num_teams, IntTupleSet *const day_tuples)
 Constraints for one day and all teams.
void AddOneTeamConstraints (Solver *const solver, const std::vector< IntVar * > &opponents, const std::vector< IntVar * > &home_aways, const std::vector< IntVar * > &signed_opponents, const IntTupleSet &home_away_tuples, IntVar *const break_var, int num_teams)
 Adds all constraints relating to one teams and the complete schedule.
void ComputeOneTeamHomeAwayTuples (int num_teams, IntTupleSet *const home_away_tuples)
 Constraints for one team and all days.
void SportsScheduling (int num_teams)
 Main solving method.
void SolveInstance (const Instance &instance, MPSolver::OptimizationProblemType solver_type)
 Main Solve Method.

Variables

static const char *const kUsageTemplate = "usage: %s <filename>"
static const int kProblem = -1
 Utilities.
static const int kOk = 0
static const char kGreen1 [] = "#A2CD5A"
 Colors.
static const char kGreen2 [] = "#76EEC6"
static const char kGreen3 [] = "#00CD00"
static const char kWhite [] = "#FAFAFA"
static const char kBlue [] = "#87CEFA"
static const char kYellow [] = "#FFF68F"
static const char kRed [] = "#A52A2A"
static const int64 kDisconnectedDistance = -1LL
 Data and Data Generation.
const int64 kScalingFactor = 1000
 Scaling factor used to scale up distances, allowing a bit more precision from Euclidean distances.
Instance kInstances []
const int kInstanceCount = 10


Detailed Description

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Cryptoarithmetics problem

Solves equation SEND + MORE = MONEY among numbers where each digit is represented by a letter.

Solution: S=9; M=1; O=0; E=5; N=6; D=7; R=8; Y=2.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Integer programming example that shows how to use the API.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

This model implements a simple jobshop problem.

A jobshop is a standard scheduling problem where you must schedule a set of jobs on a set of machines. Each job is a sequence of tasks (a task can only start when the preceding task finished), each of which occupies a single specific machine during a specific duration. Therefore, a job is simply given by a sequence of pairs (machine id, duration). The objective is to minimize the 'makespan', which is the duration between the start of the first task (across all machines) and the completion of the last task (across all machines).

This will be modelled by sets of intervals variables (see class IntervalVar in constraint_solver/constraint_solver.h), one per task, representing the [start_time, end_time] of the task. Tasks in the same job will be linked by precedence constraints. Tasks on the same machine will be covered by Sequence constraints.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Linear programming example that shows how to use the API.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function for reading and parsing a file in DIMACS format: http://lpsolve.sourceforge.net/5.5/DIMACS_asn.htm

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function for outputting an assignment problem in DIMACS format: http://lpsolve.sourceforge.net/5.5/DIMACS_asn.htm


Typedef Documentation

typedef std::vector<std::pair<int, int> > operations_research::Coordinates

Vector of (x,y) node coordinates, *unscaled*, in some imaginary planar, metric grid.

Definition at line 64 of file pdptw.cc.


Function Documentation

void operations_research::AddOneDayOneTeamConstraint ( Solver *const   solver,
IntVar *const   opponent,
IntVar *const   home_away,
IntVar *const   signed_opponent,
const IntTupleSet &  intra_day_tuples 
)

Definition at line 102 of file sports_scheduling.cc.

void operations_research::AddOneTeamConstraints ( Solver *const   solver,
const std::vector< IntVar * > &  opponents,
const std::vector< IntVar * > &  home_aways,
const std::vector< IntVar * > &  signed_opponents,
const IntTupleSet &  home_away_tuples,
IntVar *const   break_var,
int  num_teams 
)

Adds all constraints relating to one teams and the complete schedule.

Definition at line 198 of file sports_scheduling.cc.

void operations_research::AssignmentOn4x4Matrix (  ) 

Test assignment on a 4x4 matrix.

Example taken from http://www.ee.oulu.fi/~mpa/matreng/eem1_2-1.htm with kCost[0][1] modified so the optimum solution is unique.

Definition at line 24 of file linear_assignment_api.cc.

CostValue operations_research::BuildAndSolveHungarianInstance ( const LinearSumAssignment< ForwardStarGraph > &  assignment  ) 

Definition at line 39 of file dimacs_assignment.cc.

void operations_research::BuildLinearProgrammingMaxExample ( MPSolver::OptimizationProblemType  type  ) 

Definition at line 22 of file linear_solver_protocol_buffers.cc.

void operations_research::CheckConstraintViolators ( const std::vector< int64 > &  vars,
std::vector< int > *const   violators 
)

Checks that all pairwise distances are unique and returns all violators.

Definition at line 48 of file costas_array.cc.

bool operations_research::CheckCostas ( const std::vector< int64 > &  vars  ) 

Check that all pairwise differences are unique.

Definition at line 80 of file costas_array.cc.

void operations_research::CheckNumberOfSolutions ( int  size,
int  num_solutions 
)

Definition at line 175 of file nqueens.cc.

void operations_research::ComputeOneDayOneTeamTuples ( int  num_teams,
IntTupleSet *const   tuples 
)

Utility functions to help create the model.

Constraints for one day and one team Computes the tuple set that links opponents, home_away, and signed_opponent on a single day for a single team.

Definition at line 94 of file sports_scheduling.cc.

void operations_research::ComputeOneDayTuples ( int  num_teams,
IntTupleSet *const   day_tuples 
)

Constraints for one day and all teams.

Computes all valid combination of signed_opponent for a single day and all teams.

Definition at line 119 of file sports_scheduling.cc.

void operations_research::ComputeOneTeamHomeAwayTuples ( int  num_teams,
IntTupleSet *const   home_away_tuples 
)

Constraints for one team and all days.

Computes all valid tuples for home_away variables for a single team on the full lenght of the season.

Definition at line 236 of file sports_scheduling.cc.

string operations_research::ConstraintLabel ( int  index  ) 

Definition at line 74 of file model_util.cc.

void operations_research::CostasHard ( const int  dim  ) 

Computes a Costas Array.

Definition at line 384 of file costas_array.cc.

void operations_research::CostasSoft ( const int  dim  ) 

Computes a Costas Array using soft constraints.

Instead of enforcing that all distance vectors are unique, we minimize the number of duplicate distance vectors.

Definition at line 230 of file costas_array.cc.

IntVar* operations_research::CreateViolationVar ( Solver *const   solver,
const std::vector< IntVar * > &  card1_symbol_vars,
const std::vector< IntVar * > &  card2_symbol_vars,
int  num_symbols_per_card 
)

Creates two integer variables: one that counts the number of symbols common to two cards, and one that counts the absolute difference between the first var and 1 (i.e.

the violation of the objective). Returns the latter (both vars are owned by the Solver anyway).

Definition at line 192 of file dobble_ls.cc.

void operations_research::Cryptoarithmetics (  ) 

Definition at line 30 of file cryptarithm.cc.

void operations_research::DeclareConstraint ( int  index,
const CPModelProto &  proto,
GraphExporter *const   exporter 
)

Definition at line 193 of file model_util.cc.

void operations_research::DeclareExpression ( int  index,
const CPModelProto &  proto,
GraphExporter *const   exporter 
)

Declares a labelled expression in the graph file.

Definition at line 148 of file model_util.cc.

void operations_research::DeclareInterval ( int  index,
const CPModelProto &  proto,
GraphExporter *const   exporter 
)

Definition at line 167 of file model_util.cc.

void operations_research::DeclareSequence ( int  index,
const CPModelProto &  proto,
GraphExporter *const   exporter 
)

Definition at line 180 of file model_util.cc.

int64 operations_research::Demand ( const std::vector< int64 > *const   demands,
RoutingModel::NodeIndex  from,
RoutingModel::NodeIndex  to 
)

Returns the demand (quantity picked up or delivered) of a node, demands holds the demand of each node.

Definition at line 99 of file pdptw.cc.

void operations_research::DisplayAssignment ( const LinearSumAssignment< ForwardStarGraph > &  assignment  ) 

Definition at line 103 of file dimacs_assignment.cc.

int64 operations_research::EvaluateItem ( MultiDimKnapsackData *const   data,
int64  var,
int64  val 
)

Definition at line 250 of file multidim_knapsack.cc.

template<class T>
void operations_research::ExportLinks ( const CPModelProto &  model,
const string &  source,
const T &  proto,
GraphExporter *const   exporter 
) [inline]

Scans argument to add links in the graph.

Definition at line 79 of file model_util.cc.

void operations_research::ExportToGraphFile ( const CPModelProto &  proto,
File *const   file,
GraphExporter::GraphFormat  format 
)

Parses the proto and exports it to a graph file.

Definition at line 203 of file model_util.cc.

string operations_research::ExprLabel ( int  index  ) 

Creates node labels.

Definition at line 62 of file model_util.cc.

bool operations_research::GetValueIfConstant ( const CPModelProto &  model,
const CPIntegerExpressionProto &  proto,
int64 *const   value 
)

Scans the expression protobuf to see if it corresponds to an integer variable with min_value == max_value.

Definition at line 118 of file model_util.cc.

void operations_research::GolombRuler ( int  size  ) 

Definition at line 50 of file golomb.cc.

string operations_research::IntervalLabel ( int  index  ) 

Definition at line 66 of file model_util.cc.

void operations_research::Jobshop ( const JobShopData &  data  ) 

Definition at line 59 of file jobshop.cc.

void operations_research::JobshopLs ( const JobShopData &  data  ) 

Model and Solve.

Definition at line 274 of file jobshop_ls.cc.

bool operations_research::LoadAndSolve ( const string &  pdp_file  ) 

Builds and solves a model from a file in the format defined by Li & Lim (http://www.sintef.no/static/am/opti/projects/top/vrp/format_pdp.htm).

Definition at line 175 of file pdptw.cc.

void operations_research::MagicSquare ( int  grid_size  ) 

Definition at line 49 of file magic_square.cc.

void operations_research::MaxFeasibleFlow (  ) 

Max Flow.

Definition at line 60 of file flow_api.cc.

void operations_research::MinCostFlowOn4x4Matrix (  ) 

Min Cost Flow.

Test on a 4x4 matrix. Example taken from http://www.ee.oulu.fi/~mpa/matreng/eem1_2-1.htm

Definition at line 26 of file flow_api.cc.

void operations_research::NQueens ( int  size  ) 

Definition at line 191 of file nqueens.cc.

static void operations_research::ParseArcLine ( const char *  line,
ParserState *  state,
ForwardStarGraph *  graph,
LinearSumAssignment< ForwardStarGraph > **  assignment 
) [static]

Definition at line 94 of file parse_dimacs_assignment.cc.

LinearSumAssignment< ForwardStarGraph > * operations_research::ParseDimacsAssignment ( const string &  filename,
string *  error_message,
ForwardStarGraph **  graph_handle 
)

Reads an assignment problem description from the given file in DIMACS format and returns a LinearSumAssignment object representing the problem description.

For a description of the format, see http://lpsolve.sourceforge.net/5.5/DIMACS_asn.htm

Also returns an error message (empty if no error) and a handle on the underlying graph representation. The error_message pointer must not be NULL because we insist on returning an explanatory message in the case of error. The graph_handle pointer must not be NULL because unless we pass a non-const pointer to the graph representation back to the caller, the caller lacks a good way to free the underlying graph (which isn't owned by the LinearAssignment instance).

Definition at line 218 of file parse_dimacs_assignment.cc.

void operations_research::ParseFileByLines ( const string &  filename,
Callback1< char * > *  line_parser 
)

Definition at line 187 of file parse_dimacs_assignment.cc.

static void operations_research::ParseNodeLine ( const char *  line,
ParserState *  state 
) [static]

Definition at line 76 of file parse_dimacs_assignment.cc.

static void operations_research::ParseOneLine ( ParserState *  state,
ForwardStarGraph **  graph,
LinearSumAssignment< ForwardStarGraph > **  assignment,
char *  line 
) [static]

Parameters out of style-guide order because this function is used as a callback that varies the input line.

Definition at line 126 of file parse_dimacs_assignment.cc.

static void operations_research::ParseProblemLine ( const char *  line,
ParserState *  state,
ForwardStarGraph **  graph 
) [static]

Definition at line 50 of file parse_dimacs_assignment.cc.

void operations_research::PrintDimacsAssignmentProblem ( const LinearSumAssignment< ForwardStarGraph > &  assignment,
const TailArrayManager< ForwardStarGraph > &  tail_array_manager,
const string &  output_filename 
)

Given a LinearSumAssigment object representing an assignment problem description, outputs the problem in DIMACS format in the output file.

For a description of the format, see http://lpsolve.sourceforge.net/5.5/DIMACS_asn.htm

Definition at line 38 of file print_dimacs_assignment.cc.

int operations_research::Run (  ) 

Main Method.

Definition at line 274 of file model_util.cc.

void operations_research::RunAllExamples (  ) 

Definition at line 60 of file integer_programming.cc.

void operations_research::RunIntegerProgrammingExample ( MPSolver::OptimizationProblemType  optimization_problem_type  ) 

Definition at line 21 of file integer_programming.cc.

void operations_research::RunLinearProgrammingExample ( MPSolver::OptimizationProblemType  optimization_problem_type  ) 

Definition at line 21 of file linear_programming.cc.

bool operations_research::@23::SafeParseInt64Array ( const string &  str,
std::vector< int64 > *  parsed_int 
) [static]

An inefficient but convenient method to parse a whitespace-separated list of integers.

Returns true iff the input string was entirely valid and parsed.

Definition at line 157 of file pdptw.cc.

string operations_research::SequenceLabel ( int  index  ) 

Definition at line 70 of file model_util.cc.

int64 operations_research::ServiceTime ( const std::vector< int64 > *const   service_times,
RoutingModel::NodeIndex  node 
)

Returns the scaled service time at a given node, service_times holding the service times.

Definition at line 81 of file pdptw.cc.

int operations_research::solve_dimacs_assignment ( int  argc,
char *  argv[] 
)

Definition at line 119 of file dimacs_assignment.cc.

void operations_research::SolveDobble ( int  num_cards,
int  num_symbols,
int  num_symbols_per_card 
)

Main Method.

Definition at line 663 of file dobble_ls.cc.

void operations_research::SolveInstance ( const Instance &  instance,
MPSolver::OptimizationProblemType  solver_type 
)

Main Solve Method.

Solves iteratively using delayed column generation, up to maximum number of steps.

Definition at line 567 of file strawberry_fields_with_column_generation.cc.

void operations_research::SolveKnapsack ( MultiDimKnapsackData *const   data  ) 

Definition at line 265 of file multidim_knapsack.cc.

void operations_research::SportsScheduling ( int  num_teams  ) 

Main solving method.

Solves the sports scheduling problem with a given number of teams.

Definition at line 277 of file sports_scheduling.cc.

int64 operations_research::Travel ( const Coordinates *const   coords,
RoutingModel::NodeIndex  from,
RoutingModel::NodeIndex  to 
)

Returns the scaled Euclidean distance between two nodes, coords holding the coordinates of the nodes.

Definition at line 68 of file pdptw.cc.

int64 operations_research::TravelPlusServiceTime ( const Coordinates *const   coords,
const std::vector< int64 > *const   service_times,
RoutingModel::NodeIndex  from,
RoutingModel::NodeIndex  to 
)

Returns the scaled (distance plus service time) between two nodes, coords holding the coordinates of the nodes and service_times holding the service times.

The service time is the time spent to execute a delivery or a pickup.

Definition at line 90 of file pdptw.cc.

string operations_research::VerboseOutput ( const RoutingModel &  routing,
const Assignment &  assignment,
const Coordinates &  coords,
const std::vector< int64 > &  service_times 
)

Outputs a solution to the current model in a string.

Definition at line 106 of file pdptw.cc.

static void operations_research::WriteOrDie ( const char *  buffer,
size_t  item_size,
size_t  buffer_length,
FILE *  fp 
) [static]

Definition at line 26 of file print_dimacs_assignment.cc.


Variable Documentation

const char operations_research::kBlue[] = "#87CEFA" [static]

Definition at line 57 of file model_util.cc.

const int64 operations_research::kDisconnectedDistance = -1LL [static]

Data and Data Generation.

Definition at line 96 of file network_routing.cc.

const char operations_research::kGreen1[] = "#A2CD5A" [static]

Colors.

Definition at line 53 of file model_util.cc.

const char operations_research::kGreen2[] = "#76EEC6" [static]

Definition at line 54 of file model_util.cc.

const char operations_research::kGreen3[] = "#00CD00" [static]

Definition at line 55 of file model_util.cc.

Definition at line 252 of file strawberry_fields_with_column_generation.cc.

Definition at line 85 of file strawberry_fields_with_column_generation.cc.

const int operations_research::kOk = 0 [static]

Definition at line 50 of file model_util.cc.

const int operations_research::kProblem = -1 [static]

Utilities.

Definition at line 49 of file model_util.cc.

const char operations_research::kRed[] = "#A52A2A" [static]

Definition at line 59 of file model_util.cc.

Scaling factor used to scale up distances, allowing a bit more precision from Euclidean distances.

Definition at line 60 of file pdptw.cc.

const char* const operations_research::kUsageTemplate = "usage: %s <filename>" [static]

Definition at line 117 of file dimacs_assignment.cc.

const char operations_research::kWhite[] = "#FAFAFA" [static]

Definition at line 56 of file model_util.cc.

const char operations_research::kYellow[] = "#FFF68F" [static]

Definition at line 58 of file model_util.cc.