<ahref="routing_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Copyright 2010-2018 Google LLC</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment">// you may not use this file except in compliance with the License.</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment">// You may obtain a copy of the License at</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment">// Unless required by applicable law or agreed to in writing, software</span></div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment">// See the License for the specific language governing permissions and</span></div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment">// limitations under the License.</span></div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> </div><divclass="line"><aname="l00068"></a><spanclass="lineno"> 68</span> <spanclass="comment">// TODO(user): Add a section on costs (vehicle arc costs, span costs,</span></div><divclass="line"><aname="l00069"></a><spanclass="lineno"> 69</span> <spanclass="comment">// disjunctions costs).</span></div><divclass="line"><aname="l00070"></a><spanclass="lineno"> 70</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00156"></a><spanclass="lineno"> 156</span> <spanclass="comment"></span></div><divclass="line"><aname="l00157"></a><spanclass="lineno"> 157</span> <spanclass="preprocessor">#ifndef OR_TOOLS_CONSTRAINT_SOLVER_ROUTING_H_</span></div><divclass="line"><aname="l00158"></a><spanclass="lineno"> 158</span> <spanclass="preprocessor">#define OR_TOOLS_CONSTRAINT_SOLVER_ROUTING_H_</span></div><divclass="line"><aname="l00159"></a><spanclass="lineno"> 159</span> </div><divclass="line"><aname="l00160"></a><spanclass="lineno"> 160</span> <spanclass="preprocessor">#include <cstddef></span></div><divclass="line"><aname="l00161"></a><spanclass="lineno"> 161</span> <spanclass="preprocessor">#include <functional></span></div><divclass="line"><aname="l00162"></a><spanclass="lineno"> 162</span> <spanclass="preprocessor">#include <memory></span></div><divclass="line"><aname="l00163"></a><spanclass="lineno"> 163</span> <spanclass="preprocessor">#include <queue></span></div><divclass="line"><aname="l00164"></a><spanclass="lineno"> 164</span> <spanclass="preprocessor">#include <string></span></div><divclass="line"><aname="l00165"></a><spanclass="lineno"> 165</span> <spanclass="preprocessor">#include <utility></span></div><divclass="line"><aname="l00166"></a><spanclass="lineno"> 166</span> <spanclass="preprocessor">#include <vector></span></div><divc
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aabc49d06184afabc880b2229eba42729"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aabc49d06184afabc880b2229eba42729">operations_research::RoutingModel::CheckLimit</a></div><divclass="ttdeci">bool CheckLimit()</div><divclass="ttdoc">Returns true if the search limit has been crossed.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01182">routing.h:1182</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a569e5105983007797f224986a331dc70"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a569e5105983007797f224986a331dc70">operations_research::RoutingDimension::GetCumulVarSoftLowerBound</a></div><divclass="ttdeci">int64 GetCumulVarSoftLowerBound(int64 index) const</div><divclass="ttdoc">Returns the soft lower bound of a cumul variable for a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ade2d9581bd56ce19dbf32e87bf23fc02"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ade2d9581bd56ce19dbf32e87bf23fc02">operations_research::RoutingModel::nodes</a></div><divclass="ttdeci">int nodes() const</div><divclass="ttdoc">Sizes and indices Returns the number of nodes in the model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01195">routing.h:1195</a></div></div>
<divclass="ttc"id="structoperations__research_1_1RoutingModel_1_1VehicleClass_html_a867852a03a08d1000bac9ade86552c46"><divclass="ttname"><ahref="structoperations__research_1_1RoutingModel_1_1VehicleClass.html#a867852a03a08d1000bac9ade86552c46">operations_research::RoutingModel::VehicleClass::dimension_start_cumuls_min</a></div><divclass="ttdeci">gtl::ITIVector< DimensionIndex, int64 > dimension_start_cumuls_min</div><divclass="ttdoc">Bounds of cumul variables at start and end vehicle nodes.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00330">routing.h:330</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a11db411ac857ec2153cd61c3e3296f08"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a11db411ac857ec2153cd61c3e3296f08">operations_research::RoutingDimension::HasBreakConstraints</a></div><divclass="ttdeci">bool HasBreakConstraints() const</div><divclass="ttdoc">Returns true if any break interval or break distance was defined.</div></div>
<divclass="ttc"id="structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost_html"><divclass="ttname"><ahref="structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost.html">operations_research::RoutingModel::CostClass::DimensionCost</a></div><divclass="ttdoc">SUBTLE: The vehicle's fixed cost is skipped on purpose here, because we can afford to do so:</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00288">routing.h:288</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a7d12150ee107484d0f8fa303f468358d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a7d12150ee107484d0f8fa303f468358d">operations_research::RoutingModel::SolveWithParameters</a></div><divclass="ttdeci">const Assignment * SolveWithParameters(const RoutingSearchParameters &search_parameters, std::vector< const Assignment * > *solutions=nullptr)</div><divclass="ttdoc">Solves the current routing model with the given parameters.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a803a75bbbec4ca2c54d9b1733badfa7c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a803a75bbbec4ca2c54d9b1733badfa7c">operations_research::RoutingModel::IsVehicleAllowedForIndex</a></div><divclass="ttdeci">bool IsVehicleAllowedForIndex(int vehicle, int64 index)</div><divclass="ttdoc">Returns true if a vehicle is allowed to visit a given node.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00630">routing.h:630</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a5cc55676794916626c6f2b765c3fe1a3"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a5cc55676794916626c6f2b765c3fe1a3">operations_research::RoutingModel::GetDepot</a></div><divclass="ttdeci">int64 GetDepot() const</div><divclass="ttdoc">Returns the variable index of the first starting or ending node of all routes.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a1f9eb39bee00004576f6248bf108b2a0"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a1f9eb39bee00004576f6248bf108b2a0">operations_research::RoutingModel::CompactAssignment</a></div><divclass="ttdeci">Assignment * CompactAssignment(const Assignment &assignment) const</div><divclass="ttdoc">Returns a compacted version of the given assignment, in which all vehicles with id lower or equal to ...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a38f27ac044864dd33032491e9b2e1ce0"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a38f27ac044864dd33032491e9b2e1ce0">operations_research::RoutingModel::GetCostClassIndexOfVehicle</a></div><divclass="ttdeci">CostClassIndex GetCostClassIndexOfVehicle(int64 vehicle) const</div><divclass="ttdoc">Get the cost class index of the given vehicle.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01120">routing.h:1120</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab3feb42fa0a2f09b014d55818dae2285a7da05b352a875f222b611ace4d9875a0"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab3feb42fa0a2f09b014d55818dae2285a7da05b352a875f222b611ace4d9875a0">operations_research::RoutingModel::PICKUP_AND_DELIVERY_NO_ORDER</a></div><divclass="ttdoc">Any precedence is accepted.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00223">routing.h:223</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a4e907b3668a07c9fa3f62d938f6cb855"><divclass="ttname"><ahref="namespaceoperations__research.html#a4e907b3668a07c9fa3f62d938f6cb855">operations_research::MakeSetValuesFromTargets</a></div><divclass="ttdeci">DecisionBuilder * MakeSetValuesFromTargets(Solver *solver, std::vector< IntVar * > variables, std::vector< int64 > targets)</div><divclass="ttdoc">A decision builder which tries to assign values to variables as close as possible to target values fi...</div></div>
<divclass="ttc"id="classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder.html">operations_research::GlobalCheapestInsertionFilteredDecisionBuilder</a></div><divclass="ttdoc">Filter-based decision builder which builds a solution by inserting nodes at their cheapest position o...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02664">routing.h:2664</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a07c6cdc82e267942b967f53e6010a82c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a07c6cdc82e267942b967f53e6010a82c">operations_research::RoutingDimension::GetBreakIntervalsOfVehicle</a></div><divclass="ttdeci">const std::vector< IntervalVar * >& GetBreakIntervalsOfVehicle(int vehicle) const</div><divclass="ttdoc">Returns the break intervals set by SetBreakIntervalsOfVehicle().</div></div>
<divclass="ttc"id="classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder_html_a9c66b9184f757e7acd1bda8873b766d2"><divclass="ttname"><ahref="classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder.html#a9c66b9184f757e7acd1bda8873b766d2">operations_research::CheapestAdditionFilteredDecisionBuilder::BuildSolution</a></div><divclass="ttdeci">bool BuildSolution() override</div><divclass="ttdoc">Virtual method to redefine to build a solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a039399df9f7c140d7764348a299f2e2b"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a039399df9f7c140d7764348a299f2e2b">operations_research::RoutingModel::HasHardTypeIncompatibilities</a></div><divclass="ttdeci">bool HasHardTypeIncompatibilities() const</div><divclass="ttdoc">Returns true iff any hard (resp.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00727">routing.h:727</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aeba5d5fb90261d1d5623867d83451f1c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aeba5d5fb90261d1d5623867d83451f1c">operations_research::RoutingModel::GetDimensions</a></div><divclass="ttdeci">const std::vector< RoutingDimension * >& GetDimensions() const</div><divclass="ttdoc">Returns all dimensions of the model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00510">routing.h:510</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BasePathFilter_html_ac68c29afe880d40f944a790220071192"><divclass="ttname"><ahref="classoperations__research_1_1BasePathFilter.html#ac68c29afe880d40f944a790220071192">operations_research::BasePathFilter::Accept</a></div><divclass="ttdeci">bool Accept(Assignment *delta, Assignment *deltadelta) override</div><divclass="ttdoc">Accepts a "delta" given the assignment with which the filter has been synchronized; the delta holds t...</div></div>
<divclass="ttc"id="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters_html_aabdb307989bb13b36c48f1915bb2940e"><divclass="ttname"><ahref="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html#aabdb307989bb13b36c48f1915bb2940e">operations_research::SavingsFilteredDecisionBuilder::SavingsParameters::add_reverse_arcs</a></div><divclass="ttdeci">bool add_reverse_arcs</div><divclass="ttdoc">If add_reverse_arcs is true, the neighborhood relationships are considered symmetrically.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02984">routing.h:2984</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_html_a3b0ce19f4831cb84532fef386f434b68"><divclass="ttname"><ahref="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html#a3b0ce19f4831cb84532fef386f434b68">operations_research::CheapestInsertionFilteredDecisionBuilder::InsertBetween</a></div><divclass="ttdeci">void InsertBetween(int64 node, int64 predecessor, int64 successor)</div><divclass="ttdoc">Inserts 'node' just after 'predecessor', and just before 'successor', resulting in the following subs...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ae3de9e12abc48a51ad1622eea5fb4bf9"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ae3de9e12abc48a51ad1622eea5fb4bf9">operations_research::RoutingModel::IsEnd</a></div><divclass="ttdeci">bool IsEnd(int64 index) const</div><divclass="ttdoc">Returns true if 'index' represents the last node of a route.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01060">routing.h:1060</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ae84602b98050ad382d725e35326aab3d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ae84602b98050ad382d725e35326aab3d">operations_research::RoutingModel::CloseModel</a></div><divclass="ttdeci">void CloseModel()</div><divclass="ttdoc">Closes the current routing model; after this method is called, no modification to the model can be do...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a1f1cc6902bb1371d03eaca05fdf23078"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a1f1cc6902bb1371d03eaca05fdf23078">operations_research::RoutingModel::SetFixedCostOfVehicle</a></div><divclass="ttdeci">void SetFixedCostOfVehicle(int64 cost, int vehicle)</div><divclass="ttdoc">Sets the fixed cost of one vehicle route.</div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_a4e87652a0defe5e88e5ee40f9747e8e4"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#a4e87652a0defe5e88e5ee40f9747e8e4">operations_research::SavingsFilteredDecisionBuilder::GetVehicleTypeFromSaving</a></div><divclass="ttdeci">int64 GetVehicleTypeFromSaving(const Saving &saving) const</div><divclass="ttdoc">Returns the cost class from a saving.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l03018">routing.h:3018</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a8cf13f984b08926eec39011f2900e3e5"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a8cf13f984b08926eec39011f2900e3e5">operations_research::RoutingModel::GetDisjunctionIndices</a></div><divclass="ttdeci">const std::vector< DisjunctionIndex >& GetDisjunctionIndices(int64 index) const</div><divclass="ttdoc">Returns the indices of the disjunctions to which an index belongs.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00567">routing.h:567</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a3c7253f12e84337a20296ce54f528c9e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a3c7253f12e84337a20296ce54f528c9e">operations_research::RoutingDimension::AreVehicleTransitsPositive</a></div><divclass="ttdeci">bool AreVehicleTransitsPositive(int vehicle) const</div><divclass="ttdoc">Returns true iff the transit evaluator of 'vehicle' is positive for all arcs.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02078">routing.h:2078</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingFilteredDecisionBuilder_html_ace97a6953feba3ac51077dc0c1b4ecc5"><divclass="ttname"><ahref="classoperations__research_1_1RoutingFilteredDecisionBuilder.html#ace97a6953feba3ac51077dc0c1b4ecc5">operations_research::RoutingFilteredDecisionBuilder::MakeDisjunctionNodesUnperformed</a></div><divclass="ttdeci">void MakeDisjunctionNodesUnperformed(int64 node)</div><divclass="ttdoc">Make nodes in the same disjunction as 'node' unperformed.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a81824038e89413cb3a1970104829cf81"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a81824038e89413cb3a1970104829cf81">operations_research::RoutingDimension::transit_evaluator</a></div><divclass="ttdeci">const RoutingModel::TransitCallback2 & transit_evaluator(int vehicle) const</div><divclass="ttdoc">Returns the callback evaluating the transit value between two node indices for a given vehicle.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02064">routing.h:2064</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a1a4f38992e3f63d9c763c9f5b044ece6"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a1a4f38992e3f63d9c763c9f5b044ece6">operations_research::RoutingModel::AddLocalSearchFilter</a></div><divclass="ttdeci">void AddLocalSearchFilter(LocalSearchFilter *filter)</div><divclass="ttdoc">Adds a custom local search filter to the list of filters used to speed up local search by pruning unf...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01044">routing.h:1044</a></div></div>
<divclass="ttc"id="structoperations__research_1_1RoutingModel_1_1VehicleClass_html_aff3b14d0392881f341830b3495a6bd43"><divclass="ttname"><ahref="structoperations__research_1_1RoutingModel_1_1VehicleClass.html#aff3b14d0392881f341830b3495a6bd43">operations_research::RoutingModel::VehicleClass::dimension_evaluator_classes</a></div><divclass="ttdeci">gtl::ITIVector< DimensionIndex, int64 > dimension_evaluator_classes</div><divclass="ttdoc">dimension_evaluators[d]->Run(from, to) is the transit value of arc from->to for a dimension d.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00337">routing.h:337</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab94b51a3ffa939b647cc2fc0eeff8400"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab94b51a3ffa939b647cc2fc0eeff8400">operations_research::RoutingModel::ComputeLowerBound</a></div><divclass="ttdeci">int64 ComputeLowerBound()</div><divclass="ttdoc">Computes a lower bound to the routing problem solving a linear assignment problem.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a94eb02e45a52976b41f26989b052904f"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a94eb02e45a52976b41f26989b052904f">operations_research::RoutingModel::IsStart</a></div><divclass="ttdeci">bool IsStart(int64 index) const</div><divclass="ttdoc">Returns true if 'index' represents the first node of a route.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a50ba9dd11704e0be7edaa9e9f24142ff"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a50ba9dd11704e0be7edaa9e9f24142ff">operations_research::RoutingModel::RoutingDimension</a></div><divclass="ttdeci">friend class RoutingDimension</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01667">routing.h:1667</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_aafbdefa5e5f84e8ca15523becd6c4ffe"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#aafbdefa5e5f84e8ca15523becd6c4ffe">operations_research::IntVarFilteredDecisionBuilder::InitializeSolution</a></div><divclass="ttdeci">virtual bool InitializeSolution()</div><divclass="ttdoc">Virtual method to initialize the solution.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02514">routing.h:2514</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a4cfd057283c52c001eb900fc86006ecf"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a4cfd057283c52c001eb900fc86006ecf">operations_research::RoutingModel::PreAssignment</a></div><divclass="ttdeci">const Assignment *const PreAssignment() const</div><divclass="ttdoc">Returns an assignment used to fix some of the variables of the problem.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00950">routing.h:950</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_html_aa3d22767523969477c21a15afd777ee4"><divclass="ttname"><ahref="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html#aa3d22767523969477c21a15afd777ee4">operations_research::CheapestInsertionFilteredDecisionBuilder::Seed</a></div><divclass="ttdeci">std::pair< StartEndValue, int > Seed</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02616">routing.h:2616</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab835ab18242ef46463ee90b2ac0f5532"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab835ab18242ef46463ee90b2ac0f5532">operations_research::RoutingModel::HasDimension</a></div><divclass="ttdeci">bool HasDimension(const std::string &dimension_name) const</div><divclass="ttdoc">Returns true if a dimension exists for a given dimension name.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aba790701618919c85a0469d42a7c0baf"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aba790701618919c85a0469d42a7c0baf">operations_research::RoutingModel::AddAtSolutionCallback</a></div><divclass="ttdeci">void AddAtSolutionCallback(std::function< void()> callback)</div><divclass="ttdoc">Adds a callback called each time a solution is found during the search.</div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_a6ae15b5268df7520ab2a6d756b72e9fb"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#a6ae15b5268df7520ab2a6d756b72e9fb">operations_research::IntVarFilteredDecisionBuilder::StopSearch</a></div><divclass="ttdeci">virtual bool StopSearch()</div><divclass="ttdoc">Returns true if the search must be stopped.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02520">routing.h:2520</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a7ab97192fbe5b6439fa0b560df7c0689"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a7ab97192fbe5b6439fa0b560df7c0689">operations_research::RoutingModel::CloseVisitTypes</a></div><divclass="ttdeci">void CloseVisitTypes()</div><divclass="ttdoc">This function should be called once all node visit types have been set and prior to adding any incomp...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a7d37150530f088112906877bf54dc4d9"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a7d37150530f088112906877bf54dc4d9">operations_research::RoutingDimension::GetTransitValueFromClass</a></div><divclass="ttdeci">int64 GetTransitValueFromClass(int64 from_index, int64 to_index, int64 vehicle_class) const</div><divclass="ttdoc">Same as above but taking a vehicle class of the dimension instead of a vehicle (the class of a vehicl...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02034">routing.h:2034</a></div></div>
<divclass="ttc"id="classoperations__research_1_1TypeRegulationsChecker_html_a04a755f07976c11c248ac6a11f02f5b2"><divclass="ttname"><ahref="classoperations__research_1_1TypeRegulationsChecker.html#a04a755f07976c11c248ac6a11f02f5b2">operations_research::TypeRegulationsChecker::GetNonDeliveryCount</a></div><divclass="ttdeci">int GetNonDeliveryCount(int type) const</div><divclass="ttdoc">Returns the number of pickups and fixed nodes from counts_of_type_["type"].</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a05ecbf2a7e39b8984ebd2ae5167912d8"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a05ecbf2a7e39b8984ebd2ae5167912d8">operations_research::RoutingModel::ArcIsMoreConstrainedThanArc</a></div><divclass="ttdeci">bool ArcIsMoreConstrainedThanArc(int64 from, int64 to1, int64 to2)</div><divclass="ttdoc">Returns whether the arc from->to1 is more constrained than from->to2, taking into account,...</div></div>
<divclass="ttc"id="classoperations__research_1_1DisjunctivePropagator_html_ac392b9ff00285a5ef98286c35dd7aab3"><divclass="ttname"><ahref="classoperations__research_1_1DisjunctivePropagator.html#ac392b9ff00285a5ef98286c35dd7aab3">operations_research::DisjunctivePropagator::MirrorTasks</a></div><divclass="ttdeci">bool MirrorTasks(Tasks *tasks)</div><divclass="ttdoc">Transforms the problem with a time symmetry centered in 0.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a22500d001958a1597c08c402dcd4a2f2"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a22500d001958a1597c08c402dcd4a2f2">operations_research::RoutingModel::GetPickupAndDeliveryPairs</a></div><divclass="ttdeci">const IndexPairs & GetPickupAndDeliveryPairs() const</div><divclass="ttdoc">Returns pickup and delivery pairs currently in the model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00682">routing.h:682</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DisjunctivePropagator_html"><divclass="ttname"><ahref="classoperations__research_1_1DisjunctivePropagator.html">operations_research::DisjunctivePropagator</a></div><divclass="ttdoc">This class acts like a CP propagator: it takes a set of tasks given by their start/duration/end featu...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01685">routing.h:1685</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_a6631652219280f558f2a6ae4fd0f0366"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#a6631652219280f558f2a6ae4fd0f0366">operations_research::IntVarFilteredDecisionBuilder::Size</a></div><divclass="ttdeci">int Size() const</div><divclass="ttdoc">Returns the number of variables the decision builder is trying to instantiate.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02543">routing.h:2543</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a120ee9e22b95e835052b9eace2ceccc0"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a120ee9e22b95e835052b9eace2ceccc0">operations_research::RoutingModel::SetAmortizedCostFactorsOfVehicle</a></div><divclass="ttdeci">void SetAmortizedCostFactorsOfVehicle(int64 linear_cost_factor, int64 quadratic_cost_factor, int vehicle)</div><divclass="ttdoc">Sets the linear and quadratic cost factor of the given vehicle.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a05a9af20750c8aa7d65d8bd33113934c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a05a9af20750c8aa7d65d8bd33113934c">operations_research::RoutingModel::AddSameVehicleRequiredTypeAlternatives</a></div><divclass="ttdeci">void AddSameVehicleRequiredTypeAlternatives(int dependent_type, absl::flat_hash_set< int > required_type_alternatives)</div><divclass="ttdoc">Requirements: NOTE: As of 2019-04, cycles in the requirement graph are not supported,...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a1bb1958cfb9d49fe7111e4e31a451d00"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a1bb1958cfb9d49fe7111e4e31a451d00">operations_research::RoutingModel::IgnoreDisjunctionsAlreadyForcedToZero</a></div><divclass="ttdeci">void IgnoreDisjunctionsAlreadyForcedToZero()</div><divclass="ttdoc">SPECIAL: Makes the solver ignore all the disjunctions whose active variables are all trivially zero (...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html">operations_research::RoutingDimension</a></div><divclass="ttdoc">Dimensions represent quantities accumulated at nodes along the routes.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02023">routing.h:2023</a></div></div>
<divclass="ttc"id="classoperations__research_1_1TypeRegulationsChecker_html_aea3c74d7683c88af7fdc5e84299e3dbc"><divclass="ttname"><ahref="classoperations__research_1_1TypeRegulationsChecker.html#aea3c74d7683c88af7fdc5e84299e3dbc">operations_research::TypeRegulationsChecker::GetNonDeliveredCount</a></div><divclass="ttdeci">int GetNonDeliveredCount(int type) const</div><divclass="ttdoc">Same as above, but substracting the number of deliveries of "type".</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a99c987ce821236f8a515abc5f3a5cdcb"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a99c987ce821236f8a515abc5f3a5cdcb">operations_research::RoutingModel::ForEachNodeInDisjunctionWithMaxCardinalityFromIndex</a></div><divclass="ttdeci">void ForEachNodeInDisjunctionWithMaxCardinalityFromIndex(int64 index, int64 max_cardinality, F f) const</div><divclass="ttdoc">Calls f for each variable index of indices in the same disjunctions as the node corresponding to the ...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00575">routing.h:575</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html">operations_research::SavingsFilteredDecisionBuilder</a></div><divclass="ttdoc">Filter-based decision builder which builds a solution by using Clarke & Wright's Savings heuristic.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02973">routing.h:2973</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_abe74143af4dbf4e80df3920cdc7ee19b"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#abe74143af4dbf4e80df3920cdc7ee19b">operations_research::RoutingModel::AssignmentToRoutes</a></div><divclass="ttdeci">void AssignmentToRoutes(const Assignment &assignment, std::vector< std::vector< int64 >> *const routes) const</div><divclass="ttdoc">Converts the solution in the given assignment to routes for all vehicles.</div></div>
<divclass="ttc"id="namespaceoperations__research_html_ab70fc1eb89b0210ef0e6d24256f7776a"><divclass="ttname"><ahref="namespaceoperations__research.html#ab70fc1eb89b0210ef0e6d24256f7776a">operations_research::SolveModelWithSat</a></div><divclass="ttdeci">bool SolveModelWithSat(const RoutingModel &model, const Assignment *initial_solution, Assignment *solution)</div><divclass="ttdoc">Attempts to solve the model using the cp-sat solver.</div></div>
<divclass="ttc"id="classoperations__research_1_1CPFeasibilityFilter_html_aba28572b6a61d16bd08ce03635c17dc3"><divclass="ttname"><ahref="classoperations__research_1_1CPFeasibilityFilter.html#aba28572b6a61d16bd08ce03635c17dc3">operations_research::CPFeasibilityFilter::Accept</a></div><divclass="ttdeci">bool Accept(Assignment *delta, Assignment *deltadelta) override</div><divclass="ttdoc">Accepts a "delta" given the assignment with which the filter has been synchronized; the delta holds t...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a72acea2ba6937e467a3e0f1fcf9a9e07"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a72acea2ba6937e467a3e0f1fcf9a9e07">operations_research::RoutingModel::RoutesToAssignment</a></div><divclass="ttdeci">bool RoutesToAssignment(const std::vector< std::vector< int64 >>&routes, bool ignore_inactive_indices, bool close_routes, Assignment *const assignment) const</div><divclass="ttdoc">Fills an assignment from a specification of the routes of the vehicles.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ad60b94c48c83cf50117e794a47ae52a3"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ad60b94c48c83cf50117e794a47ae52a3">operations_research::RoutingModel::SetPrimaryConstrainedDimension</a></div><divclass="ttdeci">void SetPrimaryConstrainedDimension(const std::string &dimension_name)</div><divclass="ttdoc">Set the given dimension as "primary constrained".</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00538">routing.h:538</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a6052d6bba75371db7e8ea84675187c73"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a6052d6bba75371db7e8ea84675187c73">operations_research::RoutingDimension::SetCumulVarPiecewiseLinearCost</a></div><divclass="ttdeci">void SetCumulVarPiecewiseLinearCost(int64 index, const PiecewiseLinearFunction &cost)</div><divclass="ttdoc">Sets a piecewise linear cost on the cumul variable of a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a091daf73790830202a7e07696baddbc0"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a091daf73790830202a7e07696baddbc0">operations_research::RoutingModel::GetSameVehicleRequiredTypeAlternativesOfType</a></div><divclass="ttdeci">const std::vector< absl::flat_hash_set< int >>& GetSameVehicleRequiredTypeAlternativesOfType(int type) const</div><divclass="ttdoc">Returns the sets of same-vehicle/temporal requirement alternatives for the given type.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_adeda839db7e3e6143aed24c6acfa6a63"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#adeda839db7e3e6143aed24c6acfa6a63">operations_research::RoutingModel::ReadAssignment</a></div><divclass="ttdeci">Assignment * ReadAssignment(const std::string &file_name)</div><divclass="ttdoc">Reads an assignment from a file and returns the current solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aafc36e116dccb18d7329298d616730fd"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aafc36e116dccb18d7329298d616730fd">operations_research::RoutingModel::GetArcCostForClass</a></div><divclass="ttdeci">int64 GetArcCostForClass(int64 from_index, int64 to_index, int64 cost_class_index) const</div><divclass="ttdoc">Returns the cost of the segment between two nodes for a given cost class.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a7d8863c2b094d74220f01bfea6c11dee"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a7d8863c2b094d74220f01bfea6c11dee">operations_research::RoutingModel::vehicles</a></div><divclass="ttdeci">int vehicles() const</div><divclass="ttdoc">Returns the number of vehicle routes in the model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01197">routing.h:1197</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a590ef751764239fd5791eee398f3633e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a590ef751764239fd5791eee398f3633e">operations_research::RoutingModel::AddSoftSameVehicleConstraint</a></div><divclass="ttdeci">void AddSoftSameVehicleConstraint(const std::vector< int64 >&indices, int64 cost)</div><divclass="ttdoc">Adds a soft contraint to force a set of variable indices to be on the same vehicle.</div></div>
<divclass="ttc"id="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters_html_a1a0c163bea7d2946ebb3448b6a961015"><divclass="ttname"><ahref="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html#a1a0c163bea7d2946ebb3448b6a961015">operations_research::SavingsFilteredDecisionBuilder::SavingsParameters::max_memory_usage_bytes</a></div><divclass="ttdeci">double max_memory_usage_bytes</div><divclass="ttdoc">The number of neighbors considered for each node is also adapted so that the stored Savings don't use...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02981">routing.h:2981</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a83297ba42788582d369696579addde1e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a83297ba42788582d369696579addde1e">operations_research::RoutingDimension::forbidden_intervals</a></div><divclass="ttdeci">const std::vector< SortedDisjointIntervalList >& forbidden_intervals() const</div><divclass="ttdoc">Returns forbidden intervals for each node.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02055">routing.h:2055</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingFilteredDecisionBuilder_html_afeea31fbc3740ae9fce56757410a9b62"><divclass="ttname"><ahref="classoperations__research_1_1RoutingFilteredDecisionBuilder.html#afeea31fbc3740ae9fce56757410a9b62">operations_research::RoutingFilteredDecisionBuilder::GetStartChainEnd</a></div><divclass="ttdeci">int GetStartChainEnd(int vehicle) const</div><divclass="ttdoc">Returns the end of the start chain of vehicle,.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02574">routing.h:2574</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ad04036dfcdbabf07b6505094f1388514"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ad04036dfcdbabf07b6505094f1388514">operations_research::RoutingModel::AddDimensionDependentDimensionWithVehicleCapacity</a></div><divclass="ttdeci">bool AddDimensionDependentDimensionWithVehicleCapacity(const std::vector< int >&pure_transits, const std::vector< int >&dependent_transits, const RoutingDimension *base_dimension, int64 slack_max, std::vector< int64 > vehicle_capacities, bool fix_start_cumul_to_zero, const std::string &name)</div><divclass="ttdoc">Creates a dimension with transits depending on the cumuls of another dimension.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00462">routing.h:462</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab931655cab881f03c89b34d0e213e938"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab931655cab881f03c89b34d0e213e938">operations_research::RoutingModel::GetNumOfSingletonNodes</a></div><divclass="ttdeci">int GetNumOfSingletonNodes() const</div><divclass="ttdoc">Returns the number of non-start/end nodes which do not appear in a pickup/delivery pair.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a541eec636cf28916ff1d27749a5a075c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a541eec636cf28916ff1d27749a5a075c">operations_research::RoutingDimension::CumulVar</a></div><divclass="ttdeci">IntVar * CumulVar(int64 index) const</div><divclass="ttdoc">Get the cumul, transit and slack variables for the given node (given as int64 var index).</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02041">routing.h:2041</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a03d51f530bab2758548a51e962f38a1a"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a03d51f530bab2758548a51e962f38a1a">operations_research::RoutingDimension::PickupToDeliveryLimitFunction</a></div><divclass="ttdeci">std::function< int64(int, int)> PickupToDeliveryLimitFunction</div><divclass="ttdoc">Limits, in terms of maximum difference between the cumul variables, between the pickup and delivery a...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02256">routing.h:2256</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingFilteredDecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1RoutingFilteredDecisionBuilder.html">operations_research::RoutingFilteredDecisionBuilder</a></div><divclass="ttdoc">Filter-based decision builder dedicated to routing.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02567">routing.h:2567</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_adf9855f60a0004fa53b2e2ff9cab3fce"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#adf9855f60a0004fa53b2e2ff9cab3fce">operations_research::RoutingModel::GetArcCostForFirstSolution</a></div><divclass="ttdeci">int64 GetArcCostForFirstSolution(int64 from_index, int64 to_index) const</div><divclass="ttdoc">Returns the cost of the arc in the context of the first solution strategy.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a00141bd90e555aea59a9e98cfbcda6eb"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a00141bd90e555aea59a9e98cfbcda6eb">operations_research::RoutingModel::RoutingModelInspector</a></div><divclass="ttdeci">friend class RoutingModelInspector</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01668">routing.h:1668</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a133bcfc7ce89b429f6530dd686090b27"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a133bcfc7ce89b429f6530dd686090b27">operations_research::RoutingModel::RoutingModel</a></div><divclass="ttdeci">RoutingModel(const RoutingIndexManager &index_manager)</div><divclass="ttdoc">Constructor taking an index manager.</div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_a444807ed7728065f488c364fcd3daa47"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#a444807ed7728065f488c364fcd3daa47">operations_research::IntVarFilteredDecisionBuilder::Value</a></div><divclass="ttdeci">int64 Value(int64 index) const</div><divclass="ttdoc">Returns the value of the variable of index 'index' in the last committed solution.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02534">routing.h:2534</a></div></div>
<divclass="ttc"id="classoperations__research_1_1TypeRequirementChecker_html"><divclass="ttname"><ahref="classoperations__research_1_1TypeRequirementChecker.html">operations_research::TypeRequirementChecker</a></div><divclass="ttdoc">Checker for type requirements.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01919">routing.h:1919</a></div></div>
<divclass="ttc"id="classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder_html_a3a5bd7cb817b77fcba764ec7ddd71cfb"><divclass="ttname"><ahref="classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder.html#a3a5bd7cb817b77fcba764ec7ddd71cfb">operations_research::GlobalCheapestInsertionFilteredDecisionBuilder::BuildSolution</a></div><divclass="ttdeci">bool BuildSolution() override</div><divclass="ttdoc">Virtual method to redefine to build a solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a34af72cc2a878066c1dfc35885249c59"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a34af72cc2a878066c1dfc35885249c59">operations_research::RoutingModel::VehicleIndex</a></div><divclass="ttdeci">int VehicleIndex(int index) const</div><divclass="ttdoc">Returns the vehicle of the given start/end index, and -1 if the given index is not a vehicle start/en...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01063">routing.h:1063</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a328a19213729eec49288128061bc2044"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a328a19213729eec49288128061bc2044">operations_research::RoutingModel::Status</a></div><divclass="ttdeci">Status</div><divclass="ttdoc">Status of the search.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00207">routing.h:207</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a619aa0df1d2c81eab70de0f764e11f24"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a619aa0df1d2c81eab70de0f764e11f24">operations_research::RoutingDimension::SetSoftSpanUpperBoundForVehicle</a></div><divclass="ttdeci">void SetSoftSpanUpperBoundForVehicle(SimpleBoundCosts::BoundCost bound_cost, int vehicle)</div><divclass="ttdoc">If the span of vehicle on this dimension is larger than bound, the cost will be increased by cost * (...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02318">routing.h:2318</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a57ff38168114496e87dc253924fb3e46"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a57ff38168114496e87dc253924fb3e46">operations_research::RoutingDimension::GetUnaryTransitEvaluator</a></div><divclass="ttdeci">const RoutingModel::TransitCallback1 & GetUnaryTransitEvaluator(int vehicle) const</div><divclass="ttdoc">Returns the unary callback evaluating the transit value between two node indices for a given vehicle.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02071">routing.h:2071</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a307bdd7ab9fd4d0937453187a12777fe"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a307bdd7ab9fd4d0937453187a12777fe">operations_research::RoutingModel::GetFixedCostOfVehicle</a></div><divclass="ttdeci">int64 GetFixedCostOfVehicle(int vehicle) const</div><divclass="ttdoc">Returns the route fixed cost taken into account if the route of the vehicle is not empty,...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_af6341300dc5286169dc713de00c12658"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#af6341300dc5286169dc713de00c12658">operations_research::RoutingModel::AddWeightedVariableMinimizedByFinalizer</a></div><divclass="ttdeci">void AddWeightedVariableMinimizedByFinalizer(IntVar *var, int64 cost)</div><divclass="ttdoc">Adds a variable to minimize in the solution finalizer, with a weighted priority: the higher the more ...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a2918eb9215035fde11373440a52e7b3c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a2918eb9215035fde11373440a52e7b3c">operations_research::RoutingModel::GetPickupIndexPairs</a></div><divclass="ttdeci">const std::vector< std::pair< int, int >>& GetPickupIndexPairs(int64 node_index) const</div><divclass="ttdoc">Returns pairs for which the node is a pickup; the first element of each pair is the index in the pick...</div></div>
<divclass="ttc"id="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_html_a376f8042e03bc87789d0b0c472f9babe"><divclass="ttname"><ahref="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html#a376f8042e03bc87789d0b0c472f9babe">operations_research::CheapestInsertionFilteredDecisionBuilder::InitializePriorityQueue</a></div><divclass="ttdeci">void InitializePriorityQueue(std::vector< std::vector< StartEndValue >> *start_end_distances_per_node, Queue *priority_queue)</div><divclass="ttdoc">Initializes the priority_queue by inserting the best entry corresponding to each node,...</div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_a9c4a14a25e1129acbd541c76c7822c05"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#a9c4a14a25e1129acbd541c76c7822c05">operations_research::SavingsFilteredDecisionBuilder::BuildSolution</a></div><divclass="ttdeci">bool BuildSolution() override</div><divclass="ttdoc">Virtual method to redefine to build a solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1DisjunctivePropagator_html_aee4e422de7210b61627750d3937df615"><divclass="ttname"><ahref="classoperations__research_1_1DisjunctivePropagator.html#aee4e422de7210b61627750d3937df615">operations_research::DisjunctivePropagator::EdgeFinding</a></div><divclass="ttdeci">bool EdgeFinding(Tasks *tasks)</div><divclass="ttdoc">Does edge-finding deductions on all tasks.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a3191910e726092b97da9a2f42bd21a10"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a3191910e726092b97da9a2f42bd21a10">operations_research::RoutingModel::ReadAssignmentFromRoutes</a></div><divclass="ttdeci">Assignment * ReadAssignmentFromRoutes(const std::vector< std::vector< int64 >>&routes, bool ignore_inactive_indices)</div><divclass="ttdoc">Restores the routes as the current solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ae4cc1f7c4664633064b0ee42e1e5eec6"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ae4cc1f7c4664633064b0ee42e1e5eec6">operations_research::RoutingModel::MakeStateDependentTransit</a></div><divclass="ttdeci">static RoutingModel::StateDependentTransit MakeStateDependentTransit(const std::function< int64(int64)>&f, int64 domain_start, int64 domain_end)</div><divclass="ttdoc">Creates a cached StateDependentTransit from an std::function.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aadaebb0f2b74d02cedcec9fd25e15921"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aadaebb0f2b74d02cedcec9fd25e15921">operations_research::RoutingModel::AddVariableMaximizedByFinalizer</a></div><divclass="ttdeci">void AddVariableMaximizedByFinalizer(IntVar *var)</div><divclass="ttdoc">Adds a variable to maximize in the solution finalizer (see above for information on the solution fina...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_af75ccc20172b1e28668556099d687a48"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#af75ccc20172b1e28668556099d687a48">operations_research::RoutingModel::ApplyLocksToAllVehicles</a></div><divclass="ttdeci">bool ApplyLocksToAllVehicles(const std::vector< std::vector< int64 >>&locks, bool close_routes)</div><divclass="ttdoc">Applies lock chains to all vehicles to the next search, such that locks[p] is the lock chain for rout...</div></div>
<divclass="ttc"id="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters_html_a9f5ec178dd09b148ac19bb0e8ae31430"><divclass="ttname"><ahref="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html#a9f5ec178dd09b148ac19bb0e8ae31430">operations_research::SavingsFilteredDecisionBuilder::SavingsParameters::neighbors_ratio</a></div><divclass="ttdeci">double neighbors_ratio</div><divclass="ttdoc">If neighbors_ratio < 1 then for each node only this ratio of its neighbors leading to the smallest ar...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02978">routing.h:2978</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a86838ac04a7edcfb44901dfa60c2fbf2"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a86838ac04a7edcfb44901dfa60c2fbf2">operations_research::RoutingModel::GetTabuVarsCallback</a></div><divclass="ttdeci">std::function< std::vector< operations_research::IntVar * >(RoutingModel *)> GetTabuVarsCallback</div><divclass="ttdoc">Sets the callback returning the variable to use for the Tabu Search metaheuristic.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01215">routing.h:1215</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a9132fa5b050c3f5447e62f3e8bd8ce77"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a9132fa5b050c3f5447e62f3e8bd8ce77">operations_research::RoutingModel::SetArcCostEvaluatorOfVehicle</a></div><divclass="ttdeci">void SetArcCostEvaluatorOfVehicle(int evaluator_index, int vehicle)</div><divclass="ttdoc">Sets the cost function for a given vehicle route.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a45b86199287b76de49ed2003a0e66a92"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a45b86199287b76de49ed2003a0e66a92">operations_research::RoutingModel::CompactAndCheckAssignment</a></div><divclass="ttdeci">Assignment * CompactAndCheckAssignment(const Assignment &assignment) const</div><divclass="ttdoc">Same as CompactAssignment() but also checks the validity of the final compact solution; if it is not ...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a328a19213729eec49288128061bc2044afb2bbe1690a8f9be1575ade98e4e61dd"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a328a19213729eec49288128061bc2044afb2bbe1690a8f9be1575ade98e4e61dd">operations_research::RoutingModel::ROUTING_SUCCESS</a></div><divclass="ttdoc">Problem solved successfully after calling RoutingModel::Solve().</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00211">routing.h:211</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a045099195126752409704a77f0eab073"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a045099195126752409704a77f0eab073">operations_research::RoutingModel::PackCumulsOfOptimizerDimensionsFromAssignment</a></div><divclass="ttdeci">const Assignment * PackCumulsOfOptimizerDimensionsFromAssignment(const Assignment *original_assignment, absl::Duration duration_limit)</div><divclass="ttdoc">For every dimension in the model's dimensions_for_local/global_optimizer_, this method tries to pack ...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_acc8ac0271bb8bc39e13a3f78ff84ce41"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#acc8ac0271bb8bc39e13a3f78ff84ce41">operations_research::RoutingModel::GetDisjunctionPenalty</a></div><divclass="ttdeci">int64 GetDisjunctionPenalty(DisjunctionIndex index) const</div><divclass="ttdoc">Returns the penalty of the node disjunction of index 'index'.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00594">routing.h:594</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_abd6b9d007b59cb549ecdb5a1e6d42cc9"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#abd6b9d007b59cb549ecdb5a1e6d42cc9">operations_research::RoutingDimension::GetPickupToDeliveryLimitForPair</a></div><divclass="ttdeci">int64 GetPickupToDeliveryLimitForPair(int pair_index, int pickup, int delivery) const</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab8ccb1a9bcfdf50ecb4aa82d74797e0e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab8ccb1a9bcfdf50ecb4aa82d74797e0e">operations_research::RoutingModel::GetHardTypeIncompatibilitiesOfType</a></div><divclass="ttdeci">const absl::flat_hash_set< int >& GetHardTypeIncompatibilitiesOfType(int type) const</div><divclass="ttdoc">Returns visit types incompatible with a given type.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_ab7aef297f0c654af26dc7108c9ee6c69"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#ab7aef297f0c654af26dc7108c9ee6c69">operations_research::RoutingDimension::RoutingModel</a></div><divclass="ttdeci">friend class RoutingModel</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02453">routing.h:2453</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ad5fe4a5d7eb87b42e7b03367190c8ffc"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ad5fe4a5d7eb87b42e7b03367190c8ffc">operations_research::RoutingModel::GetDimensionOrDie</a></div><divclass="ttdeci">const RoutingDimension & GetDimensionOrDie(const std::string &dimension_name) const</div><divclass="ttdoc">Returns a dimension from its name. Dies if the dimension does not exist.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_acd71894a70fca99a12ba2a1173666efc"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#acd71894a70fca99a12ba2a1173666efc">operations_research::RoutingModel::Next</a></div><divclass="ttdeci">int64 Next(const Assignment &assignment, int64 index) const</div><divclass="ttdoc">Assignment inspection Returns the variable index of the node directly after the node corresponding to...</div></div>
<divclass="ttc"id="classoperations__research_1_1TypeRegulationsConstraint_html"><divclass="ttname"><ahref="classoperations__research_1_1TypeRegulationsConstraint.html">operations_research::TypeRegulationsConstraint</a></div><divclass="ttdoc">The following constraint ensures that incompatibilities and requirements between types are respected.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01955">routing.h:1955</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder.html">operations_research::CheapestAdditionFilteredDecisionBuilder</a></div><divclass="ttdoc">Filtered-base decision builder based on the addition heuristic, extending a path from its start node ...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02880">routing.h:2880</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a51028a4ae2d42271b7fa4a8a1a32cce6"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a51028a4ae2d42271b7fa4a8a1a32cce6">operations_research::RoutingModel::IsMatchingModel</a></div><divclass="ttdeci">bool IsMatchingModel() const</div><divclass="ttdoc">Returns true if a vehicle/node matching problem is detected.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a4928a8a9f21302a215a6f26dda90eef1"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a4928a8a9f21302a215a6f26dda90eef1">operations_research::RoutingModel::AddSearchMonitor</a></div><divclass="ttdeci">void AddSearchMonitor(SearchMonitor *const monitor)</div><divclass="ttdoc">Adds a search monitor to the search used to solve the routing model.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aae44a9844e3f39a409f65d5c920c6f4d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aae44a9844e3f39a409f65d5c920c6f4d">operations_research::RoutingModel::SetAmortizedCostFactorsOfAllVehicles</a></div><divclass="ttdeci">void SetAmortizedCostFactorsOfAllVehicles(int64 linear_cost_factor, int64 quadratic_cost_factor)</div><divclass="ttdoc">The following methods set the linear and quadratic cost factors of vehicles (must be positive values)...</div></div>
<divclass="ttc"id="structoperations__research_1_1RoutingModel_1_1VehicleClass_html_a3e5773e5e974e392a69349be4e5cb0d0"><divclass="ttname"><ahref="structoperations__research_1_1RoutingModel_1_1VehicleClass.html#a3e5773e5e974e392a69349be4e5cb0d0">operations_research::RoutingModel::VehicleClass::start_equivalence_class</a></div><divclass="ttdeci">int start_equivalence_class</div><divclass="ttdoc">Vehicle start and end equivalence classes.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00326">routing.h:326</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a8dda4344799edeaf641f0395a74ed89e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a8dda4344799edeaf641f0395a74ed89e">operations_research::RoutingModel::AddPickupAndDelivery</a></div><divclass="ttdeci">void AddPickupAndDelivery(int64 pickup, int64 delivery)</div><divclass="ttdoc">Notifies that index1 and index2 form a pair of nodes which should belong to the same route.</div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_a5589c8d87c0b93a1d3e6ffac03830190"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#a5589c8d87c0b93a1d3e6ffac03830190">operations_research::IntVarFilteredDecisionBuilder::number_of_decisions</a></div><divclass="ttdeci">int64 number_of_decisions() const</div><divclass="ttdoc">Returns statistics on search, number of decisions sent to filters, number of decisions rejected by fi...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02509">routing.h:2509</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_aa224ac17be74c79927c18ef4a4b6705d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#aa224ac17be74c79927c18ef4a4b6705d">operations_research::RoutingDimension::InitializeBreaks</a></div><divclass="ttdeci">void InitializeBreaks()</div><divclass="ttdoc">Sets up vehicle_break_intervals_, vehicle_break_distance_duration_, pre_travel_evaluators and post_tr...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a818dcdf6c1102cb0876393a153ef4249"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a818dcdf6c1102cb0876393a153ef4249">operations_research::RoutingDimension::name</a></div><divclass="ttdeci">const std::string & name() const</div><divclass="ttdoc">Returns the name of the dimension.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02238">routing.h:2238</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a9326109b713b0cfd3dd343f781ba97e1"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a9326109b713b0cfd3dd343f781ba97e1">operations_research::RoutingModel::AddConstantDimensionWithSlack</a></div><divclass="ttdeci">bool AddConstantDimensionWithSlack(int64 value, int64 capacity, int64 slack_max, bool fix_start_cumul_to_zero, const std::string &name)</div><divclass="ttdoc">Creates a dimension where the transit variable is constrained to be equal to 'value'; 'capacity' is t...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_af738937221d1f3307e4b3fcf53913335"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#af738937221d1f3307e4b3fcf53913335">operations_research::RoutingModel::ConsiderEmptyRouteCostsForVehicle</a></div><divclass="ttdeci">void ConsiderEmptyRouteCostsForVehicle(bool consider_costs, int vehicle)</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00834">routing.h:834</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Assignment_html_ae8af25911cdd4091cd6a0ec08c9a38c7"><divclass="ttname"><ahref="classoperations__research_1_1Assignment.html#ae8af25911cdd4091cd6a0ec08c9a38c7">operations_research::Assignment::IntVarContainer</a></div><divclass="ttdeci">const IntContainer & IntVarContainer() const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l05085">constraint_solver.h:5085</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_a416ab434cf84e1360200462a2e66bd84"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#a416ab434cf84e1360200462a2e66bd84">operations_research::SavingsFilteredDecisionBuilder::SavingsFilteredDecisionBuilderTestPeer</a></div><divclass="ttdeci">friend class SavingsFilteredDecisionBuilderTestPeer</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l03092">routing.h:3092</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_afc52d1e36860c09fbcef8a47d24ac2ec"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#afc52d1e36860c09fbcef8a47d24ac2ec">operations_research::RoutingModel::AddTemporalRequiredTypeAlternatives</a></div><divclass="ttdeci">void AddTemporalRequiredTypeAlternatives(int dependent_type, absl::flat_hash_set< int > required_type_alternatives)</div><divclass="ttdoc">If type_D temporally depends on type_R, any non-delivery node_D of type_D requires at least one non-d...</div></div>
<divclass="ttc"id="classoperations__research_1_1TypeRegulationsConstraint_html_add0fa8d777cd68c77f87cfbd22ad5dd9"><divclass="ttname"><ahref="classoperations__research_1_1TypeRegulationsConstraint.html#add0fa8d777cd68c77f87cfbd22ad5dd9">operations_research::TypeRegulationsConstraint::Post</a></div><divclass="ttdeci">void Post() override</div><divclass="ttdoc">This method is called when the constraint is processed by the solver.</div></div>
<divclass="ttc"id="structoperations__research_1_1RoutingModel_1_1StateDependentTransit_html"><divclass="ttname"><ahref="structoperations__research_1_1RoutingModel_1_1StateDependentTransit.html">operations_research::RoutingModel::StateDependentTransit</a></div><divclass="ttdoc">What follows is relevant for models with time/state dependent transits.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00255">routing.h:255</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_aa6c7d741202e530624ba3165132f6fa2"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#aa6c7d741202e530624ba3165132f6fa2">operations_research::RoutingDimension::HasCumulVarPiecewiseLinearCost</a></div><divclass="ttdeci">bool HasCumulVarPiecewiseLinearCost(int64 index) const</div><divclass="ttdoc">Returns true if a piecewise linear cost has been set for a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a328a19213729eec49288128061bc2044aa8b79310730408de7bae61835301a93e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a328a19213729eec49288128061bc2044aa8b79310730408de7bae61835301a93e">operations_research::RoutingModel::ROUTING_FAIL_TIMEOUT</a></div><divclass="ttdoc">Time limit reached before finding a solution with RoutingModel::Solve().</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00215">routing.h:215</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab3feb42fa0a2f09b014d55818dae2285"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab3feb42fa0a2f09b014d55818dae2285">operations_research::RoutingModel::PickupAndDeliveryPolicy</a></div><divclass="ttdeci">PickupAndDeliveryPolicy</div><divclass="ttdoc">Types of precedence policy applied to pickup and delivery pairs.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00221">routing.h:221</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a5303e0e6657cb3efed3c7068eb193c86"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a5303e0e6657cb3efed3c7068eb193c86">operations_research::RoutingDimension::SetBreakDistanceDurationOfVehicle</a></div><divclass="ttdeci">void SetBreakDistanceDurationOfVehicle(int64 distance, int64 duration, int vehicle)</div><divclass="ttdoc">With breaks supposed to be consecutive, this forces the distance between breaks of size at least mini...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a31d54fd638363c65a2fcd56139327c02"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a31d54fd638363c65a2fcd56139327c02">operations_research::RoutingModel::End</a></div><divclass="ttdeci">int64 End(int vehicle) const</div><divclass="ttdoc">Returns the variable index of the ending node of a vehicle route.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01056">routing.h:1056</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a520037b2703dd61ff94f7f775c31316b"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a520037b2703dd61ff94f7f775c31316b">operations_research::RoutingDimension::cumuls</a></div><divclass="ttdeci">const std::vector< IntVar * >& cumuls() const</div><divclass="ttdoc">Like CumulVar(), TransitVar(), SlackVar() but return the whole variable vectors instead (indexed by i...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02049">routing.h:2049</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SweepArranger_html"><divclass="ttname"><ahref="classoperations__research_1_1SweepArranger.html">operations_research::SweepArranger</a></div><divclass="ttdoc">Class to arrange indices by by their distance and their angles from the depot.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02462">routing.h:2462</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DisjunctivePropagator_html_a8229b22f70a1667de00db67f10f9b1e8"><divclass="ttname"><ahref="classoperations__research_1_1DisjunctivePropagator.html#a8229b22f70a1667de00db67f10f9b1e8">operations_research::DisjunctivePropagator::ForbiddenIntervals</a></div><divclass="ttdeci">bool ForbiddenIntervals(Tasks *tasks)</div><divclass="ttdoc">Tasks might have holes in their domain, this enforces such holes.</div></div>
<divclass="ttc"id="structoperations__research_1_1DisjunctivePropagator_1_1Tasks_html"><divclass="ttname"><ahref="structoperations__research_1_1DisjunctivePropagator_1_1Tasks.html">operations_research::DisjunctivePropagator::Tasks</a></div><divclass="ttdoc">A structure to hold tasks described by their features.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01692">routing.h:1692</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a5800f4776910a275f768050d832d1948"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a5800f4776910a275f768050d832d1948">operations_research::RoutingDimension::HasCumulVarSoftUpperBound</a></div><divclass="ttdeci">bool HasCumulVarSoftUpperBound(int64 index) const</div><divclass="ttdoc">Returns true if a soft upper bound has been set for a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_affd7737c4d7f315afc863b135c7a07cf"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#affd7737c4d7f315afc863b135c7a07cf">operations_research::RoutingModel::CostVar</a></div><divclass="ttdeci">IntVar * CostVar() const</div><divclass="ttdoc">Returns the global cost variable which is being minimized.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01093">routing.h:1093</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a00141bd90e555aea59a9e98cfbcda6eb"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a00141bd90e555aea59a9e98cfbcda6eb">operations_research::RoutingDimension::RoutingModelInspector</a></div><divclass="ttdeci">friend class RoutingModelInspector</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02454">routing.h:2454</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab3feb42fa0a2f09b014d55818dae2285abad32d53044f07d2c49e028c49ce8699"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab3feb42fa0a2f09b014d55818dae2285abad32d53044f07d2c49e028c49ce8699">operations_research::RoutingModel::PICKUP_AND_DELIVERY_FIFO</a></div><divclass="ttdoc">Deliveries must be performed in the same order as pickups.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00227">routing.h:227</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a37e0a9a2bd517334820c866e23245d81"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a37e0a9a2bd517334820c866e23245d81">operations_research::RoutingModel::CostsAreHomogeneousAcrossVehicles</a></div><divclass="ttdeci">bool CostsAreHomogeneousAcrossVehicles() const</div><divclass="ttdoc">Whether costs are homogeneous across all vehicles.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01100">routing.h:1100</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_afc5f8f71a501b59e65b5c5f970c27c69"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#afc5f8f71a501b59e65b5c5f970c27c69">operations_research::RoutingDimension::SetSpanCostCoefficientForVehicle</a></div><divclass="ttdeci">void SetSpanCostCoefficientForVehicle(int64 coefficient, int vehicle)</div><divclass="ttdoc">Sets a cost proportional to the dimension span on a given vehicle, or on all vehicles at once.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a3f8592ab5c60bfd642baa295965e476b"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a3f8592ab5c60bfd642baa295965e476b">operations_research::RoutingModel::GetVehicleClassesCount</a></div><divclass="ttdeci">int GetVehicleClassesCount() const</div><divclass="ttdoc">Returns the number of different vehicle classes in the model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01144">routing.h:1144</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DisjunctivePropagator_html_a2ecf539942f15611e7cafe1fb3a757fe"><divclass="ttname"><ahref="classoperations__research_1_1DisjunctivePropagator.html#a2ecf539942f15611e7cafe1fb3a757fe">operations_research::DisjunctivePropagator::DetectablePrecedencesWithChain</a></div><divclass="ttdeci">bool DetectablePrecedencesWithChain(Tasks *tasks)</div><divclass="ttdoc">Does detectable precedences deductions on tasks in the chain precedence, taking the time windows of n...</div></div>
<divclass="ttc"id="classoperations__research_1_1DecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1DecisionBuilder.html">operations_research::DecisionBuilder</a></div><divclass="ttdoc">A DecisionBuilder is responsible for creating the search tree.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03205">constraint_solver.h:3205</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a421504809966a6abc4cd725c48780060"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a421504809966a6abc4cd725c48780060">operations_research::RoutingModel::AddLocalSearchOperator</a></div><divclass="ttdeci">void AddLocalSearchOperator(LocalSearchOperator *ls_operator)</div><divclass="ttdoc">Adds a local search operator to the set of operators used to solve the vehicle routing problem.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a7ed4bf32507041543e643ea19afa5769"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a7ed4bf32507041543e643ea19afa5769">operations_research::RoutingModel::first_solution_evaluator</a></div><divclass="ttdeci">const Solver::IndexEvaluator2 & first_solution_evaluator() const</div><divclass="ttdoc">Gets/sets the evaluator used during the search.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00847">routing.h:847</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ae6bec3395bdf63ec2491af18437ce1d1"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ae6bec3395bdf63ec2491af18437ce1d1">operations_research::RoutingModel::MakeGuidedSlackFinalizer</a></div><divclass="ttdeci">DecisionBuilder * MakeGuidedSlackFinalizer(const RoutingDimension *dimension, std::function< int64(int64)> initializer)</div><divclass="ttdoc">The next few members are in the public section only for testing purposes.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a1ab61f24fca741345f0269f1c6152396"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a1ab61f24fca741345f0269f1c6152396">operations_research::RoutingModel::HasVehicleWithCostClassIndex</a></div><divclass="ttdeci">bool HasVehicleWithCostClassIndex(CostClassIndex cost_class_index) const</div><divclass="ttdoc">Returns true iff the model contains a vehicle with the given cost_class_index.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01126">routing.h:1126</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab7b1e5a42560f26ed7f995b76ec15f6f"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab7b1e5a42560f26ed7f995b76ec15f6f">operations_research::RoutingModel::AddMatrixDimension</a></div><divclass="ttdeci">bool AddMatrixDimension(std::vector< std::vector< int64 >> values, int64 capacity, bool fix_start_cumul_to_zero, const std::string &name)</div><divclass="ttdoc">Creates a dimension where the transit variable is constrained to be equal to 'values[i][next(i)]' for...</div></div>
<divclass="ttc"id="structoperations__research_1_1RoutingModel_1_1VehicleClass_html_a45f52b1d62144c98d8a49065b17d4a9a"><divclass="ttname"><ahref="structoperations__research_1_1RoutingModel_1_1VehicleClass.html#a45f52b1d62144c98d8a49065b17d4a9a">operations_research::RoutingModel::VehicleClass::cost_class_index</a></div><divclass="ttdeci">CostClassIndex cost_class_index</div><divclass="ttdoc">The cost class of the vehicle.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00317">routing.h:317</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a8a84f4cd89001eab25832a01bccf982a"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a8a84f4cd89001eab25832a01bccf982a">operations_research::RoutingDimension::SetCumulVarSoftUpperBound</a></div><divclass="ttdeci">void SetCumulVarSoftUpperBound(int64 index, int64 upper_bound, int64 coefficient)</div><divclass="ttdoc">Sets a soft upper bound to the cumul variable of a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a3234a1f4aab23c4c4828b6321a5ec906"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a3234a1f4aab23c4c4828b6321a5ec906">operations_research::RoutingDimension::SetCumulVarSoftLowerBound</a></div><divclass="ttdeci">void SetCumulVarSoftLowerBound(int64 index, int64 lower_bound, int64 coefficient)</div><divclass="ttdoc">Sets a soft lower bound to the cumul variable of a given variable index.</div></div>
<divclass="ttc"id="structoperations__research_1_1RoutingModel_1_1CostClass_html_acc06fc1b561814edcb2bcde9893385c8"><divclass="ttname"><ahref="structoperations__research_1_1RoutingModel_1_1CostClass.html#acc06fc1b561814edcb2bcde9893385c8">operations_research::RoutingModel::CostClass::evaluator_index</a></div><divclass="ttdeci">int evaluator_index</div><divclass="ttdoc">Index of the arc cost evaluator, registered in the RoutingModel class.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00266">routing.h:266</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a773fae0db72dfde5e53d3acdfd7bb43c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a773fae0db72dfde5e53d3acdfd7bb43c">operations_research::RoutingModel::GetDimensionsForGlobalCumulOptimizers</a></div><divclass="ttdeci">const std::vector< RoutingDimension * >& GetDimensionsForGlobalCumulOptimizers() const</div><divclass="ttdoc">Returns dimensions_for_[global|local]_optimizer_ if the model has been closed, and empty vectors othe...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00517">routing.h:517</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a487493a16430f10f26366689017701bd"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a487493a16430f10f26366689017701bd">operations_research::RoutingDimension::GetCumulVarSoftUpperBound</a></div><divclass="ttdeci">int64 GetCumulVarSoftUpperBound(int64 index) const</div><divclass="ttdoc">Returns the soft upper bound of a cumul variable for a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a1a11f61fc549eed60a0ee9fe937fbac6"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a1a11f61fc549eed60a0ee9fe937fbac6">operations_research::RoutingModel::AddToAssignment</a></div><divclass="ttdeci">void AddToAssignment(IntVar *const var)</div><divclass="ttdoc">Adds an extra variable to the vehicle routing assignment.</div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleBoundCosts_html_a35969473ece3e5d19884346b0ffc3044"><divclass="ttname"><ahref="classoperations__research_1_1SimpleBoundCosts.html#a35969473ece3e5d19884346b0ffc3044">operations_research::SimpleBoundCosts::bound_cost</a></div><divclass="ttdeci">BoundCost & bound_cost(int element)</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01992">routing.h:1992</a></div></div>
<divclass="ttc"id="classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder.html">operations_research::EvaluatorCheapestAdditionFilteredDecisionBuilder</a></div><divclass="ttdoc">A CheapestAdditionFilteredDecisionBuilder where the notion of 'cheapest arc' comes from an arc evalua...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02921">routing.h:2921</a></div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchFilter_html"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchFilter.html">operations_research::LocalSearchFilter</a></div><divclass="ttdoc">Local Search Filters are used for fast neighbor pruning.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01491">constraint_solveri.h:1491</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ae40b7faab3c2928890f6c167722f5139"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ae40b7faab3c2928890f6c167722f5139">operations_research::RoutingModel::ActiveVar</a></div><divclass="ttdeci">IntVar * ActiveVar(int64 index) const</div><divclass="ttdoc">Returns the active variable of the node corresponding to index.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01083">routing.h:1083</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a2134e3ee786c7dd1aa4b63952aad2d6f"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a2134e3ee786c7dd1aa4b63952aad2d6f">operations_research::RoutingModel::AddVectorDimension</a></div><divclass="ttdeci">bool AddVectorDimension(std::vector< int64 > values, int64 capacity, bool fix_start_cumul_to_zero, const std::string &name)</div><divclass="ttdoc">Creates a dimension where the transit variable is constrained to be equal to 'values[i]' for node i; ...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aa305f3d5a5e471e9f6c8295d1216fecf"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aa305f3d5a5e471e9f6c8295d1216fecf">operations_research::RoutingModel::IsVehicleUsed</a></div><divclass="ttdeci">bool IsVehicleUsed(const Assignment &assignment, int vehicle) const</div><divclass="ttdoc">Returns true if the route of 'vehicle' is non empty in 'assignment'.</div></div>
<divclass="ttc"id="classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder_html_a1637389906444da0951928021b6c9a51"><divclass="ttname"><ahref="classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder.html#a1637389906444da0951928021b6c9a51">operations_research::LocalCheapestInsertionFilteredDecisionBuilder::BuildSolution</a></div><divclass="ttdeci">bool BuildSolution() override</div><divclass="ttdoc">Virtual method to redefine to build a solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ac5f26040018e9122bf9c0d28a9e1d412"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ac5f26040018e9122bf9c0d28a9e1d412">operations_research::RoutingModel::status</a></div><divclass="ttdeci">Status status() const</div><divclass="ttdoc">Returns the current status of the routing model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00926">routing.h:926</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Constraint_html"><divclass="ttname"><ahref="classoperations__research_1_1Constraint.html">operations_research::Constraint</a></div><divclass="ttdoc">A constraint is the main modeling object.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03521">constraint_solver.h:3521</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab3feb42fa0a2f09b014d55818dae2285ad27c7b752389c8da858fb6edafe443f3"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab3feb42fa0a2f09b014d55818dae2285ad27c7b752389c8da858fb6edafe443f3">operations_research::RoutingModel::PICKUP_AND_DELIVERY_LIFO</a></div><divclass="ttdoc">Deliveries must be performed in reverse order of pickups.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00225">routing.h:225</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a0f538f8401c264daa39df1f3640dd468"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a0f538f8401c264daa39df1f3640dd468">operations_research::RoutingModel::SetPickupAndDeliveryPolicyOfAllVehicles</a></div><divclass="ttdeci">void SetPickupAndDeliveryPolicyOfAllVehicles(PickupAndDeliveryPolicy policy)</div><divclass="ttdoc">Sets the Pickup and delivery policy of all vehicles.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a5bef0de22a2f6fc1478082358ef80f38"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a5bef0de22a2f6fc1478082358ef80f38">operations_research::RoutingDimension::model</a></div><divclass="ttdeci">RoutingModel * model() const</div><divclass="ttdoc">Returns the model on which the dimension was created.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02027">routing.h:2027</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a1fa509a8eb9225fa21a1416e99358eb1"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a1fa509a8eb9225fa21a1416e99358eb1">operations_research::RoutingModel::GetHomogeneousCost</a></div><divclass="ttdeci">int64 GetHomogeneousCost(int64 from_index, int64 to_index) const</div><divclass="ttdoc">Returns the cost of the segment between two nodes supposing all vehicle costs are the same (returns t...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01105">routing.h:1105</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SimpleBoundCosts_html"><divclass="ttname"><ahref="classoperations__research_1_1SimpleBoundCosts.html">operations_research::SimpleBoundCosts</a></div><divclass="ttdoc">A structure meant to store soft bounds and associated violation constants.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01984">routing.h:1984</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html">operations_research::IntVarFilteredDecisionBuilder</a></div><divclass="ttdoc">Decision builders building a solution using local search filters to evaluate its feasibility.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02498">routing.h:2498</a></div></div>
<divclass="ttc"id="classoperations__research_1_1AssignmentContainer_html_aaf8cce923cb7cfc1aa15c6f0b0f7820e"><divclass="ttname"><ahref="classoperations__research_1_1AssignmentContainer.html#aaf8cce923cb7cfc1aa15c6f0b0f7820e">operations_research::AssignmentContainer::Element</a></div><divclass="ttdeci">const E & Element(const V *const var) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04837">constraint_solver.h:4837</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_adcbe383e7ba8630ae23256e98810b6b9"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#adcbe383e7ba8630ae23256e98810b6b9">operations_research::RoutingDimension::GetCumulVarSoftUpperBoundCoefficient</a></div><divclass="ttdeci">int64 GetCumulVarSoftUpperBoundCoefficient(int64 index) const</div><divclass="ttdoc">Returns the cost coefficient of the soft upper bound of a cumul variable for a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aaa5632d48aaacc026bc225e844d1168d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aaa5632d48aaacc026bc225e844d1168d">operations_research::RoutingModel::GetPerfectBinaryDisjunctions</a></div><divclass="ttdeci">std::vector< std::pair< int64, int64 >> GetPerfectBinaryDisjunctions() const</div><divclass="ttdoc">Returns the list of all perfect binary disjunctions, as pairs of variable indices: a disjunction is "...</div></div>
<divclass="ttc"id="classoperations__research_1_1TypeRegulationsChecker_html_a62263ad13e1e19dba9a3a2078bfc5f22"><divclass="ttname"><ahref="classoperations__research_1_1TypeRegulationsChecker.html#a62263ad13e1e19dba9a3a2078bfc5f22">operations_research::TypeRegulationsChecker::model_</a></div><divclass="ttdeci">const RoutingModel & model_</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01895">routing.h:1895</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a82ee9c63870a985cbad7ee8474375a26"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a82ee9c63870a985cbad7ee8474375a26">operations_research::RoutingModel::RegisterUnaryTransitCallback</a></div><divclass="ttdeci">int RegisterUnaryTransitCallback(TransitCallback1 callback)</div><divclass="ttdoc">Registers 'callback' and returns its index.</div></div>
<divclass="ttc"id="classoperations__research_1_1LocalSearchFilterManager_html"><divclass="ttname"><ahref="classoperations__research_1_1LocalSearchFilterManager.html">operations_research::LocalSearchFilterManager</a></div><divclass="ttdoc">Filter manager: when a move is made, filters are executed to decide whether the solution is feasible ...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01522">constraint_solveri.h:1522</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a71b067e7126e5f17d7e1b6342a9e206d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a71b067e7126e5f17d7e1b6342a9e206d">operations_research::RoutingModel::GetAllDimensionNames</a></div><divclass="ttdeci">std::vector<::std::string > GetAllDimensionNames() const</div><divclass="ttdoc">Outputs the names of all dimensions added to the routing engine.</div></div>
<divclass="ttc"id="classoperations__research_1_1Assignment_html_a11c9545171ef35516112a3f9b49484b7"><divclass="ttname"><ahref="classoperations__research_1_1Assignment.html#a11c9545171ef35516112a3f9b49484b7">operations_research::Assignment::FastAdd</a></div><divclass="ttdeci">IntVarElement * FastAdd(IntVar *const var)</div><divclass="ttdoc">Adds without checking if variable has been previously added.</div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_a8ec6b0457672ded0a1046d29aa1c66bf"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#a8ec6b0457672ded0a1046d29aa1c66bf">operations_research::IntVarFilteredDecisionBuilder::Var</a></div><divclass="ttdeci">IntVar * Var(int64 index) const</div><divclass="ttdoc">Returns the variable of index 'index'.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02545">routing.h:2545</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_a0b295e340454a27f643052138f26fb95"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#a0b295e340454a27f643052138f26fb95">operations_research::IntVarFilteredDecisionBuilder::SetValue</a></div><divclass="ttdeci">void SetValue(int64 index, int64 value)</div><divclass="ttdoc">Modifies the current solution by setting the variable of index 'index' to value 'value'.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02523">routing.h:2523</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a5d7e7a4f88775c10240bbe838d2e13ee"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a5d7e7a4f88775c10240bbe838d2e13ee">operations_research::RoutingDimension::GetTransitValue</a></div><divclass="ttdeci">int64 GetTransitValue(int64 from_index, int64 to_index, int64 vehicle) const</div><divclass="ttdoc">Returns the transition value for a given pair of nodes (as var index); this value is the one taken by...</div></div>
<divclass="ttc"id="classoperations__research_1_1DisjunctivePropagator_html_a4bca695f28fc3739d74ac6ca2c93221b"><divclass="ttname"><ahref="classoperations__research_1_1DisjunctivePropagator.html#a4bca695f28fc3739d74ac6ca2c93221b">operations_research::DisjunctivePropagator::Propagate</a></div><divclass="ttdeci">bool Propagate(Tasks *tasks)</div><divclass="ttdoc">Computes new bounds for all tasks, returns false if infeasible.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a328a19213729eec49288128061bc2044acaf3d0fb83c0c1be4881362c0e2e0592"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a328a19213729eec49288128061bc2044acaf3d0fb83c0c1be4881362c0e2e0592">operations_research::RoutingModel::ROUTING_FAIL</a></div><divclass="ttdoc">No solution found to the problem after calling RoutingModel::Solve().</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00213">routing.h:213</a></div></div>
<divclass="ttc"id="classoperations__research_1_1TypeIncompatibilityChecker_html"><divclass="ttname"><ahref="classoperations__research_1_1TypeIncompatibilityChecker.html">operations_research::TypeIncompatibilityChecker</a></div><divclass="ttdoc">Checker for type incompatibilities.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01903">routing.h:1903</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a83b0784e48b4aae48ac1dec580e45887"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a83b0784e48b4aae48ac1dec580e45887">operations_research::RoutingModel::GetDeliveryIndexPairs</a></div><divclass="ttdeci">const std::vector< std::pair< int, int >>& GetDeliveryIndexPairs(int64 node_index) const</div><divclass="ttdoc">Same as above for deliveries.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a4f701a6c16a01de56b43c5e82df7bd2c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a4f701a6c16a01de56b43c5e82df7bd2c">operations_research::RoutingModel::HasTypeRegulations</a></div><divclass="ttdeci">bool HasTypeRegulations() const</div><divclass="ttdoc">Returns true iff the model has any incompatibilities or requirements set on node types.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00769">routing.h:769</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ChristofidesFilteredDecisionBuilder_html_ad14669b4e8708bf12a3908df9a298b34"><divclass="ttname"><ahref="classoperations__research_1_1ChristofidesFilteredDecisionBuilder.html#ad14669b4e8708bf12a3908df9a298b34">operations_research::ChristofidesFilteredDecisionBuilder::BuildSolution</a></div><divclass="ttdeci">bool BuildSolution() override</div><divclass="ttdoc">Virtual method to redefine to build a solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aad12402a06e0218f32702da13668397a"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aad12402a06e0218f32702da13668397a">operations_research::RoutingModel::RemainingTime</a></div><divclass="ttdeci">absl::Duration RemainingTime() const</div><divclass="ttdoc">Returns the time left in the search limit.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01188">routing.h:1188</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_ae6dd1772ef933bfe97628d0034450266"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#ae6dd1772ef933bfe97628d0034450266">operations_research::RoutingDimension::HasCumulVarSoftLowerBound</a></div><divclass="ttdeci">bool HasCumulVarSoftLowerBound(int64 index) const</div><divclass="ttdoc">Returns true if a soft lower bound has been set for a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingIndexManager_html"><divclass="ttname"><ahref="classoperations__research_1_1RoutingIndexManager.html">operations_research::RoutingIndexManager</a></div><divclass="ttdoc">Manager for any NodeIndex <-> variable index conversion.</div><divclass="ttdef"><b>Definition:</b><ahref="routing__index__manager_8h_source.html#l00042">routing_index_manager.h:42</a></div></div>
<divclass="ttc"id="classoperations__research_1_1GlobalVehicleBreaksConstraint_html_a8e1a06d00ced8b302406376235cd2c98"><divclass="ttname"><ahref="classoperations__research_1_1GlobalVehicleBreaksConstraint.html#a8e1a06d00ced8b302406376235cd2c98">operations_research::GlobalVehicleBreaksConstraint::InitialPropagate</a></div><divclass="ttdeci">void InitialPropagate() override</div><divclass="ttdoc">This method performs the initial propagation of the constraint.</div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_a3728215165475d83bf1fc427bc171c3e"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#a3728215165475d83bf1fc427bc171c3e">operations_research::IntVarFilteredDecisionBuilder::Next</a></div><divclass="ttdeci">Decision * Next(Solver *solver) override</div><divclass="ttdoc">This is the main method of the decision builder class.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a6ae84e190aea5f82c4438611c276544b"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a6ae84e190aea5f82c4438611c276544b">operations_research::RoutingModel::VehicleVars</a></div><divclass="ttdeci">const std::vector< IntVar * >& VehicleVars() const</div><divclass="ttdoc">Returns all vehicle variables of the model, such that VehicleVars(i) is the vehicle variable of the n...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01077">routing.h:1077</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a328a19213729eec49288128061bc2044ae8dec7482ea889627be2d6a72dead305"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a328a19213729eec49288128061bc2044ae8dec7482ea889627be2d6a72dead305">operations_research::RoutingModel::ROUTING_INVALID</a></div><divclass="ttdoc">Model, model parameters or flags are not valid.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00217">routing.h:217</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a6e43db91425269dda98c59586731f660"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a6e43db91425269dda98c59586731f660">operations_research::RoutingDimension::SetBreakIntervalsOfVehicle</a></div><divclass="ttdeci">void SetBreakIntervalsOfVehicle(std::vector< IntervalVar * > breaks, int vehicle, int pre_travel_evaluator, int post_travel_evaluator)</div><divclass="ttdoc">Sets the breaks for a given vehicle.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ac1c68af59fa5513cf66fa4fd11acea29"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ac1c68af59fa5513cf66fa4fd11acea29">operations_research::RoutingModel::SetArcCostEvaluatorOfAllVehicles</a></div><divclass="ttdeci">void SetArcCostEvaluatorOfAllVehicles(int evaluator_index)</div><divclass="ttdoc">Sets the cost function of the model such that the cost of a segment of a route between node 'from' an...</div></div>
<divclass="ttc"id="classoperations__research_1_1GlobalVehicleBreaksConstraint_html"><divclass="ttname"><ahref="classoperations__research_1_1GlobalVehicleBreaksConstraint.html">operations_research::GlobalVehicleBreaksConstraint</a></div><divclass="ttdoc">GlobalVehicleBreaksConstraint ensures breaks constraints are enforced on all vehicles in the dimensio...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01770">routing.h:1770</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a2504e372b510ddac6d7e1512c112bbab"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a2504e372b510ddac6d7e1512c112bbab">operations_research::RoutingModel::VehicleCostsConsideredVar</a></div><divclass="ttdeci">IntVar * VehicleCostsConsideredVar(int vehicle) const</div><divclass="ttdoc">Returns the variable specifying whether or not costs are considered for vehicle.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01086">routing.h:1086</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a0cebd494809958d447b3bf5993eef05d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a0cebd494809958d447b3bf5993eef05d">operations_research::RoutingModel::AddHardTypeIncompatibility</a></div><divclass="ttdeci">void AddHardTypeIncompatibility(int type1, int type2)</div><divclass="ttdoc">Incompatibilities: Two nodes with "hard" incompatible types cannot share the same route at all,...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a0591ecab04c4c36001712568b10096a5"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a0591ecab04c4c36001712568b10096a5">operations_research::RoutingModel::sweep_arranger</a></div><divclass="ttdeci">SweepArranger * sweep_arranger() const</div><divclass="ttdoc">Returns the sweep arranger to be used by routing heuristics.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01037">routing.h:1037</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aa2a20dbd0b88b1b117c92bc7d3cc9c77"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aa2a20dbd0b88b1b117c92bc7d3cc9c77">operations_research::RoutingModel::GetSameVehicleIndicesOfIndex</a></div><divclass="ttdeci">const std::vector< int >& GetSameVehicleIndicesOfIndex(int node) const</div><divclass="ttdoc">Returns variable indices of nodes constrained to be on the same route.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01146">routing.h:1146</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CPFeasibilityFilter_html"><divclass="ttname"><ahref="classoperations__research_1_1CPFeasibilityFilter.html">operations_research::CPFeasibilityFilter</a></div><divclass="ttdoc">This filter accepts deltas for which the assignment satisfies the constraints of the Solver.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l03255">routing.h:3255</a></div></div>
<divclass="ttc"id="classoperations__research_1_1GlobalVehicleBreaksConstraint_html_a9228a638a979284394f90c004a1b37fa"><divclass="ttname"><ahref="classoperations__research_1_1GlobalVehicleBreaksConstraint.html#a9228a638a979284394f90c004a1b37fa">operations_research::GlobalVehicleBreaksConstraint::Post</a></div><divclass="ttdeci">void Post() override</div><divclass="ttdoc">This method is called when the constraint is processed by the solver.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ae216fb62532ff4f5a638fae2203ba311"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ae216fb62532ff4f5a638fae2203ba311">operations_research::RoutingModel::RestoreAssignment</a></div><divclass="ttdeci">Assignment * RestoreAssignment(const Assignment &solution)</div><divclass="ttdoc">Restores an assignment as a solution in the routing model and returns the new solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a7481e54940f75acd2516f5a24ff1039e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a7481e54940f75acd2516f5a24ff1039e">operations_research::RoutingModel::AddDisjunction</a></div><divclass="ttdeci">DisjunctionIndex AddDisjunction(const std::vector< int64 >&indices, int64 penalty=kNoPenalty, int64 max_cardinality=1)</div><divclass="ttdoc">Adds a disjunction constraint on the indices: exactly 'max_cardinality' of the indices are active.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a94c6a775655099c6e0b81d586f21838f"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a94c6a775655099c6e0b81d586f21838f">operations_research::RoutingModel::Size</a></div><divclass="ttdeci">int64 Size() const</div><divclass="ttdoc">Returns the number of next variables in the model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01199">routing.h:1199</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a061296e63bb9b679a5f21d4dc47f5ef2"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a061296e63bb9b679a5f21d4dc47f5ef2">operations_research::RoutingModel::GetNumberOfDisjunctions</a></div><divclass="ttdeci">int GetNumberOfDisjunctions() const</div><divclass="ttdoc">Returns the number of node disjunctions in the model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00603">routing.h:603</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aae35870db721604857ab17079e410fbe"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aae35870db721604857ab17079e410fbe">operations_research::RoutingModel::Nexts</a></div><divclass="ttdeci">const std::vector< IntVar * >& Nexts() const</div><divclass="ttdoc">Returns all next variables of the model, such that Nexts(i) is the next variable of the node correspo...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01074">routing.h:1074</a></div></div>
<divclass="ttc"id="classoperations__research_1_1BaseObject_html"><divclass="ttname"><ahref="classoperations__research_1_1BaseObject.html">operations_research::BaseObject</a></div><divclass="ttdoc">A BaseObject is the root of all reversibly allocated objects.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03089">constraint_solver.h:3089</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a4d1d9795fd5d3679da87017897fd4f9b"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a4d1d9795fd5d3679da87017897fd4f9b">operations_research::RoutingDimension::GetCumulVarPiecewiseLinearCost</a></div><divclass="ttdeci">const PiecewiseLinearFunction * GetCumulVarPiecewiseLinearCost(int64 index) const</div><divclass="ttdoc">Returns the piecewise linear cost of a cumul variable for a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a15f32489aad9f7d42d76514dff27ccca"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a15f32489aad9f7d42d76514dff27ccca">operations_research::RoutingDimension::ShortestTransitionSlack</a></div><divclass="ttdeci">int64 ShortestTransitionSlack(int64 node) const</div><divclass="ttdoc">It makes sense to use the function only for self-dependent dimension.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingFilteredDecisionBuilder_html_a5231593d95ea61f3f6d900f44e0fb87b"><divclass="ttname"><ahref="classoperations__research_1_1RoutingFilteredDecisionBuilder.html#a5231593d95ea61f3f6d900f44e0fb87b">operations_research::RoutingFilteredDecisionBuilder::StopSearch</a></div><divclass="ttdeci">bool StopSearch() override</div><divclass="ttdoc">Returns true if the search must be stopped.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02584">routing.h:2584</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a6a6c8be51a3d05f5cb97fa3086e9c161"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a6a6c8be51a3d05f5cb97fa3086e9c161">operations_research::RoutingModel::GetMutableDimension</a></div><divclass="ttdeci">RoutingDimension * GetMutableDimension(const std::string &dimension_name) const</div><divclass="ttdoc">Returns a dimension from its name.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a593aa2f5d78d3e9506248ef6b36769f0"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a593aa2f5d78d3e9506248ef6b36769f0">operations_research::RoutingModel::CloseModelWithParameters</a></div><divclass="ttdeci">void CloseModelWithParameters(const RoutingSearchParameters &search_parameters)</div><divclass="ttdoc">Same as above taking search parameters (as of 10/2015 some the parameters have to be set when closing...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a629a50e24cbacd010a82452b3e477551"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a629a50e24cbacd010a82452b3e477551">operations_research::RoutingModel::kNoDisjunction</a></div><divclass="ttdeci">static const DisjunctionIndex kNoDisjunction</div><divclass="ttdoc">Constant used to express the "no disjunction" index, returned when a node does not appear in any disj...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00351">routing.h:351</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aa1f829437dc19706c08a9daeed54f719"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aa1f829437dc19706c08a9daeed54f719">operations_research::RoutingModel::WriteAssignment</a></div><divclass="ttdeci">bool WriteAssignment(const std::string &file_name) const</div><divclass="ttdoc">Writes the current solution to a file containing an AssignmentProto.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ac1ab76e616858766abd3715a4c721c9a"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ac1ab76e616858766abd3715a4c721c9a">operations_research::RoutingModel::Solve</a></div><divclass="ttdeci">const Assignment * Solve(const Assignment *assignment=nullptr)</div><divclass="ttdoc">Solves the current routing model; closes the current model.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a9b44345e2ffce5df2256937137377bd4"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a9b44345e2ffce5df2256937137377bd4">operations_research::RoutingModel::SetFixedCostOfAllVehicles</a></div><divclass="ttdeci">void SetFixedCostOfAllVehicles(int64 cost)</div><divclass="ttdoc">Sets the fixed cost of all vehicle routes.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_afc493b34ee2a2bc9742dd54492901a11"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#afc493b34ee2a2bc9742dd54492901a11">operations_research::RoutingModel::AddTemporalTypeIncompatibility</a></div><divclass="ttdeci">void AddTemporalTypeIncompatibility(int type1, int type2)</div></div>
<divclass="ttc"id="classoperations__research_1_1IntVar_html"><divclass="ttname"><ahref="classoperations__research_1_1IntVar.html">operations_research::IntVar</a></div><divclass="ttdoc">The class IntVar is a subset of IntExpr.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03934">constraint_solver.h:3934</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_a95726fed5ab591f1934d5f427d58f5bb"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#a95726fed5ab591f1934d5f427d58f5bb">operations_research::SavingsFilteredDecisionBuilder::type_index_of_vehicle_</a></div><divclass="ttdeci">std::vector< int > type_index_of_vehicle_</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l03044">routing.h:3044</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_aa771a4b1f09590ad4132fbf90f524abe"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#aa771a4b1f09590ad4132fbf90f524abe">operations_research::RoutingDimension::GetBreakDistanceDurationOfVehicle</a></div><divclass="ttdeci">const std::vector< std::pair< int64, int64 >>& GetBreakDistanceDurationOfVehicle(int vehicle) const</div><divclass="ttdoc">Returns the pairs (distance, duration) specified by break distance constraints.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a9ffc92ce7c3dc0668e774e46964346c2"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a9ffc92ce7c3dc0668e774e46964346c2">operations_research::RoutingModel::ApplyLocks</a></div><divclass="ttdeci">IntVar * ApplyLocks(const std::vector< int64 >&locks)</div><divclass="ttdoc">Applies a lock chain to the next search.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a64af81f9d1bfc4c7d89caa9966f402ff"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a64af81f9d1bfc4c7d89caa9966f402ff">operations_research::RoutingModel::kNoDimension</a></div><divclass="ttdeci">static const DimensionIndex kNoDimension</div><divclass="ttdoc">Constant used to express the "no dimension" index, returned when a dimension name does not correspond...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00355">routing.h:355</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html"><divclass="ttname"><ahref="namespaceoperations__research.html">operations_research</a></div><divclass="ttdoc">The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00092">constraint_solver.h:92</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_af749da37fdb4dd5ebfc941a372e18d2f"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#af749da37fdb4dd5ebfc941a372e18d2f">operations_research::RoutingDimension::vehicle_capacities</a></div><divclass="ttdeci">const std::vector< int64 >& vehicle_capacities() const</div><divclass="ttdoc">Returns the capacities for all vehicles.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02059">routing.h:2059</a></div></div>
<divclass="ttc"id="classoperations__research_1_1TypeRegulationsConstraint_html_a350eb7ba99ec672599956a2b61a2a8b1"><divclass="ttname"><ahref="classoperations__research_1_1TypeRegulationsConstraint.html#a350eb7ba99ec672599956a2b61a2a8b1">operations_research::TypeRegulationsConstraint::InitialPropagate</a></div><divclass="ttdeci">void InitialPropagate() override</div><divclass="ttdoc">This method performs the initial propagation of the constraint.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a83353bc0169bd873c36c364344386c6e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a83353bc0169bd873c36c364344386c6e">operations_research::RoutingModel::AddVariableTargetToFinalizer</a></div><divclass="ttdeci">void AddVariableTargetToFinalizer(IntVar *var, int64 target)</div><divclass="ttdoc">Add a variable to set the closest possible to the target value in the solution finalizer.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ac7aced00988489c59aa4e2dacb23fff7"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ac7aced00988489c59aa4e2dacb23fff7">operations_research::RoutingModel::UnperformedPenaltyOrValue</a></div><divclass="ttdeci">int64 UnperformedPenaltyOrValue(int64 default_value, int64 var_index) const</div><divclass="ttdoc">Same as above except that it returns default_value instead of 0 when penalty is not well defined (def...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a4400a3099548b3c4bbd0fab5611a9ac8"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a4400a3099548b3c4bbd0fab5611a9ac8">operations_research::RoutingModel::GetCostClassesCount</a></div><divclass="ttdeci">int GetCostClassesCount() const</div><divclass="ttdoc">Returns the number of different cost classes in the model.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01134">routing.h:1134</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a5e052b69c4c4cf9b4c8c436371fd6dcf"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a5e052b69c4c4cf9b4c8c436371fd6dcf">operations_research::RoutingModel::solver</a></div><divclass="ttdeci">Solver * solver() const</div><divclass="ttdoc">Returns the underlying constraint solver.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01179">routing.h:1179</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingFilteredDecisionBuilder_html_ac5e9978230d2e759f1f5b94bf738feca"><divclass="ttname"><ahref="classoperations__research_1_1RoutingFilteredDecisionBuilder.html#ac5e9978230d2e759f1f5b94bf738feca">operations_research::RoutingFilteredDecisionBuilder::GetEndChainStart</a></div><divclass="ttdeci">int GetEndChainStart(int vehicle) const</div><divclass="ttdoc">Returns the start of the end chain of vehicle,.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02576">routing.h:2576</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ada533b400c991befad313f9e1269ef67"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ada533b400c991befad313f9e1269ef67">operations_research::RoutingModel::GetArcCostForVehicle</a></div><divclass="ttdeci">int64 GetArcCostForVehicle(int64 from_index, int64 to_index, int64 vehicle) const</div><divclass="ttdoc">Returns the cost of the transit arc between two nodes for a given vehicle.</div></div>
<divclass="ttc"id="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_html_abb5c3583fb3e234773e83c3a008cac9a"><divclass="ttname"><ahref="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html#abb5c3583fb3e234773e83c3a008cac9a">operations_research::CheapestInsertionFilteredDecisionBuilder::GetUnperformedValue</a></div><divclass="ttdeci">int64 GetUnperformedValue(int64 node_to_insert) const</div><divclass="ttdoc">Returns the cost of unperforming node 'node_to_insert'.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a0a9781d4ed69c53f960925bcd9078340"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a0a9781d4ed69c53f960925bcd9078340">operations_research::RoutingModel::AddVariableMinimizedByFinalizer</a></div><divclass="ttdeci">void AddVariableMinimizedByFinalizer(IntVar *var)</div><divclass="ttdoc">Adds a variable to minimize in the solution finalizer.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a2bbbf40328825ffe853e5969eee63f5a"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a2bbbf40328825ffe853e5969eee63f5a">operations_research::RoutingDimension::GetCumulVarSoftLowerBoundCoefficient</a></div><divclass="ttdeci">int64 GetCumulVarSoftLowerBoundCoefficient(int64 index) const</div><divclass="ttdoc">Returns the cost coefficient of the soft lower bound of a cumul variable for a given variable index.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a1bc6555892b6fa99e01f2d61188c9616"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a1bc6555892b6fa99e01f2d61188c9616">operations_research::RoutingModel::UnperformedPenalty</a></div><divclass="ttdeci">int64 UnperformedPenalty(int64 var_index) const</div><divclass="ttdoc">Get the "unperformed" penalty of a node.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a5294e423796b0028f665ccc35967c199"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a5294e423796b0028f665ccc35967c199">operations_research::RoutingModel::kNoPenalty</a></div><divclass="ttdeci">static const int64 kNoPenalty</div><divclass="ttdoc">Constant used to express a hard constraint instead of a soft penalty.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00347">routing.h:347</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a328a19213729eec49288128061bc2044a73b2e79d6934957ec86f60a69036e055"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a328a19213729eec49288128061bc2044a73b2e79d6934957ec86f60a69036e055">operations_research::RoutingModel::ROUTING_NOT_SOLVED</a></div><divclass="ttdoc">Problem not solved yet (before calling RoutingModel::Solve()).</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00209">routing.h:209</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_a79f476b7736fd94c99a5a3b19af51144"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#a79f476b7736fd94c99a5a3b19af51144">operations_research::SavingsFilteredDecisionBuilder::StartNewRouteWithBestVehicleOfType</a></div><divclass="ttdeci">int StartNewRouteWithBestVehicleOfType(int type, int64 before_node, int64 after_node)</div><divclass="ttdoc">Finds the best available vehicle of type "type" to start a new route to serve the arc before_node-->a...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_aba0fdad13b78526349c1279f7127fe78"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#aba0fdad13b78526349c1279f7127fe78">operations_research::RoutingModel::GetNonZeroCostClassesCount</a></div><divclass="ttdeci">int GetNonZeroCostClassesCount() const</div><divclass="ttdoc">Ditto, minus the 'always zero', built-in cost class.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01136">routing.h:1136</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ad797a6fa63d267c5f6e4ddf169f20037"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ad797a6fa63d267c5f6e4ddf169f20037">operations_research::RoutingModel::GetDisjunctionMaxCardinality</a></div><divclass="ttdeci">int64 GetDisjunctionMaxCardinality(DisjunctionIndex index) const</div><divclass="ttdoc">Returns the maximum number of possible active nodes of the node disjunction of index 'index'.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00599">routing.h:599</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_ab99b24dbd1dd5c0393adcbfd195768ea"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#ab99b24dbd1dd5c0393adcbfd195768ea">operations_research::IntVarFilteredDecisionBuilder::Contains</a></div><divclass="ttdeci">bool Contains(int64 index) const</div><divclass="ttdoc">Returns true if the variable of index 'index' is in the current solution.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02538">routing.h:2538</a></div></div>
<divclass="ttc"id="classoperations__research_1_1Decision_html"><divclass="ttname"><ahref="classoperations__research_1_1Decision.html">operations_research::Decision</a></div><divclass="ttdoc">A Decision represents a choice point in the search tree.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03165">constraint_solver.h:3165</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_a2d95b0c5e4e1261ae146ea37744e164e"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#a2d95b0c5e4e1261ae146ea37744e164e">operations_research::SavingsFilteredDecisionBuilder::GetSavingValue</a></div><divclass="ttdeci">int64 GetSavingValue(const Saving &saving) const</div><divclass="ttdoc">Returns the saving value from a saving.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l03030">routing.h:3030</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_af35ab759f7e5191bb4063a58907be20c"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#af35ab759f7e5191bb4063a58907be20c">operations_research::RoutingModel::GetPrimaryConstrainedDimension</a></div><divclass="ttdeci">const std::string & GetPrimaryConstrainedDimension() const</div><divclass="ttdoc">Get the primary constrained dimension, or an empty std::string if it is unset.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00544">routing.h:544</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntervalVar_html"><divclass="ttname"><ahref="classoperations__research_1_1IntervalVar.html">operations_research::IntervalVar</a></div><divclass="ttdoc">Interval variables are often used in scheduling.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04290">constraint_solver.h:4290</a></div></div>
<divclass="ttc"id="classoperations__research_1_1DisjunctivePropagator_html_a10aa87697d8041fa4a1083dc648750f7"><divclass="ttname"><ahref="classoperations__research_1_1DisjunctivePropagator.html#a10aa87697d8041fa4a1083dc648750f7">operations_research::DisjunctivePropagator::Precedences</a></div><divclass="ttdeci">bool Precedences(Tasks *tasks)</div><divclass="ttdoc">Propagates the deductions from the chain of precedences, if there is one.</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ab003e312046f4b6e8aecb188de21f2c8"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ab003e312046f4b6e8aecb188de21f2c8">operations_research::RoutingModel::SetAssignmentFromOtherModelAssignment</a></div><divclass="ttdeci">void SetAssignmentFromOtherModelAssignment(Assignment *target_assignment, const RoutingModel *source_model, const Assignment *source_assignment)</div><divclass="ttdoc">Given a "source_model" and its "source_assignment", resets "target_assignment" with the IntVar variab...</div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_af8dfaa8561042682ba1e695a9cf8e485"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#af8dfaa8561042682ba1e695a9cf8e485">operations_research::SavingsFilteredDecisionBuilder::GetBeforeNodeFromSaving</a></div><divclass="ttdeci">int64 GetBeforeNodeFromSaving(const Saving &saving) const</div><divclass="ttdoc">Returns the "before node" from a saving.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l03022">routing.h:3022</a></div></div>
<divclass="ttc"id="classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder.html">operations_research::ComparatorCheapestAdditionFilteredDecisionBuilder</a></div><divclass="ttdoc">A CheapestAdditionFilteredDecisionBuilder where the notion of 'cheapest arc' comes from an arc compar...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02944">routing.h:2944</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a7aca0f50d5357b2b4cf406406a15e6d6"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a7aca0f50d5357b2b4cf406406a15e6d6">operations_research::RoutingModel::SetVisitType</a></div><divclass="ttdeci">void SetVisitType(int64 index, int type)</div><divclass="ttdoc">Set the node visit types and incompatibilities/requirements between the types (see below).</div></div>
<divclass="ttc"id="classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder_html"><divclass="ttname"><ahref="classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder.html">operations_research::LocalCheapestInsertionFilteredDecisionBuilder</a></div><divclass="ttdoc">Filter-base decision builder which builds a solution by inserting nodes at their cheapest position.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02848">routing.h:2848</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ae8bd0c46cd06795dea6004ddf2090567"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ae8bd0c46cd06795dea6004ddf2090567">operations_research::RoutingModel::DebugOutputAssignment</a></div><divclass="ttdeci">std::string DebugOutputAssignment(const Assignment &solution_assignment, const std::string &dimension_to_print) const</div><divclass="ttdoc">Print some debugging information about an assignment, including the feasible intervals of the CumulVa...</div></div>
<divclass="ttc"id="structoperations__research_1_1RoutingModel_1_1VehicleClass_html_a5ca90b9a98f28012ccd29d9361d91265"><divclass="ttname"><ahref="structoperations__research_1_1RoutingModel_1_1VehicleClass.html#a5ca90b9a98f28012ccd29d9361d91265">operations_research::RoutingModel::VehicleClass::fixed_cost</a></div><divclass="ttdeci">int64 fixed_cost</div><divclass="ttdoc">Contrarily to CostClass, here we need strict equivalence.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l00319">routing.h:319</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RegularLimit_html_a19509391e38443b1bc38c5847125ff3d"><divclass="ttname"><ahref="classoperations__research_1_1RegularLimit.html#a19509391e38443b1bc38c5847125ff3d">operations_research::RegularLimit::Check</a></div><divclass="ttdeci">bool Check() override</div><divclass="ttdoc">This method is called to check the status of the limit.</div></div>
<divclass="ttc"id="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters_html_a8ccb365bfb92ed5e4fd99cdf69d3f437"><divclass="ttname"><ahref="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html#a8ccb365bfb92ed5e4fd99cdf69d3f437">operations_research::SavingsFilteredDecisionBuilder::SavingsParameters::arc_coefficient</a></div><divclass="ttdeci">double arc_coefficient</div><divclass="ttdoc">arc_coefficient is a strictly positive parameter indicating the coefficient of the arc being consider...</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02987">routing.h:2987</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_abf27caa0ebb8551a9ddf534d366edc62"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#abf27caa0ebb8551a9ddf534d366edc62">operations_research::RoutingModel::VehicleVar</a></div><divclass="ttdeci">IntVar * VehicleVar(int64 index) const</div><divclass="ttdoc">Returns the vehicle variable of the node corresponding to index.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01091">routing.h:1091</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_a34732976d70ea1b9bd96bbed44970007"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#a34732976d70ea1b9bd96bbed44970007">operations_research::SavingsFilteredDecisionBuilder::vehicles_per_vehicle_class_</a></div><divclass="ttdeci">std::vector< std::deque< int >> vehicles_per_vehicle_class_</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l03047">routing.h:3047</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModelVisitor_html"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModelVisitor.html">operations_research::RoutingModelVisitor</a></div><divclass="ttdoc">Routing model visitor.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l01674">routing.h:1674</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a199d66aa4a8c9ed2800e33e14e1bc55f"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a199d66aa4a8c9ed2800e33e14e1bc55f">operations_research::RoutingModel::GetNumberOfDecisionsInFirstSolution</a></div><divclass="ttdeci">int64 GetNumberOfDecisionsInFirstSolution(const RoutingSearchParameters &search_parameters) const</div><divclass="ttdoc">Returns statistics on first solution search, number of decisions sent to filters, number of decisions...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_ade704c2189c4dfde1ace86100f9c363d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#ade704c2189c4dfde1ace86100f9c363d">operations_research::RoutingDimension::base_dimension</a></div><divclass="ttdeci">const RoutingDimension * base_dimension() const</div><divclass="ttdoc">Returns the parent in the dependency tree if any or nullptr otherwise.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02227">routing.h:2227</a></div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_af80ac7c7333a0515de2155c463c4344e"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#af80ac7c7333a0515de2155c463c4344e">operations_research::IntVarFilteredDecisionBuilder::BuildSolution</a></div><divclass="ttdeci">virtual bool BuildSolution()=0</div><divclass="ttdoc">Virtual method to redefine to build a solution.</div></div>
<divclass="ttc"id="classoperations__research_1_1IntVarFilteredDecisionBuilder_html_aaa2ee1b71985f528f9b59fa693936e0a"><divclass="ttname"><ahref="classoperations__research_1_1IntVarFilteredDecisionBuilder.html#aaa2ee1b71985f528f9b59fa693936e0a">operations_research::IntVarFilteredDecisionBuilder::Commit</a></div><divclass="ttdeci">bool Commit()</div><divclass="ttdoc">Commits the modifications to the current solution if these modifications are "filter-feasible",...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a23e3efd1501595077fdc99ca53d6979e"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a23e3efd1501595077fdc99ca53d6979e">operations_research::RoutingModel::SetPickupAndDeliveryPolicyOfVehicle</a></div><divclass="ttdeci">void SetPickupAndDeliveryPolicyOfVehicle(PickupAndDeliveryPolicy policy, int vehicle)</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a37fa78a9cd717c2665ff079047170d08"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a37fa78a9cd717c2665ff079047170d08">operations_research::RoutingModel::GetTemporalTypeIncompatibilitiesOfType</a></div><divclass="ttdeci">const absl::flat_hash_set< int >& GetTemporalTypeIncompatibilitiesOfType(int type) const</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_a87f365465eb17819cd0d2f332080b113"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#a87f365465eb17819cd0d2f332080b113">operations_research::RoutingDimension::SetPickupToDeliveryLimitFunctionForPair</a></div><divclass="ttdeci">void SetPickupToDeliveryLimitFunctionForPair(PickupToDeliveryLimitFunction limit_function, int pair_index)</div></div>
<divclass="ttc"id="classoperations__research_1_1Assignment_html"><divclass="ttname"><ahref="classoperations__research_1_1Assignment.html">operations_research::Assignment</a></div><divclass="ttdoc">An Assignment is a variable -> domains mapping, used to report solutions to the user.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04934">constraint_solver.h:4934</a></div></div>
<divclass="ttc"id="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_html_aefb129b85e384ae8dd93914fb86720e1"><divclass="ttname"><ahref="classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html#aefb129b85e384ae8dd93914fb86720e1">operations_research::CheapestInsertionFilteredDecisionBuilder::ComputeStartEndDistanceForVehicles</a></div><divclass="ttdeci">std::vector< std::vector< StartEndValue >> ComputeStartEndDistanceForVehicles(const std::vector< int >&vehicles)</div><divclass="ttdoc">Computes and returns the distance of each uninserted node to every vehicle in "vehicles" as a std::ve...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_ad3420be5f4b38fd143302fecc1d118bb"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#ad3420be5f4b38fd143302fecc1d118bb">operations_research::RoutingDimension::GetPathPrecedenceGraph</a></div><divclass="ttdeci">const ReverseArcListGraph< int, int >& GetPathPrecedenceGraph() const</div><divclass="ttdoc">Accessors.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l02242">routing.h:2242</a></div></div>
<divclass="ttc"id="classoperations__research_1_1SavingsFilteredDecisionBuilder_html_a9e4db1eb4f2bca5ca9eaec95324ae691"><divclass="ttname"><ahref="classoperations__research_1_1SavingsFilteredDecisionBuilder.html#a9e4db1eb4f2bca5ca9eaec95324ae691">operations_research::SavingsFilteredDecisionBuilder::GetAfterNodeFromSaving</a></div><divclass="ttdeci">int64 GetAfterNodeFromSaving(const Saving &saving) const</div><divclass="ttdoc">Returns the "after node" from a saving.</div><divclass="ttdef"><b>Definition:</b><ahref="routing_8h_source.html#l03026">routing.h:3026</a></div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_a0404ffbec749cce477e7b2a642dfe3fa"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#a0404ffbec749cce477e7b2a642dfe3fa">operations_research::RoutingModel::AddPickupAndDeliverySets</a></div><divclass="ttdeci">void AddPickupAndDeliverySets(DisjunctionIndex pickup_disjunction, DisjunctionIndex delivery_disjunction)</div><divclass="ttdoc">Same as AddPickupAndDelivery but notifying that the performed node from the disjunction of index 'pic...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingDimension_html_ab29859c22398d47a8590b3524e3a442a"><divclass="ttname"><ahref="classoperations__research_1_1RoutingDimension.html#ab29859c22398d47a8590b3524e3a442a">operations_research::RoutingDimension::SetGlobalSpanCostCoefficient</a></div><divclass="ttdeci">void SetGlobalSpanCostCoefficient(int64 coefficient)</div><divclass="ttdoc">Sets a cost proportional to the global dimension span, that is the difference between the largest val...</div></div>
<divclass="ttc"id="classoperations__research_1_1RoutingModel_html_ae98935a4e6cc9b3d6aeee4f9ff273d7d"><divclass="ttname"><ahref="classoperations__research_1_1RoutingModel.html#ae98935a4e6cc9b3d6aeee4f9ff273d7d">operations_research::RoutingModel::SetAllowedVehiclesForIndex</a></div><divclass="ttdeci">void SetAllowedVehiclesForIndex(const std::vector< int >&vehicles, int64 index)</div><divclass="ttdoc">Sets the vehicles which can visit a given node.</div></div>