diff --git a/docs/cpp_algorithms.tag b/docs/cpp_algorithms.tag index 2089b7e9e3..951a82c637 100644 --- a/docs/cpp_algorithms.tag +++ b/docs/cpp_algorithms.tag @@ -166,8 +166,8 @@ void Init classoperations__research_1_1KnapsackSolver.html - aca019151f60942f2e7245874bb89cd62 - (const std::vector< int64 > &profits, const std::vector< std::vector< int64 >> &weights, const std::vector< int64 > &capacities) + ad2a0397c061a1cf0bfc759b35f23e463 + (const std::vector< int64 > &profits, const std::vector< std::vector< int64 > > &weights, const std::vector< int64 > &capacities) int64 diff --git a/docs/cpp_algorithms/annotated.html b/docs/cpp_algorithms/annotated.html index ea8ddc877b..640579dcbc 100644 --- a/docs/cpp_algorithms/annotated.html +++ b/docs/cpp_algorithms/annotated.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_algorithms/classes.html b/docs/cpp_algorithms/classes.html index 04e6f1195e..d640cd9a6c 100644 --- a/docs/cpp_algorithms/classes.html +++ b/docs/cpp_algorithms/classes.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_algorithms/classoperations__research_1_1KnapsackSolver-members.html b/docs/cpp_algorithms/classoperations__research_1_1KnapsackSolver-members.html index 5e192b0b99..a2d1ebaf04 100644 --- a/docs/cpp_algorithms/classoperations__research_1_1KnapsackSolver-members.html +++ b/docs/cpp_algorithms/classoperations__research_1_1KnapsackSolver-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -52,7 +53,7 @@ $(document).ready(function(){initNavTree('classoperations__research_1_1KnapsackS - + diff --git a/docs/cpp_algorithms/classoperations__research_1_1KnapsackSolver.html b/docs/cpp_algorithms/classoperations__research_1_1KnapsackSolver.html index 9f74201808..9615780d4b 100644 --- a/docs/cpp_algorithms/classoperations__research_1_1KnapsackSolver.html +++ b/docs/cpp_algorithms/classoperations__research_1_1KnapsackSolver.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -65,7 +66,7 @@ $(document).ready(function(){initNavTree('classoperations__research_1_1KnapsackS

    For instance to solve a 2-dimensional knapsack problem with 9 items, one just has to feed a profit vector with the 9 profits, a vector of 2 vectors for weights, and a vector of capacities. E.g.:

    Python:

    profits = [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
    weights = [ [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ],
    [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
    ]
    capacities = [ 34, 4 ]
    solver = pywrapknapsack_solver.KnapsackSolver(
    pywrapknapsack_solver.KnapsackSolver
    .KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER,
    'Multi-dimensional solver')
    solver.Init(profits, weights, capacities)
    profit = solver.Solve()

    C++:

    -
    const std::vector<int64> profits = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    const std::vector<std::vector<int64>> weights =
    { { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1 } };
    const std::vector<int64> capacities = { 34, 4 };
    "Multi-dimensional solver");
    solver.Init(profits, weights, capacities);
    const int64 profit = solver.Solve();

    Java:

    +
    const std::vector<int64> profits = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    const std::vector<std::vector<int64>> weights =
    { { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1 } };
    const std::vector<int64> capacities = { 34, 4 };
    "Multi-dimensional solver");
    solver.Init(profits, weights, capacities);
    const int64 profit = solver.Solve();

    Java:

    final long[] profits = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    final long[][] weights = { { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1 } };
    final long[] capacities = { 34, 4 };
    KnapsackSolver.SolverType.KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER,
    "Multi-dimensional solver");
    solver.init(profits, weights, capacities);
    final long profit = solver.solve();

    Definition at line 120 of file knapsack_solver.h.

    BestSolutionContains(int item_id) constoperations_research::KnapsackSolver
    GetName() constoperations_research::KnapsackSolver
    Init(const std::vector< int64 > &profits, const std::vector< std::vector< int64 >> &weights, const std::vector< int64 > &capacities)operations_research::KnapsackSolver
    Init(const std::vector< int64 > &profits, const std::vector< std::vector< int64 > > &weights, const std::vector< int64 > &capacities)operations_research::KnapsackSolver
    IsSolutionOptimal() constoperations_research::KnapsackSolverinline
    KNAPSACK_64ITEMS_SOLVER enum valueoperations_research::KnapsackSolver
    KNAPSACK_BRUTE_FORCE_SOLVER enum valueoperations_research::KnapsackSolver
    @@ -92,9 +93,9 @@ Public Member Functions - - - + + + @@ -131,32 +132,24 @@ Public Member Functions

    This enum is passed to the constructor of the KnapsackSolver object. It selects which solving method will be used.

     
    virtual ~KnapsackSolver ()
     
    void Init (const std::vector< int64 > &profits, const std::vector< std::vector< int64 >> &weights, const std::vector< int64 > &capacities)
     Initializes the solver and enters the problem to be solved. More...
     
    void Init (const std::vector< int64 > &profits, const std::vector< std::vector< int64 > > &weights, const std::vector< int64 > &capacities)
     Initializes the solver and enters the problem to be solved. More...
     
    int64 Solve ()
     Solves the problem and returns the profit of the optimal solution. More...
     
    +

    Limited to 30 items and one dimension, this solver uses a brute force algorithm, ie. explores all possible states. Experiments show competitive performance for instances with less than 15 items.

    + +

    Limited to 64 items and one dimension, this solver uses a branch & bound algorithm. This solver is about 4 times faster than KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER.

    + +

    Limited to one dimension, this solver is based on a dynamic programming algorithm. The time and space complexity is O(capacity * number_of_items).

    + +
    This solver can deal with both large number of items and several
    +

    dimensions. This solver is based on Integer Programming solver CBC.

    + +

    This solver can deal with both large number of items and several dimensions. This solver is based on branch and bound.

    + +

    This solver can deal with both large number of items and several dimensions. This solver is based on Integer Programming solver SCIP.

    +
    Enumerator
    KNAPSACK_BRUTE_FORCE_SOLVER 

    Brute force method.

    -
    Limited to 30 items and one dimension, this
    -solver uses a brute force algorithm, ie. explores all possible states.
    -Experiments show competitive performance for instances with less than
    -15 items. 
    KNAPSACK_64ITEMS_SOLVER 

    Optimized method for single dimension small problems.

    -
    Limited to 64 items and one dimension, this
    -solver uses a branch & bound algorithm. This solver is about 4 times
    -faster than KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER.
    -
    KNAPSACK_DYNAMIC_PROGRAMMING_SOLVER 

    Dynamic Programming approach for single dimension problems.

    -
    Limited to one dimension, this solver is based on a dynamic programming
    -algorithm. The time and space complexity is O(capacity *
    -number_of_items).
    -
    KNAPSACK_MULTIDIMENSION_CBC_MIP_SOLVER 

    CBC Based Solver.

    -
     This solver can deal with both large number of items and several
    -dimensions. This solver is based on Integer Programming solver CBC.
    -
    KNAPSACK_MULTIDIMENSION_BRANCH_AND_BOUND_SOLVER 

    Generic Solver.

    -
    This solver can deal with both large number of items and several
    -dimensions. This solver is based on branch and bound.
    -
    KNAPSACK_MULTIDIMENSION_SCIP_MIP_SOLVER 

    SCIP based solver.

    -
    This solver can deal with both large number of items and several
    -dimensions. This solver is based on Integer Programming solver SCIP.
    -

    Definition at line 127 of file knapsack_solver.h.

    @@ -281,8 +274,8 @@ dimensions. This solver is based on Integer Programming solver SCIP. - -

    ◆ Init()

    + +

    ◆ Init()

    @@ -296,7 +289,7 @@ dimensions. This solver is based on Integer Programming solver SCIP. - const std::vector< std::vector< int64 >> &  + const std::vector< std::vector< int64 > > &  weights, @@ -373,7 +366,7 @@ dimensions. This solver is based on Integer Programming solver SCIP.

    Time limit in seconds.

    When a finite time limit is set the solution obtained might not be optimal if the limit is reached.

    -

    Definition at line 214 of file knapsack_solver.h.

    +

    Definition at line 212 of file knapsack_solver.h.

    diff --git a/docs/cpp_algorithms/dense__doubly__linked__list_8h.html b/docs/cpp_algorithms/dense__doubly__linked__list_8h.html index 315e108fdd..152b81d4aa 100644 --- a/docs/cpp_algorithms/dense__doubly__linked__list_8h.html +++ b/docs/cpp_algorithms/dense__doubly__linked__list_8h.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -54,9 +50,7 @@ $(document).ready(function(){initNavTree('dense__doubly__linked__list_8h.html','
    dense_doubly_linked_list.h File Reference
    -
    #include <vector>
    -#include "ortools/base/logging.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_algorithms/dense__doubly__linked__list_8h_source.html b/docs/cpp_algorithms/dense__doubly__linked__list_8h_source.html index d25463f7fa..81e600b7e8 100644 --- a/docs/cpp_algorithms/dense__doubly__linked__list_8h_source.html +++ b/docs/cpp_algorithms/dense__doubly__linked__list_8h_source.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_algorithms/dir_80dda7a75b0dfcf996988638a63eb03a.html b/docs/cpp_algorithms/dir_80dda7a75b0dfcf996988638a63eb03a.html index 990fe22e8e..589a260629 100644 --- a/docs/cpp_algorithms/dir_80dda7a75b0dfcf996988638a63eb03a.html +++ b/docs/cpp_algorithms/dir_80dda7a75b0dfcf996988638a63eb03a.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_algorithms/dir_a7cc1eeded8f693d0da6c729bc88c45a.html b/docs/cpp_algorithms/dir_a7cc1eeded8f693d0da6c729bc88c45a.html index 8516dd9825..1d65d35cfe 100644 --- a/docs/cpp_algorithms/dir_a7cc1eeded8f693d0da6c729bc88c45a.html +++ b/docs/cpp_algorithms/dir_a7cc1eeded8f693d0da6c729bc88c45a.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_algorithms/dynamic__partition_8h.html b/docs/cpp_algorithms/dynamic__partition_8h.html index 1199f2c472..8f4133e6f3 100644 --- a/docs/cpp_algorithms/dynamic__partition_8h.html +++ b/docs/cpp_algorithms/dynamic__partition_8h.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -54,10 +50,7 @@ $(document).ready(function(){initNavTree('dynamic__partition_8h.html','');});
    dynamic_partition.h File Reference
    -
    #include <string>
    -#include <vector>
    -#include "ortools/base/logging.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_algorithms/dynamic__partition_8h_source.html b/docs/cpp_algorithms/dynamic__partition_8h_source.html index d245f1f9ba..26b8631995 100644 --- a/docs/cpp_algorithms/dynamic__partition_8h_source.html +++ b/docs/cpp_algorithms/dynamic__partition_8h_source.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_algorithms/dynamic__permutation_8h.html b/docs/cpp_algorithms/dynamic__permutation_8h.html index b544aa8839..523869f45e 100644 --- a/docs/cpp_algorithms/dynamic__permutation_8h.html +++ b/docs/cpp_algorithms/dynamic__permutation_8h.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -54,11 +50,7 @@ $(document).ready(function(){initNavTree('dynamic__permutation_8h.html','');});
    dynamic_permutation.h File Reference
    -
    #include <memory>
    -#include <set>
    -#include <vector>
    -#include "ortools/base/logging.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_algorithms/dynamic__permutation_8h_source.html b/docs/cpp_algorithms/dynamic__permutation_8h_source.html index 21590e1a99..e2f685e3dc 100644 --- a/docs/cpp_algorithms/dynamic__permutation_8h_source.html +++ b/docs/cpp_algorithms/dynamic__permutation_8h_source.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_algorithms/files.html b/docs/cpp_algorithms/files.html index 5c5b0b2fde..f3d0325f37 100644 --- a/docs/cpp_algorithms/files.html +++ b/docs/cpp_algorithms/files.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_algorithms/find__graph__symmetries_8h.html b/docs/cpp_algorithms/find__graph__symmetries_8h.html index 90a002a719..d80d00703e 100644 --- a/docs/cpp_algorithms/find__graph__symmetries_8h.html +++ b/docs/cpp_algorithms/find__graph__symmetries_8h.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -54,16 +50,7 @@ $(document).ready(function(){initNavTree('find__graph__symmetries_8h.html','');}
    find_graph_symmetries.h File Reference
    -
    #include <memory>
    -#include <vector>
    -#include "absl/time/time.h"
    -#include "ortools/algorithms/dynamic_partition.h"
    -#include "ortools/algorithms/dynamic_permutation.h"
    -#include "ortools/base/status.h"
    -#include "ortools/graph/graph.h"
    -#include "ortools/util/stats.h"
    -#include "ortools/util/time_limit.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_algorithms/find__graph__symmetries_8h_source.html b/docs/cpp_algorithms/find__graph__symmetries_8h_source.html index 3b92f67369..08f978542c 100644 --- a/docs/cpp_algorithms/find__graph__symmetries_8h_source.html +++ b/docs/cpp_algorithms/find__graph__symmetries_8h_source.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_algorithms/functions.html b/docs/cpp_algorithms/functions.html index 80fa8917e9..3fb4ada07d 100644 --- a/docs/cpp_algorithms/functions.html +++ b/docs/cpp_algorithms/functions.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • - @@ -55,9 +51,7 @@ $(document).ready(function(){initNavTree('hungarian_8h.html','');});
    hungarian.h File Reference
    -
    #include <vector>
    -#include "absl/container/flat_hash_map.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_algorithms/hungarian_8h_source.html b/docs/cpp_algorithms/hungarian_8h_source.html index 6a5f44780e..c9dd65dd49 100644 --- a/docs/cpp_algorithms/hungarian_8h_source.html +++ b/docs/cpp_algorithms/hungarian_8h_source.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_algorithms/index.html b/docs/cpp_algorithms/index.html index 0127e8afeb..a80eb123ee 100644 --- a/docs/cpp_algorithms/index.html +++ b/docs/cpp_algorithms/index.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_algorithms/knapsack__solver_8h.html b/docs/cpp_algorithms/knapsack__solver_8h.html index 4d41614ad1..b26b4d2359 100644 --- a/docs/cpp_algorithms/knapsack__solver_8h.html +++ b/docs/cpp_algorithms/knapsack__solver_8h.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -55,17 +51,7 @@ $(document).ready(function(){initNavTree('knapsack__solver_8h.html','');});
    knapsack_solver.h File Reference
    -
    #include <math.h>
    -#include <memory>
    -#include <string>
    -#include <vector>
    -#include "absl/memory/memory.h"
    -#include "ortools/base/basictypes.h"
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -#include "ortools/util/time_limit.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_algorithms/knapsack__solver_8h_source.html b/docs/cpp_algorithms/knapsack__solver_8h_source.html index 6ff6262344..eaa2938db9 100644 --- a/docs/cpp_algorithms/knapsack__solver_8h_source.html +++ b/docs/cpp_algorithms/knapsack__solver_8h_source.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -52,7 +48,7 @@ $(document).ready(function(){initNavTree('knapsack__solver_8h_source.html','');}
    knapsack_solver.h
    -Go to the documentation of this file.
    1 // Copyright 2010-2018 Google LLC
    2 // Licensed under the Apache License, Version 2.0 (the "License");
    3 // you may not use this file except in compliance with the License.
    4 // You may obtain a copy of the License at
    5 //
    6 // http://www.apache.org/licenses/LICENSE-2.0
    7 //
    8 // Unless required by applicable law or agreed to in writing, software
    9 // distributed under the License is distributed on an "AS IS" BASIS,
    10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11 // See the License for the specific language governing permissions and
    12 // limitations under the License.
    13 
    14 #ifndef OR_TOOLS_ALGORITHMS_KNAPSACK_SOLVER_H_
    15 #define OR_TOOLS_ALGORITHMS_KNAPSACK_SOLVER_H_
    16 
    17 #include <math.h>
    18 
    19 #include <memory>
    20 #include <string>
    21 #include <vector>
    22 
    23 #include "absl/memory/memory.h"
    24 #include "ortools/base/basictypes.h"
    25 #include "ortools/base/integral_types.h"
    26 #include "ortools/base/logging.h"
    27 #include "ortools/base/macros.h"
    28 #include "ortools/util/time_limit.h"
    29 
    30 namespace operations_research {
    31 
    32 class BaseKnapsackSolver;
    33 
    121  public:
    127  enum SolverType {
    135 
    143 
    151 
    152 #if defined(USE_CBC)
    153 
    159 #endif // USE_CBC
    160 
    167 
    168 #if defined(USE_SCIP)
    169 
    175 #endif // USE_SCIP
    176  };
    177 
    178  explicit KnapsackSolver(const std::string &solver_name);
    179  KnapsackSolver(SolverType solver_type, const std::string &solver_name);
    180  virtual ~KnapsackSolver();
    181 
    185  void Init(const std::vector<int64> &profits,
    186  const std::vector<std::vector<int64>> &weights,
    187  const std::vector<int64> &capacities);
    188 
    192  int64 Solve();
    193 
    197  bool BestSolutionContains(int item_id) const;
    201  bool IsSolutionOptimal() const { return is_solution_optimal_; }
    202  std::string GetName() const;
    203 
    204  bool use_reduction() const { return use_reduction_; }
    206  use_reduction_ = use_reduction;
    207  }
    208 
    214  void set_time_limit(double time_limit_seconds) {
    215  time_limit_seconds_ = time_limit_seconds;
    216  time_limit_ = absl::make_unique<TimeLimit>(time_limit_seconds_);
    217  }
    218 
    219  private:
    220  // Trivial reduction of capacity constraints when the capacity is higher than
    221  // the sum of the weights of the items. Returns the number of reduced items.
    222  int ReduceCapacities(int num_items,
    223  const std::vector<std::vector<int64> >& weights,
    224  const std::vector<int64>& capacities,
    225  std::vector<std::vector<int64> >* reduced_weights,
    226  std::vector<int64>* reduced_capacities);
    227  int ReduceProblem(int num_items);
    228  void ComputeAdditionalProfit(const std::vector<int64>& profits);
    229  void InitReducedProblem(const std::vector<int64>& profits,
    230  const std::vector<std::vector<int64> >& weights,
    231  const std::vector<int64>& capacities);
    232 
    233  std::unique_ptr<BaseKnapsackSolver> solver_;
    234  std::vector<bool> known_value_;
    235  std::vector<bool> best_solution_;
    236  bool is_solution_optimal_ = false;
    237  std::vector<int> mapping_reduced_item_id_;
    238  bool is_problem_solved_;
    239  int64 additional_profit_;
    240  bool use_reduction_;
    241  double time_limit_seconds_;
    242  std::unique_ptr<TimeLimit> time_limit_;
    243 
    244  DISALLOW_COPY_AND_ASSIGN(KnapsackSolver);
    245 };
    246 
    247 #if !defined(SWIG)
    248 // The following code defines needed classes for the KnapsackGenericSolver
    249 // class which is the entry point to extend knapsack with new constraints such
    250 // as conflicts between items.
    251 //
    252 // Constraints are enforced using KnapsackPropagator objects, in the current
    253 // code there is one propagator per dimension (KnapsackCapacityPropagator).
    254 // One of those propagators, named master propagator, is used to guide the
    255 // search, i.e. decides which item should be assigned next.
    256 // Roughly speaking the search algorithm is:
    257 // - While not optimal
    258 // - Select next search node to expand
    259 // - Select next item_i to assign (using master propagator)
    260 // - Generate a new search node where item_i is in the knapsack
    261 // - Check validity of this new partial solution (using propagators)
    262 // - If valid, add this new search node to the search
    263 // - Generate a new search node where item_i is not in the knapsack
    264 // - Check validity of this new partial solution (using propagators)
    265 // - If valid, add this new search node to the search
    266 //
    267 // TODO(user): Add a new propagator class for conflict constraint.
    268 // TODO(user): Add a new propagator class used as a guide when the problem has
    269 // several dimensions.
    270 
    271 // ----- KnapsackAssignement -----
    272 // KnapsackAssignement is a small struct used to pair an item with its
    273 // assignment. It is mainly used for search nodes and updates.
    274 struct KnapsackAssignment {
    275  KnapsackAssignment(int _item_id, bool _is_in)
    276  : item_id(_item_id), is_in(_is_in) {}
    277  int item_id;
    278  bool is_in;
    279 };
    280 
    281 // ----- KnapsackItem -----
    282 // KnapsackItem is a small struct to pair an item weight with its
    283 // corresponding profit.
    284 // The aim of the knapsack problem is to pack as many valuable items as
    285 // possible. A straight forward heuristic is to take those with the greatest
    286 // profit-per-unit-weight. This ratio is called efficiency in this
    287 // implementation. So items will be grouped in vectors, and sorted by
    288 // decreasing efficiency.
    289 // Note that profits are duplicated for each dimension. This is done to
    290 // simplify the code, especially the GetEfficiency method and vector sorting.
    291 // As there usually are only few dimensions, the overhead should not be an
    292 // issue.
    293 struct KnapsackItem {
    294  KnapsackItem(int _id, int64 _weight, int64 _profit)
    295  : id(_id), weight(_weight), profit(_profit) {}
    296  double GetEfficiency(int64 profit_max) const {
    297  return (weight > 0)
    298  ? static_cast<double>(profit) / static_cast<double>(weight)
    299  : static_cast<double>(profit_max);
    300  }
    301 
    302  // The 'id' field is used to retrieve the initial item in order to
    303  // communicate with other propagators and state.
    304  const int id;
    305  const int64 weight;
    306  const int64 profit;
    307 };
    308 typedef KnapsackItem* KnapsackItemPtr;
    309 
    310 // ----- KnapsackSearchNode -----
    311 // KnapsackSearchNode is a class used to describe a decision in the decision
    312 // search tree.
    313 // The node is defined by a pointer to the parent search node and an
    314 // assignment (see KnapsackAssignement).
    315 // As the current state is not explicitly stored in a search node, one should
    316 // go through the search tree to incrementally build a partial solution from
    317 // a previous search node.
    318 class KnapsackSearchNode {
    319  public:
    320  KnapsackSearchNode(const KnapsackSearchNode* const parent,
    321  const KnapsackAssignment& assignment);
    322  int depth() const { return depth_; }
    323  const KnapsackSearchNode* const parent() const { return parent_; }
    324  const KnapsackAssignment& assignment() const { return assignment_; }
    325 
    326  int64 current_profit() const { return current_profit_; }
    327  void set_current_profit(int64 profit) { current_profit_ = profit; }
    328 
    329  int64 profit_upper_bound() const { return profit_upper_bound_; }
    330  void set_profit_upper_bound(int64 profit) { profit_upper_bound_ = profit; }
    331 
    332  int next_item_id() const { return next_item_id_; }
    333  void set_next_item_id(int id) { next_item_id_ = id; }
    334 
    335  private:
    336  // 'depth' field is used to navigate efficiently through the search tree
    337  // (see KnapsackSearchPath).
    338  int depth_;
    339  const KnapsackSearchNode* const parent_;
    340  KnapsackAssignment assignment_;
    341 
    342  // 'current_profit' and 'profit_upper_bound' fields are used to sort search
    343  // nodes using a priority queue. That allows to pop the node with the best
    344  // upper bound, and more importantly to stop the search when optimality is
    345  // proved.
    346  int64 current_profit_;
    347  int64 profit_upper_bound_;
    348 
    349  // 'next_item_id' field allows to avoid an O(number_of_items) scan to find
    350  // next item to select. This is done for free by the upper bound computation.
    351  int next_item_id_;
    352 
    353  DISALLOW_COPY_AND_ASSIGN(KnapsackSearchNode);
    354 };
    355 
    356 // ----- KnapsackSearchPath -----
    357 // KnapsackSearchPath is a small class used to represent the path between a
    358 // node to another node in the search tree.
    359 // As the solution state is not stored for each search node, the state should
    360 // be rebuilt at each node. One simple solution is to apply all decisions
    361 // between the node 'to' and the root. This can be computed in
    362 // O(number_of_items).
    363 //
    364 // However, it is possible to achieve better average complexity. Two
    365 // consecutively explored nodes are usually close enough (i.e., much less than
    366 // number_of_items) to benefit from an incremental update from the node
    367 // 'from' to the node 'to'.
    368 //
    369 // The 'via' field is the common parent of 'from' field and 'to' field.
    370 // So the state can be built by reverting all decisions from 'from' to 'via'
    371 // and then applying all decisions from 'via' to 'to'.
    372 class KnapsackSearchPath {
    373  public:
    374  KnapsackSearchPath(const KnapsackSearchNode& from,
    375  const KnapsackSearchNode& to);
    376  void Init();
    377  const KnapsackSearchNode& from() const { return from_; }
    378  const KnapsackSearchNode& via() const { return *via_; }
    379  const KnapsackSearchNode& to() const { return to_; }
    380  const KnapsackSearchNode* MoveUpToDepth(const KnapsackSearchNode& node,
    381  int depth) const;
    382 
    383  private:
    384  const KnapsackSearchNode& from_;
    385  const KnapsackSearchNode* via_; // Computed in 'Init'.
    386  const KnapsackSearchNode& to_;
    387 
    388  DISALLOW_COPY_AND_ASSIGN(KnapsackSearchPath);
    389 };
    390 
    391 // ----- KnapsackState -----
    392 // KnapsackState represents a partial solution to the knapsack problem.
    393 class KnapsackState {
    394  public:
    395  KnapsackState();
    396 
    397  // Initializes vectors with number_of_items set to false (i.e. not bound yet).
    398  void Init(int number_of_items);
    399  // Updates the state by applying or reverting a decision.
    400  // Returns false if fails, i.e. trying to apply an inconsistent decision
    401  // to an already assigned item.
    402  bool UpdateState(bool revert, const KnapsackAssignment& assignment);
    403 
    404  int GetNumberOfItems() const { return is_bound_.size(); }
    405  bool is_bound(int id) const { return is_bound_.at(id); }
    406  bool is_in(int id) const { return is_in_.at(id); }
    407 
    408  private:
    409  // Vectors 'is_bound_' and 'is_in_' contain a boolean value for each item.
    410  // 'is_bound_(item_i)' is false when there is no decision for item_i yet.
    411  // When item_i is bound, 'is_in_(item_i)' represents the presence (true) or
    412  // the absence (false) of item_i in the current solution.
    413  std::vector<bool> is_bound_;
    414  std::vector<bool> is_in_;
    415 
    416  DISALLOW_COPY_AND_ASSIGN(KnapsackState);
    417 };
    418 
    419 // ----- KnapsackPropagator -----
    420 // KnapsackPropagator is the base class for modeling and propagating a
    421 // constraint given an assignment.
    422 //
    423 // When some work has to be done both by the base and the derived class,
    424 // a protected pure virtual method ending by 'Propagator' is defined.
    425 // For instance, 'Init' creates a vector of items, and then calls
    426 // 'InitPropagator' to let the derived class perform its own initialization.
    427 class KnapsackPropagator {
    428  public:
    429  explicit KnapsackPropagator(const KnapsackState& state);
    430  virtual ~KnapsackPropagator();
    431 
    432  // Initializes data structure and then calls InitPropagator.
    433  void Init(const std::vector<int64>& profits,
    434  const std::vector<int64>& weights);
    435 
    436  // Updates data structure and then calls UpdatePropagator.
    437  // Returns false when failure.
    438  bool Update(bool revert, const KnapsackAssignment& assignment);
    439  // ComputeProfitBounds should set 'profit_lower_bound_' and
    440  // 'profit_upper_bound_' which are constraint specific.
    441  virtual void ComputeProfitBounds() = 0;
    442  // Returns the id of next item to assign.
    443  // Returns kNoSelection when all items are bound.
    444  virtual int GetNextItemId() const = 0;
    445 
    446  int64 current_profit() const { return current_profit_; }
    447  int64 profit_lower_bound() const { return profit_lower_bound_; }
    448  int64 profit_upper_bound() const { return profit_upper_bound_; }
    449 
    450  // Copies the current state into 'solution'.
    451  // All unbound items are set to false (i.e. not in the knapsack).
    452  // When 'has_one_propagator' is true, CopyCurrentSolutionPropagator is called
    453  // to have a better solution. When there is only one propagator
    454  // there is no need to check the solution with other propagators, so the
    455  // partial solution can be smartly completed.
    456  void CopyCurrentStateToSolution(bool has_one_propagator,
    457  std::vector<bool>* solution) const;
    458 
    459  protected:
    460  // Initializes data structure. This method is called after initialization
    461  // of KnapsackPropagator data structure.
    462  virtual void InitPropagator() = 0;
    463 
    464  // Updates internal data structure incrementally. This method is called
    465  // after update of KnapsackPropagator data structure.
    466  virtual bool UpdatePropagator(bool revert,
    467  const KnapsackAssignment& assignment) = 0;
    468 
    469  // Copies the current state into 'solution'.
    470  // Only unbound items have to be copied as CopyCurrentSolution was already
    471  // called with current state.
    472  // This method is useful when a propagator is able to find a better solution
    473  // than the blind instantiation to false of unbound items.
    474  virtual void CopyCurrentStateToSolutionPropagator(
    475  std::vector<bool>* solution) const = 0;
    476 
    477  const KnapsackState& state() const { return state_; }
    478  const std::vector<KnapsackItemPtr>& items() const { return items_; }
    479 
    480  void set_profit_lower_bound(int64 profit) { profit_lower_bound_ = profit; }
    481  void set_profit_upper_bound(int64 profit) { profit_upper_bound_ = profit; }
    482 
    483  private:
    484  std::vector<KnapsackItemPtr> items_;
    485  int64 current_profit_;
    486  int64 profit_lower_bound_;
    487  int64 profit_upper_bound_;
    488  const KnapsackState& state_;
    489 
    490  DISALLOW_COPY_AND_ASSIGN(KnapsackPropagator);
    491 };
    492 
    493 // ----- KnapsackCapacityPropagator -----
    494 // KnapsackCapacityPropagator is a KnapsackPropagator used to enforce
    495 // a capacity constraint.
    496 // As a KnapsackPropagator is supposed to compute profit lower and upper
    497 // bounds, and get the next item to select, it can be seen as a 0-1 Knapsack
    498 // solver. The most efficient way to compute the upper bound is to iterate on
    499 // items in profit-per-unit-weight decreasing order. The break item is
    500 // commonly defined as the first item for which there is not enough remaining
    501 // capacity. Selecting this break item as the next-item-to-assign usually
    502 // gives the best results (see Greenberg & Hegerich).
    503 //
    504 // This is exactly what is implemented in this class.
    505 //
    506 // When there is only one propagator, it is possible to compute a better
    507 // profit lower bound almost for free. During the scan to find the
    508 // break element all unbound items are added just as if they were part of
    509 // the current solution. This is used in both ComputeProfitBounds and
    510 // CopyCurrentSolutionPropagator.
    511 // For incrementality reasons, the ith item should be accessible in O(1). That's
    512 // the reason why the item vector has to be duplicated 'sorted_items_'.
    513 class KnapsackCapacityPropagator : public KnapsackPropagator {
    514  public:
    515  KnapsackCapacityPropagator(const KnapsackState& state, int64 capacity);
    516  ~KnapsackCapacityPropagator() override;
    517  void ComputeProfitBounds() override;
    518  int GetNextItemId() const override { return break_item_id_; }
    519 
    520  protected:
    521  // Initializes KnapsackCapacityPropagator (e.g., sort items in decreasing
    522  // order).
    523  void InitPropagator() override;
    524  // Updates internal data structure incrementally (i.e., 'consumed_capacity_')
    525  // to avoid a O(number_of_items) scan.
    526  bool UpdatePropagator(bool revert,
    527  const KnapsackAssignment& assignment) override;
    528  void CopyCurrentStateToSolutionPropagator(
    529  std::vector<bool>* solution) const override;
    530 
    531  private:
    532  // An obvious additional profit upper bound corresponds to the linear
    533  // relaxation: remaining_capacity * efficiency of the break item.
    534  // It is possible to do better in O(1), using Martello-Toth bound U2.
    535  // The main idea is to enforce integrality constraint on the break item,
    536  // ie. either the break item is part of the solution, either it is not.
    537  // So basically the linear relaxation is done on the item before the break
    538  // item, or the one after the break item.
    539  // This is what GetAdditionalProfit method implements.
    540  int64 GetAdditionalProfit(int64 remaining_capacity, int break_item_id) const;
    541 
    542  const int64 capacity_;
    543  int64 consumed_capacity_;
    544  int break_item_id_;
    545  std::vector<KnapsackItemPtr> sorted_items_;
    546  int64 profit_max_;
    547 
    548  DISALLOW_COPY_AND_ASSIGN(KnapsackCapacityPropagator);
    549 };
    550 
    551 // ----- BaseKnapsackSolver -----
    552 // This is the base class for knapsack solvers.
    553 class BaseKnapsackSolver {
    554  public:
    555  explicit BaseKnapsackSolver(const std::string& solver_name)
    556  : solver_name_(solver_name) {}
    557  virtual ~BaseKnapsackSolver() {}
    558 
    559  // Initializes the solver and enters the problem to be solved.
    560  virtual void Init(const std::vector<int64>& profits,
    561  const std::vector<std::vector<int64> >& weights,
    562  const std::vector<int64>& capacities) = 0;
    563 
    564  // Gets the lower and upper bound when the item is in or out of the knapsack.
    565  // To ensure objects are correctly initialized, this method should not be
    566  // called before ::Init.
    567  virtual void GetLowerAndUpperBoundWhenItem(int item_id, bool is_item_in,
    568  int64* lower_bound,
    569  int64* upper_bound);
    570 
    571  // Solves the problem and returns the profit of the optimal solution.
    572  virtual int64 Solve(TimeLimit* time_limit, bool* is_solution_optimal) = 0;
    573 
    574  // Returns true if the item 'item_id' is packed in the optimal knapsack.
    575  virtual bool best_solution(int item_id) const = 0;
    576 
    577  virtual std::string GetName() const { return solver_name_; }
    578 
    579  private:
    580  const std::string solver_name_;
    581 };
    582 
    583 // ----- KnapsackGenericSolver -----
    584 // KnapsackGenericSolver is the multi-dimensional knapsack solver class.
    585 // In the current implementation, the next item to assign is given by the
    586 // master propagator. Using SetMasterPropagator allows changing the default
    587 // (propagator of the first dimension), and selecting another dimension when
    588 // more constrained.
    589 // TODO(user): In the case of a multi-dimensional knapsack problem, implement
    590 // an aggregated propagator to combine all dimensions and give a better guide
    591 // to select the next item (see, for instance, Dobson's aggregated efficiency).
    592 class KnapsackGenericSolver : public BaseKnapsackSolver {
    593  public:
    594  explicit KnapsackGenericSolver(const std::string& solver_name);
    595  ~KnapsackGenericSolver() override;
    596 
    597  // Initializes the solver and enters the problem to be solved.
    598  void Init(const std::vector<int64>& profits,
    599  const std::vector<std::vector<int64> >& weights,
    600  const std::vector<int64>& capacities) override;
    601  int GetNumberOfItems() const { return state_.GetNumberOfItems(); }
    602  void GetLowerAndUpperBoundWhenItem(int item_id, bool is_item_in,
    603  int64* lower_bound,
    604  int64* upper_bound) override;
    605 
    606  // Sets which propagator should be used to guide the search.
    607  // 'master_propagator_id' should be in 0..p-1 with p the number of
    608  // propagators.
    609  void set_master_propagator_id(int master_propagator_id) {
    610  master_propagator_id_ = master_propagator_id;
    611  }
    612 
    613  // Solves the problem and returns the profit of the optimal solution.
    614  int64 Solve(TimeLimit* time_limit, bool* is_solution_optimal) override;
    615  // Returns true if the item 'item_id' is packed in the optimal knapsack.
    616  bool best_solution(int item_id) const override {
    617  return best_solution_.at(item_id);
    618  }
    619 
    620  private:
    621  // Clears internal data structure.
    622  void Clear();
    623 
    624  // Updates all propagators reverting/applying all decision on the path.
    625  // Returns true if fails. Note that, even if fails, all propagators should
    626  // be updated to be in a stable state in order to stay incremental.
    627  bool UpdatePropagators(const KnapsackSearchPath& path);
    628  // Updates all propagators reverting/applying one decision.
    629  // Return true if fails. Note that, even if fails, all propagators should
    630  // be updated to be in a stable state in order to stay incremental.
    631  bool IncrementalUpdate(bool revert, const KnapsackAssignment& assignment);
    632  // Updates the best solution if the current solution has a better profit.
    633  void UpdateBestSolution();
    634 
    635  // Returns true if new relevant search node was added to the nodes array, that
    636  // means this node should be added to the search queue too.
    637  bool MakeNewNode(const KnapsackSearchNode& node, bool is_in);
    638 
    639  // Gets the aggregated (min) profit upper bound among all propagators.
    640  int64 GetAggregatedProfitUpperBound() const;
    641  bool HasOnePropagator() const { return propagators_.size() == 1; }
    642  int64 GetCurrentProfit() const {
    643  return propagators_.at(master_propagator_id_)->current_profit();
    644  }
    645  int64 GetNextItemId() const {
    646  return propagators_.at(master_propagator_id_)->GetNextItemId();
    647  }
    648 
    649  std::vector<KnapsackPropagator*> propagators_;
    650  int master_propagator_id_;
    651  std::vector<KnapsackSearchNode*> search_nodes_;
    652  KnapsackState state_;
    653  int64 best_solution_profit_;
    654  std::vector<bool> best_solution_;
    655 
    656  DISALLOW_COPY_AND_ASSIGN(KnapsackGenericSolver);
    657 };
    658 #endif // SWIG
    659 } // namespace operations_research
    660 
    661 #endif // OR_TOOLS_ALGORITHMS_KNAPSACK_SOLVER_H_
    bool BestSolutionContains(int item_id) const
    Returns true if the item 'item_id' is packed in the optimal knapsack.
    +Go to the documentation of this file.
    1 // Copyright 2010-2018 Google LLC
    2 // Licensed under the Apache License, Version 2.0 (the "License");
    3 // you may not use this file except in compliance with the License.
    4 // You may obtain a copy of the License at
    5 //
    6 // http://www.apache.org/licenses/LICENSE-2.0
    7 //
    8 // Unless required by applicable law or agreed to in writing, software
    9 // distributed under the License is distributed on an "AS IS" BASIS,
    10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11 // See the License for the specific language governing permissions and
    12 // limitations under the License.
    13 
    14 #ifndef OR_TOOLS_ALGORITHMS_KNAPSACK_SOLVER_H_
    15 #define OR_TOOLS_ALGORITHMS_KNAPSACK_SOLVER_H_
    16 
    17 #include <math.h>
    18 
    19 #include <memory>
    20 #include <string>
    21 #include <vector>
    22 
    23 #include "absl/memory/memory.h"
    24 #include "ortools/base/basictypes.h"
    25 #include "ortools/base/integral_types.h"
    26 #include "ortools/base/logging.h"
    27 #include "ortools/base/macros.h"
    28 #include "ortools/util/time_limit.h"
    29 
    30 namespace operations_research {
    31 
    32 class BaseKnapsackSolver;
    33 
    121  public:
    127  enum SolverType {
    135 
    143 
    151 
    152 #if defined(USE_CBC)
    153 
    159 #endif // USE_CBC
    160 
    167 
    168 #if defined(USE_SCIP)
    169 
    175 #endif // USE_SCIP
    176  };
    177 
    178  explicit KnapsackSolver(const std::string& solver_name);
    179  KnapsackSolver(SolverType solver_type, const std::string& solver_name);
    180  virtual ~KnapsackSolver();
    181 
    185  void Init(const std::vector<int64>& profits,
    186  const std::vector<std::vector<int64> >& weights,
    187  const std::vector<int64>& capacities);
    188 
    192  int64 Solve();
    193 
    197  bool BestSolutionContains(int item_id) const;
    201  bool IsSolutionOptimal() const { return is_solution_optimal_; }
    202  std::string GetName() const;
    203 
    204  bool use_reduction() const { return use_reduction_; }
    205  void set_use_reduction(bool use_reduction) { use_reduction_ = use_reduction; }
    206 
    212  void set_time_limit(double time_limit_seconds) {
    213  time_limit_seconds_ = time_limit_seconds;
    214  time_limit_ = absl::make_unique<TimeLimit>(time_limit_seconds_);
    215  }
    216 
    217  private:
    218  // Trivial reduction of capacity constraints when the capacity is higher than
    219  // the sum of the weights of the items. Returns the number of reduced items.
    220  int ReduceCapacities(int num_items,
    221  const std::vector<std::vector<int64> >& weights,
    222  const std::vector<int64>& capacities,
    223  std::vector<std::vector<int64> >* reduced_weights,
    224  std::vector<int64>* reduced_capacities);
    225  int ReduceProblem(int num_items);
    226  void ComputeAdditionalProfit(const std::vector<int64>& profits);
    227  void InitReducedProblem(const std::vector<int64>& profits,
    228  const std::vector<std::vector<int64> >& weights,
    229  const std::vector<int64>& capacities);
    230 
    231  std::unique_ptr<BaseKnapsackSolver> solver_;
    232  std::vector<bool> known_value_;
    233  std::vector<bool> best_solution_;
    234  bool is_solution_optimal_ = false;
    235  std::vector<int> mapping_reduced_item_id_;
    236  bool is_problem_solved_;
    237  int64 additional_profit_;
    238  bool use_reduction_;
    239  double time_limit_seconds_;
    240  std::unique_ptr<TimeLimit> time_limit_;
    241 
    242  DISALLOW_COPY_AND_ASSIGN(KnapsackSolver);
    243 };
    244 
    245 #if !defined(SWIG)
    246 // The following code defines needed classes for the KnapsackGenericSolver
    247 // class which is the entry point to extend knapsack with new constraints such
    248 // as conflicts between items.
    249 //
    250 // Constraints are enforced using KnapsackPropagator objects, in the current
    251 // code there is one propagator per dimension (KnapsackCapacityPropagator).
    252 // One of those propagators, named master propagator, is used to guide the
    253 // search, i.e. decides which item should be assigned next.
    254 // Roughly speaking the search algorithm is:
    255 // - While not optimal
    256 // - Select next search node to expand
    257 // - Select next item_i to assign (using master propagator)
    258 // - Generate a new search node where item_i is in the knapsack
    259 // - Check validity of this new partial solution (using propagators)
    260 // - If valid, add this new search node to the search
    261 // - Generate a new search node where item_i is not in the knapsack
    262 // - Check validity of this new partial solution (using propagators)
    263 // - If valid, add this new search node to the search
    264 //
    265 // TODO(user): Add a new propagator class for conflict constraint.
    266 // TODO(user): Add a new propagator class used as a guide when the problem has
    267 // several dimensions.
    268 
    269 // ----- KnapsackAssignement -----
    270 // KnapsackAssignement is a small struct used to pair an item with its
    271 // assignment. It is mainly used for search nodes and updates.
    272 struct KnapsackAssignment {
    273  KnapsackAssignment(int _item_id, bool _is_in)
    274  : item_id(_item_id), is_in(_is_in) {}
    275  int item_id;
    276  bool is_in;
    277 };
    278 
    279 // ----- KnapsackItem -----
    280 // KnapsackItem is a small struct to pair an item weight with its
    281 // corresponding profit.
    282 // The aim of the knapsack problem is to pack as many valuable items as
    283 // possible. A straight forward heuristic is to take those with the greatest
    284 // profit-per-unit-weight. This ratio is called efficiency in this
    285 // implementation. So items will be grouped in vectors, and sorted by
    286 // decreasing efficiency.
    287 // Note that profits are duplicated for each dimension. This is done to
    288 // simplify the code, especially the GetEfficiency method and vector sorting.
    289 // As there usually are only few dimensions, the overhead should not be an
    290 // issue.
    291 struct KnapsackItem {
    292  KnapsackItem(int _id, int64 _weight, int64 _profit)
    293  : id(_id), weight(_weight), profit(_profit) {}
    294  double GetEfficiency(int64 profit_max) const {
    295  return (weight > 0)
    296  ? static_cast<double>(profit) / static_cast<double>(weight)
    297  : static_cast<double>(profit_max);
    298  }
    299 
    300  // The 'id' field is used to retrieve the initial item in order to
    301  // communicate with other propagators and state.
    302  const int id;
    303  const int64 weight;
    304  const int64 profit;
    305 };
    306 typedef KnapsackItem* KnapsackItemPtr;
    307 
    308 // ----- KnapsackSearchNode -----
    309 // KnapsackSearchNode is a class used to describe a decision in the decision
    310 // search tree.
    311 // The node is defined by a pointer to the parent search node and an
    312 // assignment (see KnapsackAssignement).
    313 // As the current state is not explicitly stored in a search node, one should
    314 // go through the search tree to incrementally build a partial solution from
    315 // a previous search node.
    316 class KnapsackSearchNode {
    317  public:
    318  KnapsackSearchNode(const KnapsackSearchNode* const parent,
    319  const KnapsackAssignment& assignment);
    320  int depth() const { return depth_; }
    321  const KnapsackSearchNode* const parent() const { return parent_; }
    322  const KnapsackAssignment& assignment() const { return assignment_; }
    323 
    324  int64 current_profit() const { return current_profit_; }
    325  void set_current_profit(int64 profit) { current_profit_ = profit; }
    326 
    327  int64 profit_upper_bound() const { return profit_upper_bound_; }
    328  void set_profit_upper_bound(int64 profit) { profit_upper_bound_ = profit; }
    329 
    330  int next_item_id() const { return next_item_id_; }
    331  void set_next_item_id(int id) { next_item_id_ = id; }
    332 
    333  private:
    334  // 'depth' field is used to navigate efficiently through the search tree
    335  // (see KnapsackSearchPath).
    336  int depth_;
    337  const KnapsackSearchNode* const parent_;
    338  KnapsackAssignment assignment_;
    339 
    340  // 'current_profit' and 'profit_upper_bound' fields are used to sort search
    341  // nodes using a priority queue. That allows to pop the node with the best
    342  // upper bound, and more importantly to stop the search when optimality is
    343  // proved.
    344  int64 current_profit_;
    345  int64 profit_upper_bound_;
    346 
    347  // 'next_item_id' field allows to avoid an O(number_of_items) scan to find
    348  // next item to select. This is done for free by the upper bound computation.
    349  int next_item_id_;
    350 
    351  DISALLOW_COPY_AND_ASSIGN(KnapsackSearchNode);
    352 };
    353 
    354 // ----- KnapsackSearchPath -----
    355 // KnapsackSearchPath is a small class used to represent the path between a
    356 // node to another node in the search tree.
    357 // As the solution state is not stored for each search node, the state should
    358 // be rebuilt at each node. One simple solution is to apply all decisions
    359 // between the node 'to' and the root. This can be computed in
    360 // O(number_of_items).
    361 //
    362 // However, it is possible to achieve better average complexity. Two
    363 // consecutively explored nodes are usually close enough (i.e., much less than
    364 // number_of_items) to benefit from an incremental update from the node
    365 // 'from' to the node 'to'.
    366 //
    367 // The 'via' field is the common parent of 'from' field and 'to' field.
    368 // So the state can be built by reverting all decisions from 'from' to 'via'
    369 // and then applying all decisions from 'via' to 'to'.
    370 class KnapsackSearchPath {
    371  public:
    372  KnapsackSearchPath(const KnapsackSearchNode& from,
    373  const KnapsackSearchNode& to);
    374  void Init();
    375  const KnapsackSearchNode& from() const { return from_; }
    376  const KnapsackSearchNode& via() const { return *via_; }
    377  const KnapsackSearchNode& to() const { return to_; }
    378  const KnapsackSearchNode* MoveUpToDepth(const KnapsackSearchNode& node,
    379  int depth) const;
    380 
    381  private:
    382  const KnapsackSearchNode& from_;
    383  const KnapsackSearchNode* via_; // Computed in 'Init'.
    384  const KnapsackSearchNode& to_;
    385 
    386  DISALLOW_COPY_AND_ASSIGN(KnapsackSearchPath);
    387 };
    388 
    389 // ----- KnapsackState -----
    390 // KnapsackState represents a partial solution to the knapsack problem.
    391 class KnapsackState {
    392  public:
    393  KnapsackState();
    394 
    395  // Initializes vectors with number_of_items set to false (i.e. not bound yet).
    396  void Init(int number_of_items);
    397  // Updates the state by applying or reverting a decision.
    398  // Returns false if fails, i.e. trying to apply an inconsistent decision
    399  // to an already assigned item.
    400  bool UpdateState(bool revert, const KnapsackAssignment& assignment);
    401 
    402  int GetNumberOfItems() const { return is_bound_.size(); }
    403  bool is_bound(int id) const { return is_bound_.at(id); }
    404  bool is_in(int id) const { return is_in_.at(id); }
    405 
    406  private:
    407  // Vectors 'is_bound_' and 'is_in_' contain a boolean value for each item.
    408  // 'is_bound_(item_i)' is false when there is no decision for item_i yet.
    409  // When item_i is bound, 'is_in_(item_i)' represents the presence (true) or
    410  // the absence (false) of item_i in the current solution.
    411  std::vector<bool> is_bound_;
    412  std::vector<bool> is_in_;
    413 
    414  DISALLOW_COPY_AND_ASSIGN(KnapsackState);
    415 };
    416 
    417 // ----- KnapsackPropagator -----
    418 // KnapsackPropagator is the base class for modeling and propagating a
    419 // constraint given an assignment.
    420 //
    421 // When some work has to be done both by the base and the derived class,
    422 // a protected pure virtual method ending by 'Propagator' is defined.
    423 // For instance, 'Init' creates a vector of items, and then calls
    424 // 'InitPropagator' to let the derived class perform its own initialization.
    425 class KnapsackPropagator {
    426  public:
    427  explicit KnapsackPropagator(const KnapsackState& state);
    428  virtual ~KnapsackPropagator();
    429 
    430  // Initializes data structure and then calls InitPropagator.
    431  void Init(const std::vector<int64>& profits,
    432  const std::vector<int64>& weights);
    433 
    434  // Updates data structure and then calls UpdatePropagator.
    435  // Returns false when failure.
    436  bool Update(bool revert, const KnapsackAssignment& assignment);
    437  // ComputeProfitBounds should set 'profit_lower_bound_' and
    438  // 'profit_upper_bound_' which are constraint specific.
    439  virtual void ComputeProfitBounds() = 0;
    440  // Returns the id of next item to assign.
    441  // Returns kNoSelection when all items are bound.
    442  virtual int GetNextItemId() const = 0;
    443 
    444  int64 current_profit() const { return current_profit_; }
    445  int64 profit_lower_bound() const { return profit_lower_bound_; }
    446  int64 profit_upper_bound() const { return profit_upper_bound_; }
    447 
    448  // Copies the current state into 'solution'.
    449  // All unbound items are set to false (i.e. not in the knapsack).
    450  // When 'has_one_propagator' is true, CopyCurrentSolutionPropagator is called
    451  // to have a better solution. When there is only one propagator
    452  // there is no need to check the solution with other propagators, so the
    453  // partial solution can be smartly completed.
    454  void CopyCurrentStateToSolution(bool has_one_propagator,
    455  std::vector<bool>* solution) const;
    456 
    457  protected:
    458  // Initializes data structure. This method is called after initialization
    459  // of KnapsackPropagator data structure.
    460  virtual void InitPropagator() = 0;
    461 
    462  // Updates internal data structure incrementally. This method is called
    463  // after update of KnapsackPropagator data structure.
    464  virtual bool UpdatePropagator(bool revert,
    465  const KnapsackAssignment& assignment) = 0;
    466 
    467  // Copies the current state into 'solution'.
    468  // Only unbound items have to be copied as CopyCurrentSolution was already
    469  // called with current state.
    470  // This method is useful when a propagator is able to find a better solution
    471  // than the blind instantiation to false of unbound items.
    472  virtual void CopyCurrentStateToSolutionPropagator(
    473  std::vector<bool>* solution) const = 0;
    474 
    475  const KnapsackState& state() const { return state_; }
    476  const std::vector<KnapsackItemPtr>& items() const { return items_; }
    477 
    478  void set_profit_lower_bound(int64 profit) { profit_lower_bound_ = profit; }
    479  void set_profit_upper_bound(int64 profit) { profit_upper_bound_ = profit; }
    480 
    481  private:
    482  std::vector<KnapsackItemPtr> items_;
    483  int64 current_profit_;
    484  int64 profit_lower_bound_;
    485  int64 profit_upper_bound_;
    486  const KnapsackState& state_;
    487 
    488  DISALLOW_COPY_AND_ASSIGN(KnapsackPropagator);
    489 };
    490 
    491 // ----- KnapsackCapacityPropagator -----
    492 // KnapsackCapacityPropagator is a KnapsackPropagator used to enforce
    493 // a capacity constraint.
    494 // As a KnapsackPropagator is supposed to compute profit lower and upper
    495 // bounds, and get the next item to select, it can be seen as a 0-1 Knapsack
    496 // solver. The most efficient way to compute the upper bound is to iterate on
    497 // items in profit-per-unit-weight decreasing order. The break item is
    498 // commonly defined as the first item for which there is not enough remaining
    499 // capacity. Selecting this break item as the next-item-to-assign usually
    500 // gives the best results (see Greenberg & Hegerich).
    501 //
    502 // This is exactly what is implemented in this class.
    503 //
    504 // When there is only one propagator, it is possible to compute a better
    505 // profit lower bound almost for free. During the scan to find the
    506 // break element all unbound items are added just as if they were part of
    507 // the current solution. This is used in both ComputeProfitBounds and
    508 // CopyCurrentSolutionPropagator.
    509 // For incrementality reasons, the ith item should be accessible in O(1). That's
    510 // the reason why the item vector has to be duplicated 'sorted_items_'.
    511 class KnapsackCapacityPropagator : public KnapsackPropagator {
    512  public:
    513  KnapsackCapacityPropagator(const KnapsackState& state, int64 capacity);
    514  ~KnapsackCapacityPropagator() override;
    515  void ComputeProfitBounds() override;
    516  int GetNextItemId() const override { return break_item_id_; }
    517 
    518  protected:
    519  // Initializes KnapsackCapacityPropagator (e.g., sort items in decreasing
    520  // order).
    521  void InitPropagator() override;
    522  // Updates internal data structure incrementally (i.e., 'consumed_capacity_')
    523  // to avoid a O(number_of_items) scan.
    524  bool UpdatePropagator(bool revert,
    525  const KnapsackAssignment& assignment) override;
    526  void CopyCurrentStateToSolutionPropagator(
    527  std::vector<bool>* solution) const override;
    528 
    529  private:
    530  // An obvious additional profit upper bound corresponds to the linear
    531  // relaxation: remaining_capacity * efficiency of the break item.
    532  // It is possible to do better in O(1), using Martello-Toth bound U2.
    533  // The main idea is to enforce integrality constraint on the break item,
    534  // ie. either the break item is part of the solution, either it is not.
    535  // So basically the linear relaxation is done on the item before the break
    536  // item, or the one after the break item.
    537  // This is what GetAdditionalProfit method implements.
    538  int64 GetAdditionalProfit(int64 remaining_capacity, int break_item_id) const;
    539 
    540  const int64 capacity_;
    541  int64 consumed_capacity_;
    542  int break_item_id_;
    543  std::vector<KnapsackItemPtr> sorted_items_;
    544  int64 profit_max_;
    545 
    546  DISALLOW_COPY_AND_ASSIGN(KnapsackCapacityPropagator);
    547 };
    548 
    549 // ----- BaseKnapsackSolver -----
    550 // This is the base class for knapsack solvers.
    551 class BaseKnapsackSolver {
    552  public:
    553  explicit BaseKnapsackSolver(const std::string& solver_name)
    554  : solver_name_(solver_name) {}
    555  virtual ~BaseKnapsackSolver() {}
    556 
    557  // Initializes the solver and enters the problem to be solved.
    558  virtual void Init(const std::vector<int64>& profits,
    559  const std::vector<std::vector<int64> >& weights,
    560  const std::vector<int64>& capacities) = 0;
    561 
    562  // Gets the lower and upper bound when the item is in or out of the knapsack.
    563  // To ensure objects are correctly initialized, this method should not be
    564  // called before ::Init.
    565  virtual void GetLowerAndUpperBoundWhenItem(int item_id, bool is_item_in,
    566  int64* lower_bound,
    567  int64* upper_bound);
    568 
    569  // Solves the problem and returns the profit of the optimal solution.
    570  virtual int64 Solve(TimeLimit* time_limit, bool* is_solution_optimal) = 0;
    571 
    572  // Returns true if the item 'item_id' is packed in the optimal knapsack.
    573  virtual bool best_solution(int item_id) const = 0;
    574 
    575  virtual std::string GetName() const { return solver_name_; }
    576 
    577  private:
    578  const std::string solver_name_;
    579 };
    580 
    581 // ----- KnapsackGenericSolver -----
    582 // KnapsackGenericSolver is the multi-dimensional knapsack solver class.
    583 // In the current implementation, the next item to assign is given by the
    584 // master propagator. Using SetMasterPropagator allows changing the default
    585 // (propagator of the first dimension), and selecting another dimension when
    586 // more constrained.
    587 // TODO(user): In the case of a multi-dimensional knapsack problem, implement
    588 // an aggregated propagator to combine all dimensions and give a better guide
    589 // to select the next item (see, for instance, Dobson's aggregated efficiency).
    590 class KnapsackGenericSolver : public BaseKnapsackSolver {
    591  public:
    592  explicit KnapsackGenericSolver(const std::string& solver_name);
    593  ~KnapsackGenericSolver() override;
    594 
    595  // Initializes the solver and enters the problem to be solved.
    596  void Init(const std::vector<int64>& profits,
    597  const std::vector<std::vector<int64> >& weights,
    598  const std::vector<int64>& capacities) override;
    599  int GetNumberOfItems() const { return state_.GetNumberOfItems(); }
    600  void GetLowerAndUpperBoundWhenItem(int item_id, bool is_item_in,
    601  int64* lower_bound,
    602  int64* upper_bound) override;
    603 
    604  // Sets which propagator should be used to guide the search.
    605  // 'master_propagator_id' should be in 0..p-1 with p the number of
    606  // propagators.
    607  void set_master_propagator_id(int master_propagator_id) {
    608  master_propagator_id_ = master_propagator_id;
    609  }
    610 
    611  // Solves the problem and returns the profit of the optimal solution.
    612  int64 Solve(TimeLimit* time_limit, bool* is_solution_optimal) override;
    613  // Returns true if the item 'item_id' is packed in the optimal knapsack.
    614  bool best_solution(int item_id) const override {
    615  return best_solution_.at(item_id);
    616  }
    617 
    618  private:
    619  // Clears internal data structure.
    620  void Clear();
    621 
    622  // Updates all propagators reverting/applying all decision on the path.
    623  // Returns true if fails. Note that, even if fails, all propagators should
    624  // be updated to be in a stable state in order to stay incremental.
    625  bool UpdatePropagators(const KnapsackSearchPath& path);
    626  // Updates all propagators reverting/applying one decision.
    627  // Return true if fails. Note that, even if fails, all propagators should
    628  // be updated to be in a stable state in order to stay incremental.
    629  bool IncrementalUpdate(bool revert, const KnapsackAssignment& assignment);
    630  // Updates the best solution if the current solution has a better profit.
    631  void UpdateBestSolution();
    632 
    633  // Returns true if new relevant search node was added to the nodes array, that
    634  // means this node should be added to the search queue too.
    635  bool MakeNewNode(const KnapsackSearchNode& node, bool is_in);
    636 
    637  // Gets the aggregated (min) profit upper bound among all propagators.
    638  int64 GetAggregatedProfitUpperBound() const;
    639  bool HasOnePropagator() const { return propagators_.size() == 1; }
    640  int64 GetCurrentProfit() const {
    641  return propagators_.at(master_propagator_id_)->current_profit();
    642  }
    643  int64 GetNextItemId() const {
    644  return propagators_.at(master_propagator_id_)->GetNextItemId();
    645  }
    646 
    647  std::vector<KnapsackPropagator*> propagators_;
    648  int master_propagator_id_;
    649  std::vector<KnapsackSearchNode*> search_nodes_;
    650  KnapsackState state_;
    651  int64 best_solution_profit_;
    652  std::vector<bool> best_solution_;
    653 
    654  DISALLOW_COPY_AND_ASSIGN(KnapsackGenericSolver);
    655 };
    656 #endif // SWIG
    657 } // namespace operations_research
    658 
    659 #endif // OR_TOOLS_ALGORITHMS_KNAPSACK_SOLVER_H_
    bool BestSolutionContains(int item_id) const
    Returns true if the item 'item_id' is packed in the optimal knapsack.
    bool IsSolutionOptimal() const
    Returns true if the solution was proven optimal.
    This library solves knapsack problems.
    @@ -61,11 +57,11 @@ $(document).ready(function(){initNavTree('knapsack__solver_8h_source.html','');}
    void set_use_reduction(bool use_reduction)
    KnapsackSolver(const std::string &solver_name)
    +
    void Init(const std::vector< int64 > &profits, const std::vector< std::vector< int64 > > &weights, const std::vector< int64 > &capacities)
    Initializes the solver and enters the problem to be solved.
    Dynamic Programming approach for single dimension problems.
    -
    void Init(const std::vector< int64 > &profits, const std::vector< std::vector< int64 >> &weights, const std::vector< int64 > &capacities)
    Initializes the solver and enters the problem to be solved.
    -
    void set_time_limit(double time_limit_seconds)
    Time limit in seconds.
    +
    void set_time_limit(double time_limit_seconds)
    Time limit in seconds.
    diff --git a/docs/cpp_algorithms/menudata.js b/docs/cpp_algorithms/menudata.js index 4ff48af30b..96d92b67d5 100644 --- a/docs/cpp_algorithms/menudata.js +++ b/docs/cpp_algorithms/menudata.js @@ -24,4 +24,5 @@ for the JavaScript code in this file var menudata={children:[ {text:"Main Page",url:"index.html"}, {text:"Namespaces",url:"namespaces.html"}, -{text:"Classes",url:"annotated.html"}]} +{text:"Classes",url:"annotated.html"}, +{text:"Files",url:"files.html"}]} diff --git a/docs/cpp_algorithms/namespacemembers.html b/docs/cpp_algorithms/namespacemembers.html index 62655f6b1b..7250234f74 100644 --- a/docs/cpp_algorithms/namespacemembers.html +++ b/docs/cpp_algorithms/namespacemembers.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_algorithms/namespaces.html b/docs/cpp_algorithms/namespaces.html index 907c708861..8617dbc912 100644 --- a/docs/cpp_algorithms/namespaces.html +++ b/docs/cpp_algorithms/namespaces.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_algorithms/navtreedata.js b/docs/cpp_algorithms/navtreedata.js index 47d5fc274d..aa20e6e42a 100644 --- a/docs/cpp_algorithms/navtreedata.js +++ b/docs/cpp_algorithms/navtreedata.js @@ -26,13 +26,13 @@ var NAVTREE = [ "OR-Tools", "index.html", [ [ "Namespaces", "namespaces.html", null ], [ "Classes", "annotated.html", null ], - [ "File List", "files.html", "files" ] + [ "Files", "files.html", null ] ] ] ]; var NAVTREEINDEX = [ -"dense__doubly__linked__list_8h.html" +"index.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/cpp_algorithms/navtreeindex0.js b/docs/cpp_algorithms/navtreeindex0.js index e447c54f5a..9e75a21dcd 100644 --- a/docs/cpp_algorithms/navtreeindex0.js +++ b/docs/cpp_algorithms/navtreeindex0.js @@ -1,22 +1,5 @@ var NAVTREEINDEX0 = { -"dense__doubly__linked__list_8h.html":[2,0], -"dense__doubly__linked__list_8h_source.html":[2,0], -"dynamic__partition_8h.html":[2,1], -"dynamic__partition_8h_source.html":[2,1], -"dynamic__permutation_8h.html":[2,2], -"dynamic__permutation_8h_source.html":[2,2], -"files.html":[2], -"find__graph__symmetries_8h.html":[2,3], -"find__graph__symmetries_8h_source.html":[2,3], -"hungarian_8h.html":[2,4], -"hungarian_8h.html#a9c61bb2d6de0894f19675e2110458877":[2,4,1], -"hungarian_8h.html#ada8ccc36ef736b10ce389fbd347c4282":[2,4,0], -"hungarian_8h_source.html":[2,4], "index.html":[], -"knapsack__solver_8h.html":[2,5], -"knapsack__solver_8h_source.html":[2,5], -"pages.html":[], -"sparse__permutation_8h.html":[2,6], -"sparse__permutation_8h_source.html":[2,6] +"pages.html":[] }; diff --git a/docs/cpp_algorithms/sparse__permutation_8h.html b/docs/cpp_algorithms/sparse__permutation_8h.html index b1abfa5782..eb264564cb 100644 --- a/docs/cpp_algorithms/sparse__permutation_8h.html +++ b/docs/cpp_algorithms/sparse__permutation_8h.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -54,10 +50,7 @@ $(document).ready(function(){initNavTree('sparse__permutation_8h.html','');});
    sparse_permutation.h File Reference
    -
    #include <string>
    -#include <vector>
    -#include "ortools/base/logging.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_algorithms/sparse__permutation_8h_source.html b/docs/cpp_algorithms/sparse__permutation_8h_source.html index ee83d046d2..2bea2f0541 100644 --- a/docs/cpp_algorithms/sparse__permutation_8h_source.html +++ b/docs/cpp_algorithms/sparse__permutation_8h_source.html @@ -23,11 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/annotated.html b/docs/cpp_graph/annotated.html index 516b110164..7b40e56af9 100644 --- a/docs/cpp_graph/annotated.html +++ b/docs/cpp_graph/annotated.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/christofides_8h.html b/docs/cpp_graph/christofides_8h.html index e998e6a4ae..2cddb39942 100644 --- a/docs/cpp_graph/christofides_8h.html +++ b/docs/cpp_graph/christofides_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -58,15 +53,7 @@ $(document).ready(function(){initNavTree('christofides_8h.html','');});
    christofides.h File Reference
    -
    #include "absl/container/flat_hash_map.h"
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/graph/eulerian_path.h"
    -#include "ortools/graph/graph.h"
    -#include "ortools/graph/minimum_spanning_tree.h"
    -#include "ortools/linear_solver/linear_solver.h"
    -#include "ortools/util/saturated_arithmetic.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/christofides_8h_source.html b/docs/cpp_graph/christofides_8h_source.html index 0dfea4f10b..4825000b05 100644 --- a/docs/cpp_graph/christofides_8h_source.html +++ b/docs/cpp_graph/christofides_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/classConnectedComponentsFinder-members.html b/docs/cpp_graph/classConnectedComponentsFinder-members.html index f340d7395a..0f84a5a92a 100644 --- a/docs/cpp_graph/classConnectedComponentsFinder-members.html +++ b/docs/cpp_graph/classConnectedComponentsFinder-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classConnectedComponentsFinder.html b/docs/cpp_graph/classConnectedComponentsFinder.html index 5c277ae67e..931c38aaf5 100644 --- a/docs/cpp_graph/classConnectedComponentsFinder.html +++ b/docs/cpp_graph/classConnectedComponentsFinder.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classDenseConnectedComponentsFinder-members.html b/docs/cpp_graph/classDenseConnectedComponentsFinder-members.html index 1bd6ac4ee9..4ef8765ebd 100644 --- a/docs/cpp_graph/classDenseConnectedComponentsFinder-members.html +++ b/docs/cpp_graph/classDenseConnectedComponentsFinder-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classDenseConnectedComponentsFinder.html b/docs/cpp_graph/classDenseConnectedComponentsFinder.html index f3d80edaba..eb71c6f45e 100644 --- a/docs/cpp_graph/classDenseConnectedComponentsFinder.html +++ b/docs/cpp_graph/classDenseConnectedComponentsFinder.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classes.html b/docs/cpp_graph/classes.html index f1aae82b4a..8f61f297a2 100644 --- a/docs/cpp_graph/classes.html +++ b/docs/cpp_graph/classes.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1AnnotatedGraphBuildManager-members.html b/docs/cpp_graph/classoperations__research_1_1AnnotatedGraphBuildManager-members.html index cc0f1b71b2..59487840f9 100644 --- a/docs/cpp_graph/classoperations__research_1_1AnnotatedGraphBuildManager-members.html +++ b/docs/cpp_graph/classoperations__research_1_1AnnotatedGraphBuildManager-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1AnnotatedGraphBuildManager.html b/docs/cpp_graph/classoperations__research_1_1AnnotatedGraphBuildManager.html index a2c2a59039..04ebdd48cf 100644 --- a/docs/cpp_graph/classoperations__research_1_1AnnotatedGraphBuildManager.html +++ b/docs/cpp_graph/classoperations__research_1_1AnnotatedGraphBuildManager.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ArcFunctorOrderingByTailAndHead-members.html b/docs/cpp_graph/classoperations__research_1_1ArcFunctorOrderingByTailAndHead-members.html index 654bedb5b1..adb563ac33 100644 --- a/docs/cpp_graph/classoperations__research_1_1ArcFunctorOrderingByTailAndHead-members.html +++ b/docs/cpp_graph/classoperations__research_1_1ArcFunctorOrderingByTailAndHead-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ArcFunctorOrderingByTailAndHead.html b/docs/cpp_graph/classoperations__research_1_1ArcFunctorOrderingByTailAndHead.html index ce8b9b4b36..7efef94d09 100644 --- a/docs/cpp_graph/classoperations__research_1_1ArcFunctorOrderingByTailAndHead.html +++ b/docs/cpp_graph/classoperations__research_1_1ArcFunctorOrderingByTailAndHead.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ArcIndexOrderingByTailNode-members.html b/docs/cpp_graph/classoperations__research_1_1ArcIndexOrderingByTailNode-members.html index 38162acb64..5b860a35ce 100644 --- a/docs/cpp_graph/classoperations__research_1_1ArcIndexOrderingByTailNode-members.html +++ b/docs/cpp_graph/classoperations__research_1_1ArcIndexOrderingByTailNode-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ArcIndexOrderingByTailNode.html b/docs/cpp_graph/classoperations__research_1_1ArcIndexOrderingByTailNode.html index 0d535ab16f..fbd3b5d74c 100644 --- a/docs/cpp_graph/classoperations__research_1_1ArcIndexOrderingByTailNode.html +++ b/docs/cpp_graph/classoperations__research_1_1ArcIndexOrderingByTailNode.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1BronKerboschAlgorithm-members.html b/docs/cpp_graph/classoperations__research_1_1BronKerboschAlgorithm-members.html index b360a92e54..03aee18285 100644 --- a/docs/cpp_graph/classoperations__research_1_1BronKerboschAlgorithm-members.html +++ b/docs/cpp_graph/classoperations__research_1_1BronKerboschAlgorithm-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1BronKerboschAlgorithm.html b/docs/cpp_graph/classoperations__research_1_1BronKerboschAlgorithm.html index 4697ef976a..c0b7a47a10 100644 --- a/docs/cpp_graph/classoperations__research_1_1BronKerboschAlgorithm.html +++ b/docs/cpp_graph/classoperations__research_1_1BronKerboschAlgorithm.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ChristofidesPathSolver-members.html b/docs/cpp_graph/classoperations__research_1_1ChristofidesPathSolver-members.html index f0ef6bf2ff..f2c165da38 100644 --- a/docs/cpp_graph/classoperations__research_1_1ChristofidesPathSolver-members.html +++ b/docs/cpp_graph/classoperations__research_1_1ChristofidesPathSolver-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ChristofidesPathSolver.html b/docs/cpp_graph/classoperations__research_1_1ChristofidesPathSolver.html index bedbdb6b82..c2015aa957 100644 --- a/docs/cpp_graph/classoperations__research_1_1ChristofidesPathSolver.html +++ b/docs/cpp_graph/classoperations__research_1_1ChristofidesPathSolver.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ConnectedComponents-members.html b/docs/cpp_graph/classoperations__research_1_1ConnectedComponents-members.html index be8a30ac3b..520200628e 100644 --- a/docs/cpp_graph/classoperations__research_1_1ConnectedComponents-members.html +++ b/docs/cpp_graph/classoperations__research_1_1ConnectedComponents-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ConnectedComponents.html b/docs/cpp_graph/classoperations__research_1_1ConnectedComponents.html index b053dbf031..8ae69b83d0 100644 --- a/docs/cpp_graph/classoperations__research_1_1ConnectedComponents.html +++ b/docs/cpp_graph/classoperations__research_1_1ConnectedComponents.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1CostValueCycleHandler-members.html b/docs/cpp_graph/classoperations__research_1_1CostValueCycleHandler-members.html index 6aecbf4e93..889dbb9074 100644 --- a/docs/cpp_graph/classoperations__research_1_1CostValueCycleHandler-members.html +++ b/docs/cpp_graph/classoperations__research_1_1CostValueCycleHandler-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1CostValueCycleHandler.html b/docs/cpp_graph/classoperations__research_1_1CostValueCycleHandler.html index 59f6adbee8..ff85259238 100644 --- a/docs/cpp_graph/classoperations__research_1_1CostValueCycleHandler.html +++ b/docs/cpp_graph/classoperations__research_1_1CostValueCycleHandler.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraph-members.html b/docs/cpp_graph/classoperations__research_1_1EbertGraph-members.html index f0de577487..23f0d3bad7 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraph-members.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraph.html b/docs/cpp_graph/classoperations__research_1_1EbertGraph.html index 3fb1e23efc..e953faf73d 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraph.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraphBase-members.html b/docs/cpp_graph/classoperations__research_1_1EbertGraphBase-members.html index af28d757c9..451bd6b337 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraphBase-members.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraphBase-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraphBase.html b/docs/cpp_graph/classoperations__research_1_1EbertGraphBase.html index cdd93612c6..2bfa976b63 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraphBase.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraphBase.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs-members.html b/docs/cpp_graph/classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs-members.html index 2168e0102b..fd432fd622 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs-members.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs.html b/docs/cpp_graph/classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs.html index a10e0092b7..4171714b65 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraphBase_1_1CycleHandlerForAnnotatedArcs.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1IncomingArcIterator-members.html b/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1IncomingArcIterator-members.html index 3716a88f92..64df0fa452 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1IncomingArcIterator-members.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1IncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html b/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html index 8dcca1ab2f..f1e9cfcfb2 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1IncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html b/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html index 6afd56b306..bb4d867dbf 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html b/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html index ac47c44ecc..08371982d8 100644 --- a/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html +++ b/docs/cpp_graph/classoperations__research_1_1EbertGraph_1_1OutgoingOrOppositeIncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ElementIterator-members.html b/docs/cpp_graph/classoperations__research_1_1ElementIterator-members.html index f4430b3d81..bfd351f750 100644 --- a/docs/cpp_graph/classoperations__research_1_1ElementIterator-members.html +++ b/docs/cpp_graph/classoperations__research_1_1ElementIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ElementIterator.html b/docs/cpp_graph/classoperations__research_1_1ElementIterator.html index 407b9fbfcd..d7226a1161 100644 --- a/docs/cpp_graph/classoperations__research_1_1ElementIterator.html +++ b/docs/cpp_graph/classoperations__research_1_1ElementIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ForwardEbertGraph-members.html b/docs/cpp_graph/classoperations__research_1_1ForwardEbertGraph-members.html index d6ea3aba18..2eb44ba123 100644 --- a/docs/cpp_graph/classoperations__research_1_1ForwardEbertGraph-members.html +++ b/docs/cpp_graph/classoperations__research_1_1ForwardEbertGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ForwardEbertGraph.html b/docs/cpp_graph/classoperations__research_1_1ForwardEbertGraph.html index c34e0c57ce..594c12c0c5 100644 --- a/docs/cpp_graph/classoperations__research_1_1ForwardEbertGraph.html +++ b/docs/cpp_graph/classoperations__research_1_1ForwardEbertGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph-members.html b/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph-members.html index 137608581c..7da8fe017d 100644 --- a/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph-members.html +++ b/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph.html b/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph.html index 777899d263..3872cb3c27 100644 --- a/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph.html +++ b/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph_1_1CycleHandlerForAnnotatedArcs-members.html b/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph_1_1CycleHandlerForAnnotatedArcs-members.html index c7773e812b..97e238e052 100644 --- a/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph_1_1CycleHandlerForAnnotatedArcs-members.html +++ b/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph_1_1CycleHandlerForAnnotatedArcs-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph_1_1CycleHandlerForAnnotatedArcs.html b/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph_1_1CycleHandlerForAnnotatedArcs.html index 5d14bf8dac..b175f5f57f 100644 --- a/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph_1_1CycleHandlerForAnnotatedArcs.html +++ b/docs/cpp_graph/classoperations__research_1_1ForwardStaticGraph_1_1CycleHandlerForAnnotatedArcs.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1GenericMaxFlow-members.html b/docs/cpp_graph/classoperations__research_1_1GenericMaxFlow-members.html index 3053a4331e..7ef9ab447d 100644 --- a/docs/cpp_graph/classoperations__research_1_1GenericMaxFlow-members.html +++ b/docs/cpp_graph/classoperations__research_1_1GenericMaxFlow-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1GenericMaxFlow.html b/docs/cpp_graph/classoperations__research_1_1GenericMaxFlow.html index 38622e8830..6bf28205f4 100644 --- a/docs/cpp_graph/classoperations__research_1_1GenericMaxFlow.html +++ b/docs/cpp_graph/classoperations__research_1_1GenericMaxFlow.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1GenericMinCostFlow-members.html b/docs/cpp_graph/classoperations__research_1_1GenericMinCostFlow-members.html index ea843aea6f..84a59172bb 100644 --- a/docs/cpp_graph/classoperations__research_1_1GenericMinCostFlow-members.html +++ b/docs/cpp_graph/classoperations__research_1_1GenericMinCostFlow-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1GenericMinCostFlow.html b/docs/cpp_graph/classoperations__research_1_1GenericMinCostFlow.html index 7bab6d872c..58f9c1e10a 100644 --- a/docs/cpp_graph/classoperations__research_1_1GenericMinCostFlow.html +++ b/docs/cpp_graph/classoperations__research_1_1GenericMinCostFlow.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1HamiltonianPathSolver-members.html b/docs/cpp_graph/classoperations__research_1_1HamiltonianPathSolver-members.html index f98ccd10ae..1de1522e98 100644 --- a/docs/cpp_graph/classoperations__research_1_1HamiltonianPathSolver-members.html +++ b/docs/cpp_graph/classoperations__research_1_1HamiltonianPathSolver-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1HamiltonianPathSolver.html b/docs/cpp_graph/classoperations__research_1_1HamiltonianPathSolver.html index 88796e32a0..edb4c7963f 100644 --- a/docs/cpp_graph/classoperations__research_1_1HamiltonianPathSolver.html +++ b/docs/cpp_graph/classoperations__research_1_1HamiltonianPathSolver.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1LatticeMemoryManager-members.html b/docs/cpp_graph/classoperations__research_1_1LatticeMemoryManager-members.html index f12fe203da..117eb46a7a 100644 --- a/docs/cpp_graph/classoperations__research_1_1LatticeMemoryManager-members.html +++ b/docs/cpp_graph/classoperations__research_1_1LatticeMemoryManager-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1LatticeMemoryManager.html b/docs/cpp_graph/classoperations__research_1_1LatticeMemoryManager.html index e0a00722ba..7a2cc50695 100644 --- a/docs/cpp_graph/classoperations__research_1_1LatticeMemoryManager.html +++ b/docs/cpp_graph/classoperations__research_1_1LatticeMemoryManager.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment-members.html b/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment-members.html index a513141c4c..20148aa27e 100644 --- a/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment-members.html +++ b/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment.html b/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment.html index a7f2f55c76..4fa639400f 100644 --- a/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment.html +++ b/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment_1_1BipartiteLeftNodeIterator-members.html b/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment_1_1BipartiteLeftNodeIterator-members.html index 373234847a..b3b7bcb8bf 100644 --- a/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment_1_1BipartiteLeftNodeIterator-members.html +++ b/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment_1_1BipartiteLeftNodeIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment_1_1BipartiteLeftNodeIterator.html b/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment_1_1BipartiteLeftNodeIterator.html index 3e9694fa65..88aff35c01 100644 --- a/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment_1_1BipartiteLeftNodeIterator.html +++ b/docs/cpp_graph/classoperations__research_1_1LinearSumAssignment_1_1BipartiteLeftNodeIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1MaxFlow-members.html b/docs/cpp_graph/classoperations__research_1_1MaxFlow-members.html index 0fa7006e7c..d219f3143f 100644 --- a/docs/cpp_graph/classoperations__research_1_1MaxFlow-members.html +++ b/docs/cpp_graph/classoperations__research_1_1MaxFlow-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1MaxFlow.html b/docs/cpp_graph/classoperations__research_1_1MaxFlow.html index 94cacb4dc9..8d21aa54d9 100644 --- a/docs/cpp_graph/classoperations__research_1_1MaxFlow.html +++ b/docs/cpp_graph/classoperations__research_1_1MaxFlow.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1MaxFlowStatusClass-members.html b/docs/cpp_graph/classoperations__research_1_1MaxFlowStatusClass-members.html index 0dcd87ed72..a31e45229e 100644 --- a/docs/cpp_graph/classoperations__research_1_1MaxFlowStatusClass-members.html +++ b/docs/cpp_graph/classoperations__research_1_1MaxFlowStatusClass-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1MaxFlowStatusClass.html b/docs/cpp_graph/classoperations__research_1_1MaxFlowStatusClass.html index 2f49727d0b..90d6303541 100644 --- a/docs/cpp_graph/classoperations__research_1_1MaxFlowStatusClass.html +++ b/docs/cpp_graph/classoperations__research_1_1MaxFlowStatusClass.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1MinCostFlow-members.html b/docs/cpp_graph/classoperations__research_1_1MinCostFlow-members.html index 6e82b67c48..8344c3a8c9 100644 --- a/docs/cpp_graph/classoperations__research_1_1MinCostFlow-members.html +++ b/docs/cpp_graph/classoperations__research_1_1MinCostFlow-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1MinCostFlow.html b/docs/cpp_graph/classoperations__research_1_1MinCostFlow.html index 80dc9ae97f..4b82258b6e 100644 --- a/docs/cpp_graph/classoperations__research_1_1MinCostFlow.html +++ b/docs/cpp_graph/classoperations__research_1_1MinCostFlow.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1MinCostFlowBase-members.html b/docs/cpp_graph/classoperations__research_1_1MinCostFlowBase-members.html index 2071fa006b..dcc6639af7 100644 --- a/docs/cpp_graph/classoperations__research_1_1MinCostFlowBase-members.html +++ b/docs/cpp_graph/classoperations__research_1_1MinCostFlowBase-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1MinCostFlowBase.html b/docs/cpp_graph/classoperations__research_1_1MinCostFlowBase.html index d7c1d9d150..76ecd1cffa 100644 --- a/docs/cpp_graph/classoperations__research_1_1MinCostFlowBase.html +++ b/docs/cpp_graph/classoperations__research_1_1MinCostFlowBase.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1PermutationIndexComparisonByArcHead-members.html b/docs/cpp_graph/classoperations__research_1_1PermutationIndexComparisonByArcHead-members.html index 7b04ff12c4..8ff7f6354e 100644 --- a/docs/cpp_graph/classoperations__research_1_1PermutationIndexComparisonByArcHead-members.html +++ b/docs/cpp_graph/classoperations__research_1_1PermutationIndexComparisonByArcHead-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1PermutationIndexComparisonByArcHead.html b/docs/cpp_graph/classoperations__research_1_1PermutationIndexComparisonByArcHead.html index c0a0371895..92f542c682 100644 --- a/docs/cpp_graph/classoperations__research_1_1PermutationIndexComparisonByArcHead.html +++ b/docs/cpp_graph/classoperations__research_1_1PermutationIndexComparisonByArcHead.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1PriorityQueueWithRestrictedPush-members.html b/docs/cpp_graph/classoperations__research_1_1PriorityQueueWithRestrictedPush-members.html index 5d57274f79..58f9b3941d 100644 --- a/docs/cpp_graph/classoperations__research_1_1PriorityQueueWithRestrictedPush-members.html +++ b/docs/cpp_graph/classoperations__research_1_1PriorityQueueWithRestrictedPush-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1PriorityQueueWithRestrictedPush.html b/docs/cpp_graph/classoperations__research_1_1PriorityQueueWithRestrictedPush.html index 55ab8724a3..3e73e5f397 100644 --- a/docs/cpp_graph/classoperations__research_1_1PriorityQueueWithRestrictedPush.html +++ b/docs/cpp_graph/classoperations__research_1_1PriorityQueueWithRestrictedPush.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1PruningHamiltonianSolver-members.html b/docs/cpp_graph/classoperations__research_1_1PruningHamiltonianSolver-members.html index 24ebb91fb5..74296e3bb0 100644 --- a/docs/cpp_graph/classoperations__research_1_1PruningHamiltonianSolver-members.html +++ b/docs/cpp_graph/classoperations__research_1_1PruningHamiltonianSolver-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1PruningHamiltonianSolver.html b/docs/cpp_graph/classoperations__research_1_1PruningHamiltonianSolver.html index abc956a06e..471ac353a9 100644 --- a/docs/cpp_graph/classoperations__research_1_1PruningHamiltonianSolver.html +++ b/docs/cpp_graph/classoperations__research_1_1PruningHamiltonianSolver.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1Set-members.html b/docs/cpp_graph/classoperations__research_1_1Set-members.html index cffae2826c..5785f043c5 100644 --- a/docs/cpp_graph/classoperations__research_1_1Set-members.html +++ b/docs/cpp_graph/classoperations__research_1_1Set-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1Set.html b/docs/cpp_graph/classoperations__research_1_1Set.html index 8870d34b9d..f55eb86f41 100644 --- a/docs/cpp_graph/classoperations__research_1_1Set.html +++ b/docs/cpp_graph/classoperations__research_1_1Set.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1SetRangeIterator-members.html b/docs/cpp_graph/classoperations__research_1_1SetRangeIterator-members.html index 5aac3c906c..251c316519 100644 --- a/docs/cpp_graph/classoperations__research_1_1SetRangeIterator-members.html +++ b/docs/cpp_graph/classoperations__research_1_1SetRangeIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1SetRangeIterator.html b/docs/cpp_graph/classoperations__research_1_1SetRangeIterator.html index 747ab7effb..f6b49c23b1 100644 --- a/docs/cpp_graph/classoperations__research_1_1SetRangeIterator.html +++ b/docs/cpp_graph/classoperations__research_1_1SetRangeIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1SetRangeWithCardinality-members.html b/docs/cpp_graph/classoperations__research_1_1SetRangeWithCardinality-members.html index 216b6417ef..526fcf45e8 100644 --- a/docs/cpp_graph/classoperations__research_1_1SetRangeWithCardinality-members.html +++ b/docs/cpp_graph/classoperations__research_1_1SetRangeWithCardinality-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1SetRangeWithCardinality.html b/docs/cpp_graph/classoperations__research_1_1SetRangeWithCardinality.html index b495259562..d5189183e6 100644 --- a/docs/cpp_graph/classoperations__research_1_1SetRangeWithCardinality.html +++ b/docs/cpp_graph/classoperations__research_1_1SetRangeWithCardinality.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1SimpleMaxFlow-members.html b/docs/cpp_graph/classoperations__research_1_1SimpleMaxFlow-members.html index 803d073a91..bbd0d638d2 100644 --- a/docs/cpp_graph/classoperations__research_1_1SimpleMaxFlow-members.html +++ b/docs/cpp_graph/classoperations__research_1_1SimpleMaxFlow-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1SimpleMaxFlow.html b/docs/cpp_graph/classoperations__research_1_1SimpleMaxFlow.html index e7bbb636cf..8a4c9359cc 100644 --- a/docs/cpp_graph/classoperations__research_1_1SimpleMaxFlow.html +++ b/docs/cpp_graph/classoperations__research_1_1SimpleMaxFlow.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1SimpleMinCostFlow-members.html b/docs/cpp_graph/classoperations__research_1_1SimpleMinCostFlow-members.html index 5b9a9a57f5..0ee5d0a8db 100644 --- a/docs/cpp_graph/classoperations__research_1_1SimpleMinCostFlow-members.html +++ b/docs/cpp_graph/classoperations__research_1_1SimpleMinCostFlow-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1SimpleMinCostFlow.html b/docs/cpp_graph/classoperations__research_1_1SimpleMinCostFlow.html index 76182cef78..afd84fd73f 100644 --- a/docs/cpp_graph/classoperations__research_1_1SimpleMinCostFlow.html +++ b/docs/cpp_graph/classoperations__research_1_1SimpleMinCostFlow.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1StarGraphBase-members.html b/docs/cpp_graph/classoperations__research_1_1StarGraphBase-members.html index 38a31956eb..dc3d38b515 100644 --- a/docs/cpp_graph/classoperations__research_1_1StarGraphBase-members.html +++ b/docs/cpp_graph/classoperations__research_1_1StarGraphBase-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1StarGraphBase.html b/docs/cpp_graph/classoperations__research_1_1StarGraphBase.html index a03309e705..d0c00480c6 100644 --- a/docs/cpp_graph/classoperations__research_1_1StarGraphBase.html +++ b/docs/cpp_graph/classoperations__research_1_1StarGraphBase.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1ArcIterator-members.html b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1ArcIterator-members.html index ddf939399a..ae2edc5d9c 100644 --- a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1ArcIterator-members.html +++ b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1ArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1ArcIterator.html b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1ArcIterator.html index 3c053f6fd2..8c10b93356 100644 --- a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1ArcIterator.html +++ b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1ArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1NodeIterator-members.html b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1NodeIterator-members.html index 74d9156293..db0d6d73db 100644 --- a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1NodeIterator-members.html +++ b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1NodeIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1NodeIterator.html b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1NodeIterator.html index e226b9446e..1b3612b8b5 100644 --- a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1NodeIterator.html +++ b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1NodeIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator-members.html b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator-members.html index 8e3ef9ca3c..2b1b339d2d 100644 --- a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator-members.html +++ b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html index 8048503177..07dacaf366 100644 --- a/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html +++ b/docs/cpp_graph/classoperations__research_1_1StarGraphBase_1_1OutgoingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1TailArrayManager-members.html b/docs/cpp_graph/classoperations__research_1_1TailArrayManager-members.html index 33e4f38313..66a855cd00 100644 --- a/docs/cpp_graph/classoperations__research_1_1TailArrayManager-members.html +++ b/docs/cpp_graph/classoperations__research_1_1TailArrayManager-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classoperations__research_1_1TailArrayManager.html b/docs/cpp_graph/classoperations__research_1_1TailArrayManager.html index 326b294fd3..2b999b44ab 100644 --- a/docs/cpp_graph/classoperations__research_1_1TailArrayManager.html +++ b/docs/cpp_graph/classoperations__research_1_1TailArrayManager.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1BaseGraph-members.html b/docs/cpp_graph/classutil_1_1BaseGraph-members.html index c6d13dd52f..fb1a5e2179 100644 --- a/docs/cpp_graph/classutil_1_1BaseGraph-members.html +++ b/docs/cpp_graph/classutil_1_1BaseGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1BaseGraph.html b/docs/cpp_graph/classutil_1_1BaseGraph.html index 5538db0c88..340ec841df 100644 --- a/docs/cpp_graph/classutil_1_1BaseGraph.html +++ b/docs/cpp_graph/classutil_1_1BaseGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph-members.html b/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph-members.html index 8984d25885..0e2438acd8 100644 --- a/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph-members.html +++ b/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph.html b/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph.html index a6efc827ec..a49896edc2 100644 --- a/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph.html +++ b/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph_1_1OutgoingArcIterator-members.html b/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph_1_1OutgoingArcIterator-members.html index d72d26c563..8fe15a1a5d 100644 --- a/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph_1_1OutgoingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph_1_1OutgoingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph_1_1OutgoingArcIterator.html b/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph_1_1OutgoingArcIterator.html index bdbb3d3ae8..3868f34241 100644 --- a/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph_1_1OutgoingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1CompleteBipartiteGraph_1_1OutgoingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1CompleteGraph-members.html b/docs/cpp_graph/classutil_1_1CompleteGraph-members.html index 2f16212565..6e381f4461 100644 --- a/docs/cpp_graph/classutil_1_1CompleteGraph-members.html +++ b/docs/cpp_graph/classutil_1_1CompleteGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1CompleteGraph.html b/docs/cpp_graph/classutil_1_1CompleteGraph.html index bbed54916f..a8a26bdaa6 100644 --- a/docs/cpp_graph/classutil_1_1CompleteGraph.html +++ b/docs/cpp_graph/classutil_1_1CompleteGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ListGraph-members.html b/docs/cpp_graph/classutil_1_1ListGraph-members.html index 959dc2126b..30fe7d2874 100644 --- a/docs/cpp_graph/classutil_1_1ListGraph-members.html +++ b/docs/cpp_graph/classutil_1_1ListGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ListGraph.html b/docs/cpp_graph/classutil_1_1ListGraph.html index 1e15d1f3af..988166b224 100644 --- a/docs/cpp_graph/classutil_1_1ListGraph.html +++ b/docs/cpp_graph/classutil_1_1ListGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingArcIterator-members.html index b799be0a9c..ccf11f6900 100644 --- a/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingArcIterator.html b/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingArcIterator.html index a2319b98e3..f167c122ca 100644 --- a/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingHeadIterator-members.html b/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingHeadIterator-members.html index 77d62d77fb..41bc14275e 100644 --- a/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingHeadIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingHeadIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingHeadIterator.html b/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingHeadIterator.html index 9dcec89c5e..2325100e37 100644 --- a/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingHeadIterator.html +++ b/docs/cpp_graph/classutil_1_1ListGraph_1_1OutgoingHeadIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph-members.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph-members.html index b57e1853eb..d646bae912 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph.html index 5ad9be1c28..71868d3cb7 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator-members.html index 7a7b8ee574..88d612426e 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html index a35072c2fc..b5cd35971e 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1IncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator-members.html index 9e8573260d..e21db36101 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html index e803584c92..50bf91eef0 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OppositeIncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator-members.html index 53bda4283b..30081e9416 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html index 0303bef7be..650251951a 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator-members.html index 6a4d33bd1d..feda5210da 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html index f7e90da5c6..cd21db6c1a 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingHeadIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html index 3bb74c5e1b..fab96288fb 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html index 0da8004468..e3f25263ff 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcListGraph_1_1OutgoingOrOppositeIncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph-members.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph-members.html index 896cc290f7..bdc59c0bf5 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph.html index b7cd6dcb90..2d6d619503 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1IncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1IncomingArcIterator-members.html index 37ccec2a58..092c9860f4 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1IncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1IncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1IncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1IncomingArcIterator.html index 0f076e671f..19d6542b86 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1IncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1IncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator-members.html index 2b0b514bf0..fe380ec64d 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator.html index dea7dac439..391af1f600 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OppositeIncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingArcIterator-members.html index ebe47b5bfc..abfb2f06df 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingArcIterator.html index a02a0f02c5..e7fe4bf0eb 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html index 54b15ce267..8c839c9f80 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator.html index 0019bfcd4d..323e77acc8 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcMixedGraph_1_1OutgoingOrOppositeIncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph-members.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph-members.html index b1b40a7000..e06b856133 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph.html index e176d88b80..079a5ae036 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1IncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1IncomingArcIterator-members.html index a8893e3632..d3d34cb6b1 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1IncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1IncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1IncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1IncomingArcIterator.html index bf8ac8ee17..7dfeaf6664 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1IncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1IncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator-members.html index 62376c6649..a5f0e3518d 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator.html index 6488390b68..eff51fa4de 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OppositeIncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingArcIterator-members.html index 6a398c52eb..92681446cd 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingArcIterator.html index 9d0077f677..e5f96fbaec 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html index 0c505d4972..3551e3f15d 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator.html b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator.html index 1d6bf69c2e..b7b9354f28 100644 --- a/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1ReverseArcStaticGraph_1_1OutgoingOrOppositeIncomingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1SVector-members.html b/docs/cpp_graph/classutil_1_1SVector-members.html index 3e2d9b6c5a..d062f49f37 100644 --- a/docs/cpp_graph/classutil_1_1SVector-members.html +++ b/docs/cpp_graph/classutil_1_1SVector-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1SVector.html b/docs/cpp_graph/classutil_1_1SVector.html index 1acd508776..30f601627f 100644 --- a/docs/cpp_graph/classutil_1_1SVector.html +++ b/docs/cpp_graph/classutil_1_1SVector.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1StaticGraph-members.html b/docs/cpp_graph/classutil_1_1StaticGraph-members.html index e3a7923d61..12965ace96 100644 --- a/docs/cpp_graph/classutil_1_1StaticGraph-members.html +++ b/docs/cpp_graph/classutil_1_1StaticGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1StaticGraph.html b/docs/cpp_graph/classutil_1_1StaticGraph.html index e4068cc93d..41dc6e5947 100644 --- a/docs/cpp_graph/classutil_1_1StaticGraph.html +++ b/docs/cpp_graph/classutil_1_1StaticGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1StaticGraph_1_1OutgoingArcIterator-members.html b/docs/cpp_graph/classutil_1_1StaticGraph_1_1OutgoingArcIterator-members.html index 328557aa6f..a12f9e982a 100644 --- a/docs/cpp_graph/classutil_1_1StaticGraph_1_1OutgoingArcIterator-members.html +++ b/docs/cpp_graph/classutil_1_1StaticGraph_1_1OutgoingArcIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1StaticGraph_1_1OutgoingArcIterator.html b/docs/cpp_graph/classutil_1_1StaticGraph_1_1OutgoingArcIterator.html index 405075c17c..c846aa6883 100644 --- a/docs/cpp_graph/classutil_1_1StaticGraph_1_1OutgoingArcIterator.html +++ b/docs/cpp_graph/classutil_1_1StaticGraph_1_1OutgoingArcIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph-members.html b/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph-members.html index 52a77c59b6..3723e1ea40 100644 --- a/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph-members.html +++ b/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph.html b/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph.html index 08525ab09d..e4792f5dc7 100644 --- a/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph.html +++ b/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph_1_1AdjacencyListIterator-members.html b/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph_1_1AdjacencyListIterator-members.html index 4f8bfe3b63..f63c1ca282 100644 --- a/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph_1_1AdjacencyListIterator-members.html +++ b/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph_1_1AdjacencyListIterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph_1_1AdjacencyListIterator.html b/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph_1_1AdjacencyListIterator.html index 1f1b6ed969..c1dde74536 100644 --- a/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph_1_1AdjacencyListIterator.html +++ b/docs/cpp_graph/classutil_1_1UndirectedAdjacencyListsOfDirectedGraph_1_1AdjacencyListIterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/cliques_8h.html b/docs/cpp_graph/cliques_8h.html index dfde461d62..289d468e66 100644 --- a/docs/cpp_graph/cliques_8h.html +++ b/docs/cpp_graph/cliques_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -59,15 +54,7 @@ $(document).ready(function(){initNavTree('cliques_8h.html','');});
    cliques.h File Reference
    -
    #include <functional>
    -#include <numeric>
    -#include <vector>
    -#include "absl/strings/str_cat.h"
    -#include "ortools/base/int_type.h"
    -#include "ortools/base/int_type_indexed_vector.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/util/time_limit.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/cliques_8h_source.html b/docs/cpp_graph/cliques_8h_source.html index 961ddf2e35..e6f9c54bc2 100644 --- a/docs/cpp_graph/cliques_8h_source.html +++ b/docs/cpp_graph/cliques_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/connected__components_8h.html b/docs/cpp_graph/connected__components_8h.html index 6dfa9c2359..44744eab9f 100644 --- a/docs/cpp_graph/connected__components_8h.html +++ b/docs/cpp_graph/connected__components_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -58,20 +53,7 @@ $(document).ready(function(){initNavTree('connected__components_8h.html','');});
    connected_components.h File Reference
    -
    #include <functional>
    -#include <map>
    -#include <memory>
    -#include <set>
    -#include <type_traits>
    -#include <vector>
    -#include "absl/container/flat_hash_map.h"
    -#include "absl/container/flat_hash_set.h"
    -#include "absl/hash/hash.h"
    -#include "absl/meta/type_traits.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/map_util.h"
    -#include "ortools/base/ptr_util.h"
    -
    +

    Go to the source code of this file.

    - +

    diff --git a/docs/cpp_graph/connected__components_8h_source.html b/docs/cpp_graph/connected__components_8h_source.html index a97eaeea98..e3fa142615 100644 --- a/docs/cpp_graph/connected__components_8h_source.html +++ b/docs/cpp_graph/connected__components_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/connectivity_8h.html b/docs/cpp_graph/connectivity_8h.html index 2701e59a29..62e952866d 100644 --- a/docs/cpp_graph/connectivity_8h.html +++ b/docs/cpp_graph/connectivity_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,11 +52,7 @@ $(document).ready(function(){initNavTree('connectivity_8h.html','');});
    connectivity.h File Reference
    -
    #include <vector>
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/connectivity_8h_source.html b/docs/cpp_graph/connectivity_8h_source.html index 839541dc03..139af5d382 100644 --- a/docs/cpp_graph/connectivity_8h_source.html +++ b/docs/cpp_graph/connectivity_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/deprecated.html b/docs/cpp_graph/deprecated.html index 8f86e4a5f8..dca784a0c6 100644 --- a/docs/cpp_graph/deprecated.html +++ b/docs/cpp_graph/deprecated.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/dir_725f3a5915051842f84e3ea508be2a62.html b/docs/cpp_graph/dir_725f3a5915051842f84e3ea508be2a62.html index b3cb4d13df..5570b62f0c 100644 --- a/docs/cpp_graph/dir_725f3a5915051842f84e3ea508be2a62.html +++ b/docs/cpp_graph/dir_725f3a5915051842f84e3ea508be2a62.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/dir_a7cc1eeded8f693d0da6c729bc88c45a.html b/docs/cpp_graph/dir_a7cc1eeded8f693d0da6c729bc88c45a.html index 7c21fb66f3..38cf6c1987 100644 --- a/docs/cpp_graph/dir_a7cc1eeded8f693d0da6c729bc88c45a.html +++ b/docs/cpp_graph/dir_a7cc1eeded8f693d0da6c729bc88c45a.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/ebert__graph_8h.html b/docs/cpp_graph/ebert__graph_8h.html index 02c9716f75..8dec86edb0 100644 --- a/docs/cpp_graph/ebert__graph_8h.html +++ b/docs/cpp_graph/ebert__graph_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -59,19 +54,7 @@ $(document).ready(function(){initNavTree('ebert__graph_8h.html','');});
    ebert_graph.h File Reference
    -
    #include <algorithm>
    -#include <limits>
    -#include <memory>
    -#include <string>
    -#include <utility>
    -#include <vector>
    -#include "absl/strings/str_cat.h"
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -#include "ortools/util/permutation.h"
    -#include "ortools/util/zvector.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/ebert__graph_8h_source.html b/docs/cpp_graph/ebert__graph_8h_source.html index 00ac631b0b..2d95c30c0d 100644 --- a/docs/cpp_graph/ebert__graph_8h_source.html +++ b/docs/cpp_graph/ebert__graph_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/eulerian__path_8h.html b/docs/cpp_graph/eulerian__path_8h.html index d2e53e160c..e1bc040043 100644 --- a/docs/cpp_graph/eulerian__path_8h.html +++ b/docs/cpp_graph/eulerian__path_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,9 +52,7 @@ $(document).ready(function(){initNavTree('eulerian__path_8h.html','');});
    eulerian_path.h File Reference
    -
    #include <vector>
    -#include "ortools/base/logging.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/eulerian__path_8h_source.html b/docs/cpp_graph/eulerian__path_8h_source.html index c38893cd43..2d147fff71 100644 --- a/docs/cpp_graph/eulerian__path_8h_source.html +++ b/docs/cpp_graph/eulerian__path_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/files.html b/docs/cpp_graph/files.html index b810b6ef67..9d055c71e3 100644 --- a/docs/cpp_graph/files.html +++ b/docs/cpp_graph/files.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/functions.html b/docs/cpp_graph/functions.html index 9c4937ba92..08bac5b70d 100644 --- a/docs/cpp_graph/functions.html +++ b/docs/cpp_graph/functions.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • - - - - - - @@ -60,17 +55,7 @@ $(document).ready(function(){initNavTree('graph_8h.html','');});
    graph.h File Reference
    -
    #include <algorithm>
    -#include <cstddef>
    -#include <cstdlib>
    -#include <limits>
    -#include <new>
    -#include <vector>
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -#include "ortools/graph/iterators.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/graph_8h_source.html b/docs/cpp_graph/graph_8h_source.html index 870a5cb15e..cee472e7ff 100644 --- a/docs/cpp_graph/graph_8h_source.html +++ b/docs/cpp_graph/graph_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/graphs_8h.html b/docs/cpp_graph/graphs_8h.html index bad551307c..1397b07c60 100644 --- a/docs/cpp_graph/graphs_8h.html +++ b/docs/cpp_graph/graphs_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,8 +52,7 @@ $(document).ready(function(){initNavTree('graphs_8h.html','');});
    graphs.h File Reference
    - +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/graphs_8h_source.html b/docs/cpp_graph/graphs_8h_source.html index aebb2db9a4..bf7cd57280 100644 --- a/docs/cpp_graph/graphs_8h_source.html +++ b/docs/cpp_graph/graphs_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/hamiltonian__path_8h.html b/docs/cpp_graph/hamiltonian__path_8h.html index 5bc3379c6c..59e2b2ec1e 100644 --- a/docs/cpp_graph/hamiltonian__path_8h.html +++ b/docs/cpp_graph/hamiltonian__path_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -59,22 +54,7 @@ $(document).ready(function(){initNavTree('hamiltonian__path_8h.html','');});
    hamiltonian_path.h File Reference
    -
    #include <math.h>
    -#include <stddef.h>
    -#include <algorithm>
    -#include <cmath>
    -#include <limits>
    -#include <memory>
    -#include <stack>
    -#include <type_traits>
    -#include <utility>
    -#include <vector>
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/util/bitset.h"
    -#include "ortools/util/saturated_arithmetic.h"
    -#include "ortools/util/vector_or_function.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/hamiltonian__path_8h_source.html b/docs/cpp_graph/hamiltonian__path_8h_source.html index 7132ae8ea3..441d58c5d6 100644 --- a/docs/cpp_graph/hamiltonian__path_8h_source.html +++ b/docs/cpp_graph/hamiltonian__path_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/hierarchy.html b/docs/cpp_graph/hierarchy.html index 9b3f79816a..5be5a744b9 100644 --- a/docs/cpp_graph/hierarchy.html +++ b/docs/cpp_graph/hierarchy.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/index.html b/docs/cpp_graph/index.html index 67bc9714fa..3cb9c80f3f 100644 --- a/docs/cpp_graph/index.html +++ b/docs/cpp_graph/index.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/io_8h.html b/docs/cpp_graph/io_8h.html index a1e22ac675..1f5b971328 100644 --- a/docs/cpp_graph/io_8h.html +++ b/docs/cpp_graph/io_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -59,20 +54,7 @@ $(document).ready(function(){initNavTree('io_8h.html','');});
    io.h File Reference
    -
    #include <algorithm>
    -#include <memory>
    -#include <numeric>
    -#include <string>
    -#include <vector>
    -#include "absl/strings/numbers.h"
    -#include "absl/strings/str_cat.h"
    -#include "absl/strings/str_format.h"
    -#include "absl/strings/str_join.h"
    -#include "absl/strings/str_split.h"
    -#include "ortools/base/filelineiter.h"
    -#include "ortools/base/statusor.h"
    -#include "ortools/graph/graph.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/io_8h_source.html b/docs/cpp_graph/io_8h_source.html index bf1fc32fcd..eb0f576cf3 100644 --- a/docs/cpp_graph/io_8h_source.html +++ b/docs/cpp_graph/io_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/iterators_8h.html b/docs/cpp_graph/iterators_8h.html index eeefb03b0f..2238b88042 100644 --- a/docs/cpp_graph/iterators_8h.html +++ b/docs/cpp_graph/iterators_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -60,9 +55,7 @@ $(document).ready(function(){initNavTree('iterators_8h.html','');});
    iterators.h File Reference
    -
    #include <iterator>
    -#include <vector>
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/iterators_8h_source.html b/docs/cpp_graph/iterators_8h_source.html index 7007e84767..c43010bd76 100644 --- a/docs/cpp_graph/iterators_8h_source.html +++ b/docs/cpp_graph/iterators_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/linear__assignment_8h.html b/docs/cpp_graph/linear__assignment_8h.html index 0da5ebcb45..3e358138a7 100644 --- a/docs/cpp_graph/linear__assignment_8h.html +++ b/docs/cpp_graph/linear__assignment_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -58,23 +53,7 @@ $(document).ready(function(){initNavTree('linear__assignment_8h.html','');});
    linear_assignment.h File Reference
    -
    #include <algorithm>
    -#include <cstdlib>
    -#include <deque>
    -#include <limits>
    -#include <memory>
    -#include <string>
    -#include <utility>
    -#include <vector>
    -#include "absl/strings/str_format.h"
    -#include "ortools/base/commandlineflags.h"
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -#include "ortools/graph/ebert_graph.h"
    -#include "ortools/util/permutation.h"
    -#include "ortools/util/zvector.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/linear__assignment_8h_source.html b/docs/cpp_graph/linear__assignment_8h_source.html index c57f5a0296..622dda3cfa 100644 --- a/docs/cpp_graph/linear__assignment_8h_source.html +++ b/docs/cpp_graph/linear__assignment_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/max__flow_8h.html b/docs/cpp_graph/max__flow_8h.html index 4b9955f85d..f1d0d6ad87 100644 --- a/docs/cpp_graph/max__flow_8h.html +++ b/docs/cpp_graph/max__flow_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,19 +52,7 @@ $(document).ready(function(){initNavTree('max__flow_8h.html','');});
    max_flow.h File Reference
    -
    #include <algorithm>
    -#include <memory>
    -#include <string>
    -#include <vector>
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -#include "ortools/graph/ebert_graph.h"
    -#include "ortools/graph/flow_problem.pb.h"
    -#include "ortools/graph/graph.h"
    -#include "ortools/util/stats.h"
    -#include "ortools/util/zvector.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/max__flow_8h_source.html b/docs/cpp_graph/max__flow_8h_source.html index 83b13b94d3..abfa373798 100644 --- a/docs/cpp_graph/max__flow_8h_source.html +++ b/docs/cpp_graph/max__flow_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/menudata.js b/docs/cpp_graph/menudata.js index d5266d282a..be3505f991 100644 --- a/docs/cpp_graph/menudata.js +++ b/docs/cpp_graph/menudata.js @@ -25,4 +25,5 @@ var menudata={children:[ {text:"Main Page",url:"index.html"}, {text:"Related Pages",url:"pages.html"}, {text:"Namespaces",url:"namespaces.html"}, -{text:"Classes",url:"annotated.html"}]} +{text:"Classes",url:"annotated.html"}, +{text:"Files",url:"files.html"}]} diff --git a/docs/cpp_graph/min__cost__flow_8h.html b/docs/cpp_graph/min__cost__flow_8h.html index 9cae68b9ba..6324ba4c96 100644 --- a/docs/cpp_graph/min__cost__flow_8h.html +++ b/docs/cpp_graph/min__cost__flow_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,18 +52,7 @@ $(document).ready(function(){initNavTree('min__cost__flow_8h.html','');});
    min_cost_flow.h File Reference
    -
    #include <algorithm>
    -#include <stack>
    -#include <string>
    -#include <vector>
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -#include "ortools/graph/ebert_graph.h"
    -#include "ortools/graph/graph.h"
    -#include "ortools/util/stats.h"
    -#include "ortools/util/zvector.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/min__cost__flow_8h_source.html b/docs/cpp_graph/min__cost__flow_8h_source.html index ad8f00e4b3..31ea996b7c 100644 --- a/docs/cpp_graph/min__cost__flow_8h_source.html +++ b/docs/cpp_graph/min__cost__flow_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/minimum__spanning__tree_8h.html b/docs/cpp_graph/minimum__spanning__tree_8h.html index 73c346dd9f..4a213c475d 100644 --- a/docs/cpp_graph/minimum__spanning__tree_8h.html +++ b/docs/cpp_graph/minimum__spanning__tree_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,14 +52,7 @@ $(document).ready(function(){initNavTree('minimum__spanning__tree_8h.html','');}
    minimum_spanning_tree.h File Reference
    -
    #include <queue>
    -#include <vector>
    -#include "ortools/base/adjustable_priority_queue-inl.h"
    -#include "ortools/base/adjustable_priority_queue.h"
    -#include "ortools/base/integral_types.h"
    -#include "ortools/graph/connectivity.h"
    -#include "ortools/util/vector_or_function.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/minimum__spanning__tree_8h_source.html b/docs/cpp_graph/minimum__spanning__tree_8h_source.html index 1746b34257..831d2ed899 100644 --- a/docs/cpp_graph/minimum__spanning__tree_8h_source.html +++ b/docs/cpp_graph/minimum__spanning__tree_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/namespacemembers.html b/docs/cpp_graph/namespacemembers.html index a4d0001ae4..42f6c708a6 100644 --- a/docs/cpp_graph/namespacemembers.html +++ b/docs/cpp_graph/namespacemembers.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/namespaces.html b/docs/cpp_graph/namespaces.html index 7daa479479..5e141f7df1 100644 --- a/docs/cpp_graph/namespaces.html +++ b/docs/cpp_graph/namespaces.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/namespaceutil.html b/docs/cpp_graph/namespaceutil.html index 8a511c5390..054ae2bf15 100644 --- a/docs/cpp_graph/namespaceutil.html +++ b/docs/cpp_graph/namespaceutil.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/navtreedata.js b/docs/cpp_graph/navtreedata.js index e91b8cc180..9642a8e35d 100644 --- a/docs/cpp_graph/navtreedata.js +++ b/docs/cpp_graph/navtreedata.js @@ -28,20 +28,13 @@ var NAVTREE = [ "Deprecated List", "deprecated.html", null ], [ "Namespaces", "namespaces.html", null ], [ "Classes", "annotated.html", null ], - [ "File List", "files.html", "files" ], - [ "File Members", "globals.html", [ - [ "All", "globals.html", null ], - [ "Functions", "globals_func.html", null ], - [ "Variables", "globals_vars.html", null ], - [ "Typedefs", "globals_type.html", null ], - [ "Macros", "globals_defs.html", null ] - ] ] + [ "Files", "files.html", null ] ] ] ]; var NAVTREEINDEX = [ -"christofides_8h.html" +"deprecated.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/cpp_graph/navtreeindex0.js b/docs/cpp_graph/navtreeindex0.js index 6703e4416d..9fbfc60f16 100644 --- a/docs/cpp_graph/navtreeindex0.js +++ b/docs/cpp_graph/navtreeindex0.js @@ -1,180 +1,7 @@ var NAVTREEINDEX0 = { -"christofides_8h.html":[4,0], -"christofides_8h.html#a3175c0c8e9fc36a30b70b6b9c132474a":[4,0,1], -"christofides_8h_source.html":[4,0], -"cliques_8h.html":[4,1], -"cliques_8h.html#a509097448ff5705cf3e64d889362bdec":[4,1,4], -"cliques_8h.html#a708cf34b342e7d2ed89a3b73dbec4eae":[4,1,1], -"cliques_8h.html#a708cf34b342e7d2ed89a3b73dbec4eaea658f2cadfdf09b6046246e9314f7cd43":[4,1,1,1], -"cliques_8h.html#a708cf34b342e7d2ed89a3b73dbec4eaea8f7afecbc8fbc4cd0f50a57d1172482e":[4,1,1,0], -"cliques_8h.html#af2d89e69d073dc3036a6de24710b416f":[4,1,2], -"cliques_8h.html#af2d89e69d073dc3036a6de24710b416fa2f453cfe638e57e27bb0c9512436111e":[4,1,2,0], -"cliques_8h.html#af2d89e69d073dc3036a6de24710b416fa615a46af313786fc4e349f34118be111":[4,1,2,1], -"cliques_8h.html#afe4b5a6c0e4019314f288e3f4307c114":[4,1,3], -"cliques_8h_source.html":[4,1], -"connected__components_8h.html":[4,2], -"connected__components_8h.html#a13f0e8f7e15873600cf8e395958c71e1":[4,2,2], -"connected__components_8h_source.html":[4,2], -"connectivity_8h.html":[4,3], -"connectivity_8h_source.html":[4,3], "deprecated.html":[1], -"ebert__graph_8h.html":[4,4], -"ebert__graph_8h.html#a0e629e35bfa311b31dd7f5065eb834bb":[4,4,29], -"ebert__graph_8h.html#a31d858394c5eed1fa21edc3da47047c1":[4,4,22], -"ebert__graph_8h.html#a389e5320fb5bcd0fb99d894488f9820b":[4,4,30], -"ebert__graph_8h.html#a5841ff601ab08548afb15c45b2245de7":[4,4,26], -"ebert__graph_8h.html#a652af62fa5f211aa0c54d7994ca1c504":[4,4,27], -"ebert__graph_8h.html#a7d4fc0319cb4e28ec175fc9163775a6e":[4,4,31], -"ebert__graph_8h.html#aa7950685633ee869aa9471b2ec5fbcfa":[4,4,25], -"ebert__graph_8h.html#aa79bf252fa6483cd33cbf95170353fb0":[4,4,23], -"ebert__graph_8h.html#ac7440a08c859325694df19d4d4aee95c":[4,4,28], -"ebert__graph_8h.html#acb53c505b8fd29ceb3abdcc7dfd809ce":[4,4,33], -"ebert__graph_8h.html#ae39f15b318a3cba17b1e60e6da51c0d4":[4,4,32], -"ebert__graph_8h.html#afdee62ecefa0520e530c18a55b083e6d":[4,4,24], -"ebert__graph_8h_source.html":[4,4], -"eulerian__path_8h.html":[4,5], -"eulerian__path_8h.html#a034666fe63ca105b735272974006362a":[4,5,2], -"eulerian__path_8h.html#a49b170b2d03863c465331e67b21f0c33":[4,5,0], -"eulerian__path_8h.html#a6b312dd19c90b2af099e6f159869f7ee":[4,5,5], -"eulerian__path_8h.html#a743d8c9d6f64531bdeb7bbf18023e9d4":[4,5,1], -"eulerian__path_8h.html#aa63055860fc53f8eed56d23d2571c180":[4,5,3], -"eulerian__path_8h.html#ab1cf773de0cae72d0c44efe5b8f4bb89":[4,5,4], -"eulerian__path_8h_source.html":[4,5], -"files.html":[4], -"globals.html":[5,0], -"globals_defs.html":[5,4], -"globals_func.html":[5,1], -"globals_type.html":[5,3], -"globals_vars.html":[5,2], -"graph_8h.html":[4,6], -"graph_8h.html#a1728675285eb75f9f18d6ed7c134d0b6":[4,6,39], -"graph_8h.html#a1db1a919e67261878ff8abda53e664c7":[4,6,38], -"graph_8h.html#a22b5dcc01043ab8da01ebab71ec3ad31":[4,6,34], -"graph_8h.html#a2a51d676cd5d9354bfe1f80d09c44f39":[4,6,37], -"graph_8h.html#a2cc2a1037195d237820edc97d35404be":[4,6,36], -"graph_8h.html#a3098e161a6aceeca482be78d2d221b3b":[4,6,32], -"graph_8h.html#a37be0131ae922e30a286797a0bef0c96":[4,6,30], -"graph_8h.html#a3c022b68f68916770fe09996df2f35a3":[4,6,41], -"graph_8h.html#a48a8a7aa004fc40d0d1d0ba63311cece":[4,6,27], -"graph_8h.html#a4d0ae05975a2063f2edbeb749f690fc7":[4,6,33], -"graph_8h.html#a6ce1a67d16c75b202f56301321a457c6":[4,6,43], -"graph_8h.html#a863ccdb51afb5ef92fe6c94188a5f7e0":[4,6,35], -"graph_8h.html#a8c227a057c1ce9d46b1185abf77ad91e":[4,6,44], -"graph_8h.html#a9470623ca7db3c4a62ce3b326c6b07d8":[4,6,46], -"graph_8h.html#a97910ddfce7560b406aa3f4939434eb8":[4,6,42], -"graph_8h.html#aa560f5e55268f818d5e5f43ed31e19a0":[4,6,28], -"graph_8h.html#ab3308688d13e59e2351bef038ce1fdb0":[4,6,40], -"graph_8h.html#ac497881c4166bc694adc4bee62746118":[4,6,45], -"graph_8h.html#ae76339cb2dcd3bc05ad762146f91fdda":[4,6,29], -"graph_8h.html#af3c40fc068f645d9dcd15c332e44fc25":[4,6,31], -"graph_8h_source.html":[4,6], -"graphs_8h.html":[4,7], -"graphs_8h_source.html":[4,7], -"hamiltonian__path_8h.html":[4,8], -"hamiltonian__path_8h.html#a09767b3634289e432c3ce1d7c649666a":[4,8,7], -"hamiltonian__path_8h.html#a715b0dbb9f0903ab629b8c6da1b35b45":[4,8,8], -"hamiltonian__path_8h_source.html":[4,8], "index.html":[], -"io_8h.html":[4,9], -"io_8h.html#a0a640b5d8a0ba7deaba9afbd4f3ca438":[4,9,2], -"io_8h.html#a123e77d101e4aeb54a2b9e7d9612ad1b":[4,9,8], -"io_8h.html#a6600986f328a49c9485aa03fb6c82946":[4,9,6], -"io_8h.html#a86199e4832dd5c1d61baa53bfecb7b6d":[4,9,5], -"io_8h.html#a99d2b83baf3f908e76fb2161b1c73322":[4,9,7], -"io_8h.html#a9c5c6763e52cd1465a3e1a3ab2437e37":[4,9,3], -"io_8h.html#ae705e1342dacc10a13fb3f11f91d0696":[4,9,0], -"io_8h.html#ae705e1342dacc10a13fb3f11f91d0696a454bb1ede69e280a1e4959acb82748ef":[4,9,0,2], -"io_8h.html#ae705e1342dacc10a13fb3f11f91d0696aaed5759e3b6e3a8592c9a21e0048b565":[4,9,0,1], -"io_8h.html#ae705e1342dacc10a13fb3f11f91d0696acac9245da1bf36d1d9382dc579e1a4fd":[4,9,0,0], -"io_8h.html#aeec5b66be4fd6b3021e6eb08b3045a0e":[4,9,4], -"io_8h.html#affed79554a202aaa8bda5b5e98c3a6b2":[4,9,1], -"io_8h_source.html":[4,9], -"iterators_8h.html":[4,10], -"iterators_8h.html#a09dd208593b9721a30a83ed978ede577":[4,10,2], -"iterators_8h.html#a28f5ef10ec8f4f5e6ff4734e3953da6b":[4,10,4], -"iterators_8h.html#a53f234651a4bd6516a249eb5df4b0243":[4,10,3], -"iterators_8h.html#a5cf75574c424244c5449bf2a2f0f81b3":[4,10,11], -"iterators_8h.html#a62469461ed7c932afba3808f4da0fe3d":[4,10,7], -"iterators_8h.html#a644718bb2fb240de962dc3c9a1fdf0dc":[4,10,6], -"iterators_8h.html#a83b9f519556accd1f067da73da5f0624":[4,10,15], -"iterators_8h.html#a8ef233c8d57a0b2d7fda9ef701f78412":[4,10,10], -"iterators_8h.html#aa9a605eb91520255ac695a02002d3cf0":[4,10,8], -"iterators_8h.html#aadd7603ae6e78cc2490ca9710fbaf180":[4,10,13], -"iterators_8h.html#acc90f8dbcd326a450a7c781ea7a9539d":[4,10,14], -"iterators_8h.html#ae7f303a443fbf651b13f8289d05ef498":[4,10,1], -"iterators_8h.html#af3f6bc803bbe87af730cf9e41a35cf68":[4,10,5], -"iterators_8h.html#afd61d33c85fc9e050ae306563c164697":[4,10,9], -"iterators_8h.html#afebc355832c501b1ce91e1b932f2a96b":[4,10,12], -"iterators_8h_source.html":[4,10], -"linear__assignment_8h.html":[4,11], -"linear__assignment_8h.html#a7e9c0b76beb761af447a08684cded9a7":[4,11,5], -"linear__assignment_8h.html#a9982454bded965321d3f3b7d5300b0dc":[4,11,4], -"linear__assignment_8h.html#aeb1d0880abde13d03b5dc361d19d8cf3":[4,11,6], -"linear__assignment_8h_source.html":[4,11], -"max__flow_8h.html":[4,12], -"max__flow_8h_source.html":[4,12], -"min__cost__flow_8h.html":[4,13], -"min__cost__flow_8h_source.html":[4,13], -"minimum__spanning__tree_8h.html":[4,14], -"minimum__spanning__tree_8h.html#a00ab79ee21ffd8dece0996e37f9faa7a":[4,14,1], -"minimum__spanning__tree_8h.html#a33a2f4c26fd60cd0fa98257b571c974f":[4,14,2], -"minimum__spanning__tree_8h.html#aa565a47a059ef32ef1aec39768e4ec98":[4,14,0], -"minimum__spanning__tree_8h_source.html":[4,14], -"one__tree__lower__bound_8h.html":[4,15], -"one__tree__lower__bound_8h.html#a01198f1b6b698fc8c033ef878977c27d":[4,15,12], -"one__tree__lower__bound_8h.html#a095b3978da7ad09782c0be1a6572e352":[4,15,26], -"one__tree__lower__bound_8h.html#a13e2c422d35410cf117886b1d037f29f":[4,15,9], -"one__tree__lower__bound_8h.html#a2ad04ff9537d97fcabc58c86183890c3":[4,15,13], -"one__tree__lower__bound_8h.html#a33c2c5b8d838c77c2701a538f7f30ae4":[4,15,14], -"one__tree__lower__bound_8h.html#a3684d01f599be82144bf85ebed01bf38":[4,15,2], -"one__tree__lower__bound_8h.html#a384b90c154e286bf2830f8230b936d99":[4,15,0], -"one__tree__lower__bound_8h.html#a3947d19ac087ef2cd68c2409920339c4":[4,15,11], -"one__tree__lower__bound_8h.html#a572bc2416991e2cc32c8a4cd72e736fd":[4,15,5], -"one__tree__lower__bound_8h.html#a61aed6a943277e531b904cfdc3616890":[4,15,6], -"one__tree__lower__bound_8h.html#a6c83a094080420edf5a00aca196f0f9b":[4,15,23], -"one__tree__lower__bound_8h.html#a6e4c1555a52b411d0e25bae82066dcc4":[4,15,7], -"one__tree__lower__bound_8h.html#a6f353d8684dff1645f1601cd68b9a0be":[4,15,24], -"one__tree__lower__bound_8h.html#a717d5dae07519577a5ed09ac24a4708b":[4,15,25], -"one__tree__lower__bound_8h.html#a77b2b7c1c7e6cae8e764388dd85a6f24":[4,15,4], -"one__tree__lower__bound_8h.html#a99411ae2f298b2e875af3e9090fe1632":[4,15,1], -"one__tree__lower__bound_8h.html#aac208599aa395dae573db2189d9164b2":[4,15,21], -"one__tree__lower__bound_8h.html#aaf25375f6ca4511913da66ed85a71fc8":[4,15,18], -"one__tree__lower__bound_8h.html#ab6b5f5320d83d4ed1da292c7e77a7c59":[4,15,20], -"one__tree__lower__bound_8h.html#acce8e446a1c35522929b65ff52441860":[4,15,16], -"one__tree__lower__bound_8h.html#ad15ce7e24cde3d28bc88c4a32bf3a834":[4,15,8], -"one__tree__lower__bound_8h.html#adba1a0c02ca6636f5610de2337f3f697":[4,15,15], -"one__tree__lower__bound_8h.html#ae08127695259b2dfb7d70c3c1906faa7":[4,15,10], -"one__tree__lower__bound_8h.html#af30c23b4cf5a95f352518d3cfd151ac9":[4,15,3], -"one__tree__lower__bound_8h.html#af85cb5d69bd041414717718f6a833325":[4,15,19], -"one__tree__lower__bound_8h.html#af86d4c4e6a18908cda194651a9ab7beb":[4,15,17], -"one__tree__lower__bound_8h.html#aff2f756cdab12d7452e47097d1521e28":[4,15,22], -"one__tree__lower__bound_8h_source.html":[4,15], "pages.html":[], -"shortestpaths_8h.html":[4,16], -"shortestpaths_8h.html#a53e6a83fcbd689abf5b3078b0236f9f1":[4,16,2], -"shortestpaths_8h.html#acff272be25bcf9641218c05c59ec1a4e":[4,16,0], -"shortestpaths_8h.html#ad56bae19a2298c3163af96ca7f8b89b1":[4,16,3], -"shortestpaths_8h.html#ad5bfec6ea714171fbff2d8b791d0d286":[4,16,1], -"shortestpaths_8h_source.html":[4,16], -"strongly__connected__components_8h.html":[4,17], -"strongly__connected__components_8h.html#aafab5785b250e1013c13511ce478f36b":[4,17,1], -"strongly__connected__components_8h_source.html":[4,17], -"todo.html":[0], -"util_8h.html":[4,18], -"util_8h.html#a06fa201576c927d92657e090fa86bfdb":[4,18,14], -"util_8h.html#a0ed748741b17dad9e6cc485728bb0043":[4,18,3], -"util_8h.html#a6b37593970a26f5c88b3d2ea9acea9d2":[4,18,6], -"util_8h.html#a784b483eeae1b49164a8a02fe9c0d3ba":[4,18,8], -"util_8h.html#a8a06031908a024a50dbdddc394a22490":[4,18,15], -"util_8h.html#a97311561fd1f01e9f35b2f7ce18b0af3":[4,18,9], -"util_8h.html#aa9fb4c9a176acaf72053b11727436e9e":[4,18,10], -"util_8h.html#ab34783e729bb5fc99042893f6bfcbb2f":[4,18,5], -"util_8h.html#ac4af76993c891ee4ad507783edec2a1c":[4,18,7], -"util_8h.html#acfecdce43e9933bde2a94fd879f12f5f":[4,18,13], -"util_8h.html#ad1df170a504d335462a1104a942e6069":[4,18,4], -"util_8h.html#ad7986b01cf61a31c09a27b4a97db6a83":[4,18,11], -"util_8h.html#adbb18bcb2f9d64cbbaeb57c328f57e7b":[4,18,12], -"util_8h.html#ae469c559688b92f36bae2788c2e6063e":[4,18,2], -"util_8h_source.html":[4,18] +"todo.html":[0] }; diff --git a/docs/cpp_graph/one__tree__lower__bound_8h.html b/docs/cpp_graph/one__tree__lower__bound_8h.html index 11a2bc53c4..473c6387d2 100644 --- a/docs/cpp_graph/one__tree__lower__bound_8h.html +++ b/docs/cpp_graph/one__tree__lower__bound_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -58,13 +53,7 @@ $(document).ready(function(){initNavTree('one__tree__lower__bound_8h.html','');}
    one_tree_lower_bound.h File Reference
    -
    #include <math.h>
    -#include <limits>
    -#include <set>
    -#include "ortools/base/integral_types.h"
    -#include "ortools/graph/christofides.h"
    -#include "ortools/graph/minimum_spanning_tree.h"
    -
    +

    Go to the source code of this file.

    When laziness is true, the constraint is only considered by the Linear Programming solver if its current solution violates the constraint. In this case, the constraint is definitively added to the problem. This may be useful in some MIP problems, and may have a dramatic impact on performance.

    For more info see: http://tinyurl.com/lazy-constraints.

    -

    Definition at line 1283 of file linear_solver.h.

    +

    Definition at line 1301 of file linear_solver.h.

    @@ -603,7 +604,7 @@ Friends

    Sets the lower bound.

    -

    Definition at line 1254 of file linear_solver.h.

    +

    Definition at line 1271 of file linear_solver.h.

    @@ -633,7 +634,7 @@ Friends

    Sets the upper bound.

    -

    Definition at line 1259 of file linear_solver.h.

    +

    Definition at line 1276 of file linear_solver.h.

    @@ -663,7 +664,7 @@ Friends

    Returns a map from variables to their coefficients in the constraint.

    If a variable is not present in the map, then its coefficient is zero.

    -

    Definition at line 1237 of file linear_solver.h.

    +

    Definition at line 1254 of file linear_solver.h.

    @@ -692,7 +693,7 @@ Friends

    Returns the upper bound.

    -

    Definition at line 1249 of file linear_solver.h.

    +

    Definition at line 1266 of file linear_solver.h.

    @@ -717,7 +718,7 @@ Friends

    diff --git a/docs/cpp_graph/one__tree__lower__bound_8h_source.html b/docs/cpp_graph/one__tree__lower__bound_8h_source.html index 8b0768f161..5d258bae94 100644 --- a/docs/cpp_graph/one__tree__lower__bound_8h_source.html +++ b/docs/cpp_graph/one__tree__lower__bound_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/pages.html b/docs/cpp_graph/pages.html index 1a31c06473..d4c0032632 100644 --- a/docs/cpp_graph/pages.html +++ b/docs/cpp_graph/pages.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/shortestpaths_8h.html b/docs/cpp_graph/shortestpaths_8h.html index caf33cea3f..22aafaf722 100644 --- a/docs/cpp_graph/shortestpaths_8h.html +++ b/docs/cpp_graph/shortestpaths_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,13 +52,7 @@ $(document).ready(function(){initNavTree('shortestpaths_8h.html','');});
    shortestpaths.h File Reference
    -
    #include <functional>
    -#include <memory>
    -#include <string>
    -#include <vector>
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/macros.h"
    -
    +

    Go to the source code of this file.

    Advanced usage: returns true if the constraint is "lazy" (see below).

    -

    Definition at line 1269 of file linear_solver.h.

    +

    Definition at line 1286 of file linear_solver.h.

    @@ -422,7 +423,7 @@ Friends

    Returns the lower bound.

    -

    Definition at line 1244 of file linear_solver.h.

    +

    Definition at line 1261 of file linear_solver.h.

    @@ -451,7 +452,7 @@ Friends

    Returns the name of the constraint.

    -

    Definition at line 1211 of file linear_solver.h.

    +

    Definition at line 1228 of file linear_solver.h.

    @@ -479,7 +480,7 @@ Friends

    diff --git a/docs/cpp_graph/shortestpaths_8h_source.html b/docs/cpp_graph/shortestpaths_8h_source.html index c5f97e7821..a0bab089ad 100644 --- a/docs/cpp_graph/shortestpaths_8h_source.html +++ b/docs/cpp_graph/shortestpaths_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/strongly__connected__components_8h.html b/docs/cpp_graph/strongly__connected__components_8h.html index 6e12288958..1f55a0c1bf 100644 --- a/docs/cpp_graph/strongly__connected__components_8h.html +++ b/docs/cpp_graph/strongly__connected__components_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,11 +52,7 @@ $(document).ready(function(){initNavTree('strongly__connected__components_8h.htm
    strongly_connected_components.h File Reference
    -
    #include <limits>
    -#include <vector>
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_graph/strongly__connected__components_8h_source.html b/docs/cpp_graph/strongly__connected__components_8h_source.html index 02064bc5c3..e7e93dafc9 100644 --- a/docs/cpp_graph/strongly__connected__components_8h_source.html +++ b/docs/cpp_graph/strongly__connected__components_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_graph/structMutableVectorIteration_1_1Iterator-members.html b/docs/cpp_graph/structMutableVectorIteration_1_1Iterator-members.html index 6ff668aced..ec389e61b2 100644 --- a/docs/cpp_graph/structMutableVectorIteration_1_1Iterator-members.html +++ b/docs/cpp_graph/structMutableVectorIteration_1_1Iterator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structMutableVectorIteration_1_1Iterator.html b/docs/cpp_graph/structMutableVectorIteration_1_1Iterator.html index 8a6002e9c3..7923bdb28d 100644 --- a/docs/cpp_graph/structMutableVectorIteration_1_1Iterator.html +++ b/docs/cpp_graph/structMutableVectorIteration_1_1Iterator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structSccCounterOutput-members.html b/docs/cpp_graph/structSccCounterOutput-members.html index 2f1409c46e..d7156f2be8 100644 --- a/docs/cpp_graph/structSccCounterOutput-members.html +++ b/docs/cpp_graph/structSccCounterOutput-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structSccCounterOutput.html b/docs/cpp_graph/structSccCounterOutput.html index a19b9177e0..00f2a736c3 100644 --- a/docs/cpp_graph/structSccCounterOutput.html +++ b/docs/cpp_graph/structSccCounterOutput.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1Graphs-members.html b/docs/cpp_graph/structoperations__research_1_1Graphs-members.html index a3d5c8a9cd..8c0098849b 100644 --- a/docs/cpp_graph/structoperations__research_1_1Graphs-members.html +++ b/docs/cpp_graph/structoperations__research_1_1Graphs-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1Graphs.html b/docs/cpp_graph/structoperations__research_1_1Graphs.html index cea57d9499..606a4f52bb 100644 --- a/docs/cpp_graph/structoperations__research_1_1Graphs.html +++ b/docs/cpp_graph/structoperations__research_1_1Graphs.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1Graphs_3_01operations__research_1_1StarGraph_01_4-members.html b/docs/cpp_graph/structoperations__research_1_1Graphs_3_01operations__research_1_1StarGraph_01_4-members.html index 939c70f145..cb01a4902a 100644 --- a/docs/cpp_graph/structoperations__research_1_1Graphs_3_01operations__research_1_1StarGraph_01_4-members.html +++ b/docs/cpp_graph/structoperations__research_1_1Graphs_3_01operations__research_1_1StarGraph_01_4-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1Graphs_3_01operations__research_1_1StarGraph_01_4.html b/docs/cpp_graph/structoperations__research_1_1Graphs_3_01operations__research_1_1StarGraph_01_4.html index 4cfa76f245..228f0297fe 100644 --- a/docs/cpp_graph/structoperations__research_1_1Graphs_3_01operations__research_1_1StarGraph_01_4.html +++ b/docs/cpp_graph/structoperations__research_1_1Graphs_3_01operations__research_1_1StarGraph_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1graph__traits-members.html b/docs/cpp_graph/structoperations__research_1_1graph__traits-members.html index 957854eeb5..714e3850a1 100644 --- a/docs/cpp_graph/structoperations__research_1_1graph__traits-members.html +++ b/docs/cpp_graph/structoperations__research_1_1graph__traits-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1graph__traits.html b/docs/cpp_graph/structoperations__research_1_1graph__traits.html index bb0fafecf7..ef8ceb4b77 100644 --- a/docs/cpp_graph/structoperations__research_1_1graph__traits.html +++ b/docs/cpp_graph/structoperations__research_1_1graph__traits.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardEbertGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4-members.html b/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardEbertGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4-members.html index 9f96a267b7..a6480cc07c 100644 --- a/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardEbertGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4-members.html +++ b/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardEbertGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardEbertGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4.html b/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardEbertGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4.html index 6eff8df78d..0d3ff18316 100644 --- a/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardEbertGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4.html +++ b/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardEbertGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardStaticGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4-members.html b/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardStaticGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4-members.html index 369f51607c..aef95a8243 100644 --- a/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardStaticGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4-members.html +++ b/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardStaticGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardStaticGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4.html b/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardStaticGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4.html index 6453d771d2..4201e0493b 100644 --- a/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardStaticGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4.html +++ b/docs/cpp_graph/structoperations__research_1_1graph__traits_3_01ForwardStaticGraph_3_01NodeIndexType_00_01ArcIndexType_01_4_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/todo.html b/docs/cpp_graph/todo.html index f6a0066ad7..5013cefd7a 100644 --- a/docs/cpp_graph/todo.html +++ b/docs/cpp_graph/todo.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_graph/util_8h.html b/docs/cpp_graph/util_8h.html index 8fb3b0301d..a19f99c438 100644 --- a/docs/cpp_graph/util_8h.html +++ b/docs/cpp_graph/util_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -58,19 +53,7 @@ $(document).ready(function(){initNavTree('util_8h.html','');});
    util.h File Reference
    -
    #include <algorithm>
    -#include <map>
    -#include <memory>
    -#include <set>
    -#include <string>
    -#include <unordered_map>
    -#include <vector>
    -#include "ortools/base/hash.h"
    -#include "ortools/base/map_util.h"
    -#include "ortools/graph/connected_components.h"
    -#include "ortools/graph/graph.h"
    -#include "ortools/graph/iterators.h"
    -
    +

    Go to the source code of this file.

    Returns the index of the constraint in the MPSolver::constraints_.

    -

    Definition at line 1291 of file linear_solver.h.

    +

    Definition at line 1309 of file linear_solver.h.

    @@ -337,7 +338,7 @@ Friends

    diff --git a/docs/cpp_graph/util_8h_source.html b/docs/cpp_graph/util_8h_source.html index c5341e9b8e..dc700cb68c 100644 --- a/docs/cpp_graph/util_8h_source.html +++ b/docs/cpp_graph/util_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_linear.tag b/docs/cpp_linear.tag index 90f79d122d..b2adf26d64 100644 --- a/docs/cpp_linear.tag +++ b/docs/cpp_linear.tag @@ -1,9 +1,74 @@ + + linear_expr.h + /usr/local/google/home/lperron/Work/or-tools/ortools/linear_solver/ + linear__expr_8h + operations_research::LinearExpr + operations_research::LinearRange + operations_research + + LinearExpr + operator+ + namespaceoperations__research.html + a97f9b83239285f5fdfcac1b8e8b4f162 + (LinearExpr lhs, const LinearExpr &rhs) + + + LinearExpr + operator- + namespaceoperations__research.html + a515cdaf4f9c4000bb3482a0c450e23c3 + (LinearExpr lhs, const LinearExpr &rhs) + + + LinearExpr + operator * + namespaceoperations__research.html + a741104fe08089fe3520676487f7a685d + (LinearExpr lhs, double rhs) + + + LinearExpr + operator/ + namespaceoperations__research.html + abebdd7f40e90df8dc7d557b6e26da942 + (LinearExpr lhs, double rhs) + + + LinearExpr + operator * + namespaceoperations__research.html + a99590470c6ad2d59331b6fcc56609877 + (double lhs, LinearExpr rhs) + + + LinearRange + operator<= + namespaceoperations__research.html + a6d1fa20f9c9faf7027c0b16f97139e80 + (const LinearExpr &lhs, const LinearExpr &rhs) + + + LinearRange + operator== + namespaceoperations__research.html + a08146f196bd9c3f492ee108732449ced + (const LinearExpr &lhs, const LinearExpr &rhs) + + + LinearRange + operator>= + namespaceoperations__research.html + ac4052f92af6a7fbb1d45e17befcb68e0 + (const LinearExpr &lhs, const LinearExpr &rhs) + + linear_solver.h /usr/local/google/home/lperron/Work/or-tools/ortools/linear_solver/ linear__solver_8h + ortools/linear_solver/linear_expr.h ortools/linear_solver/linear_solver.pb.h operations_research::MPSolver operations_research::MPObjective @@ -765,6 +830,133 @@ is_proto_enum< ::operations_research::MPSosConstraint_Type > structis__proto__enum_3_01_1_1operations__research_1_1MPSosConstraint__Type_01_4.html + + operations_research::LinearExpr + classoperations__research_1_1LinearExpr.html + + + LinearExpr + classoperations__research_1_1LinearExpr.html + a3245b8350f417872f1f638ecd22a832f + () + + + + LinearExpr + classoperations__research_1_1LinearExpr.html + a1b0d711ef242dd88399cfee1b2b223f8 + (double constant) + + + + LinearExpr + classoperations__research_1_1LinearExpr.html + a475c727fd23f4424031df23655b8412b + (const MPVariable *var) + + + LinearExpr & + operator+= + classoperations__research_1_1LinearExpr.html + a5f501758e469b8718b8410bb87100f51 + (const LinearExpr &rhs) + + + LinearExpr & + operator-= + classoperations__research_1_1LinearExpr.html + a359bec8d7b3221d7549c98b0825970d4 + (const LinearExpr &rhs) + + + LinearExpr & + operator *= + classoperations__research_1_1LinearExpr.html + a757085e5b10be1bde2ff049a3dbc51c7 + (double rhs) + + + LinearExpr & + operator/= + classoperations__research_1_1LinearExpr.html + a14e5dbbcd5618dc42a8799181490742e + (double rhs) + + + LinearExpr + operator- + classoperations__research_1_1LinearExpr.html + a3f94eb1c0b25852c0ff0910b83d363d9 + () const + + + double + offset + classoperations__research_1_1LinearExpr.html + aff2f953067d8d8854273fa973496466e + () const + + + const absl::flat_hash_map< const MPVariable *, double > & + terms + classoperations__research_1_1LinearExpr.html + a37d87e22cd7125839fab636219336df8 + () const + + + double + SolutionValue + classoperations__research_1_1LinearExpr.html + a07afbba5788651a38be83e959bbbc92c + () const + + + static LinearExpr + NotVar + classoperations__research_1_1LinearExpr.html + a46b677de8b46c72ffdff9e16bc2e3745 + (LinearExpr var) + + + + operations_research::LinearRange + classoperations__research_1_1LinearRange.html + + + LinearRange + classoperations__research_1_1LinearRange.html + a9ce7b1b40dc5135ed9ca27cfedeca64e + () + + + + LinearRange + classoperations__research_1_1LinearRange.html + a754af83faa8744d01ecbf5091d4633a8 + (double lower_bound, const LinearExpr &linear_expr, double upper_bound) + + + double + lower_bound + classoperations__research_1_1LinearRange.html + ac9dc29ebeaf4a37d108c0094ca89eb9d + () const + + + const LinearExpr & + linear_expr + classoperations__research_1_1LinearRange.html + aa75204d544c4e4fc91c3ee8a091dd690 + () const + + + double + upper_bound + classoperations__research_1_1LinearRange.html + a527995fddd9d1781d996ff6f50e48041 + () const + + operations_research::MPConstraint classoperations__research_1_1MPConstraint.html @@ -3622,7 +3814,7 @@ const absl::flat_hash_map< const MPVariable *, double > & terms classoperations__research_1_1MPObjective.html - ae1f99be84ce9efa28b4c1050af954835 + abb79604f28fb7ddada23f4df67e28e32 () const @@ -8575,6 +8767,8 @@ operations_research namespaceoperations__research.html + operations_research::LinearExpr + operations_research::LinearRange operations_research::MPConstraint operations_research::MPConstraintProto operations_research::MPGeneralConstraintProto @@ -8807,6 +9001,62 @@ a8cc975b7db5017319901da0f63a114aaafa008125099beaab382c42682be6bbf9 + + LinearExpr + operator+ + namespaceoperations__research.html + a97f9b83239285f5fdfcac1b8e8b4f162 + (LinearExpr lhs, const LinearExpr &rhs) + + + LinearExpr + operator- + namespaceoperations__research.html + a515cdaf4f9c4000bb3482a0c450e23c3 + (LinearExpr lhs, const LinearExpr &rhs) + + + LinearExpr + operator * + namespaceoperations__research.html + a741104fe08089fe3520676487f7a685d + (LinearExpr lhs, double rhs) + + + LinearExpr + operator/ + namespaceoperations__research.html + abebdd7f40e90df8dc7d557b6e26da942 + (LinearExpr lhs, double rhs) + + + LinearExpr + operator * + namespaceoperations__research.html + a99590470c6ad2d59331b6fcc56609877 + (double lhs, LinearExpr rhs) + + + LinearRange + operator<= + namespaceoperations__research.html + a6d1fa20f9c9faf7027c0b16f97139e80 + (const LinearExpr &lhs, const LinearExpr &rhs) + + + LinearRange + operator== + namespaceoperations__research.html + a08146f196bd9c3f492ee108732449ced + (const LinearExpr &lhs, const LinearExpr &rhs) + + + LinearRange + operator>= + namespaceoperations__research.html + ac4052f92af6a7fbb1d45e17befcb68e0 + (const LinearExpr &lhs, const LinearExpr &rhs) + const absl::string_view ToString diff --git a/docs/cpp_linear/annotated.html b/docs/cpp_linear/annotated.html index da8caa4a45..e12c1347ab 100644 --- a/docs/cpp_linear/annotated.html +++ b/docs/cpp_linear/annotated.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -50,24 +51,26 @@ $(document).ready(function(){initNavTree('annotated.html','');});
    Here are the classes, structs, unions and interfaces with brief descriptions:
    [detail level 12]
    - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/docs/cpp_linear/classes.html b/docs/cpp_linear/classes.html index 6a5a5905cd..a89dfe293d 100644 --- a/docs/cpp_linear/classes.html +++ b/docs/cpp_linear/classes.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -47,27 +48,30 @@ $(document).ready(function(){initNavTree('classes.html','');});
    Class Index
    -
    i | m | o | p | t
    +
    i | l | m | o | p | t
     Noperations_research
     CMPConstraintThe class for constraints of a Mathematical Programming (MP) model
     CMPConstraintProto
     CMPGeneralConstraintProto
     CMPIndicatorConstraint
     CMPModelExportOptions
     CMPModelProto
     CMPModelRequest
     CMPObjectiveA class to express a linear objective
     CMPSolutionResponse
     CMPSolverThis mathematical programming (MP) solver class is the main class though which users build and solve problems
     CMPSolverCommonParameters
     CMPSolverInterface
     CMPSolverParametersThis class stores parameter settings for LP and MIP solvers
     CMPSosConstraint
     CMPVariableThe class for variables of a Mathematical Programming (MP) model
     CMPVariableProto
     COptionalDouble
     CPartialVariableAssignment
     CLinearExprLinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization problem, i.e
     CLinearRangeAn expression of the form:
     CMPConstraintThe class for constraints of a Mathematical Programming (MP) model
     CMPConstraintProto
     CMPGeneralConstraintProto
     CMPIndicatorConstraint
     CMPModelExportOptions
     CMPModelProto
     CMPModelRequest
     CMPObjectiveA class to express a linear objective
     CMPSolutionResponse
     CMPSolverThis mathematical programming (MP) solver class is the main class though which users build and solve problems
     CMPSolverCommonParameters
     CMPSolverInterface
     CMPSolverParametersThis class stores parameter settings for LP and MIP solvers
     CMPSosConstraint
     CMPVariableThe class for variables of a Mathematical Programming (MP) model
     CMPVariableProto
     COptionalDouble
     CPartialVariableAssignment
     Cis_proto_enum< ::operations_research::MPModelRequest_SolverType >
     Cis_proto_enum< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues >
     Cis_proto_enum< ::operations_research::MPSolverResponseStatus >
    - - + + - - - + + + + + + - - - - + + +
      i  
    -
    MPIndicatorConstraint (operations_research)   MPVariable (operations_research)   
    MPModelExportOptions (operations_research)   MPVariableProto (operations_research)   
    is_proto_enum< ::operations_research::MPModelRequest_SolverType >   MPModelProto (operations_research)   
      o  
    +
    MPConstraintProto (operations_research)   MPVariable (operations_research)   
    MPGeneralConstraintProto (operations_research)   MPVariableProto (operations_research)   
    is_proto_enum< ::operations_research::MPModelRequest_SolverType >   MPIndicatorConstraint (operations_research)   
      o  
    is_proto_enum< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues >   MPModelRequest (operations_research)   
    is_proto_enum< ::operations_research::MPSolverResponseStatus >   MPObjective (operations_research)   OptionalDouble (operations_research)   
    is_proto_enum< ::operations_research::MPSosConstraint_Type >   MPSolutionResponse (operations_research)   
      p  
    +
    is_proto_enum< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues >   MPModelExportOptions (operations_research)   
    is_proto_enum< ::operations_research::MPSolverResponseStatus >   MPModelProto (operations_research)   OptionalDouble (operations_research)   
    is_proto_enum< ::operations_research::MPSosConstraint_Type >   MPModelRequest (operations_research)   
      p  
      l  
    +
    MPObjective (operations_research)   
    MPSolutionResponse (operations_research)   PartialVariableAssignment (operations_research)   
    LinearExpr (operations_research)   MPSolver (operations_research)   
      t  
    +
    LinearRange (operations_research)   MPSolverCommonParameters (operations_research)   
      m  
    -
    MPSolver (operations_research)   
    MPSolverCommonParameters (operations_research)   PartialVariableAssignment (operations_research)   
    MPConstraint (operations_research)   MPSolverInterface (operations_research)   
      t  
    -
    MPConstraintProto (operations_research)   MPSolverParameters (operations_research)   
    MPGeneralConstraintProto (operations_research)   MPSosConstraint (operations_research)   TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto   
    MPSolverInterface (operations_research)   TableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto   
    MPSolverParameters (operations_research)   
    MPConstraint (operations_research)   MPSosConstraint (operations_research)   
    -
    i | m | o | p | t
    +
    i | l | m | o | p | t
    diff --git a/docs/cpp_linear/classoperations__research_1_1LinearExpr-members.html b/docs/cpp_linear/classoperations__research_1_1LinearExpr-members.html new file mode 100644 index 0000000000..c44edf435e --- /dev/null +++ b/docs/cpp_linear/classoperations__research_1_1LinearExpr-members.html @@ -0,0 +1,74 @@ + + + + OR-Tools + + + + + + + + + + +
    + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/docs/cpp_linear/classoperations__research_1_1LinearExpr.html b/docs/cpp_linear/classoperations__research_1_1LinearExpr.html new file mode 100644 index 0000000000..e8cabb22f1 --- /dev/null +++ b/docs/cpp_linear/classoperations__research_1_1LinearExpr.html @@ -0,0 +1,366 @@ + + + + OR-Tools + + + + + + + + + + +
    + + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    operations_research::LinearExpr Class Reference
    +
    +
    +

    Detailed Description

    +

    LinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization problem, i.e.

    +

    offset + sum_{i in S} a_i*x_i,

    +

    where the a_i and offset are constants and the x_i are MPVariables. You can use a LinearExpr "linear_expr" with an MPSolver "solver" to:

      +
    • Set as the objective of your optimization problem, e.g.

      +

      solver.MutableObjective()->MaximizeLinearExpr(linear_expr);

      +
    • +
    • Create a constraint in your optimization, e.g.

      +

      solver.MakeRowConstraint(linear_expr1 <= linear_expr2);

      +
    • +
    • Get the value of the quantity after solving, e.g.

      +

      solver.Solve(); linear_expr.SolutionValue();

      +
    • +
    +

    LinearExpr is allowed to delete variables with coefficient zero from the map, but is not obligated to do so.

    + +

    Definition at line 112 of file linear_expr.h.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     LinearExpr ()
     
     LinearExpr (double constant)
     Possible implicit conversions are intentional. More...
     
     LinearExpr (const MPVariable *var)
     
    LinearExproperator+= (const LinearExpr &rhs)
     
    LinearExproperator-= (const LinearExpr &rhs)
     
    LinearExproperator *= (double rhs)
     
    LinearExproperator/= (double rhs)
     
    LinearExpr operator- () const
     
    double offset () const
     
    const absl::flat_hash_map< const MPVariable *, double > & terms () const
     
    double SolutionValue () const
     Evaluates the value of this expression at the solution found. More...
     
    + + + + +

    +Static Public Member Functions

    static LinearExpr NotVar (LinearExpr var)
     Returns 1-var. More...
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ LinearExpr() [1/3]

    + +
    +
    + + + + + + + +
    operations_research::LinearExpr::LinearExpr ()
    +
    + +
    +
    + +

    ◆ LinearExpr() [2/3]

    + +
    +
    + + + + + + + + +
    operations_research::LinearExpr::LinearExpr (double constant)
    +
    + +

    Possible implicit conversions are intentional.

    + +
    +
    + +

    ◆ LinearExpr() [3/3]

    + +
    +
    + + + + + + + + +
    operations_research::LinearExpr::LinearExpr (const MPVariablevar)
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ NotVar()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static LinearExpr operations_research::LinearExpr::NotVar (LinearExpr var)
    +
    +static
    +
    + +

    Returns 1-var.

    +

    NOTE(user): if var is binary variable, this corresponds to the logical negation of var. Passing by value is intentional, see the discussion on binary ops.

    + +
    +
    + +

    ◆ offset()

    + +
    +
    + + + + + +
    + + + + + + + +
    double operations_research::LinearExpr::offset () const
    +
    +inline
    +
    + +

    Definition at line 142 of file linear_expr.h.

    + +
    +
    + +

    ◆ operator *=()

    + +
    +
    + + + + + + + + +
    LinearExpr& operations_research::LinearExpr::operator *= (double rhs)
    +
    + +
    +
    + +

    ◆ operator+=()

    + +
    +
    + + + + + + + + +
    LinearExpr& operations_research::LinearExpr::operator+= (const LinearExprrhs)
    +
    + +
    +
    + +

    ◆ operator-()

    + +
    +
    + + + + + + + +
    LinearExpr operations_research::LinearExpr::operator- () const
    +
    + +
    +
    + +

    ◆ operator-=()

    + +
    +
    + + + + + + + + +
    LinearExpr& operations_research::LinearExpr::operator-= (const LinearExprrhs)
    +
    + +
    +
    + +

    ◆ operator/=()

    + +
    +
    + + + + + + + + +
    LinearExpr& operations_research::LinearExpr::operator/= (double rhs)
    +
    + +
    +
    + +

    ◆ SolutionValue()

    + +
    +
    + + + + + + + +
    double operations_research::LinearExpr::SolutionValue () const
    +
    + +

    Evaluates the value of this expression at the solution found.

    +

    It must be called only after calling MPSolver::Solve.

    + +
    +
    + +

    ◆ terms()

    + +
    +
    + + + + + +
    + + + + + + + +
    const absl::flat_hash_map<const MPVariable*, double>& operations_research::LinearExpr::terms () const
    +
    +inline
    +
    + +

    Definition at line 143 of file linear_expr.h.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/cpp_linear/classoperations__research_1_1LinearExpr.js b/docs/cpp_linear/classoperations__research_1_1LinearExpr.js new file mode 100644 index 0000000000..7c5308e45a --- /dev/null +++ b/docs/cpp_linear/classoperations__research_1_1LinearExpr.js @@ -0,0 +1,15 @@ +var classoperations__research_1_1LinearExpr = +[ + [ "LinearExpr", "classoperations__research_1_1LinearExpr.html#a3245b8350f417872f1f638ecd22a832f", null ], + [ "LinearExpr", "classoperations__research_1_1LinearExpr.html#a1b0d711ef242dd88399cfee1b2b223f8", null ], + [ "LinearExpr", "classoperations__research_1_1LinearExpr.html#a475c727fd23f4424031df23655b8412b", null ], + [ "NotVar", "classoperations__research_1_1LinearExpr.html#a46b677de8b46c72ffdff9e16bc2e3745", null ], + [ "offset", "classoperations__research_1_1LinearExpr.html#aff2f953067d8d8854273fa973496466e", null ], + [ "operator *=", "classoperations__research_1_1LinearExpr.html#a757085e5b10be1bde2ff049a3dbc51c7", null ], + [ "operator+=", "classoperations__research_1_1LinearExpr.html#a5f501758e469b8718b8410bb87100f51", null ], + [ "operator-", "classoperations__research_1_1LinearExpr.html#a3f94eb1c0b25852c0ff0910b83d363d9", null ], + [ "operator-=", "classoperations__research_1_1LinearExpr.html#a359bec8d7b3221d7549c98b0825970d4", null ], + [ "operator/=", "classoperations__research_1_1LinearExpr.html#a14e5dbbcd5618dc42a8799181490742e", null ], + [ "SolutionValue", "classoperations__research_1_1LinearExpr.html#a07afbba5788651a38be83e959bbbc92c", null ], + [ "terms", "classoperations__research_1_1LinearExpr.html#a37d87e22cd7125839fab636219336df8", null ] +]; \ No newline at end of file diff --git a/docs/cpp_linear/classoperations__research_1_1LinearRange-members.html b/docs/cpp_linear/classoperations__research_1_1LinearRange-members.html new file mode 100644 index 0000000000..e35b69a4bf --- /dev/null +++ b/docs/cpp_linear/classoperations__research_1_1LinearRange-members.html @@ -0,0 +1,67 @@ + + + + OR-Tools + + + + + + + + + + +
    + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    operations_research::LinearRange Member List
    +
    +
    + +

    This is the complete list of members for operations_research::LinearRange, including all inherited members.

    + + + + + + +
    linear_expr() constoperations_research::LinearRangeinline
    LinearRange()operations_research::LinearRangeinline
    LinearRange(double lower_bound, const LinearExpr &linear_expr, double upper_bound)operations_research::LinearRange
    lower_bound() constoperations_research::LinearRangeinline
    upper_bound() constoperations_research::LinearRangeinline
    +
    + + + + diff --git a/docs/cpp_linear/classoperations__research_1_1LinearRange.html b/docs/cpp_linear/classoperations__research_1_1LinearRange.html new file mode 100644 index 0000000000..09bf4b1cbb --- /dev/null +++ b/docs/cpp_linear/classoperations__research_1_1LinearRange.html @@ -0,0 +1,229 @@ + + + + OR-Tools + + + + + + + + + + +
    + + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    operations_research::LinearRange Class Reference
    +
    +
    +

    Detailed Description

    +

    An expression of the form:

    +
    lower_bound <= sum_{i in S} a_i*x_i <= upper_bound.

    The sum is represented as a LinearExpr with offset 0.

    +

    Must be added to model with MPSolver::AddRowConstraint(const LinearRange& range, const std::string& name);

    + +

    Definition at line 182 of file linear_expr.h.

    +
    + + + + + + + + + + + +

    +Public Member Functions

     LinearRange ()
     
     LinearRange (double lower_bound, const LinearExpr &linear_expr, double upper_bound)
     
    double lower_bound () const
     
    const LinearExprlinear_expr () const
     
    double upper_bound () const
     
    +

    Constructor & Destructor Documentation

    + +

    ◆ LinearRange() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + +
    operations_research::LinearRange::LinearRange ()
    +
    +inline
    +
    + +

    Definition at line 184 of file linear_expr.h.

    + +
    +
    + +

    ◆ LinearRange() [2/2]

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    operations_research::LinearRange::LinearRange (double lower_bound,
    const LinearExprlinear_expr,
    double upper_bound 
    )
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ linear_expr()

    + +
    +
    + + + + + +
    + + + + + + + +
    const LinearExpr& operations_research::LinearRange::linear_expr () const
    +
    +inline
    +
    + +

    Definition at line 192 of file linear_expr.h.

    + +
    +
    + +

    ◆ lower_bound()

    + +
    +
    + + + + + +
    + + + + + + + +
    double operations_research::LinearRange::lower_bound () const
    +
    +inline
    +
    + +

    Definition at line 191 of file linear_expr.h.

    + +
    +
    + +

    ◆ upper_bound()

    + +
    +
    + + + + + +
    + + + + + + + +
    double operations_research::LinearRange::upper_bound () const
    +
    +inline
    +
    + +

    Definition at line 193 of file linear_expr.h.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/cpp_linear/classoperations__research_1_1LinearRange.js b/docs/cpp_linear/classoperations__research_1_1LinearRange.js new file mode 100644 index 0000000000..ab02965cb0 --- /dev/null +++ b/docs/cpp_linear/classoperations__research_1_1LinearRange.js @@ -0,0 +1,8 @@ +var classoperations__research_1_1LinearRange = +[ + [ "LinearRange", "classoperations__research_1_1LinearRange.html#a9ce7b1b40dc5135ed9ca27cfedeca64e", null ], + [ "LinearRange", "classoperations__research_1_1LinearRange.html#a754af83faa8744d01ecbf5091d4633a8", null ], + [ "linear_expr", "classoperations__research_1_1LinearRange.html#aa75204d544c4e4fc91c3ee8a091dd690", null ], + [ "lower_bound", "classoperations__research_1_1LinearRange.html#ac9dc29ebeaf4a37d108c0094ca89eb9d", null ], + [ "upper_bound", "classoperations__research_1_1LinearRange.html#a527995fddd9d1781d996ff6f50e48041", null ] +]; \ No newline at end of file diff --git a/docs/cpp_linear/classoperations__research_1_1MPConstraint-members.html b/docs/cpp_linear/classoperations__research_1_1MPConstraint-members.html index f64e6cb308..9460566e37 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPConstraint-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPConstraint-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPConstraint.html b/docs/cpp_linear/classoperations__research_1_1MPConstraint.html index 61bf352d0b..ff325bbeb0 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPConstraint.html +++ b/docs/cpp_linear/classoperations__research_1_1MPConstraint.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -56,7 +57,7 @@ $(document).ready(function(){initNavTree('classoperations__research_1_1MPConstra

    The class for constraints of a Mathematical Programming (MP) model.

    A constraint is represented as a linear equation or inequality.

    -

    Definition at line 1206 of file linear_solver.h.

    +

    Definition at line 1223 of file linear_solver.h.

    @@ -199,7 +200,7 @@ Friends

    Public Member Functions

    -

    Definition at line 1331 of file linear_solver.h.

    +

    Definition at line 1349 of file linear_solver.h.

    @@ -310,7 +311,7 @@ Friends

    -

    Definition at line 1286 of file linear_solver.h.

    +

    Definition at line 1304 of file linear_solver.h.

    @@ -364,7 +365,7 @@ Friends

    -

    Definition at line 1285 of file linear_solver.h.

    +

    Definition at line 1303 of file linear_solver.h.

    @@ -393,7 +394,7 @@ Friends

    -

    Definition at line 1343 of file linear_solver.h.

    +

    Definition at line 1361 of file linear_solver.h.

    @@ -512,7 +513,7 @@ Friends

    -

    Definition at line 1324 of file linear_solver.h.

    +

    Definition at line 1342 of file linear_solver.h.

    @@ -741,7 +742,7 @@ Friends

    -

    Definition at line 1316 of file linear_solver.h.

    +

    Definition at line 1334 of file linear_solver.h.

    @@ -765,7 +766,7 @@ Friends

    -

    Definition at line 1317 of file linear_solver.h.

    +

    Definition at line 1335 of file linear_solver.h.

    @@ -789,7 +790,7 @@ Friends

    -

    Definition at line 1322 of file linear_solver.h.

    +

    Definition at line 1340 of file linear_solver.h.

    @@ -813,7 +814,7 @@ Friends

    -

    Definition at line 1323 of file linear_solver.h.

    +

    Definition at line 1341 of file linear_solver.h.

    @@ -837,7 +838,7 @@ Friends

    -

    Definition at line 1318 of file linear_solver.h.

    +

    Definition at line 1336 of file linear_solver.h.

    @@ -861,7 +862,7 @@ Friends

    -

    Definition at line 1321 of file linear_solver.h.

    +

    Definition at line 1339 of file linear_solver.h.

    @@ -885,7 +886,7 @@ Friends

    -

    Definition at line 1326 of file linear_solver.h.

    +

    Definition at line 1344 of file linear_solver.h.

    @@ -909,7 +910,7 @@ Friends

    -

    Definition at line 1314 of file linear_solver.h.

    +

    Definition at line 1332 of file linear_solver.h.

    @@ -933,7 +934,7 @@ Friends

    -

    Definition at line 1315 of file linear_solver.h.

    +

    Definition at line 1333 of file linear_solver.h.

    @@ -957,7 +958,7 @@ Friends

    -

    Definition at line 1325 of file linear_solver.h.

    +

    Definition at line 1343 of file linear_solver.h.

    @@ -981,7 +982,7 @@ Friends

    -

    Definition at line 1319 of file linear_solver.h.

    +

    Definition at line 1337 of file linear_solver.h.

    @@ -1005,7 +1006,7 @@ Friends

    -

    Definition at line 1320 of file linear_solver.h.

    +

    Definition at line 1338 of file linear_solver.h.

    diff --git a/docs/cpp_linear/classoperations__research_1_1MPConstraintProto-members.html b/docs/cpp_linear/classoperations__research_1_1MPConstraintProto-members.html index 97dbcd8b67..90847d60cc 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPConstraintProto-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPConstraintProto-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPConstraintProto.html b/docs/cpp_linear/classoperations__research_1_1MPConstraintProto.html index 3634d0cee7..0ec9599443 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPConstraintProto.html +++ b/docs/cpp_linear/classoperations__research_1_1MPConstraintProto.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPGeneralConstraintProto-members.html b/docs/cpp_linear/classoperations__research_1_1MPGeneralConstraintProto-members.html index 765a0b8512..8f4f25d567 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPGeneralConstraintProto-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPGeneralConstraintProto-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPGeneralConstraintProto.html b/docs/cpp_linear/classoperations__research_1_1MPGeneralConstraintProto.html index a786db7b4e..386852e20f 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPGeneralConstraintProto.html +++ b/docs/cpp_linear/classoperations__research_1_1MPGeneralConstraintProto.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPIndicatorConstraint-members.html b/docs/cpp_linear/classoperations__research_1_1MPIndicatorConstraint-members.html index bffc963172..fc121121fc 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPIndicatorConstraint-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPIndicatorConstraint-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPIndicatorConstraint.html b/docs/cpp_linear/classoperations__research_1_1MPIndicatorConstraint.html index 4ca21b1e8f..6b569fbe11 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPIndicatorConstraint.html +++ b/docs/cpp_linear/classoperations__research_1_1MPIndicatorConstraint.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPModelProto-members.html b/docs/cpp_linear/classoperations__research_1_1MPModelProto-members.html index cd3d909227..7ea981947d 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPModelProto-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPModelProto-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPModelProto.html b/docs/cpp_linear/classoperations__research_1_1MPModelProto.html index 8efa031df9..74a2a69e28 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPModelProto.html +++ b/docs/cpp_linear/classoperations__research_1_1MPModelProto.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPModelRequest-members.html b/docs/cpp_linear/classoperations__research_1_1MPModelRequest-members.html index 522bed6dd1..6d8eb018b6 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPModelRequest-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPModelRequest-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPModelRequest.html b/docs/cpp_linear/classoperations__research_1_1MPModelRequest.html index 84b3df8a11..965a4aba86 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPModelRequest.html +++ b/docs/cpp_linear/classoperations__research_1_1MPModelRequest.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPObjective-members.html b/docs/cpp_linear/classoperations__research_1_1MPObjective-members.html index 5b8283151e..892ad30b24 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPObjective-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPObjective-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -78,7 +79,7 @@ $(document).ready(function(){initNavTree('classoperations__research_1_1MPObjecti

    SetOffset(double value)operations_research::MPObjective
    SetOptimizationDirection(bool maximize)operations_research::MPObjective
    SLMInterface classoperations_research::MPObjectivefriend
    terms() constoperations_research::MPObjectiveinline
    terms() constoperations_research::MPObjectiveinline
    Value() constoperations_research::MPObjective
    diff --git a/docs/cpp_linear/classoperations__research_1_1MPObjective.html b/docs/cpp_linear/classoperations__research_1_1MPObjective.html index e17041cad4..32623201ec 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPObjective.html +++ b/docs/cpp_linear/classoperations__research_1_1MPObjective.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -54,7 +55,7 @@ $(document).ready(function(){initNavTree('classoperations__research_1_1MPObjecti

    Detailed Description

    A class to express a linear objective.

    -

    Definition at line 919 of file linear_solver.h.

    +

    Definition at line 935 of file linear_solver.h.

    @@ -67,25 +68,25 @@ Public Member Functions - - - + + + - + - + - + - + @@ -149,7 +150,7 @@ Friends - + @@ -251,7 +252,7 @@ Friends - + @@ -265,7 +266,7 @@ Friends

    Resets the current objective to maximize linear_expr.

    -

    Definition at line 970 of file linear_solver.h.

    +

    Definition at line 986 of file linear_solver.h.

    @@ -300,7 +301,7 @@ Friends - + @@ -314,7 +315,7 @@ Friends

    Resets the current objective to minimize linear_expr.

    -

    Definition at line 976 of file linear_solver.h.

    +

    Definition at line 992 of file linear_solver.h.

    @@ -343,7 +344,7 @@ Friends

    Gets the constant term in the objective.

    -

    Definition at line 959 of file linear_solver.h.

    +

    Definition at line 975 of file linear_solver.h.

    @@ -356,7 +357,7 @@ Friends - + @@ -433,7 +434,7 @@ Friends

    Sets the optimization direction to maximize.

    -

    Definition at line 998 of file linear_solver.h.

    +

    Definition at line 1014 of file linear_solver.h.

    @@ -462,7 +463,7 @@ Friends

    Sets the optimization direction to minimize.

    -

    Definition at line 993 of file linear_solver.h.

    +

    Definition at line 1009 of file linear_solver.h.

    @@ -506,8 +507,8 @@ Friends - -

    ◆ terms()

    + +

    ◆ terms()

    @@ -516,7 +517,7 @@ Friends

    Public Member Functions

    double GetCoefficient (const MPVariable *const var) const
     Gets the coefficient of a given variable in the objective. More...
     
    const absl::flat_hash_map< const MPVariable *, double > & terms () const
     Returns a map from variables to their coefficients in the objective. More...
     
    const absl::flat_hash_map< const MPVariable *, double > & terms () const
     Returns a map from variables to their coefficients in the objective. More...
     
    void SetOffset (double value)
     Sets the constant term in the objective. More...
     
    double offset () const
     Gets the constant term in the objective. More...
     
    void OptimizeLinearExpr (const LinearExpr &linear_expr, bool is_maximization)
    void OptimizeLinearExpr (const LinearExpr &linear_expr, bool is_maximization)
     Resets the current objective to take the value of linear_expr, and sets the objective direction to maximize if "is_maximize", otherwise minimizes. More...
     
    void MaximizeLinearExpr (const LinearExpr &linear_expr)
    void MaximizeLinearExpr (const LinearExpr &linear_expr)
     Resets the current objective to maximize linear_expr. More...
     
    void MinimizeLinearExpr (const LinearExpr &linear_expr)
    void MinimizeLinearExpr (const LinearExpr &linear_expr)
     Resets the current objective to minimize linear_expr. More...
     
    void AddLinearExpr (const LinearExpr &linear_expr)
    void AddLinearExpr (const LinearExpr &linear_expr)
     Adds linear_expr to the current objective, does not change the direction. More...
     
    void SetOptimizationDirection (bool maximize)
    void operations_research::MPObjective::AddLinearExpr (const LinearExpr & const LinearExpr linear_expr)
    void operations_research::MPObjective::MaximizeLinearExpr (const LinearExpr & const LinearExpr linear_expr)
    void operations_research::MPObjective::MinimizeLinearExpr (const LinearExpr & const LinearExpr linear_expr)
    void operations_research::MPObjective::OptimizeLinearExpr (const LinearExpr & const LinearExpr linear_expr,
    - + @@ -532,7 +533,7 @@ Friends

    Returns a map from variables to their coefficients in the objective.

    If a variable is not present in the map, then its coefficient is zero.

    -

    Definition at line 947 of file linear_solver.h.

    +

    Definition at line 963 of file linear_solver.h.

    @@ -578,7 +579,7 @@ Friends
    const absl::flat_hash_map<const MPVariable *, double>& operations_research::MPObjective::terms const absl::flat_hash_map<const MPVariable*, double>& operations_research::MPObjective::terms ( ) const
    -

    Definition at line 1041 of file linear_solver.h.

    +

    Definition at line 1057 of file linear_solver.h.

    @@ -602,7 +603,7 @@ Friends
    -

    Definition at line 1033 of file linear_solver.h.

    +

    Definition at line 1049 of file linear_solver.h.

    @@ -626,7 +627,7 @@ Friends
    -

    Definition at line 1034 of file linear_solver.h.

    +

    Definition at line 1050 of file linear_solver.h.

    @@ -650,7 +651,7 @@ Friends

    -

    Definition at line 1039 of file linear_solver.h.

    +

    Definition at line 1055 of file linear_solver.h.

    @@ -674,7 +675,7 @@ Friends

    -

    Definition at line 1040 of file linear_solver.h.

    +

    Definition at line 1056 of file linear_solver.h.

    @@ -698,7 +699,7 @@ Friends

    -

    Definition at line 1035 of file linear_solver.h.

    +

    Definition at line 1051 of file linear_solver.h.

    @@ -722,7 +723,7 @@ Friends

    -

    Definition at line 1038 of file linear_solver.h.

    +

    Definition at line 1054 of file linear_solver.h.

    @@ -746,7 +747,7 @@ Friends

    -

    Definition at line 1043 of file linear_solver.h.

    +

    Definition at line 1059 of file linear_solver.h.

    @@ -770,7 +771,7 @@ Friends

    -

    Definition at line 1031 of file linear_solver.h.

    +

    Definition at line 1047 of file linear_solver.h.

    @@ -794,7 +795,7 @@ Friends

    -

    Definition at line 1032 of file linear_solver.h.

    +

    Definition at line 1048 of file linear_solver.h.

    @@ -818,7 +819,7 @@ Friends

    -

    Definition at line 1042 of file linear_solver.h.

    +

    Definition at line 1058 of file linear_solver.h.

    @@ -842,7 +843,7 @@ Friends
    -

    Definition at line 1036 of file linear_solver.h.

    +

    Definition at line 1052 of file linear_solver.h.

    @@ -866,7 +867,7 @@ Friends
    -

    Definition at line 1037 of file linear_solver.h.

    +

    Definition at line 1053 of file linear_solver.h.

    diff --git a/docs/cpp_linear/classoperations__research_1_1MPObjective.js b/docs/cpp_linear/classoperations__research_1_1MPObjective.js index 3c0341a015..3f20b11f05 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPObjective.js +++ b/docs/cpp_linear/classoperations__research_1_1MPObjective.js @@ -15,7 +15,7 @@ var classoperations__research_1_1MPObjective = [ "SetMinimization", "classoperations__research_1_1MPObjective.html#af9eea25e667a52dcad270495025e1202", null ], [ "SetOffset", "classoperations__research_1_1MPObjective.html#a24611f7b12b571fe1e73b629a8a6c17b", null ], [ "SetOptimizationDirection", "classoperations__research_1_1MPObjective.html#add0f9517dc64b1f768952fc490f7be00", null ], - [ "terms", "classoperations__research_1_1MPObjective.html#ae1f99be84ce9efa28b4c1050af954835", null ], + [ "terms", "classoperations__research_1_1MPObjective.html#abb79604f28fb7ddada23f4df67e28e32", null ], [ "Value", "classoperations__research_1_1MPObjective.html#a43fd3a9687cfef2591b22c96cbe02477", null ], [ "BopInterface", "classoperations__research_1_1MPObjective.html#a7383308e6b9b63b18196798db342ce8a", null ], [ "CBCInterface", "classoperations__research_1_1MPObjective.html#af5a7cf0c655f37c0b388a2ddcf32ac3e", null ], diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolutionResponse-members.html b/docs/cpp_linear/classoperations__research_1_1MPSolutionResponse-members.html index 03c5c00b9c..391a10b26d 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolutionResponse-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolutionResponse-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolutionResponse.html b/docs/cpp_linear/classoperations__research_1_1MPSolutionResponse.html index f5ecafedba..b1c6b27373 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolutionResponse.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolutionResponse.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolver-members.html b/docs/cpp_linear/classoperations__research_1_1MPSolver-members.html index ef2aee5a0f..64f2754c89 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolver-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolver-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolver.html b/docs/cpp_linear/classoperations__research_1_1MPSolver.html index ecf2eb0afa..e8fa0ac0e8 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolver.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolver.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -168,10 +169,10 @@ Public Member Functions MPConstraintMakeRowConstraint (const std::string &name)  Creates a named constraint with -infinity and +infinity bounds. More...
      -MPConstraintMakeRowConstraint (const LinearRange &range) +MPConstraintMakeRowConstraint (const LinearRange &range)  Creates a constraint owned by MPSolver enforcing: range.lower_bound() <= range.linear_expr() <= range.upper_bound() More...
      -MPConstraintMakeRowConstraint (const LinearRange &range, const std::string &name) +MPConstraintMakeRowConstraint (const LinearRange &range, const std::string &name)  As above, but also names the constraint. More...
      const MPObjectiveObjective () const @@ -349,7 +350,7 @@ Friends BASIC  -

    Definition at line 654 of file linear_solver.h.

    +

    Definition at line 670 of file linear_solver.h.

    @@ -373,7 +374,6 @@ Friends GLOP_LINEAR_PROGRAMMING 

    Linear Programming solver using GLOP (Recommended solver).

    SCIP_MIXED_INTEGER_PROGRAMMING 

    Mixed integer Programming Solver using SCIP.

    -

    (Recommended for problems with continous variables)

    CBC_MIXED_INTEGER_PROGRAMMING 

    Mixed integer Programming Solver using Coin CBC.

    @@ -416,7 +416,7 @@ Friends -

    Definition at line 431 of file linear_solver.h.

    +

    Definition at line 430 of file linear_solver.h.

    @@ -590,7 +590,7 @@ Friends

    Returns the array of constraints handled by the MPSolver.

    They are listed in the order in which they were created.

    -

    Definition at line 363 of file linear_solver.h.

    +

    Definition at line 362 of file linear_solver.h.

    @@ -617,7 +617,7 @@ Friends
    -

    Definition at line 704 of file linear_solver.h.

    +

    Definition at line 720 of file linear_solver.h.

    @@ -770,7 +770,7 @@ Friends

    Returns the number of threads to be used during solve.

    -

    Definition at line 618 of file linear_solver.h.

    +

    Definition at line 617 of file linear_solver.h.

    @@ -797,7 +797,7 @@ Friends
    -

    Definition at line 631 of file linear_solver.h.

    +

    Definition at line 630 of file linear_solver.h.

    @@ -827,7 +827,7 @@ Friends

    Infinity.

    You can use -MPSolver::infinity() for negative infinity.

    -

    Definition at line 682 of file linear_solver.h.

    +

    Definition at line 698 of file linear_solver.h.

    @@ -977,7 +977,7 @@ Friends

    Load a solution encoded in a protocol buffer onto this solver for easy access via the MPSolver interface.

    IMPORTANT: This may only be used in conjunction with ExportModel(), following this example:

    -
    MPSolver my_solver;
    ... add variables and constraints ...
    MPModelProto model_proto;
    my_solver.ExportModelToProto(&model_proto);
    MPSolutionResponse solver_response;
    // This can be replaced by a stubby call to the linear solver server.
    MPSolver::SolveWithProto(model_proto, &solver_response);
    if (solver_response.result_status() == MPSolutionResponse::OPTIMAL) {
    CHECK_OK(my_solver.LoadSolutionFromProto(solver_response));
    ... inspect the solution using the usual API: solution_value(), etc...
    }

    The response must be in OPTIMAL or FEASIBLE status.

    +
    MPSolver my_solver;
    ... add variables and constraints ...
    MPModelProto model_proto;
    my_solver.ExportModelToProto(&model_proto);
    MPSolutionResponse solver_response;
    MPSolver::SolveWithProto(model_proto, &solver_response);
    if (solver_response.result_status() == MPSolutionResponse::OPTIMAL) {
    CHECK_OK(my_solver.LoadSolutionFromProto(solver_response));
    ... inspect the solution using the usual API: solution_value(), etc...
    }

    The response must be in OPTIMAL or FEASIBLE status.

    Returns a non-OK status if a problem arised (typically, if it wasn't used like it should be):

    diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolverCommonParameters.html b/docs/cpp_linear/classoperations__research_1_1MPSolverCommonParameters.html index 097cf8d871..d2c63b02ea 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolverCommonParameters.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolverCommonParameters.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolverInterface-members.html b/docs/cpp_linear/classoperations__research_1_1MPSolverInterface-members.html index 6ec52d5519..16d7807f50 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolverInterface-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolverInterface-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolverInterface.html b/docs/cpp_linear/classoperations__research_1_1MPSolverInterface.html index f3f4055cfb..8288c2a0aa 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolverInterface.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolverInterface.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -58,7 +59,7 @@ $(document).ready(function(){initNavTree('classoperations__research_1_1MPSolverI

    Detailed Description

    -

    Definition at line 1592 of file linear_solver.h.

    +

    Definition at line 1608 of file linear_solver.h.

    @@ -270,7 +271,7 @@ Friends

    Public Types

    SOLUTION_SYNCHRONIZED 
    -

    Definition at line 1594 of file linear_solver.h.

    +

    Definition at line 1610 of file linear_solver.h.

    @@ -351,7 +352,7 @@ Friends
    -

    Definition at line 1649 of file linear_solver.h.

    +

    Definition at line 1665 of file linear_solver.h.

    @@ -456,7 +457,7 @@ Friends
    -

    Definition at line 1675 of file linear_solver.h.

    +

    Definition at line 1691 of file linear_solver.h.

    @@ -550,7 +551,7 @@ Friends
    -

    Definition at line 1705 of file linear_solver.h.

    +

    Definition at line 1721 of file linear_solver.h.

    @@ -680,7 +681,7 @@ Friends
    -

    Definition at line 1734 of file linear_solver.h.

    +

    Definition at line 1750 of file linear_solver.h.

    @@ -807,7 +808,7 @@ Friends
    -

    Definition at line 1769 of file linear_solver.h.

    +

    Definition at line 1785 of file linear_solver.h.

    @@ -959,7 +960,7 @@ Friends
    -

    Definition at line 1726 of file linear_solver.h.

    +

    Definition at line 1742 of file linear_solver.h.

    @@ -986,7 +987,7 @@ Friends
    -

    Definition at line 1772 of file linear_solver.h.

    +

    Definition at line 1788 of file linear_solver.h.

    @@ -1055,7 +1056,7 @@ Friends
    -

    Definition at line 1742 of file linear_solver.h.

    +

    Definition at line 1758 of file linear_solver.h.

    @@ -1158,7 +1159,7 @@ Friends
    -

    Definition at line 1747 of file linear_solver.h.

    +

    Definition at line 1763 of file linear_solver.h.

    @@ -1222,7 +1223,7 @@ Friends
    -

    Definition at line 1737 of file linear_solver.h.

    +

    Definition at line 1753 of file linear_solver.h.

    @@ -1250,7 +1251,7 @@ Friends
    -

    Definition at line 1744 of file linear_solver.h.

    +

    Definition at line 1760 of file linear_solver.h.

    @@ -1288,7 +1289,7 @@ Friends
    -

    Definition at line 1731 of file linear_solver.h.

    +

    Definition at line 1747 of file linear_solver.h.

    @@ -1862,7 +1863,7 @@ Friends
    -

    Definition at line 1763 of file linear_solver.h.

    +

    Definition at line 1779 of file linear_solver.h.

    @@ -2138,7 +2139,7 @@ Friends
    -

    Definition at line 1728 of file linear_solver.h.

    +

    Definition at line 1744 of file linear_solver.h.

    @@ -2189,7 +2190,7 @@ Friends
    -

    Definition at line 1777 of file linear_solver.h.

    +

    Definition at line 1793 of file linear_solver.h.

    @@ -2213,7 +2214,7 @@ Friends
    -

    Definition at line 1778 of file linear_solver.h.

    +

    Definition at line 1794 of file linear_solver.h.

    @@ -2237,7 +2238,7 @@ Friends
    -

    Definition at line 1774 of file linear_solver.h.

    +

    Definition at line 1790 of file linear_solver.h.

    @@ -2262,7 +2263,7 @@ Friends
    -

    Definition at line 1803 of file linear_solver.h.

    +

    Definition at line 1819 of file linear_solver.h.

    @@ -2286,7 +2287,7 @@ Friends
    -

    Definition at line 1609 of file linear_solver.h.

    +

    Definition at line 1625 of file linear_solver.h.

    @@ -2310,7 +2311,7 @@ Friends
    -

    Definition at line 1612 of file linear_solver.h.

    +

    Definition at line 1628 of file linear_solver.h.

    @@ -2334,7 +2335,7 @@ Friends
    -

    Definition at line 1791 of file linear_solver.h.

    +

    Definition at line 1807 of file linear_solver.h.

    @@ -2358,7 +2359,7 @@ Friends
    -

    Definition at line 1793 of file linear_solver.h.

    +

    Definition at line 1809 of file linear_solver.h.

    @@ -2382,7 +2383,7 @@ Friends
    -

    Definition at line 1788 of file linear_solver.h.

    +

    Definition at line 1804 of file linear_solver.h.

    @@ -2406,7 +2407,7 @@ Friends
    -

    Definition at line 1796 of file linear_solver.h.

    +

    Definition at line 1812 of file linear_solver.h.

    @@ -2430,7 +2431,7 @@ Friends
    -

    Definition at line 1799 of file linear_solver.h.

    +

    Definition at line 1815 of file linear_solver.h.

    @@ -2454,7 +2455,7 @@ Friends
    -

    Definition at line 1786 of file linear_solver.h.

    +

    Definition at line 1802 of file linear_solver.h.

    @@ -2478,7 +2479,7 @@ Friends
    -

    Definition at line 1781 of file linear_solver.h.

    +

    Definition at line 1797 of file linear_solver.h.

    @@ -2502,7 +2503,7 @@ Friends
    -

    Definition at line 1783 of file linear_solver.h.

    +

    Definition at line 1799 of file linear_solver.h.

    diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolverParameters-members.html b/docs/cpp_linear/classoperations__research_1_1MPSolverParameters-members.html index 3f4408ae84..f3aae05bc9 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolverParameters-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolverParameters-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPSolverParameters.html b/docs/cpp_linear/classoperations__research_1_1MPSolverParameters.html index 77e6db78d7..0981754709 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSolverParameters.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSolverParameters.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -65,7 +66,7 @@ $(document).ready(function(){initNavTree('classoperations__research_1_1MPSolverP

    TODO(user): store the parameter values in a protocol buffer instead. We need to figure out how to deal with the subtleties of the default values.

    -

    Definition at line 1405 of file linear_solver.h.

    +

    Definition at line 1423 of file linear_solver.h.

    @@ -173,14 +174,14 @@ Static Public Attributes

    Public Types

    Enumerator
    RELATIVE_MIP_GAP 

    Limit for relative MIP gap.

    PRIMAL_TOLERANCE 

    Advanced usage: tolerance for primal feasibility of basic solutions.

    -
     This does not control the integer feasibility tolerance of integer
    - solutions for MIP or the tolerance used during presolve.
    +
    This does not control the integer feasibility tolerance of integer
    +solutions for MIP or the tolerance used during presolve.
     
    DUAL_TOLERANCE 

    Advanced usage: tolerance for dual feasibility of basic solutions.

    -

    Definition at line 1410 of file linear_solver.h.

    +

    Definition at line 1428 of file linear_solver.h.

    @@ -204,7 +205,7 @@ Static Public Attributes -

    Definition at line 1470 of file linear_solver.h.

    +

    Definition at line 1488 of file linear_solver.h.

    @@ -232,7 +233,7 @@ Static Public Attributes -

    Definition at line 1431 of file linear_solver.h.

    +

    Definition at line 1449 of file linear_solver.h.

    @@ -255,7 +256,7 @@ Static Public Attributes BARRIER  -

    Definition at line 1461 of file linear_solver.h.

    +

    Definition at line 1479 of file linear_solver.h.

    @@ -277,7 +278,7 @@ Static Public Attributes PRESOLVE_ON  -

    Definition at line 1453 of file linear_solver.h.

    +

    Definition at line 1471 of file linear_solver.h.

    @@ -301,7 +302,7 @@ Static Public Attributes -

    Definition at line 1486 of file linear_solver.h.

    +

    Definition at line 1504 of file linear_solver.h.

    @@ -506,7 +507,7 @@ Static Public Attributes
    -

    Definition at line 1496 of file linear_solver.h.

    +

    Definition at line 1514 of file linear_solver.h.

    @@ -530,7 +531,7 @@ Static Public Attributes
    -

    Definition at line 1514 of file linear_solver.h.

    +

    Definition at line 1532 of file linear_solver.h.

    @@ -554,7 +555,7 @@ Static Public Attributes
    -

    Definition at line 1516 of file linear_solver.h.

    +

    Definition at line 1534 of file linear_solver.h.

    @@ -578,7 +579,7 @@ Static Public Attributes
    -

    Definition at line 1497 of file linear_solver.h.

    +

    Definition at line 1515 of file linear_solver.h.

    @@ -602,7 +603,7 @@ Static Public Attributes
    -

    Definition at line 1515 of file linear_solver.h.

    +

    Definition at line 1533 of file linear_solver.h.

    @@ -626,7 +627,7 @@ Static Public Attributes
    -

    Definition at line 1513 of file linear_solver.h.

    +

    Definition at line 1531 of file linear_solver.h.

    @@ -650,7 +651,7 @@ Static Public Attributes
    -

    Definition at line 1512 of file linear_solver.h.

    +

    Definition at line 1530 of file linear_solver.h.

    @@ -674,7 +675,7 @@ Static Public Attributes
    -

    Definition at line 1502 of file linear_solver.h.

    +

    Definition at line 1520 of file linear_solver.h.

    @@ -698,7 +699,7 @@ Static Public Attributes
    -

    Definition at line 1503 of file linear_solver.h.

    +

    Definition at line 1521 of file linear_solver.h.

    diff --git a/docs/cpp_linear/classoperations__research_1_1MPSosConstraint-members.html b/docs/cpp_linear/classoperations__research_1_1MPSosConstraint-members.html index 7d8f3d59c5..5db8528a1a 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSosConstraint-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSosConstraint-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPSosConstraint.html b/docs/cpp_linear/classoperations__research_1_1MPSosConstraint.html index d48594cf18..7171a784e4 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPSosConstraint.html +++ b/docs/cpp_linear/classoperations__research_1_1MPSosConstraint.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPVariable-members.html b/docs/cpp_linear/classoperations__research_1_1MPVariable-members.html index 543b62ee2a..f17d6177b4 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPVariable-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPVariable-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPVariable.html b/docs/cpp_linear/classoperations__research_1_1MPVariable.html index 073fbb65b6..fc7e3b0e62 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPVariable.html +++ b/docs/cpp_linear/classoperations__research_1_1MPVariable.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • @@ -55,7 +56,7 @@ $(document).ready(function(){initNavTree('classoperations__research_1_1MPVariabl

    Detailed Description

    The class for variables of a Mathematical Programming (MP) model.

    -

    Definition at line 1066 of file linear_solver.h.

    +

    Definition at line 1082 of file linear_solver.h.

    @@ -203,7 +204,7 @@ Friends

    Public Member Functions

    -

    Definition at line 1174 of file linear_solver.h.

    +

    Definition at line 1191 of file linear_solver.h.

    @@ -255,7 +256,7 @@ Friends

    Gurobi or SCIP) allow you to set a per-variable priority for determining which variable to branch on.

    A value of 0 is treated as default, and is equivalent to not setting the branching priority. The solver looks first to branch on fractional variables in higher priority levels. As of 2019-05, only Gurobi and SCIP support setting branching priority; all other solvers will simply ignore this annotation.

    -

    Definition at line 1152 of file linear_solver.h.

    +

    Definition at line 1169 of file linear_solver.h.

    @@ -284,7 +285,7 @@ Friends

    Returns the index of the variable in the MPSolver::variables_.

    -

    Definition at line 1095 of file linear_solver.h.

    +

    Definition at line 1111 of file linear_solver.h.

    @@ -313,7 +314,7 @@ Friends

    Returns the integrality requirement of the variable.

    -

    Definition at line 1081 of file linear_solver.h.

    +

    Definition at line 1097 of file linear_solver.h.

    @@ -342,7 +343,7 @@ Friends

    Returns the lower bound.

    -

    Definition at line 1100 of file linear_solver.h.

    +

    Definition at line 1116 of file linear_solver.h.

    @@ -371,7 +372,7 @@ Friends

    Returns the name of the variable.

    -

    Definition at line 1071 of file linear_solver.h.

    +

    Definition at line 1087 of file linear_solver.h.

    @@ -418,7 +419,7 @@ Friends
    -

    Definition at line 1186 of file linear_solver.h.

    +

    Definition at line 1203 of file linear_solver.h.

    @@ -446,7 +447,7 @@ Friends
    -

    Definition at line 1185 of file linear_solver.h.

    +

    Definition at line 1202 of file linear_solver.h.

    @@ -544,7 +545,7 @@ Friends

    Sets the lower bound.

    -

    Definition at line 1110 of file linear_solver.h.

    +

    Definition at line 1126 of file linear_solver.h.

    @@ -574,7 +575,7 @@ Friends

    Sets the upper bound.

    -

    Definition at line 1114 of file linear_solver.h.

    +

    Definition at line 1130 of file linear_solver.h.

    @@ -623,7 +624,7 @@ Friends

    Returns the upper bound.

    -

    Definition at line 1105 of file linear_solver.h.

    +

    Definition at line 1121 of file linear_solver.h.

    @@ -668,7 +669,7 @@ Friends
    -

    Definition at line 1167 of file linear_solver.h.

    +

    Definition at line 1184 of file linear_solver.h.

    @@ -692,7 +693,7 @@ Friends
    -

    Definition at line 1158 of file linear_solver.h.

    +

    Definition at line 1175 of file linear_solver.h.

    @@ -716,7 +717,7 @@ Friends
    -

    Definition at line 1159 of file linear_solver.h.

    +

    Definition at line 1176 of file linear_solver.h.

    @@ -740,7 +741,7 @@ Friends
    -

    Definition at line 1164 of file linear_solver.h.

    +

    Definition at line 1181 of file linear_solver.h.

    @@ -764,7 +765,7 @@ Friends
    -

    Definition at line 1165 of file linear_solver.h.

    +

    Definition at line 1182 of file linear_solver.h.

    @@ -788,7 +789,7 @@ Friends
    -

    Definition at line 1160 of file linear_solver.h.

    +

    Definition at line 1177 of file linear_solver.h.

    @@ -812,7 +813,7 @@ Friends
    -

    Definition at line 1163 of file linear_solver.h.

    +

    Definition at line 1180 of file linear_solver.h.

    @@ -836,7 +837,7 @@ Friends
    -

    Definition at line 1169 of file linear_solver.h.

    +

    Definition at line 1186 of file linear_solver.h.

    @@ -860,7 +861,7 @@ Friends
    -

    Definition at line 1156 of file linear_solver.h.

    +

    Definition at line 1173 of file linear_solver.h.

    @@ -884,7 +885,7 @@ Friends
    -

    Definition at line 1157 of file linear_solver.h.

    +

    Definition at line 1174 of file linear_solver.h.

    @@ -908,7 +909,7 @@ Friends
    -

    Definition at line 1166 of file linear_solver.h.

    +

    Definition at line 1183 of file linear_solver.h.

    @@ -932,7 +933,7 @@ Friends
    -

    Definition at line 1168 of file linear_solver.h.

    +

    Definition at line 1185 of file linear_solver.h.

    @@ -956,7 +957,7 @@ Friends
    -

    Definition at line 1161 of file linear_solver.h.

    +

    Definition at line 1178 of file linear_solver.h.

    @@ -980,7 +981,7 @@ Friends
    -

    Definition at line 1162 of file linear_solver.h.

    +

    Definition at line 1179 of file linear_solver.h.

    diff --git a/docs/cpp_linear/classoperations__research_1_1MPVariableProto-members.html b/docs/cpp_linear/classoperations__research_1_1MPVariableProto-members.html index 5c5f2bc441..001ff02497 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPVariableProto-members.html +++ b/docs/cpp_linear/classoperations__research_1_1MPVariableProto-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1MPVariableProto.html b/docs/cpp_linear/classoperations__research_1_1MPVariableProto.html index 97ee4392b1..cf57f6dcbf 100644 --- a/docs/cpp_linear/classoperations__research_1_1MPVariableProto.html +++ b/docs/cpp_linear/classoperations__research_1_1MPVariableProto.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1OptionalDouble-members.html b/docs/cpp_linear/classoperations__research_1_1OptionalDouble-members.html index d6e67d74d6..76d8269226 100644 --- a/docs/cpp_linear/classoperations__research_1_1OptionalDouble-members.html +++ b/docs/cpp_linear/classoperations__research_1_1OptionalDouble-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1OptionalDouble.html b/docs/cpp_linear/classoperations__research_1_1OptionalDouble.html index 502f57a01f..462d298342 100644 --- a/docs/cpp_linear/classoperations__research_1_1OptionalDouble.html +++ b/docs/cpp_linear/classoperations__research_1_1OptionalDouble.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1PartialVariableAssignment-members.html b/docs/cpp_linear/classoperations__research_1_1PartialVariableAssignment-members.html index 9f01d7fbb2..134536f1e5 100644 --- a/docs/cpp_linear/classoperations__research_1_1PartialVariableAssignment-members.html +++ b/docs/cpp_linear/classoperations__research_1_1PartialVariableAssignment-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/classoperations__research_1_1PartialVariableAssignment.html b/docs/cpp_linear/classoperations__research_1_1PartialVariableAssignment.html index 8e36fa9ef7..b820ebd3f0 100644 --- a/docs/cpp_linear/classoperations__research_1_1PartialVariableAssignment.html +++ b/docs/cpp_linear/classoperations__research_1_1PartialVariableAssignment.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/dir_439b336f32246b516129ac6c6155dd92.html b/docs/cpp_linear/dir_439b336f32246b516129ac6c6155dd92.html index b38124a35a..aa08707a44 100644 --- a/docs/cpp_linear/dir_439b336f32246b516129ac6c6155dd92.html +++ b/docs/cpp_linear/dir_439b336f32246b516129ac6c6155dd92.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_linear/dir_4d3a5a688e4550f3d7725aaa5ab9c27b.html b/docs/cpp_linear/dir_4d3a5a688e4550f3d7725aaa5ab9c27b.html index ebdb189538..46636ad1cc 100644 --- a/docs/cpp_linear/dir_4d3a5a688e4550f3d7725aaa5ab9c27b.html +++ b/docs/cpp_linear/dir_4d3a5a688e4550f3d7725aaa5ab9c27b.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -56,7 +51,11 @@ $(document).ready(function(){initNavTree('dir_4d3a5a688e4550f3d7725aaa5ab9c27b.h + + + + diff --git a/docs/cpp_linear/dir_a7cc1eeded8f693d0da6c729bc88c45a.html b/docs/cpp_linear/dir_a7cc1eeded8f693d0da6c729bc88c45a.html index 50cfd13a7a..279a642a0d 100644 --- a/docs/cpp_linear/dir_a7cc1eeded8f693d0da6c729bc88c45a.html +++ b/docs/cpp_linear/dir_a7cc1eeded8f693d0da6c729bc88c45a.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_linear/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html b/docs/cpp_linear/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html index fb00a86d3d..063efeed63 100644 --- a/docs/cpp_linear/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html +++ b/docs/cpp_linear/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_linear/dir_dd9e6105f85b4b8d1432afc92516bdf4.html b/docs/cpp_linear/dir_dd9e6105f85b4b8d1432afc92516bdf4.html index 7786e5f846..9e2fae3804 100644 --- a/docs/cpp_linear/dir_dd9e6105f85b4b8d1432afc92516bdf4.html +++ b/docs/cpp_linear/dir_dd9e6105f85b4b8d1432afc92516bdf4.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_linear/files.html b/docs/cpp_linear/files.html index 33db99c152..d537455c8c 100644 --- a/docs/cpp_linear/files.html +++ b/docs/cpp_linear/files.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -55,11 +50,12 @@ $(document).ready(function(){initNavTree('files.html','');});
    Here is a list of all files with brief descriptions:

    Files

    file  linear_expr.h [code]
     This file allows you to write natural code (like a mathematical equation) to model optimization problems with MPSolver.
     
    file  linear_solver.h [code]
     A C++ wrapper that provides a simple and unified interface to several linear programming and mixed integer programming solvers: GLOP, GLPK, CLP, CBC, and SCIP.
     
    file  model_exporter.h [code]
     
    - - - - - + + + + + +
     linear_solver.h
     linear_solver.pb.h
     model_exporter.h
     model_exporter_swig_helper.h
     model_validator.h
     linear_expr.hThis file allows you to write natural code (like a mathematical equation) to model optimization problems with MPSolver
     linear_solver.hA C++ wrapper that provides a simple and unified interface to several linear programming and mixed integer programming solvers: GLOP, GLPK, CLP, CBC, and SCIP
     linear_solver.pb.h
     model_exporter.h
     model_exporter_swig_helper.h
     model_validator.h
    diff --git a/docs/cpp_linear/files.js b/docs/cpp_linear/files.js index 5916d1ebf8..bc1aeb85fd 100644 --- a/docs/cpp_linear/files.js +++ b/docs/cpp_linear/files.js @@ -1,5 +1,6 @@ var files = [ + [ "linear_expr.h", "linear__expr_8h.html", "linear__expr_8h" ], [ "linear_solver.h", "linear__solver_8h.html", "linear__solver_8h" ], [ "linear_solver.pb.h", "linear__solver_8pb_8h.html", "linear__solver_8pb_8h" ], [ "model_exporter.h", "model__exporter_8h.html", "model__exporter_8h" ], diff --git a/docs/cpp_linear/functions.html b/docs/cpp_linear/functions.html index 64353bed15..3237617245 100644 --- a/docs/cpp_linear/functions.html +++ b/docs/cpp_linear/functions.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • - - - - @@ -49,31 +50,33 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
    This inheritance list is sorted roughly, but not completely, alphabetically:
    [detail level 12]
    - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +
     CMessage
     Coperations_research::MPConstraintProto
     Coperations_research::MPGeneralConstraintProto
     Coperations_research::MPIndicatorConstraint
     Coperations_research::MPModelProto
     Coperations_research::MPModelRequest
     Coperations_research::MPSolutionResponse
     Coperations_research::MPSolverCommonParameters
     Coperations_research::MPSosConstraint
     Coperations_research::MPVariableProto
     Coperations_research::OptionalDouble
     Coperations_research::PartialVariableAssignment
     Coperations_research::MPConstraintThe class for constraints of a Mathematical Programming (MP) model
     Coperations_research::MPModelExportOptions
     Coperations_research::MPObjectiveA class to express a linear objective
     Coperations_research::MPSolverThis mathematical programming (MP) solver class is the main class though which users build and solve problems
     Coperations_research::MPSolverInterface
     Coperations_research::MPSolverParametersThis class stores parameter settings for LP and MIP solvers
     Coperations_research::MPVariableThe class for variables of a Mathematical Programming (MP) model
     CTableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
     Ctrue_type
     Cis_proto_enum< ::operations_research::MPModelRequest_SolverType >
     Cis_proto_enum< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues >
     Cis_proto_enum< ::operations_research::MPSolverResponseStatus >
     Cis_proto_enum< ::operations_research::MPSosConstraint_Type >
     Coperations_research::LinearExprLinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization problem, i.e
     Coperations_research::LinearRangeAn expression of the form:
     CMessage
     Coperations_research::MPConstraintProto
     Coperations_research::MPGeneralConstraintProto
     Coperations_research::MPIndicatorConstraint
     Coperations_research::MPModelProto
     Coperations_research::MPModelRequest
     Coperations_research::MPSolutionResponse
     Coperations_research::MPSolverCommonParameters
     Coperations_research::MPSosConstraint
     Coperations_research::MPVariableProto
     Coperations_research::OptionalDouble
     Coperations_research::PartialVariableAssignment
     Coperations_research::MPConstraintThe class for constraints of a Mathematical Programming (MP) model
     Coperations_research::MPModelExportOptions
     Coperations_research::MPObjectiveA class to express a linear objective
     Coperations_research::MPSolverThis mathematical programming (MP) solver class is the main class though which users build and solve problems
     Coperations_research::MPSolverInterface
     Coperations_research::MPSolverParametersThis class stores parameter settings for LP and MIP solvers
     Coperations_research::MPVariableThe class for variables of a Mathematical Programming (MP) model
     CTableStruct_ortools_2flinear_5fsolver_2flinear_5fsolver_2eproto
     Ctrue_type
     Cis_proto_enum< ::operations_research::MPModelRequest_SolverType >
     Cis_proto_enum< ::operations_research::MPSolverCommonParameters_LPAlgorithmValues >
     Cis_proto_enum< ::operations_research::MPSolverResponseStatus >
     Cis_proto_enum< ::operations_research::MPSosConstraint_Type >
    diff --git a/docs/cpp_linear/index.html b/docs/cpp_linear/index.html index 0127e8afeb..a80eb123ee 100644 --- a/docs/cpp_linear/index.html +++ b/docs/cpp_linear/index.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/linear__expr_8h.html b/docs/cpp_linear/linear__expr_8h.html new file mode 100644 index 0000000000..06901cf7a0 --- /dev/null +++ b/docs/cpp_linear/linear__expr_8h.html @@ -0,0 +1,120 @@ + + + + OR-Tools + + + + + + + + + + +
    + + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    linear_expr.h File Reference
    +
    +
    +

    Detailed Description

    +

    This file allows you to write natural code (like a mathematical equation) to model optimization problems with MPSolver.

    +

    It is syntatic sugar on top of the MPSolver API, it provides no additional functionality. Use of these APIs makes it much easier to write code that is both simple and big-O optimal for creating your model, at the cost of some additional constant factor overhead. If model creation is a bottleneck in your problem, consider using the MPSolver API directly instead.

    +

    This file contains two classes:

      +
    1. LinearExpr: models offset + sum_{i in S} a_i*x_i for decision var x_i,
    2. +
    3. LinearRange: models lb <= sum_{i in S} a_i*x_i <= ub, and it provides various operator overloads to build up "LinearExpr"s and then convert them to "LinearRange"s.
    4. +
    +

    Recommended use (avoids dangerous code):

    +
    MPSolver solver = ...;
    const LinearExpr x = solver.MakeVar(...); * Note: implicit conversion
    const LinearExpr y = solver.MakeVar(...);
    const LinearExpr z = solver.MakeVar(...);
    const LinearExpr e1 = x + y;
    const LinearExpr e2 = (e1 + 7.0 + z)/3.0;
    const LinearRange r = e1 <= e2;
    solver.MakeRowConstraint(r);

    WARNING, AVOID THIS TRAP:

    +
    MPSolver solver = ...;
    MPVariable* x = solver.MakeVar(...);
    LinearExpr y = x + 5;

    In evaluating "x+5" above, x is NOT converted to a LinearExpr before the addition, but rather is treated as a pointer, so x+5 gives a new pointer to garbage memory.

    +

    For this reason, when using LinearExpr, it is best practice to:

      +
    1. use double literals instead of ints (e.g. "x + 5.0", not "x + 5"),
    2. +
    3. Immediately convert all MPVariable* to LinearExpr on creation, and only hold references to the "LinearExpr"s.
    4. +
    +

    Likewise, the following code is NOT recommended:

    MPSolver solver = ...;
    MPVariable* x = solver.MakeVar(...);
    MPVariable* y = solver.MakeVar(...);
    LinearExpr e1 = LinearExpr(x) + y + 5;

    While it is correct, it violates the natural assumption that the + operator is associative. Thus you are setting a trap for future modifications of the code, as any of the following changes would lead to the above failure mode:

    +
      +
    • LinearExpr e1 = LinearExpr(x) + (y + 5);
    • +
    • LinearExpr e1 = y + 5 + LinearExpr(x); \endpage
    • +
    + +

    Definition in file linear_expr.h.

    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Classes

    class  operations_research::LinearExpr
     LinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization problem, i.e. More...
     
    class  operations_research::LinearRange
     An expression of the form: More...
     
    + + + +

    +Namespaces

     operations_research
     
    + + + + + + + + + + + + + + + + + +

    +Functions

    LinearExpr operations_research::operator+ (LinearExpr lhs, const LinearExpr &rhs)
     
    LinearExpr operations_research::operator- (LinearExpr lhs, const LinearExpr &rhs)
     
    LinearExpr operations_research::operator * (LinearExpr lhs, double rhs)
     
    LinearExpr operations_research::operator/ (LinearExpr lhs, double rhs)
     
    LinearExpr operations_research::operator * (double lhs, LinearExpr rhs)
     
    LinearRange operations_research::operator<= (const LinearExpr &lhs, const LinearExpr &rhs)
     
    LinearRange operations_research::operator== (const LinearExpr &lhs, const LinearExpr &rhs)
     
    LinearRange operations_research::operator>= (const LinearExpr &lhs, const LinearExpr &rhs)
     
    +
    +
    + + + + diff --git a/docs/cpp_linear/linear__expr_8h.js b/docs/cpp_linear/linear__expr_8h.js new file mode 100644 index 0000000000..838de48951 --- /dev/null +++ b/docs/cpp_linear/linear__expr_8h.js @@ -0,0 +1,13 @@ +var linear__expr_8h = +[ + [ "LinearExpr", "classoperations__research_1_1LinearExpr.html", "classoperations__research_1_1LinearExpr" ], + [ "LinearRange", "classoperations__research_1_1LinearRange.html", "classoperations__research_1_1LinearRange" ], + [ "operator *", "linear__expr_8h.html#a741104fe08089fe3520676487f7a685d", null ], + [ "operator *", "linear__expr_8h.html#a99590470c6ad2d59331b6fcc56609877", null ], + [ "operator+", "linear__expr_8h.html#a97f9b83239285f5fdfcac1b8e8b4f162", null ], + [ "operator-", "linear__expr_8h.html#a515cdaf4f9c4000bb3482a0c450e23c3", null ], + [ "operator/", "linear__expr_8h.html#abebdd7f40e90df8dc7d557b6e26da942", null ], + [ "operator<=", "linear__expr_8h.html#a6d1fa20f9c9faf7027c0b16f97139e80", null ], + [ "operator==", "linear__expr_8h.html#a08146f196bd9c3f492ee108732449ced", null ], + [ "operator>=", "linear__expr_8h.html#ac4052f92af6a7fbb1d45e17befcb68e0", null ] +]; \ No newline at end of file diff --git a/docs/cpp_linear/linear__expr_8h_source.html b/docs/cpp_linear/linear__expr_8h_source.html new file mode 100644 index 0000000000..911361cc4d --- /dev/null +++ b/docs/cpp_linear/linear__expr_8h_source.html @@ -0,0 +1,84 @@ + + + + OR-Tools + + + + + + + + + + +
    + + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    linear_expr.h
    +
    +
    +Go to the documentation of this file.
    1 // Copyright 2010-2018 Google LLC
    2 // Licensed under the Apache License, Version 2.0 (the "License");
    3 // you may not use this file except in compliance with the License.
    4 // You may obtain a copy of the License at
    5 //
    6 // http://www.apache.org/licenses/LICENSE-2.0
    7 //
    8 // Unless required by applicable law or agreed to in writing, software
    9 // distributed under the License is distributed on an "AS IS" BASIS,
    10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11 // See the License for the specific language governing permissions and
    12 // limitations under the License.
    13 
    14 #ifndef OR_TOOLS_LINEAR_SOLVER_LINEAR_EXPR_H_
    15 #define OR_TOOLS_LINEAR_SOLVER_LINEAR_EXPR_H_
    16 
    80 #include "absl/container/flat_hash_map.h"
    81 
    83 
    84 // NOTE(user): forward declaration is necessary due to cyclic dependencies,
    85 // MPVariable is defined in linear_solver.h, which depends on LinearExpr.
    86 class MPVariable;
    87 
    112 class LinearExpr {
    113  public:
    114  LinearExpr();
    118  LinearExpr(double constant); // NOLINT
    119 
    120  /***
    121  * Possible implicit conversions are intentional.
    122  *
    123  * Warning: var is not owned.
    124  */
    125  LinearExpr(const MPVariable* var); // NOLINT
    126 
    134  static LinearExpr NotVar(LinearExpr var);
    135 
    136  LinearExpr& operator+=(const LinearExpr& rhs);
    137  LinearExpr& operator-=(const LinearExpr& rhs);
    138  LinearExpr& operator*=(double rhs);
    139  LinearExpr& operator/=(double rhs);
    140  LinearExpr operator-() const;
    141 
    142  double offset() const { return offset_; }
    143  const absl::flat_hash_map<const MPVariable*, double>& terms() const {
    144  return terms_;
    145  }
    146 
    152  double SolutionValue() const;
    153 
    154  private:
    155  double offset_;
    156  absl::flat_hash_map<const MPVariable*, double> terms_;
    157 };
    158 
    159 // NOTE(user): in the ops below, the non-"const LinearExpr&" are intentional.
    160 // We need to create a new LinearExpr for the result, so we lose nothing by
    161 // passing one argument by value, mutating it, and then returning it. In
    162 // particular, this allows (with move semantics and RVO) an optimized
    163 // evaluation of expressions such as
    164 // a + b + c + d
    165 // (see http://en.cppreference.com/w/cpp/language/operators).
    166 LinearExpr operator+(LinearExpr lhs, const LinearExpr& rhs);
    167 LinearExpr operator-(LinearExpr lhs, const LinearExpr& rhs);
    168 LinearExpr operator*(LinearExpr lhs, double rhs);
    169 LinearExpr operator/(LinearExpr lhs, double rhs);
    170 LinearExpr operator*(double lhs, LinearExpr rhs);
    171 
    182 class LinearRange {
    183  public:
    184  LinearRange() : lower_bound_(0), upper_bound_(0) {}
    185  // The bounds of the linear range are updated so that they include the offset
    186  // from "linear_expr", i.e., we form the range:
    187  // lower_bound - offset <= linear_expr - offset <= upper_bound - offset.
    189  double upper_bound);
    190 
    191  double lower_bound() const { return lower_bound_; }
    192  const LinearExpr& linear_expr() const { return linear_expr_; }
    193  double upper_bound() const { return upper_bound_; }
    194 
    195  private:
    196  double lower_bound_;
    197  // invariant: linear_expr_.offset() == 0.
    198  LinearExpr linear_expr_;
    199  double upper_bound_;
    200 };
    201 
    202 LinearRange operator<=(const LinearExpr& lhs, const LinearExpr& rhs);
    203 LinearRange operator==(const LinearExpr& lhs, const LinearExpr& rhs);
    204 LinearRange operator>=(const LinearExpr& lhs, const LinearExpr& rhs);
    205 
    206 // TODO(user,user): explore defining more overloads to support:
    207 // solver.AddRowConstraint(0.0 <= x + y + z <= 1.0);
    208 
    209 } // namespace operations_research
    210 
    211 #endif // OR_TOOLS_LINEAR_SOLVER_LINEAR_EXPR_H_
    const LinearExpr & linear_expr() const
    Definition: linear_expr.h:192
    +
    LinearExpr operator+(LinearExpr lhs, const LinearExpr &rhs)
    +
    LinearExpr operator *(LinearExpr lhs, double rhs)
    +
    LinearRange operator<=(const LinearExpr &lhs, const LinearExpr &rhs)
    +
    An expression of the form:
    Definition: linear_expr.h:182
    +
    double SolutionValue() const
    Evaluates the value of this expression at the solution found.
    +
    LinearRange operator==(const LinearExpr &lhs, const LinearExpr &rhs)
    +
    LinearExpr & operator *=(double rhs)
    + + + +
    LinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization...
    Definition: linear_expr.h:112
    + +
    const absl::flat_hash_map< const MPVariable *, double > & terms() const
    Definition: linear_expr.h:143
    +
    LinearExpr & operator+=(const LinearExpr &rhs)
    +
    LinearExpr & operator/=(double rhs)
    +
    LinearRange operator>=(const LinearExpr &lhs, const LinearExpr &rhs)
    +
    LinearExpr operator-(LinearExpr lhs, const LinearExpr &rhs)
    + +
    The class for variables of a Mathematical Programming (MP) model.
    +
    static LinearExpr NotVar(LinearExpr var)
    Returns 1-var.
    + +
    LinearExpr & operator-=(const LinearExpr &rhs)
    +
    LinearExpr operator-() const
    +
    LinearExpr operator/(LinearExpr lhs, double rhs)
    +
    +
    + + + + diff --git a/docs/cpp_linear/linear__solver_8h.html b/docs/cpp_linear/linear__solver_8h.html index 55a9b7b17f..80c23cde46 100644 --- a/docs/cpp_linear/linear__solver_8h.html +++ b/docs/cpp_linear/linear__solver_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -58,26 +53,37 @@ $(document).ready(function(){initNavTree('linear__solver_8h.html','');});
    linear_solver.h File Reference
    -
    #include <functional>
    -#include <limits>
    -#include <map>
    -#include <memory>
    -#include <string>
    -#include <utility>
    -#include <vector>
    -#include "absl/container/flat_hash_map.h"
    -#include "absl/strings/match.h"
    -#include "absl/strings/str_format.h"
    -#include "absl/types/optional.h"
    -#include "ortools/base/commandlineflags.h"
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/status.h"
    -#include "ortools/base/timer.h"
    -#include "ortools/glop/parameters.pb.h"
    -#include "ortools/linear_solver/linear_expr.h"
    -#include "ortools/linear_solver/linear_solver.pb.h"
    -#include "ortools/port/proto_utils.h"
    +

    Detailed Description

    +

    A C++ wrapper that provides a simple and unified interface to several linear programming and mixed integer programming solvers: GLOP, GLPK, CLP, CBC, and SCIP.

    +

    The wrapper can also be used in Java, C#, and Python via SWIG.

    +

    What is Linear Programming?

    +

    In mathematics, linear programming (LP) is a technique for optimization of a linear objective function, subject to linear equality and linear inequality constraints. Informally, linear programming determines the way to achieve the best outcome (such as maximum profit or lowest cost) in a given mathematical model and given some list of requirements represented as linear equations.

    +

    The most widely used technique for solving a linear program is the Simplex algorithm, devised by George Dantzig in 1947. It performs very well on most instances, for which its running time is polynomial. A lot of effort has been put into improving the algorithm and its implementation. As a byproduct, it has however been shown that one can always construct problems that take exponential time for the Simplex algorithm to solve. Research has thus focused on trying to find a polynomial algorithm for linear programming, or to prove that linear programming is indeed polynomial.

    +

    Leonid Khachiyan first exhibited in 1979 a weakly polynomial algorithm for linear programming. "Weakly polynomial" means that the running time of the algorithm is in O(P(n) * 2^p) where P(n) is a polynomial of the size of the problem, and p is the precision of computations expressed in number of bits. With a fixed-precision, floating-point-based implementation, a weakly polynomial algorithm will thus run in polynomial time. No implementation of Khachiyan's algorithm has proved efficient, but a larger breakthrough in the field came in 1984 when Narendra Karmarkar introduced a new interior point method for solving linear programming problems. Interior point algorithms have proved efficient on very large linear programs.

    +

    Check Wikipedia for more detail: http: *en.wikipedia.org/wiki/Linear_programming

    +
    +

    Example of a Linear Program

    +

    maximize: 3x + y subject to: 1.5 x + 2 y <= 12 0 <= x <= 3 0 <= y <= 5

    +

    A linear program has: 1) a linear objective function 2) linear constraints that can be equalities or inequalities 3) bounds on variables that can be positive, negative, finite or infinite.

    +
    +

    What is Mixed Integer Programming?

    +

    Here, the constraints and the objective are still linear but there are additional integrality requirements for variables. If all variables are required to take integer values, then the problem is called an integer program (IP). In most cases, only some variables are required to be integer and the rest of the variables are continuous: this is called a mixed integer program (MIP). IPs and MIPs are generally NP-hard.

    +

    Integer variables can be used to model discrete decisions (build a datacenter in city A or city B), logical relationships (only place machines in datacenter A if we have decided to build datacenter A) and approximate non-linear functions with piecewise linear functions (for example, the cost of machines as a function of how many machines are bought, or the latency of a server as a function of its load).

    +
    +

    How to use the wrapper

    +

    The user builds the model and solves it through the MPSolver class, then queries the solution through the MPSolver, MPVariable and MPConstraint classes. To be able to query a solution, you need the following:

      +
    • A solution exists: MPSolver::Solve has been called and a solution has been found.
    • +
    • The model has not been modified since the last time MPSolver::Solve was called. Otherwise, the solution obtained before the model modification may not longer be feasible or optimal.
    • +
    +
    See also
    ../examples/linear_programming.cc for a simple LP example.
    +
    +../examples/integer_programming.cc for a simple MIP example.
    +

    All methods cannot be called successfully in all cases. For example: you cannot query a solution when no solution exists, you cannot query a reduced cost value (which makes sense only on continuous problems) on a discrete problem. When a method is called in an unsuitable context, it aborts with a LOG(FATAL). TODO(user): handle failures gracefully.

    +
    +

    For developers: How the wrapper works

    +

    MPSolver stores a representation of the model (variables, constraints and objective) in its own data structures and a pointer to a MPSolverInterface that wraps the underlying solver (GLOP, CBC, CLP, GLPK, or SCIP) that does the actual work. The underlying solver also keeps a representation of the model in its own data structures. The model representations in MPSolver and in the underlying solver are kept in sync by the 'extraction' mechanism: synchronously for some changes and asynchronously (when MPSolver::Solve is called) for others. Synchronicity depends on the modification applied and on the underlying solver.

    + +

    Definition in file linear_solver.h.

    Go to the source code of this file.

    diff --git a/docs/cpp_linear/linear__solver_8h_source.html b/docs/cpp_linear/linear__solver_8h_source.html index 739a4a882d..906ca7340e 100644 --- a/docs/cpp_linear/linear__solver_8h_source.html +++ b/docs/cpp_linear/linear__solver_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -53,327 +48,330 @@ $(document).ready(function(){initNavTree('linear__solver_8h_source.html','');});
    linear_solver.h
    -Go to the documentation of this file.
    1 // Copyright 2010-2018 Google LLC
    2 // Licensed under the Apache License, Version 2.0 (the "License");
    3 // you may not use this file except in compliance with the License.
    4 // You may obtain a copy of the License at
    5 //
    6 // http://www.apache.org/licenses/LICENSE-2.0
    7 //
    8 // Unless required by applicable law or agreed to in writing, software
    9 // distributed under the License is distributed on an "AS IS" BASIS,
    10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11 // See the License for the specific language governing permissions and
    12 // limitations under the License.
    13 
    14 // A C++ wrapper that provides a simple and unified interface to
    15 // several linear programming and mixed integer programming solvers:
    16 // GLOP, GLPK, CLP, CBC, and SCIP. The wrapper can also be used in Java, C#,
    17 // and Python via SWIG.
    18 //
    19 //
    20 // -----------------------------------
    21 //
    22 // What is Linear Programming?
    23 //
    24 // In mathematics, linear programming (LP) is a technique for optimization of
    25 // a linear objective function, subject to linear equality and linear
    26 // inequality constraints. Informally, linear programming determines the way
    27 // to achieve the best outcome (such as maximum profit or lowest cost) in a
    28 // given mathematical model and given some list of requirements represented
    29 // as linear equations.
    30 //
    31 // The most widely used technique for solving a linear program is the Simplex
    32 // algorithm, devised by George Dantzig in 1947. It performs very well on
    33 // most instances, for which its running time is polynomial. A lot of effort
    34 // has been put into improving the algorithm and its implementation. As a
    35 // byproduct, it has however been shown that one can always construct
    36 // problems that take exponential time for the Simplex algorithm to solve.
    37 // Research has thus focused on trying to find a polynomial algorithm for
    38 // linear programming, or to prove that linear programming is indeed
    39 // polynomial.
    40 //
    41 // Leonid Khachiyan first exhibited in 1979 a weakly polynomial algorithm for
    42 // linear programming. "Weakly polynomial" means that the running time of the
    43 // algorithm is in O(P(n) * 2^p) where P(n) is a polynomial of the size of the
    44 // problem, and p is the precision of computations expressed in number of
    45 // bits. With a fixed-precision, floating-point-based implementation, a weakly
    46 // polynomial algorithm will thus run in polynomial time. No implementation
    47 // of Khachiyan's algorithm has proved efficient, but a larger breakthrough in
    48 // the field came in 1984 when Narendra Karmarkar introduced a new interior
    49 // point method for solving linear programming problems. Interior point
    50 // algorithms have proved efficient on very large linear programs.
    51 //
    52 // Check Wikipedia for more detail:
    53 // http://en.wikipedia.org/wiki/Linear_programming
    54 //
    55 // -----------------------------------
    56 //
    57 // Example of a Linear Program
    58 //
    59 // maximize:
    60 // 3x + y
    61 // subject to:
    62 // 1.5 x + 2 y <= 12
    63 // 0 <= x <= 3
    64 // 0 <= y <= 5
    65 //
    66 // A linear program has:
    67 // 1) a linear objective function
    68 // 2) linear constraints that can be equalities or inequalities
    69 // 3) bounds on variables that can be positive, negative, finite or
    70 // infinite.
    71 //
    72 // -----------------------------------
    73 //
    74 // What is Mixed Integer Programming?
    75 //
    76 // Here, the constraints and the objective are still linear but
    77 // there are additional integrality requirements for variables. If
    78 // all variables are required to take integer values, then the
    79 // problem is called an integer program (IP). In most cases, only
    80 // some variables are required to be integer and the rest of the
    81 // variables are continuous: this is called a mixed integer program
    82 // (MIP). IPs and MIPs are generally NP-hard.
    83 //
    84 // Integer variables can be used to model discrete decisions (build a
    85 // datacenter in city A or city B), logical relationships (only
    86 // place machines in datacenter A if we have decided to build
    87 // datacenter A) and approximate non-linear functions with piecewise
    88 // linear functions (for example, the cost of machines as a function
    89 // of how many machines are bought, or the latency of a server as a
    90 // function of its load).
    91 //
    92 // -----------------------------------
    93 //
    94 // How to use the wrapper
    95 //
    96 // The user builds the model and solves it through the MPSolver class,
    97 // then queries the solution through the MPSolver, MPVariable and
    98 // MPConstraint classes. To be able to query a solution, you need the
    99 // following:
    100 // - A solution exists: MPSolver::Solve has been called and a solution
    101 // has been found.
    102 // - The model has not been modified since the last time
    103 // MPSolver::Solve was called. Otherwise, the solution obtained
    104 // before the model modification may not longer be feasible or
    105 // optimal.
    106 //
    107 // @see ../examples/linear_programming.cc for a simple LP example.
    108 //
    109 // @see ../examples/integer_programming.cc for a simple MIP example.
    110 //
    111 // All methods cannot be called successfully in all cases. For
    112 // example: you cannot query a solution when no solution exists, you
    113 // cannot query a reduced cost value (which makes sense only on
    114 // continuous problems) on a discrete problem. When a method is
    115 // called in an unsuitable context, it aborts with a
    116 // LOG(FATAL).
    117 // TODO(user): handle failures gracefully.
    118 //
    119 // -----------------------------------
    120 //
    121 // For developers: How the wrapper works
    122 //
    123 // MPSolver stores a representation of the model (variables,
    124 // constraints and objective) in its own data structures and a
    125 // pointer to a MPSolverInterface that wraps the underlying solver
    126 // (GLOP, CBC, CLP, GLPK, or SCIP) that does the actual work. The
    127 // underlying solver also keeps a representation of the model in its
    128 // own data structures. The model representations in MPSolver and in
    129 // the underlying solver are kept in sync by the 'extraction'
    130 // mechanism: synchronously for some changes and asynchronously
    131 // (when MPSolver::Solve is called) for others. Synchronicity
    132 // depends on the modification applied and on the underlying solver.
    133 
    134 #ifndef OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_
    135 #define OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_
    136 
    137 #include <functional>
    138 #include <limits>
    139 #include <map>
    140 #include <memory>
    141 #include <string>
    142 #include <utility>
    143 #include <vector>
    144 
    145 #include "absl/container/flat_hash_map.h"
    146 #include "absl/strings/match.h"
    147 #include "absl/strings/str_format.h"
    148 #include "absl/types/optional.h"
    149 #include "ortools/base/commandlineflags.h"
    150 #include "ortools/base/integral_types.h"
    151 #include "ortools/base/logging.h"
    152 #include "ortools/base/macros.h"
    153 #include "ortools/base/status.h"
    154 #include "ortools/base/timer.h"
    155 #include "ortools/glop/parameters.pb.h"
    156 #include "ortools/linear_solver/linear_expr.h"
    158 #include "ortools/port/proto_utils.h"
    159 
    161 
    162 constexpr double kDefaultPrimalTolerance = 1e-07;
    163 
    164 class MPConstraint;
    165 class MPObjective;
    166 class MPSolverInterface;
    167 class MPSolverParameters;
    168 class MPVariable;
    169 
    174 class MPSolver {
    175  public:
    183 #ifdef USE_CLP
    184 
    186 #endif
    187 #ifdef USE_GLPK
    188 
    189  GLPK_LINEAR_PROGRAMMING = 1,
    190 #endif
    191 #ifdef USE_GLOP
    192 
    194 #endif
    195 #ifdef USE_GUROBI
    196 
    197  GUROBI_LINEAR_PROGRAMMING = 6,
    198 #endif
    199 #ifdef USE_CPLEX
    200 
    201  CPLEX_LINEAR_PROGRAMMING = 10,
    202 #endif
    203 
    204 // Integer programming problems.
    205 #ifdef USE_SCIP
    206 
    208  SCIP_MIXED_INTEGER_PROGRAMMING = 3, // Recommended default value.
    209 #endif
    210 #ifdef USE_GLPK
    211 
    212  GLPK_MIXED_INTEGER_PROGRAMMING = 4,
    213 #endif
    214 #ifdef USE_CBC
    215 
    217 #endif
    218 #if defined(USE_GUROBI)
    219 
    220  GUROBI_MIXED_INTEGER_PROGRAMMING = 7,
    221 #endif
    222 #if defined(USE_CPLEX)
    223 
    224  CPLEX_MIXED_INTEGER_PROGRAMMING = 11,
    225 #endif
    226 #if defined(USE_BOP)
    227 
    229 #endif
    230  };
    231 
    235  MPSolver(const std::string& name, OptimizationProblemType problem_type);
    236  virtual ~MPSolver();
    237 
    242  static bool SupportsProblemType(OptimizationProblemType problem_type);
    243 
    248  static bool ParseSolverType(absl::string_view solver,
    250 
    251  bool IsMIP() const;
    252 
    256  const std::string& Name() const {
    257  return name_; // Set at construction.
    258  }
    259 
    264  return problem_type_; // Set at construction.
    265  }
    266 
    272  void Clear();
    273 
    277  int NumVariables() const { return variables_.size(); }
    278 
    283  const std::vector<MPVariable*>& variables() const { return variables_; }
    284 
    290  MPVariable* LookupVariableOrNull(const std::string& var_name) const;
    291 
    299  MPVariable* MakeVar(double lb, double ub, bool integer,
    300  const std::string& name);
    301 
    305  MPVariable* MakeNumVar(double lb, double ub, const std::string& name);
    306 
    310  MPVariable* MakeIntVar(double lb, double ub, const std::string& name);
    311 
    315  MPVariable* MakeBoolVar(const std::string& name);
    316 
    331  void MakeVarArray(int nb, double lb, double ub, bool integer,
    332  const std::string& name_prefix,
    333  std::vector<MPVariable*>* vars);
    334 
    338  void MakeNumVarArray(int nb, double lb, double ub, const std::string& name,
    339  std::vector<MPVariable*>* vars);
    340 
    344  void MakeIntVarArray(int nb, double lb, double ub, const std::string& name,
    345  std::vector<MPVariable*>* vars);
    346 
    350  void MakeBoolVarArray(int nb, const std::string& name,
    351  std::vector<MPVariable*>* vars);
    352 
    356  int NumConstraints() const { return constraints_.size(); }
    357 
    363  const std::vector<MPConstraint*>& constraints() const { return constraints_; }
    364 
    373  const std::string& constraint_name) const;
    374 
    383  MPConstraint* MakeRowConstraint(double lb, double ub);
    384 
    389 
    393  MPConstraint* MakeRowConstraint(double lb, double ub,
    394  const std::string& name);
    398  MPConstraint* MakeRowConstraint(const std::string& name);
    399 
    404  MPConstraint* MakeRowConstraint(const LinearRange& range);
    405 
    409  MPConstraint* MakeRowConstraint(const LinearRange& range,
    410  const std::string& name);
    411 
    418  const MPObjective& Objective() const { return *objective_; }
    419 
    423  MPObjective* MutableObjective() { return objective_.get(); }
    424 
    446  };
    447 
    452 
    456  ResultStatus Solve(const MPSolverParameters& param);
    457 
    462  void Write(const std::string& file_name);
    463 
    470  std::vector<double> ComputeConstraintActivities() const;
    471 
    490  bool VerifySolution(double tolerance, bool log_errors) const;
    491 
    500  void Reset();
    501 
    509  bool InterruptSolve();
    510 
    519  std::string* error_message);
    528  const MPModelProto& input_model, std::string* error_message);
    529 
    533  void FillSolutionResponseProto(MPSolutionResponse* response) const;
    534 
    544  static void SolveWithProto(const MPModelRequest& model_request,
    545  MPSolutionResponse* response);
    546 
    550  void ExportModelToProto(MPModelProto* output_model) const;
    551 
    584  util::Status LoadSolutionFromProto(
    585  const MPSolutionResponse& response,
    586  double tolerance = kDefaultPrimalTolerance);
    587 
    592  util::Status ClampSolutionWithinBounds();
    593 
    600  bool ExportModelAsLpFormat(bool obfuscate, std::string* model_str) const;
    601  bool ExportModelAsMpsFormat(bool fixed_format, bool obfuscate,
    602  std::string* model_str) const;
    603 
    614  util::Status SetNumThreads(int num_threads);
    618  int GetNumThreads() const { return num_threads_; }
    619 
    630  bool SetSolverSpecificParametersAsString(const std::string& parameters);
    632  return solver_specific_parameter_string_;
    633  }
    634 
    648  void SetHint(std::vector<std::pair<const MPVariable*, double> > hint);
    649 
    654  enum BasisStatus {
    655  FREE = 0,
    660  };
    661 
    673  void SetStartingLpBasis(
    674  const std::vector<MPSolver::BasisStatus>& variable_statuses,
    675  const std::vector<MPSolver::BasisStatus>& constraint_statuses);
    676 
    682  static double infinity() { return std::numeric_limits<double>::infinity(); }
    683 
    692  bool OutputIsEnabled() const;
    694  void EnableOutput();
    696  void SuppressOutput();
    697 
    698  absl::Duration TimeLimit() const { return time_limit_; }
    699  void SetTimeLimit(absl::Duration time_limit) {
    700  DCHECK_GE(time_limit, absl::ZeroDuration());
    701  time_limit_ = time_limit;
    702  }
    703 
    704  absl::Duration DurationSinceConstruction() const {
    705  return absl::Now() - construction_time_;
    706  }
    707 
    711  int64 iterations() const;
    712 
    718  int64 nodes() const;
    719 
    723  std::string SolverVersion() const;
    724 
    738  void* underlying_solver();
    739 
    763  double ComputeExactConditionNumber() const;
    764 
    779  ABSL_MUST_USE_RESULT bool NextSolution();
    780 
    781  // DEPRECATED: Use TimeLimit() and SetTimeLimit(absl::Duration) instead.
    782  // NOTE: These deprecated functions used the convention time_limit = 0 to mean
    783  // "no limit", which now corresponds to time_limit_ = InfiniteDuration().
    784  int64 time_limit() const {
    785  return time_limit_ == absl::InfiniteDuration()
    786  ? 0
    787  : absl::ToInt64Milliseconds(time_limit_);
    788  }
    789  void set_time_limit(int64 time_limit_milliseconds) {
    790  SetTimeLimit(time_limit_milliseconds == 0
    791  ? absl::InfiniteDuration()
    792  : absl::Milliseconds(time_limit_milliseconds));
    793  }
    794  double time_limit_in_secs() const {
    795  return static_cast<double>(time_limit()) / 1000.0;
    796  }
    797 
    798  // DEPRECATED: Use DurationSinceConstruction() instead.
    799  int64 wall_time() const {
    800  return absl::ToInt64Milliseconds(DurationSinceConstruction());
    801  }
    802 
    803  friend class GLPKInterface;
    804  friend class CLPInterface;
    805  friend class CBCInterface;
    806  friend class SCIPInterface;
    807  friend class GurobiInterface;
    808  friend class CplexInterface;
    809  friend class SLMInterface;
    810  friend class MPSolverInterface;
    811  friend class GLOPInterface;
    812  friend class BopInterface;
    813  friend class SatInterface;
    814  friend class KnapsackInterface;
    815 
    816  // Debugging: verify that the given MPVariable* belongs to this solver.
    817  bool OwnsVariable(const MPVariable* var) const;
    818 
    819  private:
    820  // Computes the size of the constraint with the largest number of
    821  // coefficients with index in [min_constraint_index,
    822  // max_constraint_index)
    823  int ComputeMaxConstraintSize(int min_constraint_index,
    824  int max_constraint_index) const;
    825 
    826  // Returns true if the model has constraints with lower bound > upper bound.
    827  bool HasInfeasibleConstraints() const;
    828 
    829  // Returns true if the model has at least 1 integer variable.
    830  bool HasIntegerVariables() const;
    831 
    832  // Generates the map from variable names to their indices.
    833  void GenerateVariableNameIndex() const;
    834 
    835  // Generates the map from constraint names to their indices.
    836  void GenerateConstraintNameIndex() const;
    837 
    838  // The name of the linear programming problem.
    839  const std::string name_;
    840 
    841  // The type of the linear programming problem.
    842  const OptimizationProblemType problem_type_;
    843 
    844  // The solver interface.
    845  std::unique_ptr<MPSolverInterface> interface_;
    846 
    847  // The vector of variables in the problem.
    848  std::vector<MPVariable*> variables_;
    849  // A map from a variable's name to its index in variables_.
    850  mutable absl::optional<absl::flat_hash_map<std::string, int> >
    851  variable_name_to_index_;
    852  // Whether variables have been extracted to the underlying interface.
    853  std::vector<bool> variable_is_extracted_;
    854 
    855  // The vector of constraints in the problem.
    856  std::vector<MPConstraint*> constraints_;
    857  // A map from a constraint's name to its index in constraints_.
    858  mutable absl::optional<absl::flat_hash_map<std::string, int> >
    859  constraint_name_to_index_;
    860  // Whether constraints have been extracted to the underlying interface.
    861  std::vector<bool> constraint_is_extracted_;
    862 
    863  // The linear objective function.
    864  std::unique_ptr<MPObjective> objective_;
    865 
    866  // Initial values for all or some of the problem variables that can be
    867  // exploited as a starting hint by a solver.
    868  //
    869  // Note(user): as of 05/05/2015, we can't use >> because of some SWIG errors.
    870  //
    871  // TODO(user): replace by two vectors, a std::vector<bool> to indicate if a
    872  // hint is provided and a std::vector<double> for the hint value.
    873  std::vector<std::pair<const MPVariable*, double> > solution_hint_;
    874 
    875  absl::Duration time_limit_ = absl::InfiniteDuration(); // Default = No limit.
    876 
    877  const absl::Time construction_time_;
    878 
    879  // Permanent storage for the number of threads.
    880  int num_threads_ = 1;
    881 
    882  // Permanent storage for SetSolverSpecificParametersAsString().
    883  std::string solver_specific_parameter_string_;
    884 
    885  MPSolverResponseStatus LoadModelFromProtoInternal(
    886  const MPModelProto& input_model, bool clear_names,
    887  std::string* error_message);
    888 
    889  DISALLOW_COPY_AND_ASSIGN(MPSolver);
    890 };
    891 
    892 const absl::string_view ToString(
    893  MPSolver::OptimizationProblemType optimization_problem_type);
    894 
    895 inline std::ostream& operator<<(
    896  std::ostream& os,
    897  MPSolver::OptimizationProblemType optimization_problem_type) {
    898  return os << ToString(optimization_problem_type);
    899 }
    900 
    901 inline std::ostream& operator<<(std::ostream& os,
    902  MPSolver::ResultStatus status) {
    903  return os << ProtoEnumToString<MPSolverResponseStatus>(
    904  static_cast<MPSolverResponseStatus>(status));
    905 }
    906 
    907 bool AbslParseFlag(absl::string_view text,
    909  std::string* error);
    910 
    911 inline std::string AbslUnparseFlag(
    912  MPSolver::OptimizationProblemType solver_type) {
    913  return std::string(ToString(solver_type));
    914 }
    915 
    919 class MPObjective {
    920  public:
    925  void Clear();
    926 
    933  void SetCoefficient(const MPVariable *const var, double coeff);
    934 
    940  double GetCoefficient(const MPVariable *const var) const;
    941 
    947  const absl::flat_hash_map<const MPVariable *, double> &terms() const {
    948  return coefficients_;
    949  }
    950 
    954  void SetOffset(double value);
    955 
    959  double offset() const { return offset_; }
    960 
    965  void OptimizeLinearExpr(const LinearExpr& linear_expr, bool is_maximization);
    966 
    970  void MaximizeLinearExpr(const LinearExpr& linear_expr) {
    971  OptimizeLinearExpr(linear_expr, true);
    972  }
    976  void MinimizeLinearExpr(const LinearExpr& linear_expr) {
    977  OptimizeLinearExpr(linear_expr, false);
    978  }
    979 
    983  void AddLinearExpr(const LinearExpr& linear_expr);
    984 
    988  void SetOptimizationDirection(bool maximize);
    989 
    994 
    999 
    1003  bool maximization() const;
    1007  bool minimization() const;
    1008 
    1020  double Value() const;
    1021 
    1028  double BestBound() const;
    1029 
    1030  private:
    1031  friend class MPSolver;
    1032  friend class MPSolverInterface;
    1033  friend class CBCInterface;
    1034  friend class CLPInterface;
    1035  friend class GLPKInterface;
    1036  friend class SCIPInterface;
    1037  friend class SLMInterface;
    1038  friend class GurobiInterface;
    1039  friend class CplexInterface;
    1040  friend class GLOPInterface;
    1041  friend class BopInterface;
    1042  friend class SatInterface;
    1043  friend class KnapsackInterface;
    1044 
    1045  // Constructor. An objective points to a single MPSolverInterface
    1046  // that is specified in the constructor. An objective cannot belong
    1047  // to several models.
    1048  // At construction, an MPObjective has no terms (which is equivalent
    1049  // on having a coefficient of 0 for all variables), and an offset of 0.
    1050  explicit MPObjective(MPSolverInterface* const interface_in)
    1051  : interface_(interface_in), coefficients_(1), offset_(0.0) {}
    1052 
    1053  MPSolverInterface* const interface_;
    1054 
    1055  // Mapping var -> coefficient.
    1056  absl::flat_hash_map<const MPVariable*, double> coefficients_;
    1057  // Constant term.
    1058  double offset_;
    1059 
    1060  DISALLOW_COPY_AND_ASSIGN(MPObjective);
    1061 };
    1062 
    1066 class MPVariable {
    1067  public:
    1071  const std::string& name() const { return name_; }
    1072 
    1076  void SetInteger(bool integer);
    1077 
    1081  bool integer() const { return integer_; }
    1082 
    1090  double solution_value() const;
    1091 
    1095  int index() const { return index_; }
    1096 
    1100  double lb() const { return lb_; }
    1101 
    1105  double ub() const { return ub_; }
    1106 
    1110  void SetLB(double lb) { SetBounds(lb, ub_); }
    1114  void SetUB(double ub) { SetBounds(lb_, ub); }
    1115 
    1119  void SetBounds(double lb, double ub);
    1120 
    1127  double unrounded_solution_value() const;
    1128 
    1133  double reduced_cost() const;
    1134 
    1141 
    1152  int branching_priority() const { return branching_priority_; }
    1153  void SetBranchingPriority(int priority);
    1154 
    1155  protected:
    1156  friend class MPSolver;
    1157  friend class MPSolverInterface;
    1158  friend class CBCInterface;
    1159  friend class CLPInterface;
    1160  friend class GLPKInterface;
    1161  friend class SCIPInterface;
    1162  friend class SLMInterface;
    1163  friend class GurobiInterface;
    1164  friend class CplexInterface;
    1165  friend class GLOPInterface;
    1167  friend class BopInterface;
    1168  friend class SatInterface;
    1169  friend class KnapsackInterface;
    1170 
    1171  // Constructor. A variable points to a single MPSolverInterface that
    1172  // is specified in the constructor. A variable cannot belong to
    1173  // several models.
    1174  MPVariable(int index, double lb, double ub, bool integer,
    1175  const std::string& name, MPSolverInterface* const interface_in)
    1176  : index_(index),
    1177  lb_(lb),
    1178  ub_(ub),
    1179  integer_(integer),
    1180  name_(name.empty() ? absl::StrFormat("auto_v_%09d", index) : name),
    1181  solution_value_(0.0),
    1182  reduced_cost_(0.0),
    1183  interface_(interface_in) {}
    1184 
    1185  void set_solution_value(double value) { solution_value_ = value; }
    1186  void set_reduced_cost(double reduced_cost) { reduced_cost_ = reduced_cost; }
    1187 
    1188  private:
    1189  const int index_;
    1190  double lb_;
    1191  double ub_;
    1192  bool integer_;
    1193  const std::string name_;
    1194  double solution_value_;
    1195  double reduced_cost_;
    1196  int branching_priority_ = 0;
    1197  MPSolverInterface* const interface_;
    1198  DISALLOW_COPY_AND_ASSIGN(MPVariable);
    1199 };
    1200 
    1207  public:
    1211  const std::string& name() const { return name_; }
    1212 
    1216  void Clear();
    1217 
    1224  void SetCoefficient(const MPVariable* const var, double coeff);
    1225 
    1230  double GetCoefficient(const MPVariable* const var) const;
    1231 
    1237  const absl::flat_hash_map<const MPVariable*, double>& terms() const {
    1238  return coefficients_;
    1239  }
    1240 
    1244  double lb() const { return lb_; }
    1245 
    1249  double ub() const { return ub_; }
    1250 
    1254  void SetLB(double lb) { SetBounds(lb, ub_); }
    1255 
    1259  void SetUB(double ub) { SetBounds(lb_, ub); }
    1260 
    1264  void SetBounds(double lb, double ub);
    1265 
    1269  bool is_lazy() const { return is_lazy_; }
    1270 
    1283  void set_is_lazy(bool laziness) { is_lazy_ = laziness; }
    1284 
    1285  const MPVariable* indicator_variable() const { return indicator_variable_; }
    1286  bool indicator_value() const { return indicator_value_; }
    1287 
    1291  int index() const { return index_; }
    1292 
    1297  double dual_value() const;
    1298 
    1312 
    1313  protected:
    1314  friend class MPSolver;
    1315  friend class MPSolverInterface;
    1316  friend class CBCInterface;
    1317  friend class CLPInterface;
    1318  friend class GLPKInterface;
    1319  friend class SCIPInterface;
    1320  friend class SLMInterface;
    1321  friend class GurobiInterface;
    1322  friend class CplexInterface;
    1323  friend class GLOPInterface;
    1324  friend class BopInterface;
    1325  friend class SatInterface;
    1326  friend class KnapsackInterface;
    1327 
    1328  // Constructor. A constraint points to a single MPSolverInterface
    1329  // that is specified in the constructor. A constraint cannot belong
    1330  // to several models.
    1331  MPConstraint(int index, double lb, double ub, const std::string& name,
    1332  MPSolverInterface* const interface_in)
    1333  : coefficients_(1),
    1334  index_(index),
    1335  lb_(lb),
    1336  ub_(ub),
    1337  name_(name.empty() ? absl::StrFormat("auto_c_%09d", index) : name),
    1338  is_lazy_(false),
    1339  indicator_variable_(nullptr),
    1340  dual_value_(0.0),
    1341  interface_(interface_in) {}
    1342 
    1343  void set_dual_value(double dual_value) { dual_value_ = dual_value; }
    1344 
    1345  private:
    1346  // Returns true if the constraint contains variables that have not
    1347  // been extracted yet.
    1348  bool ContainsNewVariables();
    1349 
    1350  // Mapping var -> coefficient.
    1351  absl::flat_hash_map<const MPVariable*, double> coefficients_;
    1352 
    1353  const int index_; // See index().
    1354 
    1355  // The lower bound for the linear constraint.
    1356  double lb_;
    1357 
    1358  // The upper bound for the linear constraint.
    1359  double ub_;
    1360 
    1361  // Name.
    1362  const std::string name_;
    1363 
    1364  // True if the constraint is "lazy", i.e. the constraint is added to the
    1365  // underlying Linear Programming solver only if it is violated.
    1366  // By default this parameter is 'false'.
    1367  bool is_lazy_;
    1368 
    1369  // If given, this constraint is only active if `indicator_variable_`'s value
    1370  // is equal to `indicator_value_`.
    1371  const MPVariable* indicator_variable_;
    1372  bool indicator_value_;
    1373 
    1374  double dual_value_;
    1375  MPSolverInterface* const interface_;
    1376  DISALLOW_COPY_AND_ASSIGN(MPConstraint);
    1377 };
    1378 
    1406  public:
    1415 
    1426  };
    1427 
    1435  PRESOLVE = 1000,
    1447  SCALING = 1003
    1448  };
    1449 
    1454  PRESOLVE_OFF = 0, // Presolve is off.
    1455  PRESOLVE_ON = 1 // Presolve is on.
    1456  };
    1457 
    1462  DUAL = 10, // Dual simplex.
    1463  PRIMAL = 11, // Primal simplex.
    1464  BARRIER = 12 // Barrier algorithm.
    1465  };
    1466 
    1475 
    1481  };
    1482 
    1491  };
    1492 
    1493  // @{
    1494  // Placeholder value to indicate that a parameter is set to
    1495  // the default value defined in the wrapper.
    1496  static const double kDefaultDoubleParamValue;
    1497  static const int kDefaultIntegerParamValue;
    1498  // @}
    1499 
    1500  // @{
    1501  // Placeholder value to indicate that a parameter is unknown.
    1502  static const double kUnknownDoubleParamValue;
    1503  static const int kUnknownIntegerParamValue;
    1504  // @}
    1505 
    1506  // @{
    1507  // Default values for parameters. Only parameters that define the
    1508  // properties of the solution returned need to have a default value
    1509  // (that is the same for all solvers). You can also define a default
    1510  // value for performance parameters when you are confident it is a
    1511  // good choice (example: always turn presolve on).
    1512  static const double kDefaultRelativeMipGap;
    1513  static const double kDefaultPrimalTolerance;
    1514  static const double kDefaultDualTolerance;
    1517  // @}
    1518 
    1523 
    1527  void SetDoubleParam(MPSolverParameters::DoubleParam param, double value);
    1531  void SetIntegerParam(MPSolverParameters::IntegerParam param, int value);
    1532 
    1549  void Reset();
    1550 
    1554  double GetDoubleParam(MPSolverParameters::DoubleParam param) const;
    1555 
    1560 
    1561  private:
    1562  // @{
    1563  // Parameter value for each parameter.
    1564  // @see DoubleParam
    1565  // @see IntegerParam
    1566  double relative_mip_gap_value_;
    1567  double primal_tolerance_value_;
    1568  double dual_tolerance_value_;
    1569  int presolve_value_;
    1570  int scaling_value_;
    1571  int lp_algorithm_value_;
    1572  int incrementality_value_;
    1573  // @}
    1574 
    1575  // Boolean value indicating whether each parameter is set to the
    1576  // solver's default value. Only parameters for which the wrapper
    1577  // does not define a default value need such an indicator.
    1578  bool lp_algorithm_is_default_;
    1579 
    1580  DISALLOW_COPY_AND_ASSIGN(MPSolverParameters);
    1581 };
    1582 
    1583 // This class wraps the actual mathematical programming solvers. Each
    1584 // solver (GLOP, CLP, CBC, GLPK, SCIP) has its own interface class that
    1585 // derives from this abstract class. This class is never directly
    1586 // accessed by the user.
    1587 // @see glop_interface.cc
    1588 // @see cbc_interface.cc
    1589 // @see clp_interface.cc
    1590 // @see glpk_interface.cc
    1591 // @see scip_interface.cc
    1593  public:
    1595  // The underlying solver (CLP, GLPK, ...) and MPSolver are not in
    1596  // sync for the model nor for the solution.
    1598  // The underlying solver and MPSolver are in sync for the model
    1599  // but not for the solution: the model has changed since the
    1600  // solution was computed last.
    1602  // The underlying solver and MPSolver are in sync for the model and
    1603  // the solution.
    1605  };
    1606 
    1607  // When the underlying solver does not provide the number of simplex
    1608  // iterations.
    1609  static const int64 kUnknownNumberOfIterations = -1;
    1610  // When the underlying solver does not provide the number of
    1611  // branch-and-bound nodes.
    1612  static const int64 kUnknownNumberOfNodes = -1;
    1613 
    1614  // Constructor. The user will access the MPSolverInterface through the
    1615  // MPSolver passed as argument.
    1616  explicit MPSolverInterface(MPSolver* const solver);
    1617  virtual ~MPSolverInterface();
    1618 
    1619  // ----- Solve -----
    1620  // Solves problem with specified parameter values. Returns true if the
    1621  // solution is optimal.
    1622  virtual MPSolver::ResultStatus Solve(const MPSolverParameters& param) = 0;
    1623 
    1624  // Writes the model using the solver internal write function. Currently only
    1625  // available for GurobiInterface.
    1626  virtual void Write(const std::string& filename);
    1627 
    1628  // ----- Model modifications and extraction -----
    1629  // Resets extracted model.
    1630  virtual void Reset() = 0;
    1631 
    1632  // Sets the optimization direction (min/max).
    1633  virtual void SetOptimizationDirection(bool maximize) = 0;
    1634 
    1635  // Modifies bounds of an extracted variable.
    1636  virtual void SetVariableBounds(int index, double lb, double ub) = 0;
    1637 
    1638  // Modifies integrality of an extracted variable.
    1639  virtual void SetVariableInteger(int index, bool integer) = 0;
    1640 
    1641  // Modify bounds of an extracted variable.
    1642  virtual void SetConstraintBounds(int index, double lb, double ub) = 0;
    1643 
    1644  // Adds a linear constraint.
    1645  virtual void AddRowConstraint(MPConstraint* const ct) = 0;
    1646 
    1647  // Adds an indicator constraint. Returns true if the feature is supported by
    1648  // the underlying solver.
    1649  virtual bool AddIndicatorConstraint(MPConstraint* const ct) {
    1650  LOG(ERROR) << "Solver doesn't support indicator constraints.";
    1651  return false;
    1652  }
    1653 
    1654  // Add a variable.
    1655  virtual void AddVariable(MPVariable* const var) = 0;
    1656 
    1657  // Changes a coefficient in a constraint.
    1658  virtual void SetCoefficient(MPConstraint* const constraint,
    1659  const MPVariable* const variable,
    1660  double new_value, double old_value) = 0;
    1661 
    1662  // Clears a constraint from all its terms.
    1663  virtual void ClearConstraint(MPConstraint* const constraint) = 0;
    1664 
    1665  // Changes a coefficient in the linear objective.
    1666  virtual void SetObjectiveCoefficient(const MPVariable* const variable,
    1667  double coefficient) = 0;
    1668 
    1669  // Changes the constant term in the linear objective.
    1670  virtual void SetObjectiveOffset(double value) = 0;
    1671 
    1672  // Clears the objective from all its terms.
    1673  virtual void ClearObjective() = 0;
    1674 
    1675  virtual void BranchingPriorityChangedForVariable(int var_index) {}
    1676  // ------ Query statistics on the solution and the solve ------
    1677  // Returns the number of simplex iterations. The problem must be discrete,
    1678  // otherwise it crashes, or returns kUnknownNumberOfIterations in NDEBUG mode.
    1679  virtual int64 iterations() const = 0;
    1680  // Returns the number of branch-and-bound nodes. The problem must be discrete,
    1681  // otherwise it crashes, or returns kUnknownNumberOfNodes in NDEBUG mode.
    1682  virtual int64 nodes() const = 0;
    1683  // Returns the best objective bound. The problem must be discrete, otherwise
    1684  // it crashes, or returns trivial_worst_objective_bound() in NDEBUG mode.
    1685  virtual double best_objective_bound() const = 0;
    1686  // A trivial objective bound: the worst possible value of the objective,
    1687  // which will be +infinity if minimizing and -infinity if maximing.
    1688  double trivial_worst_objective_bound() const;
    1689  // Returns the objective value of the best solution found so far.
    1690  double objective_value() const;
    1691 
    1692  // Returns the basis status of a row.
    1693  virtual MPSolver::BasisStatus row_status(int constraint_index) const = 0;
    1694  // Returns the basis status of a constraint.
    1695  virtual MPSolver::BasisStatus column_status(int variable_index) const = 0;
    1696 
    1697  // Checks whether the solution is synchronized with the model, i.e. whether
    1698  // the model has changed since the solution was computed last.
    1699  // If it isn't, it crashes in NDEBUG, and returns false othwerwise.
    1700  bool CheckSolutionIsSynchronized() const;
    1701  // Checks whether a feasible solution exists. The behavior is similar to
    1702  // CheckSolutionIsSynchronized() above.
    1703  virtual bool CheckSolutionExists() const;
    1704  // Handy shortcut to do both checks above (it is often used).
    1707  }
    1708  // Checks whether information on the best objective bound exists. The behavior
    1709  // is similar to CheckSolutionIsSynchronized() above.
    1710  virtual bool CheckBestObjectiveBoundExists() const;
    1711 
    1712  // ----- Misc -----
    1713  // Queries problem type. For simplicity, the distinction between
    1714  // continuous and discrete is based on the declaration of the user
    1715  // when the solver is created (example: GLPK_LINEAR_PROGRAMMING
    1716  // vs. GLPK_MIXED_INTEGER_PROGRAMMING), not on the actual content of
    1717  // the model.
    1718  // Returns true if the problem is continuous.
    1719  virtual bool IsContinuous() const = 0;
    1720  // Returns true if the problem is continuous and linear.
    1721  virtual bool IsLP() const = 0;
    1722  // Returns true if the problem is discrete and linear.
    1723  virtual bool IsMIP() const = 0;
    1724 
    1725  // Returns the index of the last variable extracted.
    1727 
    1728  bool variable_is_extracted(int var_index) const {
    1729  return solver_->variable_is_extracted_[var_index];
    1730  }
    1731  void set_variable_as_extracted(int var_index, bool extracted) {
    1732  solver_->variable_is_extracted_[var_index] = extracted;
    1733  }
    1734  bool constraint_is_extracted(int ct_index) const {
    1735  return solver_->constraint_is_extracted_[ct_index];
    1736  }
    1737  void set_constraint_as_extracted(int ct_index, bool extracted) {
    1738  solver_->constraint_is_extracted_[ct_index] = extracted;
    1739  }
    1740 
    1741  // Returns the boolean indicating the verbosity of the solver output.
    1742  bool quiet() const { return quiet_; }
    1743  // Sets the boolean indicating the verbosity of the solver output.
    1744  void set_quiet(bool quiet_value) { quiet_ = quiet_value; }
    1745 
    1746  // Returns the result status of the last solve.
    1749  return result_status_;
    1750  }
    1751 
    1752  // Returns a std::string describing the underlying solver and its version.
    1753  virtual std::string SolverVersion() const = 0;
    1754 
    1755  // Returns the underlying solver.
    1756  virtual void* underlying_solver() = 0;
    1757 
    1758  // Computes exact condition number. Only available for continuous
    1759  // problems and only implemented in GLPK.
    1760  virtual double ComputeExactConditionNumber() const;
    1761 
    1762  // See MPSolver::SetStartingLpBasis().
    1763  virtual void SetStartingLpBasis(
    1764  const std::vector<MPSolver::BasisStatus>& variable_statuses,
    1765  const std::vector<MPSolver::BasisStatus>& constraint_statuses) {
    1766  LOG(FATAL) << "Not supported by this solver.";
    1767  }
    1768 
    1769  virtual bool InterruptSolve() { return false; }
    1770 
    1771  // See MPSolver::NextSolution() for contract.
    1772  virtual bool NextSolution() { return false; }
    1773 
    1774  friend class MPSolver;
    1775 
    1776  // To access the maximize_ bool and the MPSolver.
    1777  friend class MPConstraint;
    1778  friend class MPObjective;
    1779 
    1780  protected:
    1782  // Indicates whether the model and the solution are synchronized.
    1784  // Indicates whether the solve has reached optimality,
    1785  // infeasibility, a limit, etc.
    1787  // Optimization direction.
    1789 
    1790  // Index in MPSolver::variables_ of last constraint extracted.
    1792  // Index in MPSolver::constraints_ of last variable extracted.
    1794 
    1795  // The value of the objective function.
    1797 
    1798  // Boolean indicator for the verbosity of the solver output.
    1799  bool quiet_;
    1800 
    1801  // Index of dummy variable created for empty constraints or the
    1802  // objective offset.
    1803  static const int kDummyVariableIndex;
    1804 
    1805  // Extracts model stored in MPSolver.
    1806  void ExtractModel();
    1807  // Extracts the variables that have not been extracted yet.
    1808  virtual void ExtractNewVariables() = 0;
    1809  // Extracts the constraints that have not been extracted yet.
    1810  virtual void ExtractNewConstraints() = 0;
    1811  // Extracts the objective.
    1812  virtual void ExtractObjective() = 0;
    1813  // Resets the extraction information.
    1815  // Change synchronization status from SOLUTION_SYNCHRONIZED to
    1816  // MODEL_SYNCHRONIZED. To be used for model changes.
    1818 
    1819  // Sets parameters common to LP and MIP in the underlying solver.
    1820  void SetCommonParameters(const MPSolverParameters& param);
    1821  // Sets MIP specific parameters in the underlying solver.
    1822  void SetMIPParameters(const MPSolverParameters& param);
    1823  // Sets all parameters in the underlying solver.
    1824  virtual void SetParameters(const MPSolverParameters& param) = 0;
    1825  // Sets an unsupported double parameter.
    1827  // Sets an unsupported integer parameter.
    1828  virtual void SetUnsupportedIntegerParam(
    1830  // Sets a supported double parameter to an unsupported value.
    1832  double value);
    1833  // Sets a supported integer parameter to an unsupported value.
    1834  virtual void SetIntegerParamToUnsupportedValue(
    1835  MPSolverParameters::IntegerParam param, int value);
    1836  // Sets each parameter in the underlying solver.
    1837  virtual void SetRelativeMipGap(double value) = 0;
    1838  virtual void SetPrimalTolerance(double value) = 0;
    1839  virtual void SetDualTolerance(double value) = 0;
    1840  virtual void SetPresolveMode(int value) = 0;
    1841 
    1842  // Sets the number of threads to be used by the solver.
    1843  virtual util::Status SetNumThreads(int num_threads);
    1844 
    1845  // Pass solver specific parameters in text format. The format is
    1846  // solver-specific and is the same as the corresponding solver configuration
    1847  // file format. Returns true if the operation was successful.
    1848  //
    1849  // The default implementation of this method stores the parameters in a
    1850  // temporary file and calls ReadParameterFile to import the parameter file
    1851  // into the solver. Solvers that support passing the parameters directly can
    1852  // override this method to skip the temporary file logic.
    1854  const std::string& parameters);
    1855 
    1856  // Reads a solver-specific file of parameters and set them.
    1857  // Returns true if there was no errors.
    1858  virtual bool ReadParameterFile(const std::string& filename);
    1859 
    1860  // Returns a file extension like ".tmp", this is needed because some solvers
    1861  // require a given extension for the ReadParameterFile() filename and we need
    1862  // to know it to generate a temporary parameter file.
    1863  virtual std::string ValidFileExtensionForParameterFile() const;
    1864 
    1865  // Sets the scaling mode.
    1866  virtual void SetScalingMode(int value) = 0;
    1867  virtual void SetLpAlgorithm(int value) = 0;
    1868 };
    1869 
    1870 } // namespace operations_research
    1871 
    1872 #endif // OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_
    util::Status LoadSolutionFromProto(const MPSolutionResponse &response, double tolerance=kDefaultPrimalTolerance)
    Load a solution encoded in a protocol buffer onto this solver for easy access via the MPSolver interf...
    -
    Advanced usage: incrementality from one solve to the next.
    - +Go to the documentation of this file.
    1 // Copyright 2010-2018 Google LLC
    2 // Licensed under the Apache License, Version 2.0 (the "License");
    3 // you may not use this file except in compliance with the License.
    4 // You may obtain a copy of the License at
    5 //
    6 // http://www.apache.org/licenses/LICENSE-2.0
    7 //
    8 // Unless required by applicable law or agreed to in writing, software
    9 // distributed under the License is distributed on an "AS IS" BASIS,
    10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11 // See the License for the specific language governing permissions and
    12 // limitations under the License.
    13 
    134 #ifndef OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_
    135 #define OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_
    136 
    137 #include <functional>
    138 #include <limits>
    139 #include <map>
    140 #include <memory>
    141 #include <string>
    142 #include <utility>
    143 #include <vector>
    144 
    145 #include "absl/container/flat_hash_map.h"
    146 #include "absl/strings/match.h"
    147 #include "absl/strings/str_format.h"
    148 #include "absl/types/optional.h"
    149 #include "ortools/base/commandlineflags.h"
    150 #include "ortools/base/integral_types.h"
    151 #include "ortools/base/logging.h"
    152 #include "ortools/base/macros.h"
    153 #include "ortools/base/status.h"
    154 #include "ortools/base/timer.h"
    155 #include "ortools/glop/parameters.pb.h"
    158 #include "ortools/port/proto_utils.h"
    159 
    160 namespace operations_research {
    161 
    162 constexpr double kDefaultPrimalTolerance = 1e-07;
    163 
    164 class MPConstraint;
    165 class MPObjective;
    166 class MPSolverInterface;
    167 class MPSolverParameters;
    168 class MPVariable;
    169 
    174 class MPSolver {
    175  public:
    183 #ifdef USE_CLP
    186 #endif
    187 #ifdef USE_GLPK
    188  GLPK_LINEAR_PROGRAMMING = 1,
    190 #endif
    191 #ifdef USE_GLOP
    194 #endif
    195 #ifdef USE_GUROBI
    196  GUROBI_LINEAR_PROGRAMMING = 6,
    198 #endif
    199 #ifdef USE_CPLEX
    200  CPLEX_LINEAR_PROGRAMMING = 10,
    202 #endif
    203 
    204 // Integer programming problems.
    205 #ifdef USE_SCIP
    206  SCIP_MIXED_INTEGER_PROGRAMMING = 3, // Recommended default value.
    208 #endif
    209 #ifdef USE_GLPK
    210  GLPK_MIXED_INTEGER_PROGRAMMING = 4,
    212 #endif
    213 #ifdef USE_CBC
    216 #endif
    217 #if defined(USE_GUROBI)
    218  GUROBI_MIXED_INTEGER_PROGRAMMING = 7,
    220 #endif
    221 #if defined(USE_CPLEX)
    222  CPLEX_MIXED_INTEGER_PROGRAMMING = 11,
    224 #endif
    225 #if defined(USE_BOP)
    228 #endif
    229  };
    230 
    234  MPSolver(const std::string& name, OptimizationProblemType problem_type);
    235  virtual ~MPSolver();
    236 
    241  static bool SupportsProblemType(OptimizationProblemType problem_type);
    242 
    247  static bool ParseSolverType(absl::string_view solver,
    249 
    250  bool IsMIP() const;
    251 
    255  const std::string& Name() const {
    256  return name_; // Set at construction.
    257  }
    258 
    263  return problem_type_; // Set at construction.
    264  }
    265 
    271  void Clear();
    272 
    276  int NumVariables() const { return variables_.size(); }
    277 
    282  const std::vector<MPVariable*>& variables() const { return variables_; }
    283 
    289  MPVariable* LookupVariableOrNull(const std::string& var_name) const;
    290 
    298  MPVariable* MakeVar(double lb, double ub, bool integer,
    299  const std::string& name);
    300 
    304  MPVariable* MakeNumVar(double lb, double ub, const std::string& name);
    305 
    309  MPVariable* MakeIntVar(double lb, double ub, const std::string& name);
    310 
    314  MPVariable* MakeBoolVar(const std::string& name);
    315 
    330  void MakeVarArray(int nb, double lb, double ub, bool integer,
    331  const std::string& name_prefix,
    332  std::vector<MPVariable*>* vars);
    333 
    337  void MakeNumVarArray(int nb, double lb, double ub, const std::string& name,
    338  std::vector<MPVariable*>* vars);
    339 
    343  void MakeIntVarArray(int nb, double lb, double ub, const std::string& name,
    344  std::vector<MPVariable*>* vars);
    345 
    349  void MakeBoolVarArray(int nb, const std::string& name,
    350  std::vector<MPVariable*>* vars);
    351 
    355  int NumConstraints() const { return constraints_.size(); }
    356 
    362  const std::vector<MPConstraint*>& constraints() const { return constraints_; }
    363 
    372  const std::string& constraint_name) const;
    373 
    382  MPConstraint* MakeRowConstraint(double lb, double ub);
    383 
    388 
    392  MPConstraint* MakeRowConstraint(double lb, double ub,
    393  const std::string& name);
    397  MPConstraint* MakeRowConstraint(const std::string& name);
    398 
    404 
    409  const std::string& name);
    410 
    417  const MPObjective& Objective() const { return *objective_; }
    418 
    422  MPObjective* MutableObjective() { return objective_.get(); }
    423 
    445  };
    446 
    451 
    455  ResultStatus Solve(const MPSolverParameters& param);
    456 
    461  void Write(const std::string& file_name);
    462 
    469  std::vector<double> ComputeConstraintActivities() const;
    470 
    489  bool VerifySolution(double tolerance, bool log_errors) const;
    490 
    499  void Reset();
    500 
    508  bool InterruptSolve();
    509 
    518  std::string* error_message);
    527  const MPModelProto& input_model, std::string* error_message);
    528 
    532  void FillSolutionResponseProto(MPSolutionResponse* response) const;
    533 
    543  static void SolveWithProto(const MPModelRequest& model_request,
    544  MPSolutionResponse* response);
    545 
    549  void ExportModelToProto(MPModelProto* output_model) const;
    550 
    582  util::Status LoadSolutionFromProto(
    583  const MPSolutionResponse& response,
    584  double tolerance = kDefaultPrimalTolerance);
    585 
    590  util::Status ClampSolutionWithinBounds();
    591 
    598  bool ExportModelAsLpFormat(bool obfuscate, std::string* model_str) const;
    599  bool ExportModelAsMpsFormat(bool fixed_format, bool obfuscate,
    600  std::string* model_str) const;
    601 
    612  util::Status SetNumThreads(int num_threads);
    613 
    617  int GetNumThreads() const { return num_threads_; }
    618 
    629  bool SetSolverSpecificParametersAsString(const std::string& parameters);
    631  return solver_specific_parameter_string_;
    632  }
    633 
    647  // MOE:begin_strip
    648  // As of 2018-08, this is only used by SCIP, BOP, Gurobi, GLIP, with various
    649  // behaviors, and ignored by other solvers. Contact or-core-team@ for details.
    650  // In particular, SCIP 6.0 is using the hint in the following way:
    651  // 1. If the hint is complete (i.e., all variables have assigned values) it is
    652  // used as the first incumbent. Consequently, if the hint is infeasible
    653  // (any linear constraint *or* any integrality constraint is violated),
    654  // the hint is disregarded.
    655  // 2. If the hint is partial, SCIP creates a sub-MIP with the variables fixed
    656  // to the values from the hint. Consequently, if the hint results in
    657  // an immediate infeasibility, it is disregarded. Otherwise, SCIP tries
    658  // to solve the sub-MIP by running a restricted "sub-SCIP" (i.e., no
    659  // costly presolve, no cuts, limited heuristics, small time/node limits).
    660  // If the sub-SCIP finds a solution it will be added as an incumbent
    661  // (if not, nothing happens). Finally, SCIP proceeds to solve the entire
    662  // model as usual.
    663  // MOE:end_strip
    664  void SetHint(std::vector<std::pair<const MPVariable*, double> > hint);
    665 
    670  enum BasisStatus {
    671  FREE = 0,
    676  };
    677 
    689  void SetStartingLpBasis(
    690  const std::vector<MPSolver::BasisStatus>& variable_statuses,
    691  const std::vector<MPSolver::BasisStatus>& constraint_statuses);
    692 
    698  static double infinity() { return std::numeric_limits<double>::infinity(); }
    699 
    708  bool OutputIsEnabled() const;
    710  void EnableOutput();
    712  void SuppressOutput();
    713 
    714  absl::Duration TimeLimit() const { return time_limit_; }
    715  void SetTimeLimit(absl::Duration time_limit) {
    716  DCHECK_GE(time_limit, absl::ZeroDuration());
    717  time_limit_ = time_limit;
    718  }
    719 
    720  absl::Duration DurationSinceConstruction() const {
    721  return absl::Now() - construction_time_;
    722  }
    723 
    727  int64 iterations() const;
    728 
    734  int64 nodes() const;
    735 
    739  std::string SolverVersion() const;
    740 
    754  void* underlying_solver();
    755 
    779  double ComputeExactConditionNumber() const;
    780 
    795  ABSL_MUST_USE_RESULT bool NextSolution();
    796 
    797  // DEPRECATED: Use TimeLimit() and SetTimeLimit(absl::Duration) instead.
    798  // NOTE: These deprecated functions used the convention time_limit = 0 to mean
    799  // "no limit", which now corresponds to time_limit_ = InfiniteDuration().
    800  int64 time_limit() const {
    801  return time_limit_ == absl::InfiniteDuration()
    802  ? 0
    803  : absl::ToInt64Milliseconds(time_limit_);
    804  }
    805  void set_time_limit(int64 time_limit_milliseconds) {
    806  SetTimeLimit(time_limit_milliseconds == 0
    807  ? absl::InfiniteDuration()
    808  : absl::Milliseconds(time_limit_milliseconds));
    809  }
    810  double time_limit_in_secs() const {
    811  return static_cast<double>(time_limit()) / 1000.0;
    812  }
    813 
    814  // DEPRECATED: Use DurationSinceConstruction() instead.
    815  int64 wall_time() const {
    816  return absl::ToInt64Milliseconds(DurationSinceConstruction());
    817  }
    818 
    819  friend class GLPKInterface;
    820  friend class CLPInterface;
    821  friend class CBCInterface;
    822  friend class SCIPInterface;
    823  friend class GurobiInterface;
    824  friend class CplexInterface;
    825  friend class SLMInterface;
    826  friend class MPSolverInterface;
    827  friend class GLOPInterface;
    828  friend class BopInterface;
    829  friend class SatInterface;
    830  friend class KnapsackInterface;
    831 
    832  // Debugging: verify that the given MPVariable* belongs to this solver.
    833  bool OwnsVariable(const MPVariable* var) const;
    834 
    835  private:
    836  // Computes the size of the constraint with the largest number of
    837  // coefficients with index in [min_constraint_index,
    838  // max_constraint_index)
    839  int ComputeMaxConstraintSize(int min_constraint_index,
    840  int max_constraint_index) const;
    841 
    842  // Returns true if the model has constraints with lower bound > upper bound.
    843  bool HasInfeasibleConstraints() const;
    844 
    845  // Returns true if the model has at least 1 integer variable.
    846  bool HasIntegerVariables() const;
    847 
    848  // Generates the map from variable names to their indices.
    849  void GenerateVariableNameIndex() const;
    850 
    851  // Generates the map from constraint names to their indices.
    852  void GenerateConstraintNameIndex() const;
    853 
    854  // The name of the linear programming problem.
    855  const std::string name_;
    856 
    857  // The type of the linear programming problem.
    858  const OptimizationProblemType problem_type_;
    859 
    860  // The solver interface.
    861  std::unique_ptr<MPSolverInterface> interface_;
    862 
    863  // The vector of variables in the problem.
    864  std::vector<MPVariable*> variables_;
    865  // A map from a variable's name to its index in variables_.
    866  mutable absl::optional<absl::flat_hash_map<std::string, int> >
    867  variable_name_to_index_;
    868  // Whether variables have been extracted to the underlying interface.
    869  std::vector<bool> variable_is_extracted_;
    870 
    871  // The vector of constraints in the problem.
    872  std::vector<MPConstraint*> constraints_;
    873  // A map from a constraint's name to its index in constraints_.
    874  mutable absl::optional<absl::flat_hash_map<std::string, int> >
    875  constraint_name_to_index_;
    876  // Whether constraints have been extracted to the underlying interface.
    877  std::vector<bool> constraint_is_extracted_;
    878 
    879  // The linear objective function.
    880  std::unique_ptr<MPObjective> objective_;
    881 
    882  // Initial values for all or some of the problem variables that can be
    883  // exploited as a starting hint by a solver.
    884  //
    885  // Note(user): as of 05/05/2015, we can't use >> because of some SWIG errors.
    886  //
    887  // TODO(user): replace by two vectors, a std::vector<bool> to indicate if a
    888  // hint is provided and a std::vector<double> for the hint value.
    889  std::vector<std::pair<const MPVariable*, double> > solution_hint_;
    890 
    891  absl::Duration time_limit_ = absl::InfiniteDuration(); // Default = No limit.
    892 
    893  const absl::Time construction_time_;
    894 
    895  // Permanent storage for the number of threads.
    896  int num_threads_ = 1;
    897 
    898  // Permanent storage for SetSolverSpecificParametersAsString().
    899  std::string solver_specific_parameter_string_;
    900 
    901  MPSolverResponseStatus LoadModelFromProtoInternal(
    902  const MPModelProto& input_model, bool clear_names,
    903  std::string* error_message);
    904 
    905  DISALLOW_COPY_AND_ASSIGN(MPSolver);
    906 };
    907 
    908 const absl::string_view ToString(
    909  MPSolver::OptimizationProblemType optimization_problem_type);
    910 
    911 inline std::ostream& operator<<(
    912  std::ostream& os,
    913  MPSolver::OptimizationProblemType optimization_problem_type) {
    914  return os << ToString(optimization_problem_type);
    915 }
    916 
    917 inline std::ostream& operator<<(std::ostream& os,
    918  MPSolver::ResultStatus status) {
    919  return os << ProtoEnumToString<MPSolverResponseStatus>(
    920  static_cast<MPSolverResponseStatus>(status));
    921 }
    922 
    923 bool AbslParseFlag(absl::string_view text,
    925  std::string* error);
    926 
    927 inline std::string AbslUnparseFlag(
    928  MPSolver::OptimizationProblemType solver_type) {
    929  return std::string(ToString(solver_type));
    930 }
    931 
    935 class MPObjective {
    936  public:
    941  void Clear();
    942 
    949  void SetCoefficient(const MPVariable* const var, double coeff);
    950 
    956  double GetCoefficient(const MPVariable* const var) const;
    957 
    963  const absl::flat_hash_map<const MPVariable*, double>& terms() const {
    964  return coefficients_;
    965  }
    966 
    970  void SetOffset(double value);
    971 
    975  double offset() const { return offset_; }
    976 
    981  void OptimizeLinearExpr(const LinearExpr& linear_expr, bool is_maximization);
    982 
    986  void MaximizeLinearExpr(const LinearExpr& linear_expr) {
    987  OptimizeLinearExpr(linear_expr, true);
    988  }
    992  void MinimizeLinearExpr(const LinearExpr& linear_expr) {
    993  OptimizeLinearExpr(linear_expr, false);
    994  }
    995 
    999  void AddLinearExpr(const LinearExpr& linear_expr);
    1000 
    1004  void SetOptimizationDirection(bool maximize);
    1005 
    1010 
    1015 
    1019  bool maximization() const;
    1023  bool minimization() const;
    1024 
    1036  double Value() const;
    1037 
    1044  double BestBound() const;
    1045 
    1046  private:
    1047  friend class MPSolver;
    1048  friend class MPSolverInterface;
    1049  friend class CBCInterface;
    1050  friend class CLPInterface;
    1051  friend class GLPKInterface;
    1052  friend class SCIPInterface;
    1053  friend class SLMInterface;
    1054  friend class GurobiInterface;
    1055  friend class CplexInterface;
    1056  friend class GLOPInterface;
    1057  friend class BopInterface;
    1058  friend class SatInterface;
    1059  friend class KnapsackInterface;
    1060 
    1061  // Constructor. An objective points to a single MPSolverInterface
    1062  // that is specified in the constructor. An objective cannot belong
    1063  // to several models.
    1064  // At construction, an MPObjective has no terms (which is equivalent
    1065  // on having a coefficient of 0 for all variables), and an offset of 0.
    1066  explicit MPObjective(MPSolverInterface* const interface_in)
    1067  : interface_(interface_in), coefficients_(1), offset_(0.0) {}
    1068 
    1069  MPSolverInterface* const interface_;
    1070 
    1071  // Mapping var -> coefficient.
    1072  absl::flat_hash_map<const MPVariable*, double> coefficients_;
    1073  // Constant term.
    1074  double offset_;
    1075 
    1076  DISALLOW_COPY_AND_ASSIGN(MPObjective);
    1077 };
    1078 
    1082 class MPVariable {
    1083  public:
    1087  const std::string& name() const { return name_; }
    1088 
    1092  void SetInteger(bool integer);
    1093 
    1097  bool integer() const { return integer_; }
    1098 
    1106  double solution_value() const;
    1107 
    1111  int index() const { return index_; }
    1112 
    1116  double lb() const { return lb_; }
    1117 
    1121  double ub() const { return ub_; }
    1122 
    1126  void SetLB(double lb) { SetBounds(lb, ub_); }
    1130  void SetUB(double ub) { SetBounds(lb_, ub); }
    1131 
    1135  void SetBounds(double lb, double ub);
    1136 
    1143  double unrounded_solution_value() const;
    1144 
    1149  double reduced_cost() const;
    1150 
    1158 
    1169  int branching_priority() const { return branching_priority_; }
    1170  void SetBranchingPriority(int priority);
    1171 
    1172  protected:
    1173  friend class MPSolver;
    1174  friend class MPSolverInterface;
    1175  friend class CBCInterface;
    1176  friend class CLPInterface;
    1177  friend class GLPKInterface;
    1178  friend class SCIPInterface;
    1179  friend class SLMInterface;
    1180  friend class GurobiInterface;
    1181  friend class CplexInterface;
    1182  friend class GLOPInterface;
    1184  friend class BopInterface;
    1185  friend class SatInterface;
    1186  friend class KnapsackInterface;
    1187 
    1188  // Constructor. A variable points to a single MPSolverInterface that
    1189  // is specified in the constructor. A variable cannot belong to
    1190  // several models.
    1191  MPVariable(int index, double lb, double ub, bool integer,
    1192  const std::string& name, MPSolverInterface* const interface_in)
    1193  : index_(index),
    1194  lb_(lb),
    1195  ub_(ub),
    1196  integer_(integer),
    1197  name_(name.empty() ? absl::StrFormat("auto_v_%09d", index) : name),
    1198  solution_value_(0.0),
    1199  reduced_cost_(0.0),
    1200  interface_(interface_in) {}
    1201 
    1202  void set_solution_value(double value) { solution_value_ = value; }
    1203  void set_reduced_cost(double reduced_cost) { reduced_cost_ = reduced_cost; }
    1204 
    1205  private:
    1206  const int index_;
    1207  double lb_;
    1208  double ub_;
    1209  bool integer_;
    1210  const std::string name_;
    1211  double solution_value_;
    1212  double reduced_cost_;
    1213  int branching_priority_ = 0;
    1214  MPSolverInterface* const interface_;
    1215  DISALLOW_COPY_AND_ASSIGN(MPVariable);
    1216 };
    1217 
    1224  public:
    1228  const std::string& name() const { return name_; }
    1229 
    1233  void Clear();
    1234 
    1241  void SetCoefficient(const MPVariable* const var, double coeff);
    1242 
    1247  double GetCoefficient(const MPVariable* const var) const;
    1248 
    1254  const absl::flat_hash_map<const MPVariable*, double>& terms() const {
    1255  return coefficients_;
    1256  }
    1257 
    1261  double lb() const { return lb_; }
    1262 
    1266  double ub() const { return ub_; }
    1267 
    1271  void SetLB(double lb) { SetBounds(lb, ub_); }
    1272 
    1276  void SetUB(double ub) { SetBounds(lb_, ub); }
    1277 
    1281  void SetBounds(double lb, double ub);
    1282 
    1286  bool is_lazy() const { return is_lazy_; }
    1287 
    1301  void set_is_lazy(bool laziness) { is_lazy_ = laziness; }
    1302 
    1303  const MPVariable* indicator_variable() const { return indicator_variable_; }
    1304  bool indicator_value() const { return indicator_value_; }
    1305 
    1309  int index() const { return index_; }
    1310 
    1315  double dual_value() const;
    1316 
    1330 
    1331  protected:
    1332  friend class MPSolver;
    1333  friend class MPSolverInterface;
    1334  friend class CBCInterface;
    1335  friend class CLPInterface;
    1336  friend class GLPKInterface;
    1337  friend class SCIPInterface;
    1338  friend class SLMInterface;
    1339  friend class GurobiInterface;
    1340  friend class CplexInterface;
    1341  friend class GLOPInterface;
    1342  friend class BopInterface;
    1343  friend class SatInterface;
    1344  friend class KnapsackInterface;
    1345 
    1346  // Constructor. A constraint points to a single MPSolverInterface
    1347  // that is specified in the constructor. A constraint cannot belong
    1348  // to several models.
    1349  MPConstraint(int index, double lb, double ub, const std::string& name,
    1350  MPSolverInterface* const interface_in)
    1351  : coefficients_(1),
    1352  index_(index),
    1353  lb_(lb),
    1354  ub_(ub),
    1355  name_(name.empty() ? absl::StrFormat("auto_c_%09d", index) : name),
    1356  is_lazy_(false),
    1357  indicator_variable_(nullptr),
    1358  dual_value_(0.0),
    1359  interface_(interface_in) {}
    1360 
    1361  void set_dual_value(double dual_value) { dual_value_ = dual_value; }
    1362 
    1363  private:
    1364  // Returns true if the constraint contains variables that have not
    1365  // been extracted yet.
    1366  bool ContainsNewVariables();
    1367 
    1368  // Mapping var -> coefficient.
    1369  absl::flat_hash_map<const MPVariable*, double> coefficients_;
    1370 
    1371  const int index_; // See index().
    1372 
    1373  // The lower bound for the linear constraint.
    1374  double lb_;
    1375 
    1376  // The upper bound for the linear constraint.
    1377  double ub_;
    1378 
    1379  // Name.
    1380  const std::string name_;
    1381 
    1382  // True if the constraint is "lazy", i.e. the constraint is added to the
    1383  // underlying Linear Programming solver only if it is violated.
    1384  // By default this parameter is 'false'.
    1385  bool is_lazy_;
    1386 
    1387  // If given, this constraint is only active if `indicator_variable_`'s value
    1388  // is equal to `indicator_value_`.
    1389  const MPVariable* indicator_variable_;
    1390  bool indicator_value_;
    1391 
    1392  double dual_value_;
    1393  MPSolverInterface* const interface_;
    1394  DISALLOW_COPY_AND_ASSIGN(MPConstraint);
    1395 };
    1396 
    1424  public:
    1433 
    1444  };
    1445 
    1453  PRESOLVE = 1000,
    1465  SCALING = 1003
    1466  };
    1467 
    1472  PRESOLVE_OFF = 0, // Presolve is off.
    1473  PRESOLVE_ON = 1 // Presolve is on.
    1474  };
    1475 
    1480  DUAL = 10, // Dual simplex.
    1481  PRIMAL = 11, // Primal simplex.
    1482  BARRIER = 12 // Barrier algorithm.
    1483  };
    1484 
    1493 
    1499  };
    1500 
    1509  };
    1510 
    1511  // @{
    1512  // Placeholder value to indicate that a parameter is set to
    1513  // the default value defined in the wrapper.
    1514  static const double kDefaultDoubleParamValue;
    1515  static const int kDefaultIntegerParamValue;
    1516  // @}
    1517 
    1518  // @{
    1519  // Placeholder value to indicate that a parameter is unknown.
    1520  static const double kUnknownDoubleParamValue;
    1521  static const int kUnknownIntegerParamValue;
    1522  // @}
    1523 
    1524  // @{
    1525  // Default values for parameters. Only parameters that define the
    1526  // properties of the solution returned need to have a default value
    1527  // (that is the same for all solvers). You can also define a default
    1528  // value for performance parameters when you are confident it is a
    1529  // good choice (example: always turn presolve on).
    1530  static const double kDefaultRelativeMipGap;
    1531  static const double kDefaultPrimalTolerance;
    1532  static const double kDefaultDualTolerance;
    1535  // @}
    1536 
    1541 
    1545  void SetDoubleParam(MPSolverParameters::DoubleParam param, double value);
    1549  void SetIntegerParam(MPSolverParameters::IntegerParam param, int value);
    1550 
    1567  void Reset();
    1568 
    1572  double GetDoubleParam(MPSolverParameters::DoubleParam param) const;
    1573 
    1578 
    1579  private:
    1580  // Parameter value for each parameter.
    1581  // @see DoubleParam
    1582  // @see IntegerParam
    1583  double relative_mip_gap_value_;
    1584  double primal_tolerance_value_;
    1585  double dual_tolerance_value_;
    1586  int presolve_value_;
    1587  int scaling_value_;
    1588  int lp_algorithm_value_;
    1589  int incrementality_value_;
    1590 
    1591  // Boolean value indicating whether each parameter is set to the
    1592  // solver's default value. Only parameters for which the wrapper
    1593  // does not define a default value need such an indicator.
    1594  bool lp_algorithm_is_default_;
    1595 
    1596  DISALLOW_COPY_AND_ASSIGN(MPSolverParameters);
    1597 };
    1598 
    1599 // This class wraps the actual mathematical programming solvers. Each
    1600 // solver (GLOP, CLP, CBC, GLPK, SCIP) has its own interface class that
    1601 // derives from this abstract class. This class is never directly
    1602 // accessed by the user.
    1603 // @see glop_interface.cc
    1604 // @see cbc_interface.cc
    1605 // @see clp_interface.cc
    1606 // @see glpk_interface.cc
    1607 // @see scip_interface.cc
    1609  public:
    1611  // The underlying solver (CLP, GLPK, ...) and MPSolver are not in
    1612  // sync for the model nor for the solution.
    1614  // The underlying solver and MPSolver are in sync for the model
    1615  // but not for the solution: the model has changed since the
    1616  // solution was computed last.
    1618  // The underlying solver and MPSolver are in sync for the model and
    1619  // the solution.
    1621  };
    1622 
    1623  // When the underlying solver does not provide the number of simplex
    1624  // iterations.
    1625  static const int64 kUnknownNumberOfIterations = -1;
    1626  // When the underlying solver does not provide the number of
    1627  // branch-and-bound nodes.
    1628  static const int64 kUnknownNumberOfNodes = -1;
    1629 
    1630  // Constructor. The user will access the MPSolverInterface through the
    1631  // MPSolver passed as argument.
    1632  explicit MPSolverInterface(MPSolver* const solver);
    1633  virtual ~MPSolverInterface();
    1634 
    1635  // ----- Solve -----
    1636  // Solves problem with specified parameter values. Returns true if the
    1637  // solution is optimal.
    1638  virtual MPSolver::ResultStatus Solve(const MPSolverParameters& param) = 0;
    1639 
    1640  // Writes the model using the solver internal write function. Currently only
    1641  // available for GurobiInterface.
    1642  virtual void Write(const std::string& filename);
    1643 
    1644  // ----- Model modifications and extraction -----
    1645  // Resets extracted model.
    1646  virtual void Reset() = 0;
    1647 
    1648  // Sets the optimization direction (min/max).
    1649  virtual void SetOptimizationDirection(bool maximize) = 0;
    1650 
    1651  // Modifies bounds of an extracted variable.
    1652  virtual void SetVariableBounds(int index, double lb, double ub) = 0;
    1653 
    1654  // Modifies integrality of an extracted variable.
    1655  virtual void SetVariableInteger(int index, bool integer) = 0;
    1656 
    1657  // Modify bounds of an extracted variable.
    1658  virtual void SetConstraintBounds(int index, double lb, double ub) = 0;
    1659 
    1660  // Adds a linear constraint.
    1661  virtual void AddRowConstraint(MPConstraint* const ct) = 0;
    1662 
    1663  // Adds an indicator constraint. Returns true if the feature is supported by
    1664  // the underlying solver.
    1665  virtual bool AddIndicatorConstraint(MPConstraint* const ct) {
    1666  LOG(ERROR) << "Solver doesn't support indicator constraints.";
    1667  return false;
    1668  }
    1669 
    1670  // Add a variable.
    1671  virtual void AddVariable(MPVariable* const var) = 0;
    1672 
    1673  // Changes a coefficient in a constraint.
    1674  virtual void SetCoefficient(MPConstraint* const constraint,
    1675  const MPVariable* const variable,
    1676  double new_value, double old_value) = 0;
    1677 
    1678  // Clears a constraint from all its terms.
    1679  virtual void ClearConstraint(MPConstraint* const constraint) = 0;
    1680 
    1681  // Changes a coefficient in the linear objective.
    1682  virtual void SetObjectiveCoefficient(const MPVariable* const variable,
    1683  double coefficient) = 0;
    1684 
    1685  // Changes the constant term in the linear objective.
    1686  virtual void SetObjectiveOffset(double value) = 0;
    1687 
    1688  // Clears the objective from all its terms.
    1689  virtual void ClearObjective() = 0;
    1690 
    1691  virtual void BranchingPriorityChangedForVariable(int var_index) {}
    1692  // ------ Query statistics on the solution and the solve ------
    1693  // Returns the number of simplex iterations. The problem must be discrete,
    1694  // otherwise it crashes, or returns kUnknownNumberOfIterations in NDEBUG mode.
    1695  virtual int64 iterations() const = 0;
    1696  // Returns the number of branch-and-bound nodes. The problem must be discrete,
    1697  // otherwise it crashes, or returns kUnknownNumberOfNodes in NDEBUG mode.
    1698  virtual int64 nodes() const = 0;
    1699  // Returns the best objective bound. The problem must be discrete, otherwise
    1700  // it crashes, or returns trivial_worst_objective_bound() in NDEBUG mode.
    1701  virtual double best_objective_bound() const = 0;
    1702  // A trivial objective bound: the worst possible value of the objective,
    1703  // which will be +infinity if minimizing and -infinity if maximing.
    1704  double trivial_worst_objective_bound() const;
    1705  // Returns the objective value of the best solution found so far.
    1706  double objective_value() const;
    1707 
    1708  // Returns the basis status of a row.
    1709  virtual MPSolver::BasisStatus row_status(int constraint_index) const = 0;
    1710  // Returns the basis status of a constraint.
    1711  virtual MPSolver::BasisStatus column_status(int variable_index) const = 0;
    1712 
    1713  // Checks whether the solution is synchronized with the model, i.e. whether
    1714  // the model has changed since the solution was computed last.
    1715  // If it isn't, it crashes in NDEBUG, and returns false othwerwise.
    1716  bool CheckSolutionIsSynchronized() const;
    1717  // Checks whether a feasible solution exists. The behavior is similar to
    1718  // CheckSolutionIsSynchronized() above.
    1719  virtual bool CheckSolutionExists() const;
    1720  // Handy shortcut to do both checks above (it is often used).
    1723  }
    1724  // Checks whether information on the best objective bound exists. The behavior
    1725  // is similar to CheckSolutionIsSynchronized() above.
    1726  virtual bool CheckBestObjectiveBoundExists() const;
    1727 
    1728  // ----- Misc -----
    1729  // Queries problem type. For simplicity, the distinction between
    1730  // continuous and discrete is based on the declaration of the user
    1731  // when the solver is created (example: GLPK_LINEAR_PROGRAMMING
    1732  // vs. GLPK_MIXED_INTEGER_PROGRAMMING), not on the actual content of
    1733  // the model.
    1734  // Returns true if the problem is continuous.
    1735  virtual bool IsContinuous() const = 0;
    1736  // Returns true if the problem is continuous and linear.
    1737  virtual bool IsLP() const = 0;
    1738  // Returns true if the problem is discrete and linear.
    1739  virtual bool IsMIP() const = 0;
    1740 
    1741  // Returns the index of the last variable extracted.
    1743 
    1744  bool variable_is_extracted(int var_index) const {
    1745  return solver_->variable_is_extracted_[var_index];
    1746  }
    1747  void set_variable_as_extracted(int var_index, bool extracted) {
    1748  solver_->variable_is_extracted_[var_index] = extracted;
    1749  }
    1750  bool constraint_is_extracted(int ct_index) const {
    1751  return solver_->constraint_is_extracted_[ct_index];
    1752  }
    1753  void set_constraint_as_extracted(int ct_index, bool extracted) {
    1754  solver_->constraint_is_extracted_[ct_index] = extracted;
    1755  }
    1756 
    1757  // Returns the boolean indicating the verbosity of the solver output.
    1758  bool quiet() const { return quiet_; }
    1759  // Sets the boolean indicating the verbosity of the solver output.
    1760  void set_quiet(bool quiet_value) { quiet_ = quiet_value; }
    1761 
    1762  // Returns the result status of the last solve.
    1765  return result_status_;
    1766  }
    1767 
    1768  // Returns a std::string describing the underlying solver and its version.
    1769  virtual std::string SolverVersion() const = 0;
    1770 
    1771  // Returns the underlying solver.
    1772  virtual void* underlying_solver() = 0;
    1773 
    1774  // Computes exact condition number. Only available for continuous
    1775  // problems and only implemented in GLPK.
    1776  virtual double ComputeExactConditionNumber() const;
    1777 
    1778  // See MPSolver::SetStartingLpBasis().
    1779  virtual void SetStartingLpBasis(
    1780  const std::vector<MPSolver::BasisStatus>& variable_statuses,
    1781  const std::vector<MPSolver::BasisStatus>& constraint_statuses) {
    1782  LOG(FATAL) << "Not supported by this solver.";
    1783  }
    1784 
    1785  virtual bool InterruptSolve() { return false; }
    1786 
    1787  // See MPSolver::NextSolution() for contract.
    1788  virtual bool NextSolution() { return false; }
    1789 
    1790  friend class MPSolver;
    1791 
    1792  // To access the maximize_ bool and the MPSolver.
    1793  friend class MPConstraint;
    1794  friend class MPObjective;
    1795 
    1796  protected:
    1798  // Indicates whether the model and the solution are synchronized.
    1800  // Indicates whether the solve has reached optimality,
    1801  // infeasibility, a limit, etc.
    1803  // Optimization direction.
    1805 
    1806  // Index in MPSolver::variables_ of last constraint extracted.
    1808  // Index in MPSolver::constraints_ of last variable extracted.
    1810 
    1811  // The value of the objective function.
    1813 
    1814  // Boolean indicator for the verbosity of the solver output.
    1815  bool quiet_;
    1816 
    1817  // Index of dummy variable created for empty constraints or the
    1818  // objective offset.
    1819  static const int kDummyVariableIndex;
    1820 
    1821  // Extracts model stored in MPSolver.
    1822  void ExtractModel();
    1823  // Extracts the variables that have not been extracted yet.
    1824  virtual void ExtractNewVariables() = 0;
    1825  // Extracts the constraints that have not been extracted yet.
    1826  virtual void ExtractNewConstraints() = 0;
    1827  // Extracts the objective.
    1828  virtual void ExtractObjective() = 0;
    1829  // Resets the extraction information.
    1831  // Change synchronization status from SOLUTION_SYNCHRONIZED to
    1832  // MODEL_SYNCHRONIZED. To be used for model changes.
    1834 
    1835  // Sets parameters common to LP and MIP in the underlying solver.
    1836  void SetCommonParameters(const MPSolverParameters& param);
    1837  // Sets MIP specific parameters in the underlying solver.
    1838  void SetMIPParameters(const MPSolverParameters& param);
    1839  // Sets all parameters in the underlying solver.
    1840  virtual void SetParameters(const MPSolverParameters& param) = 0;
    1841  // Sets an unsupported double parameter.
    1843  // Sets an unsupported integer parameter.
    1844  virtual void SetUnsupportedIntegerParam(
    1846  // Sets a supported double parameter to an unsupported value.
    1848  double value);
    1849  // Sets a supported integer parameter to an unsupported value.
    1850  virtual void SetIntegerParamToUnsupportedValue(
    1851  MPSolverParameters::IntegerParam param, int value);
    1852  // Sets each parameter in the underlying solver.
    1853  virtual void SetRelativeMipGap(double value) = 0;
    1854  virtual void SetPrimalTolerance(double value) = 0;
    1855  virtual void SetDualTolerance(double value) = 0;
    1856  virtual void SetPresolveMode(int value) = 0;
    1857 
    1858  // Sets the number of threads to be used by the solver.
    1859  virtual util::Status SetNumThreads(int num_threads);
    1860 
    1861  // Pass solver specific parameters in text format. The format is
    1862  // solver-specific and is the same as the corresponding solver configuration
    1863  // file format. Returns true if the operation was successful.
    1864  //
    1865  // The default implementation of this method stores the parameters in a
    1866  // temporary file and calls ReadParameterFile to import the parameter file
    1867  // into the solver. Solvers that support passing the parameters directly can
    1868  // override this method to skip the temporary file logic.
    1870  const std::string& parameters);
    1871 
    1872  // Reads a solver-specific file of parameters and set them.
    1873  // Returns true if there was no errors.
    1874  virtual bool ReadParameterFile(const std::string& filename);
    1875 
    1876  // Returns a file extension like ".tmp", this is needed because some solvers
    1877  // require a given extension for the ReadParameterFile() filename and we need
    1878  // to know it to generate a temporary parameter file.
    1879  virtual std::string ValidFileExtensionForParameterFile() const;
    1880 
    1881  // Sets the scaling mode.
    1882  virtual void SetScalingMode(int value) = 0;
    1883  virtual void SetLpAlgorithm(int value) = 0;
    1884 };
    1885 
    1886 } // namespace operations_research
    1887 
    1888 #endif // OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_
    util::Status LoadSolutionFromProto(const MPSolutionResponse &response, double tolerance=kDefaultPrimalTolerance)
    Load a solution encoded in a protocol buffer onto this solver for easy access via the MPSolver interf...
    +
    Advanced usage: incrementality from one solve to the next.
    +
    virtual util::Status SetNumThreads(int num_threads)
    double GetCoefficient(const MPVariable *const var) const
    Gets the coefficient of a given variable in the objective.
    double GetCoefficient(const MPVariable *const var) const
    Gets the coefficient of a given variable on the constraint (which is 0 if the variable does not appea...
    virtual MPSolver::BasisStatus column_status(int variable_index) const =0
    -
    bool integer() const
    Returns the integrality requirement of the variable.
    +
    bool integer() const
    Returns the integrality requirement of the variable.
    void SetIntegerParam(MPSolverParameters::IntegerParam param, int value)
    Sets a integer parameter to a specific value.
    -
    void set_variable_as_extracted(int var_index, bool extracted)
    - - +
    void set_variable_as_extracted(int var_index, bool extracted)
    + +
    void * underlying_solver()
    Advanced usage: returns the underlying solver.
    - +
    virtual void SetIntegerParamToUnsupportedValue(MPSolverParameters::IntegerParam param, int value)
    - - -
    int branching_priority() const
    Advanced usage: Certain MIP solvers (e.g.
    + + +
    int branching_priority() const
    Advanced usage: Certain MIP solvers (e.g.
    void Clear()
    Clears the offset, all variables and coefficients, and the optimization direction.
    - - -
    IntegerParam
    Enumeration of parameters that take integer or categorical values.
    + + +
    IntegerParam
    Enumeration of parameters that take integer or categorical values.
    This mathematical programming (MP) solver class is the main class though which users build and solve ...
    - +
    void SetCommonParameters(const MPSolverParameters &param)
    -
    const std::vector< MPVariable * > & variables() const
    Returns the array of variables handled by the MPSolver.
    -
    void SetLB(double lb)
    Sets the lower bound.
    +
    const std::vector< MPVariable * > & variables() const
    Returns the array of variables handled by the MPSolver.
    +
    void SetLB(double lb)
    Sets the lower bound.
    double reduced_cost() const
    Advanced usage: returns the reduced cost of the variable in the current solution (only available for ...
    void SetBounds(double lb, double ub)
    Sets both the lower and upper bounds.
    - +
    int64 iterations() const
    Returns the number of simplex iterations.
    -
    const absl::flat_hash_map< const MPVariable *, double > & terms() const
    Returns a map from variables to their coefficients in the constraint.
    - +
    const absl::flat_hash_map< const MPVariable *, double > & terms() const
    Returns a map from variables to their coefficients in the constraint.
    +
    MPVariable * LookupVariableOrNull(const std::string &var_name) const
    Looks up a variable by name, and returns nullptr if it does not exist.
    - +
    virtual void Write(const std::string &filename)
    void SetHint(std::vector< std::pair< const MPVariable *, double > > hint)
    Set a hint for solution.
    -
    the model is trivially invalid (NaN coefficients, etc).
    +
    the model is trivially invalid (NaN coefficients, etc).
    void MakeBoolVarArray(int nb, const std::string &name, std::vector< MPVariable * > *vars)
    Creates an array of boolean variables.
    - - - + + +
    MPSolver(const std::string &name, OptimizationProblemType problem_type)
    Create a solver with the given name and underlying solver backend.
    virtual double best_objective_bound() const =0
    -
    void set_is_lazy(bool laziness)
    Advanced usage: sets the constraint "laziness".
    +
    void set_is_lazy(bool laziness)
    Advanced usage: sets the constraint "laziness".
    +
    An expression of the form:
    Definition: linear_expr.h:182
    virtual void SetUnsupportedIntegerParam(MPSolverParameters::IntegerParam param)
    -
    Mixed integer Programming Solver using Coin CBC.
    +
    Mixed integer Programming Solver using Coin CBC.
    virtual MPSolver::ResultStatus Solve(const MPSolverParameters &param)=0
    - -
    const std::string & name() const
    Returns the name of the variable.
    -
    bool is_lazy() const
    Advanced usage: returns true if the constraint is "lazy" (see below).
    + +
    const std::string & name() const
    Returns the name of the variable.
    +
    bool is_lazy() const
    Advanced usage: returns true if the constraint is "lazy" (see below).
    static bool ParseSolverType(absl::string_view solver, OptimizationProblemType *type)
    Parses the name of the solver.
    - -
    double offset() const
    Gets the constant term in the objective.
    - -
    const MPObjective & Objective() const
    Returns the objective object.
    - -
    void set_solution_value(double value)
    - + +
    double offset() const
    Gets the constant term in the objective.
    + +
    const MPObjective & Objective() const
    Returns the objective object.
    + +
    void set_solution_value(double value)
    +
    void SetCoefficient(const MPVariable *const var, double coeff)
    Sets the coefficient of the variable in the objective.
    void SetOptimizationDirection(bool maximize)
    Sets the optimization direction (maximize: true or minimize: false).
    -
    bool variable_is_extracted(int var_index) const
    - - - -
    virtual bool AddIndicatorConstraint(MPConstraint *const ct)
    -
    bool constraint_is_extracted(int ct_index) const
    -
    IncrementalityValues
    Advanced usage: Incrementality options.
    -
    int index() const
    Returns the index of the constraint in the MPSolver::constraints_.
    - - +
    bool variable_is_extracted(int var_index) const
    + + + +
    virtual bool AddIndicatorConstraint(MPConstraint *const ct)
    +
    bool constraint_is_extracted(int ct_index) const
    +
    IncrementalityValues
    Advanced usage: Incrementality options.
    +
    int index() const
    Returns the index of the constraint in the MPSolver::constraints_.
    + +
    void SetStartingLpBasis(const std::vector< MPSolver::BasisStatus > &variable_statuses, const std::vector< MPSolver::BasisStatus > &constraint_statuses)
    Advanced usage: Incrementality.
    - - -
    Reuse results from previous solve as much as the underlying solver allows.
    - + + +
    Reuse results from previous solve as much as the underlying solver allows.
    +
    bool ExportModelAsMpsFormat(bool fixed_format, bool obfuscate, std::string *model_str) const
    void SetBranchingPriority(int priority)
    - - + +
    MPVariable * MakeIntVar(double lb, double ub, const std::string &name)
    Creates an integer variable.
    virtual void SetCoefficient(MPConstraint *const constraint, const MPVariable *const variable, double new_value, double old_value)=0
    void Clear()
    Clears the objective (including the optimization direction), all variables and constraints.
    - - - - - + + + + +
    virtual void SetScalingMode(int value)=0
    - +
    constexpr double kDefaultPrimalTolerance
    -
    int NumVariables() const
    Returns the number of variables.
    - +
    int NumVariables() const
    Returns the number of variables.
    +
    double dual_value() const
    Advanced usage: returns the dual value of the constraint in the current solution (only available for ...
    virtual void SetDualTolerance(double value)=0
    void SetCoefficient(const MPVariable *const var, double coeff)
    Sets the coefficient of the variable on the constraint.
    virtual std::string SolverVersion() const =0
    - +
    static void SolveWithProto(const MPModelRequest &model_request, MPSolutionResponse *response)
    Solves the model encoded by a MPModelRequest protocol buffer and fills the solution encoded as a MPSo...
    -
    MPSolver::ResultStatus result_status() const
    +
    MPSolver::ResultStatus result_status() const
    virtual std::string ValidFileExtensionForParameterFile() const
    -
    PresolveValues
    For each categorical parameter, enumeration of possible values.
    - -
    const MPVariable * indicator_variable() const
    -
    MPObjective * MutableObjective()
    Returns the mutable objective object.
    +
    PresolveValues
    For each categorical parameter, enumeration of possible values.
    + +
    const MPVariable * indicator_variable() const
    +
    MPObjective * MutableObjective()
    Returns the mutable objective object.
    void ExportModelToProto(MPModelProto *output_model) const
    Exports model to protocol buffer.
    void OptimizeLinearExpr(const LinearExpr &linear_expr, bool is_maximization)
    Resets the current objective to take the value of linear_expr, and sets the objective direction to ma...
    void EnableOutput()
    Enable output.
    virtual void SetObjectiveCoefficient(const MPVariable *const variable, double coefficient)=0
    int GetIntegerParam(MPSolverParameters::IntegerParam param) const
    Returns the value of an integer parameter.
    -
    void SetMaximization()
    Sets the optimization direction to maximize.
    +
    void SetMaximization()
    Sets the optimization direction to maximize.
    void SetDoubleParamToUnsupportedValue(MPSolverParameters::DoubleParam param, double value)
    - - + + -
    const absl::flat_hash_map< const MPVariable *, double > & terms() const
    Returns a map from variables to their coefficients in the objective.
    bool SetSolverSpecificParametersAsString(const std::string &parameters)
    Advanced usage: pass solver specific parameters in text format.
    -
    Mixed integer Programming Solver using SCIP.
    - -
    static const IncrementalityValues kDefaultIncrementality
    +
    Mixed integer Programming Solver using SCIP.
    + +
    static const IncrementalityValues kDefaultIncrementality
    virtual int64 nodes() const =0
    ABSL_MUST_USE_RESULT bool NextSolution()
    Some solvers (MIP only, not LP) can produce multiple solutions to the problem.
    - - + +
    void MakeIntVarArray(int nb, double lb, double ub, const std::string &name, std::vector< MPVariable * > *vars)
    Creates an array of integer variables.
    virtual void ClearConstraint(MPConstraint *const constraint)=0
    void Write(const std::string &file_name)
    Writes the model using the solver internal write function.
    MPSolver::BasisStatus basis_status() const
    Advanced usage: returns the basis status of the variable in the current solution (only available for ...
    - - -
    virtual OptimizationProblemType ProblemType() const
    Returns the optimization problem type set at construction.
    - + + +
    virtual OptimizationProblemType ProblemType() const
    Returns the optimization problem type set at construction.
    +
    void SuppressOutput()
    Suppress output.
    void Clear()
    Clears all variables and coefficients.
    - - + + -
    void set_constraint_as_extracted(int ct_index, bool extracted)
    -
    void SetTimeLimit(absl::Duration time_limit)
    +
    void set_constraint_as_extracted(int ct_index, bool extracted)
    +
    void SetTimeLimit(absl::Duration time_limit)
    MPSolverResponseStatus LoadModelFromProtoWithUniqueNamesOrDie(const MPModelProto &input_model, std::string *error_message)
    Loads model from protocol buffer.
    - - - + + +
    static bool SupportsProblemType(OptimizationProblemType problem_type)
    Whether the given problem type is supported (this will depend on the targets that you linked).
    double ComputeExactConditionNumber() const
    Advanced usage: computes the exact condition number of the current scaled basis: L1norm(B) * L1norm(i...
    - +
    bool minimization() const
    Is the optimization direction set to minimize?
    - +
    virtual void SetOptimizationDirection(bool maximize)=0
    void AddLinearExpr(const LinearExpr &linear_expr)
    Adds linear_expr to the current objective, does not change the direction.
    -
    void SetMinimization()
    Sets the optimization direction to minimize.
    -
    void MinimizeLinearExpr(const LinearExpr &linear_expr)
    Resets the current objective to minimize linear_expr.
    -
    std::ostream & operator<<(std::ostream &os, MPSolver::OptimizationProblemType optimization_problem_type)
    - +
    void SetMinimization()
    Sets the optimization direction to minimize.
    +
    void MinimizeLinearExpr(const LinearExpr &linear_expr)
    Resets the current objective to minimize linear_expr.
    +
    std::ostream & operator<<(std::ostream &os, MPSolver::OptimizationProblemType optimization_problem_type)
    +
    void MakeNumVarArray(int nb, double lb, double ub, const std::string &name, std::vector< MPVariable * > *vars)
    Creates an array of continuous variables.
    virtual bool CheckBestObjectiveBoundExists() const
    +
    LinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization...
    Definition: linear_expr.h:112
    bool VerifySolution(double tolerance, bool log_errors) const
    Advanced usage: Verifies the correctness of the solution.
    void ResetIntegerParam(MPSolverParameters::IntegerParam param)
    Sets an integer parameter to its default value (default value defined in MPSolverParameters if it exi...
    - +
    virtual bool SetSolverSpecificParametersAsString(const std::string &parameters)
    - +
    int64 nodes() const
    Returns the number of branch-and-bound nodes evaluated during the solve.
    Linear Programming solver using GLOP (Recommended solver).
    -
    static double infinity()
    Infinity.
    - +
    static double infinity()
    Infinity.
    +
    bool OwnsVariable(const MPVariable *var) const
    virtual void AddVariable(MPVariable *const var)=0
    void MakeVarArray(int nb, double lb, double ub, bool integer, const std::string &name_prefix, std::vector< MPVariable * > *vars)
    Creates an array of variables.
    virtual void SetVariableBounds(int index, double lb, double ub)=0
    -
    void SetLB(double lb)
    Sets the lower bound.
    - +
    void SetLB(double lb)
    Sets the lower bound.
    +
    void SetMIPParameters(const MPSolverParameters &param)
    void SetInteger(bool integer)
    Sets the integrality requirement of the variable.
    virtual void SetPrimalTolerance(double value)=0
    - -
    void set_time_limit(int64 time_limit_milliseconds)
    - - + +
    void set_time_limit(int64 time_limit_milliseconds)
    + +
    ResultStatus Solve()
    Solves the problem using default parameter values.
    MPConstraint * MakeRowConstraint()
    Creates a constraint with -infinity and +infinity bounds.
    void SetDoubleParam(MPSolverParameters::DoubleParam param, double value)
    Sets a double parameter to a specific value.
    OptimizationProblemType
    The type of problems (LP or MIP) that will be solved and the underlying solver (GLOP,...
    - -
    const std::string & Name() const
    Returns the name of the model set at construction.
    + +
    const std::string & Name() const
    Returns the name of the model set at construction.
    MPSolverParameters()
    The constructor sets all parameters to their default value.
    - +
    const absl::string_view ToString(MPSolver::OptimizationProblemType optimization_problem_type)
    -
    BasisStatus
    Advanced usage: possible basis status values for a variable and the slack variable of a linear constr...
    +
    BasisStatus
    Advanced usage: possible basis status values for a variable and the slack variable of a linear constr...
    MPSolver::BasisStatus basis_status() const
    Advanced usage: returns the basis status of the constraint.
    -
    ResultStatus
    The status of solving the problem.
    -
    Advanced usage: tolerance for primal feasibility of basic solutions.
    - +
    ResultStatus
    The status of solving the problem.
    +
    Advanced usage: tolerance for primal feasibility of basic solutions.
    +
    virtual void SetVariableInteger(int index, bool integer)=0
    double BestBound() const
    Returns the best objective bound.
    - - +
    const absl::flat_hash_map< const MPVariable *, double > & terms() const
    Returns a map from variables to their coefficients in the objective.
    + + +
    This file allows you to write natural code (like a mathematical equation) to model optimization probl...
    virtual MPSolver::BasisStatus row_status(int constraint_index) const =0
    -
    double ub() const
    Returns the upper bound.
    -
    This class stores parameter settings for LP and MIP solvers.
    -
    const std::string & name() const
    Returns the name of the constraint.
    +
    double ub() const
    Returns the upper bound.
    +
    This class stores parameter settings for LP and MIP solvers.
    +
    const std::string & name() const
    Returns the name of the constraint.
    - - -
    The class for constraints of a Mathematical Programming (MP) model.
    -
    virtual void BranchingPriorityChangedForVariable(int var_index)
    -
    int NumConstraints() const
    Returns the number of constraints.
    - - -
    void set_dual_value(double dual_value)
    - - + + +
    The class for constraints of a Mathematical Programming (MP) model.
    +
    virtual void BranchingPriorityChangedForVariable(int var_index)
    +
    int NumConstraints() const
    Returns the number of constraints.
    + + +
    void set_dual_value(double dual_value)
    + +
    double unrounded_solution_value() const
    Advanced usage: unrounded solution value.
    - +
    std::vector< double > ComputeConstraintActivities() const
    Advanced usage: compute the "activities" of all constraints, which are the sums of their linear terms...
    - +
    util::Status SetNumThreads(int num_threads)
    Sets the number of threads to use by the underlying solver.
    - -
    ScalingValues
    Advanced usage: Scaling options.
    -
    std::string AbslUnparseFlag(MPSolver::OptimizationProblemType solver_type)
    + +
    ScalingValues
    Advanced usage: Scaling options.
    +
    std::string AbslUnparseFlag(MPSolver::OptimizationProblemType solver_type)
    bool AbslParseFlag(absl::string_view text, MPSolver::OptimizationProblemType *solver_type, std::string *error)
    -
    abnormal, i.e., error of some kind.
    -
    MPVariable(int index, double lb, double ub, bool integer, const std::string &name, MPSolverInterface *const interface_in)
    - -
    void SetUB(double ub)
    Sets the upper bound.
    +
    abnormal, i.e., error of some kind.
    +
    MPVariable(int index, double lb, double ub, bool integer, const std::string &name, MPSolverInterface *const interface_in)
    + +
    void SetUB(double ub)
    Sets the upper bound.
    bool ExportModelAsLpFormat(bool obfuscate, std::string *model_str) const
    Shortcuts to the homonymous MPModelProtoExporter methods, via exporting to a MPModelProto with Export...
    - +
    void Reset()
    Sets all parameters to their default value.
    - -
    absl::Duration DurationSinceConstruction() const
    - + +
    absl::Duration DurationSinceConstruction() const
    +
    void ResetDoubleParam(MPSolverParameters::DoubleParam param)
    Sets a double parameter to its default value (default value defined in MPSolverParameters if it exist...
    - +
    MPSolverResponseStatus LoadModelFromProto(const MPModelProto &input_model, std::string *error_message)
    Loads model from protocol buffer.
    virtual void AddRowConstraint(MPConstraint *const ct)=0
    - +
    Linear Programming solver using Coin CBC.
    std::string SolverVersion() const
    Returns a std::string describing the underlying solver and its version.
    virtual double ComputeExactConditionNumber() const
    MPVariable * MakeNumVar(double lb, double ub, const std::string &name)
    Creates a continuous variable.
    - + -
    MPConstraint(int index, double lb, double ub, const std::string &name, MPSolverInterface *const interface_in)
    +
    MPConstraint(int index, double lb, double ub, const std::string &name, MPSolverInterface *const interface_in)
    MPSolverInterface(MPSolver *const solver)
    - +
    void SetUnsupportedDoubleParam(MPSolverParameters::DoubleParam param)
    MPVariable * MakeBoolVar(const std::string &name)
    Creates a boolean variable.
    - +
    bool maximization() const
    Is the optimization direction set to maximize?
    -
    int GetNumThreads() const
    Returns the number of threads to be used during solve.
    +
    int GetNumThreads() const
    Returns the number of threads to be used during solve.
    MPConstraint * LookupConstraintOrNull(const std::string &constraint_name) const
    Looks up a constraint by name, and returns nullptr if it does not exist.
    virtual void SetObjectiveOffset(double value)=0
    - -
    The class for variables of a Mathematical Programming (MP) model.
    - + +
    The class for variables of a Mathematical Programming (MP) model.
    +
    virtual bool ReadParameterFile(const std::string &filename)
    void SetBounds(double lb, double ub)
    Sets both the lower and upper bounds.
    -
    Advanced usage: tolerance for dual feasibility of basic solutions.
    +
    Advanced usage: tolerance for dual feasibility of basic solutions.
    virtual void SetPresolveMode(int value)=0
    virtual void SetParameters(const MPSolverParameters &param)=0
    - - -
    double ub() const
    Returns the upper bound.
    + + +
    double ub() const
    Returns the upper bound.
    MPVariable * MakeVar(double lb, double ub, bool integer, const std::string &name)
    Creates a variable with the given bounds, integrality requirement and name.
    -
    void MaximizeLinearExpr(const LinearExpr &linear_expr)
    Resets the current objective to maximize linear_expr.
    +
    void MaximizeLinearExpr(const LinearExpr &linear_expr)
    Resets the current objective to maximize linear_expr.
    util::Status ClampSolutionWithinBounds()
    Resets values of out of bound variables to the corresponding bound and returns an error if any of the...
    -
    feasible, or stopped by limit.
    -
    static const PresolveValues kDefaultPresolve
    +
    feasible, or stopped by limit.
    +
    static const PresolveValues kDefaultPresolve
    bool InterruptSolve()
    Interrupts the Solve() execution to terminate processing if possible.
    -
    Advanced usage: enable or disable matrix scaling.
    +
    Advanced usage: enable or disable matrix scaling.
    double GetDoubleParam(MPSolverParameters::DoubleParam param) const
    Returns the value of a double parameter.
    -
    void SetUB(double ub)
    Sets the upper bound.
    +
    void SetUB(double ub)
    Sets the upper bound.
    virtual bool CheckSolutionExists() const
    - -
    double lb() const
    Returns the lower bound.
    -
    std::string GetSolverSpecificParametersAsString() const
    - + +
    double lb() const
    Returns the lower bound.
    +
    std::string GetSolverSpecificParametersAsString() const
    +
    void FillSolutionResponseProto(MPSolutionResponse *response) const
    Encodes the current solution in a solution response protocol buffer.
    - -
    const std::vector< MPConstraint * > & constraints() const
    Returns the array of constraints handled by the MPSolver.
    - -
    DoubleParam
    Enumeration of parameters that take continuous values.
    + +
    const std::vector< MPConstraint * > & constraints() const
    Returns the array of constraints handled by the MPSolver.
    + +
    DoubleParam
    Enumeration of parameters that take continuous values.
    virtual int64 iterations() const =0
    bool OutputIsEnabled() const
    Controls (or queries) the amount of output produced by the underlying solver.
    -
    double lb() const
    Returns the lower bound.
    - - +
    double lb() const
    Returns the lower bound.
    + +
    double solution_value() const
    Returns the value of the variable in the current solution.
    -
    void set_reduced_cost(double reduced_cost)
    +
    void set_reduced_cost(double reduced_cost)
    void SetOffset(double value)
    Sets the constant term in the objective.
    -
    absl::Duration TimeLimit() const
    +
    absl::Duration TimeLimit() const
    virtual void SetRelativeMipGap(double value)=0
    - -
    int index() const
    Returns the index of the variable in the MPSolver::variables_.
    -
    A class to express a linear objective.
    - + +
    int index() const
    Returns the index of the variable in the MPSolver::variables_.
    +
    A class to express a linear objective.
    +
    virtual void SetConstraintBounds(int index, double lb, double ub)=0
    - - - - + + + +
    virtual bool IsContinuous() const =0
    virtual void SetLpAlgorithm(int value)=0
    -
    virtual void SetStartingLpBasis(const std::vector< MPSolver::BasisStatus > &variable_statuses, const std::vector< MPSolver::BasisStatus > &constraint_statuses)
    +
    virtual void SetStartingLpBasis(const std::vector< MPSolver::BasisStatus > &variable_statuses, const std::vector< MPSolver::BasisStatus > &constraint_statuses)
    void Reset()
    Advanced usage: resets extracted model to solve from scratch.
    double Value() const
    Returns the objective value of the best solution found so far.
    diff --git a/docs/cpp_linear/linear__solver_8pb_8h.html b/docs/cpp_linear/linear__solver_8pb_8h.html index a0fd4ea342..f84b78d082 100644 --- a/docs/cpp_linear/linear__solver_8pb_8h.html +++ b/docs/cpp_linear/linear__solver_8pb_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - -
    - @@ -60,25 +55,7 @@ $(document).ready(function(){initNavTree('linear__solver_8pb_8h.html','');});
    linear_solver.pb.h File Reference
    -
    #include <limits>
    -#include <string>
    -#include <google/protobuf/port_def.inc>
    -#include <google/protobuf/port_undef.inc>
    -#include <google/protobuf/io/coded_stream.h>
    -#include <google/protobuf/arena.h>
    -#include <google/protobuf/arenastring.h>
    -#include <google/protobuf/generated_message_table_driven.h>
    -#include <google/protobuf/generated_message_util.h>
    -#include <google/protobuf/inlined_string_field.h>
    -#include <google/protobuf/metadata.h>
    -#include <google/protobuf/generated_message_reflection.h>
    -#include <google/protobuf/message.h>
    -#include <google/protobuf/repeated_field.h>
    -#include <google/protobuf/extension_set.h>
    -#include <google/protobuf/generated_enum_reflection.h>
    -#include <google/protobuf/unknown_field_set.h>
    -#include "ortools/util/optional_boolean.pb.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_linear/linear__solver_8pb_8h_source.html b/docs/cpp_linear/linear__solver_8pb_8h_source.html index 7bb5f75fd7..9f02f4b705 100644 --- a/docs/cpp_linear/linear__solver_8pb_8h_source.html +++ b/docs/cpp_linear/linear__solver_8pb_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -647,7 +642,7 @@ $(document).ready(function(){initNavTree('linear__solver_8pb_8h_source.html','')
    ::operations_research::MPSosConstraint_Type type() const
    - +
    const std::string & MPSolverCommonParameters_LPAlgorithmValues_Name(T enum_t_value)
    const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * MPSolverCommonParameters_LPAlgorithmValues_descriptor()
    diff --git a/docs/cpp_linear/menudata.js b/docs/cpp_linear/menudata.js index 4ff48af30b..96d92b67d5 100644 --- a/docs/cpp_linear/menudata.js +++ b/docs/cpp_linear/menudata.js @@ -24,4 +24,5 @@ for the JavaScript code in this file var menudata={children:[ {text:"Main Page",url:"index.html"}, {text:"Namespaces",url:"namespaces.html"}, -{text:"Classes",url:"annotated.html"}]} +{text:"Classes",url:"annotated.html"}, +{text:"Files",url:"files.html"}]} diff --git a/docs/cpp_linear/model__exporter_8h.html b/docs/cpp_linear/model__exporter_8h.html index 2d596c6514..dc574e547a 100644 --- a/docs/cpp_linear/model__exporter_8h.html +++ b/docs/cpp_linear/model__exporter_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -57,14 +52,7 @@ $(document).ready(function(){initNavTree('model__exporter_8h.html','');});
    model_exporter.h File Reference
    -
    #include <string>
    -#include <vector>
    -#include "absl/strings/str_format.h"
    -#include "ortools/base/hash.h"
    -#include "ortools/base/macros.h"
    -#include "ortools/base/statusor.h"
    -#include "ortools/linear_solver/linear_solver.pb.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_linear/model__exporter_8h_source.html b/docs/cpp_linear/model__exporter_8h_source.html index d662612cc6..c9a6dab23c 100644 --- a/docs/cpp_linear/model__exporter_8h_source.html +++ b/docs/cpp_linear/model__exporter_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -60,7 +55,7 @@ $(document).ready(function(){initNavTree('model__exporter_8h_source.html','');})
    util::StatusOr< std::string > ExportModelAsMpsFormat(const MPModelProto &model, const MPModelExportOptions &options=MPModelExportOptions())
    - +
    util::StatusOr< std::string > ExportModelAsLpFormat(const MPModelProto &model, const MPModelExportOptions &options=MPModelExportOptions())
    diff --git a/docs/cpp_linear/model__exporter__swig__helper_8h.html b/docs/cpp_linear/model__exporter__swig__helper_8h.html index 22a39d574f..87e00468b7 100644 --- a/docs/cpp_linear/model__exporter__swig__helper_8h.html +++ b/docs/cpp_linear/model__exporter__swig__helper_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -56,10 +51,7 @@ $(document).ready(function(){initNavTree('model__exporter__swig__helper_8h.html'
    model_exporter_swig_helper.h File Reference
    - +

    Go to the source code of this file.

    diff --git a/docs/cpp_linear/model__exporter__swig__helper_8h_source.html b/docs/cpp_linear/model__exporter__swig__helper_8h_source.html index 7ce74eccb2..12a7109742 100644 --- a/docs/cpp_linear/model__exporter__swig__helper_8h_source.html +++ b/docs/cpp_linear/model__exporter__swig__helper_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -59,7 +54,7 @@ $(document).ready(function(){initNavTree('model__exporter__swig__helper_8h_sourc
    util::StatusOr< std::string > ExportModelAsMpsFormat(const MPModelProto &model, const MPModelExportOptions &options=MPModelExportOptions())
    std::string ExportModelAsMpsFormatReturnString(const MPModelProto &input_model, const MPModelExportOptions &options=MPModelExportOptions())
    - +
    util::StatusOr< std::string > ExportModelAsLpFormat(const MPModelProto &model, const MPModelExportOptions &options=MPModelExportOptions())
    diff --git a/docs/cpp_linear/model__validator_8h.html b/docs/cpp_linear/model__validator_8h.html index 83597f53f4..e62ab8b3be 100644 --- a/docs/cpp_linear/model__validator_8h.html +++ b/docs/cpp_linear/model__validator_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -56,9 +51,7 @@ $(document).ready(function(){initNavTree('model__validator_8h.html','');});
    model_validator.h File Reference
    -
    #include <string>
    -#include "ortools/linear_solver/linear_solver.pb.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_linear/model__validator_8h_source.html b/docs/cpp_linear/model__validator_8h_source.html index e890782089..76e99d83a7 100644 --- a/docs/cpp_linear/model__validator_8h_source.html +++ b/docs/cpp_linear/model__validator_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -55,7 +50,7 @@ $(document).ready(function(){initNavTree('model__validator_8h_source.html','');}
    Go to the documentation of this file.
    1 // Copyright 2010-2018 Google LLC
    2 // Licensed under the Apache License, Version 2.0 (the "License");
    3 // you may not use this file except in compliance with the License.
    4 // You may obtain a copy of the License at
    5 //
    6 // http://www.apache.org/licenses/LICENSE-2.0
    7 //
    8 // Unless required by applicable law or agreed to in writing, software
    9 // distributed under the License is distributed on an "AS IS" BASIS,
    10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11 // See the License for the specific language governing permissions and
    12 // limitations under the License.
    13 
    14 #ifndef OR_TOOLS_LINEAR_SOLVER_MODEL_VALIDATOR_H_
    15 #define OR_TOOLS_LINEAR_SOLVER_MODEL_VALIDATOR_H_
    16 
    17 #include <string>
    18 
    20 
    21 namespace operations_research {
    22 // Returns an empty std::string iff the model is valid and not trivially
    23 // infeasible. Otherwise, returns a description of the first error or trivial
    24 // infeasibility encountered.
    25 //
    26 // NOTE(user): the code of this method (and the client code too!) is
    27 // considerably simplified by this std::string-based, simple API. If clients
    28 // require it, we could add a formal error status enum.
    29 std::string FindErrorInMPModelProto(const MPModelProto& model);
    30 
    31 // Returns an empty std::string if the solution hint given in the model is a
    32 // feasible solution. Otherwise, returns a description of the first reason for
    33 // infeasibility.
    34 //
    35 // This function can be useful for debugging/checking that the given solution
    36 // hint is feasible when it is expected to be the case. The feasibility is
    37 // checked up to the given tolerance using the
    38 // ::operations_research::IsLowerWithinTolerance() function.
    39 std::string FindFeasibilityErrorInSolutionHint(const MPModelProto& model,
    40  double tolerance);
    41 
    42 } // namespace operations_research
    43 
    44 #endif // OR_TOOLS_LINEAR_SOLVER_MODEL_VALIDATOR_H_
    std::string FindFeasibilityErrorInSolutionHint(const MPModelProto &model, double tolerance)
    - +
    std::string FindErrorInMPModelProto(const MPModelProto &model)
    diff --git a/docs/cpp_linear/namespaceinternal.html b/docs/cpp_linear/namespaceinternal.html index f597062b53..ad77dd8e8e 100644 --- a/docs/cpp_linear/namespaceinternal.html +++ b/docs/cpp_linear/namespaceinternal.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/namespacemembers.html b/docs/cpp_linear/namespacemembers.html index 12e1de20ba..bcf1ae9cf9 100644 --- a/docs/cpp_linear/namespacemembers.html +++ b/docs/cpp_linear/namespacemembers.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • +
    -

    Definition at line 911 of file linear_solver.h.

    +

    Definition at line 927 of file linear_solver.h.

    @@ -999,6 +1022,146 @@ template<typename T >

    Definition at line 127 of file linear_solver.pb.h.

    + + + +

    ◆ operator *() [1/2]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LinearExpr operations_research::operator * (LinearExpr lhs,
    double rhs 
    )
    +
    + +
    +
    + +

    ◆ operator *() [2/2]

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LinearExpr operations_research::operator * (double lhs,
    LinearExpr rhs 
    )
    +
    + +
    +
    + +

    ◆ operator+()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LinearExpr operations_research::operator+ (LinearExpr lhs,
    const LinearExprrhs 
    )
    +
    + +
    +
    + +

    ◆ operator-()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LinearExpr operations_research::operator- (LinearExpr lhs,
    const LinearExprrhs 
    )
    +
    + +
    +
    + +

    ◆ operator/()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LinearExpr operations_research::operator/ (LinearExpr lhs,
    double rhs 
    )
    +
    +
    @@ -1035,7 +1198,7 @@ template<typename T >
    -

    Definition at line 895 of file linear_solver.h.

    +

    Definition at line 911 of file linear_solver.h.

    @@ -1073,7 +1236,91 @@ template<typename T >

    -

    Definition at line 901 of file linear_solver.h.

    +

    Definition at line 917 of file linear_solver.h.

    + +
    + + +

    ◆ operator<=()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LinearRange operations_research::operator<= (const LinearExprlhs,
    const LinearExprrhs 
    )
    +
    + +
    +
    + +

    ◆ operator==()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LinearRange operations_research::operator== (const LinearExprlhs,
    const LinearExprrhs 
    )
    +
    + +
    +
    + +

    ◆ operator>=()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    LinearRange operations_research::operator>= (const LinearExprlhs,
    const LinearExprrhs 
    )
    +
    diff --git a/docs/cpp_linear/namespaces.html b/docs/cpp_linear/namespaces.html index a09a39aa57..ee01337ce7 100644 --- a/docs/cpp_linear/namespaces.html +++ b/docs/cpp_linear/namespaces.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/navtreedata.js b/docs/cpp_linear/navtreedata.js index 853a18f8eb..aa20e6e42a 100644 --- a/docs/cpp_linear/navtreedata.js +++ b/docs/cpp_linear/navtreedata.js @@ -26,19 +26,13 @@ var NAVTREE = [ "OR-Tools", "index.html", [ [ "Namespaces", "namespaces.html", null ], [ "Classes", "annotated.html", null ], - [ "File List", "files.html", "files" ], - [ "File Members", "globals.html", [ - [ "All", "globals.html", null ], - [ "Functions", "globals_func.html", null ], - [ "Variables", "globals_vars.html", null ], - [ "Macros", "globals_defs.html", null ] - ] ] + [ "Files", "files.html", null ] ] ] ]; var NAVTREEINDEX = [ -"files.html" +"index.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/cpp_linear/navtreeindex0.js b/docs/cpp_linear/navtreeindex0.js index 283aa4c18a..9e75a21dcd 100644 --- a/docs/cpp_linear/navtreeindex0.js +++ b/docs/cpp_linear/navtreeindex0.js @@ -1,123 +1,5 @@ var NAVTREEINDEX0 = { -"files.html":[2], -"globals.html":[3,0], -"globals_defs.html":[3,3], -"globals_func.html":[3,1], -"globals_vars.html":[3,2], "index.html":[], -"linear__solver_8h.html":[2,0], -"linear__solver_8h.html#a07189276cc680928dad51ed197142077":[2,0,11], -"linear__solver_8h.html#a2610f938f233d0adcd3142693f4a2683":[2,0,8], -"linear__solver_8h.html#a61dc18a85425d0a7cf6aa3e7ce3199f6":[2,0,6], -"linear__solver_8h.html#a6e3ed7b755e2b756ef48c9b3bad4a780":[2,0,9], -"linear__solver_8h.html#af04d1dfc591c35038a974202e50e541f":[2,0,7], -"linear__solver_8h.html#afc3e3b80841b587c6fbfd9e9f3ec9c59":[2,0,10], -"linear__solver_8h_source.html":[2,0], -"linear__solver_8pb_8h.html":[2,1], -"linear__solver_8pb_8h.html#a0d84cc4ed67dd0a7ccf556176aa9bc1d":[2,1,50], -"linear__solver_8pb_8h.html#a11d06964c51cd718a2a5c620c3289f7e":[2,1,52], -"linear__solver_8pb_8h.html#a12a6be7881f2f7dd6e426242c961d5d9":[2,1,68], -"linear__solver_8pb_8h.html#a1315bf58051fbf57733dc025d6994340":[2,1,71], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4c":[2,1,17], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4ca0969851c637668f95c10ddb1ade866a7":[2,1,17,1], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4ca0e93bcd472e7a9296ff02058ed60f8d1":[2,1,17,7], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4ca26762918189367f5e171d0e226084d82":[2,1,17,9], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4ca3af34f198d539e787263f9eded0ce0cd":[2,1,17,3], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4ca4bdeae4b1af8d2cd4aab225db4fc0407":[2,1,17,4], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4ca67639f2cd42e1197b5ad69a004c93ba3":[2,1,17,10], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4ca6fab373696058c6e9f279de4a8446411":[2,1,17,0], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4caa32d84461e16e800e3f996d6347a304d":[2,1,17,2], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4cabe010aed8c1b29c5a0fd9ac262ce791f":[2,1,17,12], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4cac0fedb2082db5e7c96da01b4149c318e":[2,1,17,11], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4cac25c4844cbdf1e4d7c7efc11f1f8ebf4":[2,1,17,5], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4cac8beb7f7b026823a6bc2e4e87f546da6":[2,1,17,8], -"linear__solver_8pb_8h.html#a15791cd7d877fd8cb7977bbfecd6ce4caf60a0830addaf4cf00bc59459fa6647e":[2,1,17,6], -"linear__solver_8pb_8h.html#a188641a1ab5a4dda11c00a11149b07d4":[2,1,46], -"linear__solver_8pb_8h.html#a1a2d4f72f6da5b4955f50f92c57a618e":[2,1,30], -"linear__solver_8pb_8h.html#a1fa4d06ad0beb392a3144747d83fcc2c":[2,1,54], -"linear__solver_8pb_8h.html#a22b5756cf719f9b2d10dae67820cf885":[2,1,47], -"linear__solver_8pb_8h.html#a2868a3e35d5de439d4817308efe07c66":[2,1,31], -"linear__solver_8pb_8h.html#a29b652c1631e6d387cafbbd19a98952d":[2,1,33], -"linear__solver_8pb_8h.html#a2b0590a3e329a0bb8a10b866c28138a0":[2,1,67], -"linear__solver_8pb_8h.html#a2ff46d5dc479b9be7968c15b3f932277":[2,1,16], -"linear__solver_8pb_8h.html#a3916f807aef0b8a0929c71cb72f8fe2c":[2,1,59], -"linear__solver_8pb_8h.html#a3b1bc7a63f4a7972004060311346868f":[2,1,43], -"linear__solver_8pb_8h.html#a42eca5d9d855cdf447e78e17acd87c7a":[2,1,65], -"linear__solver_8pb_8h.html#a43079282dcdc58640a4fb8f3504d9548":[2,1,73], -"linear__solver_8pb_8h.html#a46d924645e62163da6dafc13b827d7b1":[2,1,18], -"linear__solver_8pb_8h.html#a46d924645e62163da6dafc13b827d7b1a129c4c6d32bf9aed2414939cb02ff99a":[2,1,18,1], -"linear__solver_8pb_8h.html#a46d924645e62163da6dafc13b827d7b1a2218d316cfcac5a88342c95b188f3fda":[2,1,18,0], -"linear__solver_8pb_8h.html#a46d924645e62163da6dafc13b827d7b1a53de34dc95fb67212e335f19dc210516":[2,1,18,2], -"linear__solver_8pb_8h.html#a46d924645e62163da6dafc13b827d7b1a89ff8ffa01928d5993a1414705eecd15":[2,1,18,3], -"linear__solver_8pb_8h.html#a50ec8ebec75c1daf0e7633cb74ff6657":[2,1,74], -"linear__solver_8pb_8h.html#a5209f68ceef830f109310dc549479a9b":[2,1,38], -"linear__solver_8pb_8h.html#a53c0861628965fd7d72a0816d8575c66":[2,1,72], -"linear__solver_8pb_8h.html#a5557bc052354d9b956a609d0698281d5":[2,1,56], -"linear__solver_8pb_8h.html#a5c6146771791a1f32bad6494ca1a2bc5":[2,1,24], -"linear__solver_8pb_8h.html#a5fd6483b24c303a0fbf9ab49846d370c":[2,1,61], -"linear__solver_8pb_8h.html#a69d74b24808a9eba4bcbc04c5bd1f9fb":[2,1,49], -"linear__solver_8pb_8h.html#a6d1606a9e00c2974c23f2e758924b459":[2,1,51], -"linear__solver_8pb_8h.html#a6ea8278e40d80442b6ab7bbc2e92f238":[2,1,25], -"linear__solver_8pb_8h.html#a70bcdf756e44dfd2d5dab2a5cf4cfb9a":[2,1,40], -"linear__solver_8pb_8h.html#a73f97af81379c4dd1bb9082b3be9bd25":[2,1,63], -"linear__solver_8pb_8h.html#a77c592e83322cb1b241720f74c467285":[2,1,26], -"linear__solver_8pb_8h.html#a7a295b0760db498bc4fa9479bb8c2329":[2,1,45], -"linear__solver_8pb_8h.html#a7affd70e5dc61deefab59f4c06149644":[2,1,64], -"linear__solver_8pb_8h.html#a7ece0f2b42b6eaf443223377343e1966":[2,1,58], -"linear__solver_8pb_8h.html#a8a26ab806b2722fadd4035cd0be0ae5b":[2,1,75], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aa":[2,1,19], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaa0da2dbf49d011970a770d42141819d0a":[2,1,19,2], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaa0f9da70b2f2b1304313c3a2a5f4876b3":[2,1,19,9], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaa667b6a5ed42c91ea81fa67c59cb3badb":[2,1,19,5], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaa6ae83516a798f1675e1b4daf0d8ea6b1":[2,1,19,8], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaa84ea2a63b24de389aac6aa33b1203cd4":[2,1,19,7], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaa97ee5aaa7f57f286d4a821dd6e57523f":[2,1,19,6], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaab90169f8480eca12c963af5ce50d36aa":[2,1,19,10], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaac77789af50586fb2f81915dd1cb790b6":[2,1,19,4], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaac7d90afd0518be8cd6433ecad656a83b":[2,1,19,1], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaac95cb5be9e36b31647dd28910ac6cae4":[2,1,19,0], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaad73de4a0f9908a4c0d11246ecccf32b6":[2,1,19,3], -"linear__solver_8pb_8h.html#a8cc975b7db5017319901da0f63a114aaafa008125099beaab382c42682be6bbf9":[2,1,19,11], -"linear__solver_8pb_8h.html#a94d793569692b2bdcb76cf2d7736da05":[2,1,48], -"linear__solver_8pb_8h.html#a9a113c4684d1033ac9473dcb589f122e":[2,1,21], -"linear__solver_8pb_8h.html#a9c99a96a8b2fcf4ab6890a4717c92da5":[2,1,57], -"linear__solver_8pb_8h.html#a9eaabd9c53b8aa093483b2c664a405c3":[2,1,66], -"linear__solver_8pb_8h.html#aa214723b84fc52d727efc5067df690e2":[2,1,55], -"linear__solver_8pb_8h.html#ab171bd5035991fb7ab6e0163679238f9":[2,1,23], -"linear__solver_8pb_8h.html#ab18f88184af1e6b0197a98cf0485803f":[2,1,53], -"linear__solver_8pb_8h.html#ab3ee5c7a9f799696432b082fd4835232":[2,1,41], -"linear__solver_8pb_8h.html#ab4154144ff7ab873599743507f1ac14f":[2,1,28], -"linear__solver_8pb_8h.html#ab6581d728d80c7e2174e850337fe8bdc":[2,1,32], -"linear__solver_8pb_8h.html#abfcd5bdf253f964bbe89d47f24777443":[2,1,22], -"linear__solver_8pb_8h.html#ac136e7845fbe09520c0e7777d9ae8b43":[2,1,70], -"linear__solver_8pb_8h.html#ac1eda65381beae08503e8af2b57a0d4c":[2,1,69], -"linear__solver_8pb_8h.html#ac4082c18fc997b28960d2a15a27af30b":[2,1,20], -"linear__solver_8pb_8h.html#ac4082c18fc997b28960d2a15a27af30ba35dfc279dac55f2292c50123bbd65eb4":[2,1,20,0], -"linear__solver_8pb_8h.html#ac4082c18fc997b28960d2a15a27af30baa35d9c1cb44243e123f7d5993d5b726f":[2,1,20,1], -"linear__solver_8pb_8h.html#ac92dae0b80b47779fc1de1bf9e7df9dd":[2,1,62], -"linear__solver_8pb_8h.html#ac96996b4dbc25690d6d7fe345b364519":[2,1,42], -"linear__solver_8pb_8h.html#ace7f8b02c012c058db64b534e3378f0f":[2,1,44], -"linear__solver_8pb_8h.html#ad26c438ab5f1b232d7eced80a2780ca0":[2,1,37], -"linear__solver_8pb_8h.html#adba5596aedf0d949dbafcef74a3f50ff":[2,1,35], -"linear__solver_8pb_8h.html#adc6127e6cad4afd5d1eeecb696e45321":[2,1,34], -"linear__solver_8pb_8h.html#ae246d1c1c8bbf0af81168fb7621f920e":[2,1,29], -"linear__solver_8pb_8h.html#aeb81b2591906288f021c0a3e37843b37":[2,1,39], -"linear__solver_8pb_8h.html#af3dce953fd737d51dcb003b93452b3b6":[2,1,60], -"linear__solver_8pb_8h.html#af3e03f34b72f583856c6491b279e04af":[2,1,27], -"linear__solver_8pb_8h.html#af637f39c9ca296bf197d792c62167b7d":[2,1,36], -"linear__solver_8pb_8h_source.html":[2,1], -"model__exporter_8h.html":[2,2], -"model__exporter_8h.html#a689d3552f87e89456c0c9a43847c964a":[2,2,1], -"model__exporter_8h.html#aef684073daca7460490db8d881f886e0":[2,2,2], -"model__exporter_8h_source.html":[2,2], -"model__exporter__swig__helper_8h.html":[2,3], -"model__exporter__swig__helper_8h.html#a37abd61c0d982af79257814b6d3a733e":[2,3,1], -"model__exporter__swig__helper_8h.html#a4d319c19b685fe608fe013b573081351":[2,3,0], -"model__exporter__swig__helper_8h_source.html":[2,3], -"model__validator_8h.html":[2,4], -"model__validator_8h.html#a7a27bb74d09b7ba6ea0e97bb572d2755":[2,4,0], -"model__validator_8h.html#ae4ee4d82cf625670cdc1f52197454654":[2,4,1], -"model__validator_8h_source.html":[2,4], "pages.html":[] }; diff --git a/docs/cpp_linear/structTableStruct__ortools__2flinear__5fsolver__2flinear__5fsolver__2eproto-members.html b/docs/cpp_linear/structTableStruct__ortools__2flinear__5fsolver__2flinear__5fsolver__2eproto-members.html index e4a32ee09d..2c0cb9d310 100644 --- a/docs/cpp_linear/structTableStruct__ortools__2flinear__5fsolver__2flinear__5fsolver__2eproto-members.html +++ b/docs/cpp_linear/structTableStruct__ortools__2flinear__5fsolver__2flinear__5fsolver__2eproto-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/structTableStruct__ortools__2flinear__5fsolver__2flinear__5fsolver__2eproto.html b/docs/cpp_linear/structTableStruct__ortools__2flinear__5fsolver__2flinear__5fsolver__2eproto.html index 1105fa57cb..78654965b2 100644 --- a/docs/cpp_linear/structTableStruct__ortools__2flinear__5fsolver__2flinear__5fsolver__2eproto.html +++ b/docs/cpp_linear/structTableStruct__ortools__2flinear__5fsolver__2flinear__5fsolver__2eproto.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPModelRequest__SolverType_01_4.html b/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPModelRequest__SolverType_01_4.html index f4b0b0ac11..3eb95598c8 100644 --- a/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPModelRequest__SolverType_01_4.html +++ b/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPModelRequest__SolverType_01_4.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSolverCommonParameters__LPAlgorithmValues_01_4.html b/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSolverCommonParameters__LPAlgorithmValues_01_4.html index 319f83d671..bdffc70aa9 100644 --- a/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSolverCommonParameters__LPAlgorithmValues_01_4.html +++ b/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSolverCommonParameters__LPAlgorithmValues_01_4.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSolverResponseStatus_01_4.html b/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSolverResponseStatus_01_4.html index 1063b02139..35d66da1fa 100644 --- a/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSolverResponseStatus_01_4.html +++ b/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSolverResponseStatus_01_4.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSosConstraint__Type_01_4.html b/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSosConstraint__Type_01_4.html index 2fe09469ae..8b5504b97a 100644 --- a/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSosConstraint__Type_01_4.html +++ b/docs/cpp_linear/structis__proto__enum_3_01_1_1operations__research_1_1MPSosConstraint__Type_01_4.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/structoperations__research_1_1MPModelExportOptions-members.html b/docs/cpp_linear/structoperations__research_1_1MPModelExportOptions-members.html index 2111076f3a..449347b8e5 100644 --- a/docs/cpp_linear/structoperations__research_1_1MPModelExportOptions-members.html +++ b/docs/cpp_linear/structoperations__research_1_1MPModelExportOptions-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_linear/structoperations__research_1_1MPModelExportOptions.html b/docs/cpp_linear/structoperations__research_1_1MPModelExportOptions.html index e38b65796a..e285896b91 100644 --- a/docs/cpp_linear/structoperations__research_1_1MPModelExportOptions.html +++ b/docs/cpp_linear/structoperations__research_1_1MPModelExportOptions.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/annotated.html b/docs/cpp_routing/annotated.html index 68496fed1d..59b5000154 100644 --- a/docs/cpp_routing/annotated.html +++ b/docs/cpp_routing/annotated.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classes.html b/docs/cpp_routing/classes.html index 6af53edad8..eb3d7767ee 100644 --- a/docs/cpp_routing/classes.html +++ b/docs/cpp_routing/classes.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ArgumentHolder-members.html b/docs/cpp_routing/classoperations__research_1_1ArgumentHolder-members.html index e4df091e27..63cc88bb17 100644 --- a/docs/cpp_routing/classoperations__research_1_1ArgumentHolder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ArgumentHolder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ArgumentHolder.html b/docs/cpp_routing/classoperations__research_1_1ArgumentHolder.html index 03e8daa8de..f5f50c3917 100644 --- a/docs/cpp_routing/classoperations__research_1_1ArgumentHolder.html +++ b/docs/cpp_routing/classoperations__research_1_1ArgumentHolder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ArrayWithOffset-members.html b/docs/cpp_routing/classoperations__research_1_1ArrayWithOffset-members.html index 76ce49436d..2096dda0f6 100644 --- a/docs/cpp_routing/classoperations__research_1_1ArrayWithOffset-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ArrayWithOffset-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ArrayWithOffset.html b/docs/cpp_routing/classoperations__research_1_1ArrayWithOffset.html index baae2fdb6c..967267c36b 100644 --- a/docs/cpp_routing/classoperations__research_1_1ArrayWithOffset.html +++ b/docs/cpp_routing/classoperations__research_1_1ArrayWithOffset.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Assignment-members.html b/docs/cpp_routing/classoperations__research_1_1Assignment-members.html index 9b4025438e..9ea60d7d26 100644 --- a/docs/cpp_routing/classoperations__research_1_1Assignment-members.html +++ b/docs/cpp_routing/classoperations__research_1_1Assignment-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Assignment.html b/docs/cpp_routing/classoperations__research_1_1Assignment.html index 4e0cb14b29..4328842d16 100644 --- a/docs/cpp_routing/classoperations__research_1_1Assignment.html +++ b/docs/cpp_routing/classoperations__research_1_1Assignment.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1AssignmentContainer-members.html b/docs/cpp_routing/classoperations__research_1_1AssignmentContainer-members.html index 1390436c5c..cab555033a 100644 --- a/docs/cpp_routing/classoperations__research_1_1AssignmentContainer-members.html +++ b/docs/cpp_routing/classoperations__research_1_1AssignmentContainer-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1AssignmentContainer.html b/docs/cpp_routing/classoperations__research_1_1AssignmentContainer.html index 074c902862..cab163203e 100644 --- a/docs/cpp_routing/classoperations__research_1_1AssignmentContainer.html +++ b/docs/cpp_routing/classoperations__research_1_1AssignmentContainer.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1AssignmentElement-members.html b/docs/cpp_routing/classoperations__research_1_1AssignmentElement-members.html index 959e139b09..f0e9658b89 100644 --- a/docs/cpp_routing/classoperations__research_1_1AssignmentElement-members.html +++ b/docs/cpp_routing/classoperations__research_1_1AssignmentElement-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1AssignmentElement.html b/docs/cpp_routing/classoperations__research_1_1AssignmentElement.html index de94374393..3999f5db64 100644 --- a/docs/cpp_routing/classoperations__research_1_1AssignmentElement.html +++ b/docs/cpp_routing/classoperations__research_1_1AssignmentElement.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BaseIntExpr-members.html b/docs/cpp_routing/classoperations__research_1_1BaseIntExpr-members.html index 03c0f46dc8..057e9332b9 100644 --- a/docs/cpp_routing/classoperations__research_1_1BaseIntExpr-members.html +++ b/docs/cpp_routing/classoperations__research_1_1BaseIntExpr-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BaseIntExpr.html b/docs/cpp_routing/classoperations__research_1_1BaseIntExpr.html index 5e47f72982..429e9b58d9 100644 --- a/docs/cpp_routing/classoperations__research_1_1BaseIntExpr.html +++ b/docs/cpp_routing/classoperations__research_1_1BaseIntExpr.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BaseLns-members.html b/docs/cpp_routing/classoperations__research_1_1BaseLns-members.html index 45de7662f6..e6e1af86d3 100644 --- a/docs/cpp_routing/classoperations__research_1_1BaseLns-members.html +++ b/docs/cpp_routing/classoperations__research_1_1BaseLns-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BaseLns.html b/docs/cpp_routing/classoperations__research_1_1BaseLns.html index 3f95f6066d..78e49d56a0 100644 --- a/docs/cpp_routing/classoperations__research_1_1BaseLns.html +++ b/docs/cpp_routing/classoperations__research_1_1BaseLns.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BaseObject-members.html b/docs/cpp_routing/classoperations__research_1_1BaseObject-members.html index 5f9f5cbe74..1d16857235 100644 --- a/docs/cpp_routing/classoperations__research_1_1BaseObject-members.html +++ b/docs/cpp_routing/classoperations__research_1_1BaseObject-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BaseObject.html b/docs/cpp_routing/classoperations__research_1_1BaseObject.html index aac1464876..256b418606 100644 --- a/docs/cpp_routing/classoperations__research_1_1BaseObject.html +++ b/docs/cpp_routing/classoperations__research_1_1BaseObject.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BasePathFilter-members.html b/docs/cpp_routing/classoperations__research_1_1BasePathFilter-members.html index 9887ab72ff..d40648b4e5 100644 --- a/docs/cpp_routing/classoperations__research_1_1BasePathFilter-members.html +++ b/docs/cpp_routing/classoperations__research_1_1BasePathFilter-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BasePathFilter.html b/docs/cpp_routing/classoperations__research_1_1BasePathFilter.html index 69cbd0c4ec..7e219d357c 100644 --- a/docs/cpp_routing/classoperations__research_1_1BasePathFilter.html +++ b/docs/cpp_routing/classoperations__research_1_1BasePathFilter.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BooleanVar-members.html b/docs/cpp_routing/classoperations__research_1_1BooleanVar-members.html index d99f7834e9..d565184539 100644 --- a/docs/cpp_routing/classoperations__research_1_1BooleanVar-members.html +++ b/docs/cpp_routing/classoperations__research_1_1BooleanVar-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1BooleanVar.html b/docs/cpp_routing/classoperations__research_1_1BooleanVar.html index accf7dca84..f7ee1d0ca5 100644 --- a/docs/cpp_routing/classoperations__research_1_1BooleanVar.html +++ b/docs/cpp_routing/classoperations__research_1_1BooleanVar.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CPFeasibilityFilter-members.html b/docs/cpp_routing/classoperations__research_1_1CPFeasibilityFilter-members.html index b32667069a..cefacb1176 100644 --- a/docs/cpp_routing/classoperations__research_1_1CPFeasibilityFilter-members.html +++ b/docs/cpp_routing/classoperations__research_1_1CPFeasibilityFilter-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CPFeasibilityFilter.html b/docs/cpp_routing/classoperations__research_1_1CPFeasibilityFilter.html index 4d5266423c..39004f00ef 100644 --- a/docs/cpp_routing/classoperations__research_1_1CPFeasibilityFilter.html +++ b/docs/cpp_routing/classoperations__research_1_1CPFeasibilityFilter.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CallMethod0-members.html b/docs/cpp_routing/classoperations__research_1_1CallMethod0-members.html index f1017e34c0..041f863d9a 100644 --- a/docs/cpp_routing/classoperations__research_1_1CallMethod0-members.html +++ b/docs/cpp_routing/classoperations__research_1_1CallMethod0-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CallMethod0.html b/docs/cpp_routing/classoperations__research_1_1CallMethod0.html index 4175530376..d3d379c2f3 100644 --- a/docs/cpp_routing/classoperations__research_1_1CallMethod0.html +++ b/docs/cpp_routing/classoperations__research_1_1CallMethod0.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CallMethod1-members.html b/docs/cpp_routing/classoperations__research_1_1CallMethod1-members.html index 944beca06f..c867e1bdb6 100644 --- a/docs/cpp_routing/classoperations__research_1_1CallMethod1-members.html +++ b/docs/cpp_routing/classoperations__research_1_1CallMethod1-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CallMethod1.html b/docs/cpp_routing/classoperations__research_1_1CallMethod1.html index 0097849611..e2352aff3b 100644 --- a/docs/cpp_routing/classoperations__research_1_1CallMethod1.html +++ b/docs/cpp_routing/classoperations__research_1_1CallMethod1.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CallMethod2-members.html b/docs/cpp_routing/classoperations__research_1_1CallMethod2-members.html index fc276e1cb7..f1714e863f 100644 --- a/docs/cpp_routing/classoperations__research_1_1CallMethod2-members.html +++ b/docs/cpp_routing/classoperations__research_1_1CallMethod2-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CallMethod2.html b/docs/cpp_routing/classoperations__research_1_1CallMethod2.html index d3e4ffa558..3b2b513fe4 100644 --- a/docs/cpp_routing/classoperations__research_1_1CallMethod2.html +++ b/docs/cpp_routing/classoperations__research_1_1CallMethod2.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CallMethod3-members.html b/docs/cpp_routing/classoperations__research_1_1CallMethod3-members.html index 8588e59359..988287aa22 100644 --- a/docs/cpp_routing/classoperations__research_1_1CallMethod3-members.html +++ b/docs/cpp_routing/classoperations__research_1_1CallMethod3-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CallMethod3.html b/docs/cpp_routing/classoperations__research_1_1CallMethod3.html index dfa9510e3f..713d383259 100644 --- a/docs/cpp_routing/classoperations__research_1_1CallMethod3.html +++ b/docs/cpp_routing/classoperations__research_1_1CallMethod3.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CastConstraint-members.html b/docs/cpp_routing/classoperations__research_1_1CastConstraint-members.html index 0751272f2a..b482ef63ef 100644 --- a/docs/cpp_routing/classoperations__research_1_1CastConstraint-members.html +++ b/docs/cpp_routing/classoperations__research_1_1CastConstraint-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CastConstraint.html b/docs/cpp_routing/classoperations__research_1_1CastConstraint.html index 32f00d7fba..25ae278162 100644 --- a/docs/cpp_routing/classoperations__research_1_1CastConstraint.html +++ b/docs/cpp_routing/classoperations__research_1_1CastConstraint.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ChangeValue-members.html b/docs/cpp_routing/classoperations__research_1_1ChangeValue-members.html index ba9e08aa42..7ec6454deb 100644 --- a/docs/cpp_routing/classoperations__research_1_1ChangeValue-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ChangeValue-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ChangeValue.html b/docs/cpp_routing/classoperations__research_1_1ChangeValue.html index dfe05bde22..3714c64eae 100644 --- a/docs/cpp_routing/classoperations__research_1_1ChangeValue.html +++ b/docs/cpp_routing/classoperations__research_1_1ChangeValue.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder-members.html index 0d5691dff4..b45c19dbce 100644 --- a/docs/cpp_routing/classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder.html index 7763ed374d..16a1f857c3 100644 --- a/docs/cpp_routing/classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder-members.html index cdc94b03f5..3a4a5c6a2e 100644 --- a/docs/cpp_routing/classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html index 2cfa545a5b..2d72c5ae0b 100644 --- a/docs/cpp_routing/classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1CheapestInsertionFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ChristofidesFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1ChristofidesFilteredDecisionBuilder-members.html index 1d15ef3048..42bdb0b4df 100644 --- a/docs/cpp_routing/classoperations__research_1_1ChristofidesFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ChristofidesFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ChristofidesFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1ChristofidesFilteredDecisionBuilder.html index 194426e0b0..9c5ab181b3 100644 --- a/docs/cpp_routing/classoperations__research_1_1ChristofidesFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1ChristofidesFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder-members.html index 0fb542141a..7aee6317a0 100644 --- a/docs/cpp_routing/classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder.html index a66ebcb11f..ffa7c18af8 100644 --- a/docs/cpp_routing/classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Constraint-members.html b/docs/cpp_routing/classoperations__research_1_1Constraint-members.html index 597d5d14dd..a91b75cdc6 100644 --- a/docs/cpp_routing/classoperations__research_1_1Constraint-members.html +++ b/docs/cpp_routing/classoperations__research_1_1Constraint-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Constraint.html b/docs/cpp_routing/classoperations__research_1_1Constraint.html index d623549940..bc5acffed1 100644 --- a/docs/cpp_routing/classoperations__research_1_1Constraint.html +++ b/docs/cpp_routing/classoperations__research_1_1Constraint.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Decision-members.html b/docs/cpp_routing/classoperations__research_1_1Decision-members.html index 8cd103eead..26f4246d17 100644 --- a/docs/cpp_routing/classoperations__research_1_1Decision-members.html +++ b/docs/cpp_routing/classoperations__research_1_1Decision-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Decision.html b/docs/cpp_routing/classoperations__research_1_1Decision.html index 13ae35ba8f..a43e98635a 100644 --- a/docs/cpp_routing/classoperations__research_1_1Decision.html +++ b/docs/cpp_routing/classoperations__research_1_1Decision.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1DecisionBuilder-members.html index 4cf704a4c3..1dac32906f 100644 --- a/docs/cpp_routing/classoperations__research_1_1DecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1DecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1DecisionBuilder.html index b1d650879c..116df894fa 100644 --- a/docs/cpp_routing/classoperations__research_1_1DecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1DecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DecisionVisitor-members.html b/docs/cpp_routing/classoperations__research_1_1DecisionVisitor-members.html index ce942f586c..d265fa8002 100644 --- a/docs/cpp_routing/classoperations__research_1_1DecisionVisitor-members.html +++ b/docs/cpp_routing/classoperations__research_1_1DecisionVisitor-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DecisionVisitor.html b/docs/cpp_routing/classoperations__research_1_1DecisionVisitor.html index 12367ce2ac..e2202fe211 100644 --- a/docs/cpp_routing/classoperations__research_1_1DecisionVisitor.html +++ b/docs/cpp_routing/classoperations__research_1_1DecisionVisitor.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod0-members.html b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod0-members.html index 2c4a8d9089..e46606221f 100644 --- a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod0-members.html +++ b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod0-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod0.html b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod0.html index 11879d8559..afaeadee00 100644 --- a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod0.html +++ b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod0.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod1-members.html b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod1-members.html index 060cff3baf..bba03de24e 100644 --- a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod1-members.html +++ b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod1-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod1.html b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod1.html index 40d0d2f389..8056b25234 100644 --- a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod1.html +++ b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod1.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod2-members.html b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod2-members.html index 6a45aa522a..9de34939c8 100644 --- a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod2-members.html +++ b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod2-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod2.html b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod2.html index 587ec9aee9..0fe28099c5 100644 --- a/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod2.html +++ b/docs/cpp_routing/classoperations__research_1_1DelayedCallMethod2.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Demon-members.html b/docs/cpp_routing/classoperations__research_1_1Demon-members.html index 47f98f4b0b..d6220e5b80 100644 --- a/docs/cpp_routing/classoperations__research_1_1Demon-members.html +++ b/docs/cpp_routing/classoperations__research_1_1Demon-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Demon.html b/docs/cpp_routing/classoperations__research_1_1Demon.html index 663b3dea0e..75dae2302b 100644 --- a/docs/cpp_routing/classoperations__research_1_1Demon.html +++ b/docs/cpp_routing/classoperations__research_1_1Demon.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DimensionCumulOptimizerCore-members.html b/docs/cpp_routing/classoperations__research_1_1DimensionCumulOptimizerCore-members.html index 1a34110836..afab1035fe 100644 --- a/docs/cpp_routing/classoperations__research_1_1DimensionCumulOptimizerCore-members.html +++ b/docs/cpp_routing/classoperations__research_1_1DimensionCumulOptimizerCore-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DimensionCumulOptimizerCore.html b/docs/cpp_routing/classoperations__research_1_1DimensionCumulOptimizerCore.html index f67460ee25..745cbac8d4 100644 --- a/docs/cpp_routing/classoperations__research_1_1DimensionCumulOptimizerCore.html +++ b/docs/cpp_routing/classoperations__research_1_1DimensionCumulOptimizerCore.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DisjunctiveConstraint-members.html b/docs/cpp_routing/classoperations__research_1_1DisjunctiveConstraint-members.html index fbf6119cc3..eb005f247b 100644 --- a/docs/cpp_routing/classoperations__research_1_1DisjunctiveConstraint-members.html +++ b/docs/cpp_routing/classoperations__research_1_1DisjunctiveConstraint-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DisjunctiveConstraint.html b/docs/cpp_routing/classoperations__research_1_1DisjunctiveConstraint.html index 407dc66873..0615c0b304 100644 --- a/docs/cpp_routing/classoperations__research_1_1DisjunctiveConstraint.html +++ b/docs/cpp_routing/classoperations__research_1_1DisjunctiveConstraint.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DisjunctivePropagator-members.html b/docs/cpp_routing/classoperations__research_1_1DisjunctivePropagator-members.html index 17c58cafd9..d77d52845a 100644 --- a/docs/cpp_routing/classoperations__research_1_1DisjunctivePropagator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1DisjunctivePropagator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1DisjunctivePropagator.html b/docs/cpp_routing/classoperations__research_1_1DisjunctivePropagator.html index bc3a8a56e1..9a7fcc3ea6 100644 --- a/docs/cpp_routing/classoperations__research_1_1DisjunctivePropagator.html +++ b/docs/cpp_routing/classoperations__research_1_1DisjunctivePropagator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder-members.html index 9366019252..e660ccf7fb 100644 --- a/docs/cpp_routing/classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder.html index f5c1a85ca1..f1b93bf70d 100644 --- a/docs/cpp_routing/classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ExchangeSubtrip-members.html b/docs/cpp_routing/classoperations__research_1_1ExchangeSubtrip-members.html index 08b51bc4a8..a104f5a802 100644 --- a/docs/cpp_routing/classoperations__research_1_1ExchangeSubtrip-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ExchangeSubtrip-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ExchangeSubtrip.html b/docs/cpp_routing/classoperations__research_1_1ExchangeSubtrip.html index 416c817e14..70d49f3fd0 100644 --- a/docs/cpp_routing/classoperations__research_1_1ExchangeSubtrip.html +++ b/docs/cpp_routing/classoperations__research_1_1ExchangeSubtrip.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1FirstSolutionStrategy-members.html b/docs/cpp_routing/classoperations__research_1_1FirstSolutionStrategy-members.html index 54f4f36847..14d6d9ac75 100644 --- a/docs/cpp_routing/classoperations__research_1_1FirstSolutionStrategy-members.html +++ b/docs/cpp_routing/classoperations__research_1_1FirstSolutionStrategy-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1FirstSolutionStrategy.html b/docs/cpp_routing/classoperations__research_1_1FirstSolutionStrategy.html index 3acba1cd8f..627ba8f9ad 100644 --- a/docs/cpp_routing/classoperations__research_1_1FirstSolutionStrategy.html +++ b/docs/cpp_routing/classoperations__research_1_1FirstSolutionStrategy.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder-members.html index 1cd756c498..ccbaa6eba8 100644 --- a/docs/cpp_routing/classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder.html index 63798577b6..71f8fb8f85 100644 --- a/docs/cpp_routing/classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1GlobalDimensionCumulOptimizer-members.html b/docs/cpp_routing/classoperations__research_1_1GlobalDimensionCumulOptimizer-members.html index 162e244422..38a5fd9ebe 100644 --- a/docs/cpp_routing/classoperations__research_1_1GlobalDimensionCumulOptimizer-members.html +++ b/docs/cpp_routing/classoperations__research_1_1GlobalDimensionCumulOptimizer-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1GlobalDimensionCumulOptimizer.html b/docs/cpp_routing/classoperations__research_1_1GlobalDimensionCumulOptimizer.html index 945dbdf365..f3cf5a81f2 100644 --- a/docs/cpp_routing/classoperations__research_1_1GlobalDimensionCumulOptimizer.html +++ b/docs/cpp_routing/classoperations__research_1_1GlobalDimensionCumulOptimizer.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1GlobalVehicleBreaksConstraint-members.html b/docs/cpp_routing/classoperations__research_1_1GlobalVehicleBreaksConstraint-members.html index 01d0c1ac2f..aea92f4c9a 100644 --- a/docs/cpp_routing/classoperations__research_1_1GlobalVehicleBreaksConstraint-members.html +++ b/docs/cpp_routing/classoperations__research_1_1GlobalVehicleBreaksConstraint-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1GlobalVehicleBreaksConstraint.html b/docs/cpp_routing/classoperations__research_1_1GlobalVehicleBreaksConstraint.html index 817e5fecf4..b24afbae82 100644 --- a/docs/cpp_routing/classoperations__research_1_1GlobalVehicleBreaksConstraint.html +++ b/docs/cpp_routing/classoperations__research_1_1GlobalVehicleBreaksConstraint.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IndexPairSwapActiveOperator-members.html b/docs/cpp_routing/classoperations__research_1_1IndexPairSwapActiveOperator-members.html index 6c4202c2fb..387194df71 100644 --- a/docs/cpp_routing/classoperations__research_1_1IndexPairSwapActiveOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IndexPairSwapActiveOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IndexPairSwapActiveOperator.html b/docs/cpp_routing/classoperations__research_1_1IndexPairSwapActiveOperator.html index c82831bf2e..fdf2ed4e6f 100644 --- a/docs/cpp_routing/classoperations__research_1_1IndexPairSwapActiveOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1IndexPairSwapActiveOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1InitAndGetValues-members.html b/docs/cpp_routing/classoperations__research_1_1InitAndGetValues-members.html index edd5490636..0b73ca8964 100644 --- a/docs/cpp_routing/classoperations__research_1_1InitAndGetValues-members.html +++ b/docs/cpp_routing/classoperations__research_1_1InitAndGetValues-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1InitAndGetValues.html b/docs/cpp_routing/classoperations__research_1_1InitAndGetValues.html index cc013260ca..fc685904bc 100644 --- a/docs/cpp_routing/classoperations__research_1_1InitAndGetValues.html +++ b/docs/cpp_routing/classoperations__research_1_1InitAndGetValues.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntExpr-members.html b/docs/cpp_routing/classoperations__research_1_1IntExpr-members.html index 99ff3e103e..28c6c698a8 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntExpr-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntExpr-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntExpr.html b/docs/cpp_routing/classoperations__research_1_1IntExpr.html index c53908385d..b43b1b8e55 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntExpr.html +++ b/docs/cpp_routing/classoperations__research_1_1IntExpr.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVar-members.html b/docs/cpp_routing/classoperations__research_1_1IntVar-members.html index 03ef1afef6..633367fbfc 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVar-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVar-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVar.html b/docs/cpp_routing/classoperations__research_1_1IntVar.html index 2200e52694..73326317e3 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVar.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVar.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarElement-members.html b/docs/cpp_routing/classoperations__research_1_1IntVarElement-members.html index 93b83ac380..69c4564c4e 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarElement-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarElement-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarElement.html b/docs/cpp_routing/classoperations__research_1_1IntVarElement.html index 8be7a6e7ed..490cd95dcd 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarElement.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarElement.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1IntVarFilteredDecisionBuilder-members.html index c326d7ce90..2b35d03cb3 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1IntVarFilteredDecisionBuilder.html index 69bc372c6b..28836c44f1 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarIterator-members.html b/docs/cpp_routing/classoperations__research_1_1IntVarIterator-members.html index 7af7745c00..cfbe34d393 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarIterator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarIterator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarIterator.html b/docs/cpp_routing/classoperations__research_1_1IntVarIterator.html index e9ad394cc9..4d1003a113 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarIterator.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarIterator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchFilter-members.html b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchFilter-members.html index 70472991cd..75ef2a1d30 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchFilter-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchFilter-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchFilter.html b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchFilter.html index c2f6cf61e9..174ba1e0b9 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchFilter.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchFilter.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchHandler-members.html b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchHandler-members.html index f4d907da16..ea1bcaa868 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchHandler-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchHandler-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchHandler.html b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchHandler.html index ce6e078e38..ff1b2fec51 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchHandler.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchHandler.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchOperator-members.html b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchOperator-members.html index 1abd31bf67..25b835b031 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchOperator.html b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchOperator.html index 525067638c..1abc0fb23a 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1IntVarLocalSearchOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntervalVar-members.html b/docs/cpp_routing/classoperations__research_1_1IntervalVar-members.html index 43ab45ed20..42db34ab17 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntervalVar-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntervalVar-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntervalVar.html b/docs/cpp_routing/classoperations__research_1_1IntervalVar.html index d364ea6c00..ba57abed24 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntervalVar.html +++ b/docs/cpp_routing/classoperations__research_1_1IntervalVar.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntervalVarElement-members.html b/docs/cpp_routing/classoperations__research_1_1IntervalVarElement-members.html index c04f3c2c6f..ef46529bcb 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntervalVarElement-members.html +++ b/docs/cpp_routing/classoperations__research_1_1IntervalVarElement-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1IntervalVarElement.html b/docs/cpp_routing/classoperations__research_1_1IntervalVarElement.html index 4ef71039c0..a8ac663871 100644 --- a/docs/cpp_routing/classoperations__research_1_1IntervalVarElement.html +++ b/docs/cpp_routing/classoperations__research_1_1IntervalVarElement.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LightPairRelocateOperator-members.html b/docs/cpp_routing/classoperations__research_1_1LightPairRelocateOperator-members.html index 005ba84357..65de01af94 100644 --- a/docs/cpp_routing/classoperations__research_1_1LightPairRelocateOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1LightPairRelocateOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LightPairRelocateOperator.html b/docs/cpp_routing/classoperations__research_1_1LightPairRelocateOperator.html index 18d0721c16..8b7a58c0f3 100644 --- a/docs/cpp_routing/classoperations__research_1_1LightPairRelocateOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1LightPairRelocateOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder-members.html index 82159b4ea8..3ad737009f 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder.html index 62040f2e3c..ea97892841 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalDimensionCumulOptimizer-members.html b/docs/cpp_routing/classoperations__research_1_1LocalDimensionCumulOptimizer-members.html index eed0762bc8..c724f869a3 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalDimensionCumulOptimizer-members.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalDimensionCumulOptimizer-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalDimensionCumulOptimizer.html b/docs/cpp_routing/classoperations__research_1_1LocalDimensionCumulOptimizer.html index 69b260dbcf..376093615a 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalDimensionCumulOptimizer.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalDimensionCumulOptimizer.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchFilter-members.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchFilter-members.html index 6af3df9eb3..5fd690141e 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchFilter-members.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchFilter-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchFilter.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchFilter.html index 076bdc2e5a..ad129e12f9 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchFilter.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchFilter.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchFilterManager-members.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchFilterManager-members.html index 3dcff3ea41..e6234ad509 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchFilterManager-members.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchFilterManager-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchFilterManager.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchFilterManager.html index c7c75a389c..35c323b041 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchFilterManager.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchFilterManager.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchMetaheuristic-members.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchMetaheuristic-members.html index 937b405d87..7b461ef242 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchMetaheuristic-members.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchMetaheuristic-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchMetaheuristic.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchMetaheuristic.html index 5fb3ded6a0..c0bb76616b 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchMetaheuristic.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchMetaheuristic.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchMonitor-members.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchMonitor-members.html index 04efabdd79..83c2d71808 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchMonitor-members.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchMonitor-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchMonitor.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchMonitor.html index c8ca61472b..642f191808 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchMonitor.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchMonitor.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchOperator-members.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchOperator-members.html index 0fcf9dd95b..aa0941d271 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1LocalSearchOperator.html b/docs/cpp_routing/classoperations__research_1_1LocalSearchOperator.html index 0180f7d64d..fbb8ef0429 100644 --- a/docs/cpp_routing/classoperations__research_1_1LocalSearchOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1LocalSearchOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1MakePairActiveOperator-members.html b/docs/cpp_routing/classoperations__research_1_1MakePairActiveOperator-members.html index 42717edc0b..1adafa523e 100644 --- a/docs/cpp_routing/classoperations__research_1_1MakePairActiveOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1MakePairActiveOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1MakePairActiveOperator.html b/docs/cpp_routing/classoperations__research_1_1MakePairActiveOperator.html index abd5b304f4..d84f9096b6 100644 --- a/docs/cpp_routing/classoperations__research_1_1MakePairActiveOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1MakePairActiveOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1MakePairInactiveOperator-members.html b/docs/cpp_routing/classoperations__research_1_1MakePairInactiveOperator-members.html index e34a0738a2..7cd8645224 100644 --- a/docs/cpp_routing/classoperations__research_1_1MakePairInactiveOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1MakePairInactiveOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1MakePairInactiveOperator.html b/docs/cpp_routing/classoperations__research_1_1MakePairInactiveOperator.html index 50a4f093c9..75809f2fe2 100644 --- a/docs/cpp_routing/classoperations__research_1_1MakePairInactiveOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1MakePairInactiveOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1MakeRelocateNeighborsOperator-members.html b/docs/cpp_routing/classoperations__research_1_1MakeRelocateNeighborsOperator-members.html index c0943f88a7..cf4922a84d 100644 --- a/docs/cpp_routing/classoperations__research_1_1MakeRelocateNeighborsOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1MakeRelocateNeighborsOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1MakeRelocateNeighborsOperator.html b/docs/cpp_routing/classoperations__research_1_1MakeRelocateNeighborsOperator.html index 2db55929a4..c2ff4edf8f 100644 --- a/docs/cpp_routing/classoperations__research_1_1MakeRelocateNeighborsOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1MakeRelocateNeighborsOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ModelCache-members.html b/docs/cpp_routing/classoperations__research_1_1ModelCache-members.html index 549803e6f1..6759c31fc7 100644 --- a/docs/cpp_routing/classoperations__research_1_1ModelCache-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ModelCache-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ModelCache.html b/docs/cpp_routing/classoperations__research_1_1ModelCache.html index f8474b1a15..07e8819d49 100644 --- a/docs/cpp_routing/classoperations__research_1_1ModelCache.html +++ b/docs/cpp_routing/classoperations__research_1_1ModelCache.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ModelParser-members.html b/docs/cpp_routing/classoperations__research_1_1ModelParser-members.html index d10d5e3c08..3599fc84af 100644 --- a/docs/cpp_routing/classoperations__research_1_1ModelParser-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ModelParser-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ModelParser.html b/docs/cpp_routing/classoperations__research_1_1ModelParser.html index 46ad4ef309..93e1f4802d 100644 --- a/docs/cpp_routing/classoperations__research_1_1ModelParser.html +++ b/docs/cpp_routing/classoperations__research_1_1ModelParser.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ModelVisitor-members.html b/docs/cpp_routing/classoperations__research_1_1ModelVisitor-members.html index 354547f658..29c1f791d9 100644 --- a/docs/cpp_routing/classoperations__research_1_1ModelVisitor-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ModelVisitor-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ModelVisitor.html b/docs/cpp_routing/classoperations__research_1_1ModelVisitor.html index 67f79d7511..333ab7db97 100644 --- a/docs/cpp_routing/classoperations__research_1_1ModelVisitor.html +++ b/docs/cpp_routing/classoperations__research_1_1ModelVisitor.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1NumericalRev-members.html b/docs/cpp_routing/classoperations__research_1_1NumericalRev-members.html index 6531e06d2b..40460948d4 100644 --- a/docs/cpp_routing/classoperations__research_1_1NumericalRev-members.html +++ b/docs/cpp_routing/classoperations__research_1_1NumericalRev-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1NumericalRev.html b/docs/cpp_routing/classoperations__research_1_1NumericalRev.html index ad7788fc01..fae77c5a3d 100644 --- a/docs/cpp_routing/classoperations__research_1_1NumericalRev.html +++ b/docs/cpp_routing/classoperations__research_1_1NumericalRev.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1NumericalRevArray-members.html b/docs/cpp_routing/classoperations__research_1_1NumericalRevArray-members.html index 5e5769f453..fbed47c117 100644 --- a/docs/cpp_routing/classoperations__research_1_1NumericalRevArray-members.html +++ b/docs/cpp_routing/classoperations__research_1_1NumericalRevArray-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1NumericalRevArray.html b/docs/cpp_routing/classoperations__research_1_1NumericalRevArray.html index 28a7184ac7..6fd4af4b25 100644 --- a/docs/cpp_routing/classoperations__research_1_1NumericalRevArray.html +++ b/docs/cpp_routing/classoperations__research_1_1NumericalRevArray.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1OptimizeVar-members.html b/docs/cpp_routing/classoperations__research_1_1OptimizeVar-members.html index a76aa09869..0537b4959d 100644 --- a/docs/cpp_routing/classoperations__research_1_1OptimizeVar-members.html +++ b/docs/cpp_routing/classoperations__research_1_1OptimizeVar-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1OptimizeVar.html b/docs/cpp_routing/classoperations__research_1_1OptimizeVar.html index 2960f5a27b..000699722c 100644 --- a/docs/cpp_routing/classoperations__research_1_1OptimizeVar.html +++ b/docs/cpp_routing/classoperations__research_1_1OptimizeVar.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Pack-members.html b/docs/cpp_routing/classoperations__research_1_1Pack-members.html index 818342a2b2..141d9fb89e 100644 --- a/docs/cpp_routing/classoperations__research_1_1Pack-members.html +++ b/docs/cpp_routing/classoperations__research_1_1Pack-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Pack.html b/docs/cpp_routing/classoperations__research_1_1Pack.html index 02132a52c1..03af1fb03b 100644 --- a/docs/cpp_routing/classoperations__research_1_1Pack.html +++ b/docs/cpp_routing/classoperations__research_1_1Pack.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PairExchangeOperator-members.html b/docs/cpp_routing/classoperations__research_1_1PairExchangeOperator-members.html index 974fa25180..09c7e2567f 100644 --- a/docs/cpp_routing/classoperations__research_1_1PairExchangeOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1PairExchangeOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PairExchangeOperator.html b/docs/cpp_routing/classoperations__research_1_1PairExchangeOperator.html index be199fccb2..909fad7157 100644 --- a/docs/cpp_routing/classoperations__research_1_1PairExchangeOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1PairExchangeOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PairExchangeRelocateOperator-members.html b/docs/cpp_routing/classoperations__research_1_1PairExchangeRelocateOperator-members.html index 230e1e247c..f315fe7f18 100644 --- a/docs/cpp_routing/classoperations__research_1_1PairExchangeRelocateOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1PairExchangeRelocateOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PairExchangeRelocateOperator.html b/docs/cpp_routing/classoperations__research_1_1PairExchangeRelocateOperator.html index a309b66647..00a2d1d06f 100644 --- a/docs/cpp_routing/classoperations__research_1_1PairExchangeRelocateOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1PairExchangeRelocateOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PairNodeSwapActiveOperator-members.html b/docs/cpp_routing/classoperations__research_1_1PairNodeSwapActiveOperator-members.html index db83ed9cc7..30281acfd9 100644 --- a/docs/cpp_routing/classoperations__research_1_1PairNodeSwapActiveOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1PairNodeSwapActiveOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PairNodeSwapActiveOperator.html b/docs/cpp_routing/classoperations__research_1_1PairNodeSwapActiveOperator.html index 0d772ec184..ab010d225c 100644 --- a/docs/cpp_routing/classoperations__research_1_1PairNodeSwapActiveOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1PairNodeSwapActiveOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PairRelocateOperator-members.html b/docs/cpp_routing/classoperations__research_1_1PairRelocateOperator-members.html index 243bfb3f84..1349dcfd97 100644 --- a/docs/cpp_routing/classoperations__research_1_1PairRelocateOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1PairRelocateOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PairRelocateOperator.html b/docs/cpp_routing/classoperations__research_1_1PairRelocateOperator.html index 2d2547f2c1..ace2417945 100644 --- a/docs/cpp_routing/classoperations__research_1_1PairRelocateOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1PairRelocateOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder-members.html index 8985d63231..940004b560 100644 --- a/docs/cpp_routing/classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder.html index 9c5592bd2b..2782e46eb7 100644 --- a/docs/cpp_routing/classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PathOperator-members.html b/docs/cpp_routing/classoperations__research_1_1PathOperator-members.html index 5956853f59..cf16fa67d5 100644 --- a/docs/cpp_routing/classoperations__research_1_1PathOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1PathOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PathOperator.html b/docs/cpp_routing/classoperations__research_1_1PathOperator.html index 5d95163221..94d8429334 100644 --- a/docs/cpp_routing/classoperations__research_1_1PathOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1PathOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PathWithPreviousNodesOperator-members.html b/docs/cpp_routing/classoperations__research_1_1PathWithPreviousNodesOperator-members.html index f29ed536f8..5d760b5a2d 100644 --- a/docs/cpp_routing/classoperations__research_1_1PathWithPreviousNodesOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1PathWithPreviousNodesOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PathWithPreviousNodesOperator.html b/docs/cpp_routing/classoperations__research_1_1PathWithPreviousNodesOperator.html index 205f3ef789..8529d1c53c 100644 --- a/docs/cpp_routing/classoperations__research_1_1PathWithPreviousNodesOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1PathWithPreviousNodesOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PropagationBaseObject-members.html b/docs/cpp_routing/classoperations__research_1_1PropagationBaseObject-members.html index 51e17f10dd..b96c052552 100644 --- a/docs/cpp_routing/classoperations__research_1_1PropagationBaseObject-members.html +++ b/docs/cpp_routing/classoperations__research_1_1PropagationBaseObject-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PropagationBaseObject.html b/docs/cpp_routing/classoperations__research_1_1PropagationBaseObject.html index a7969235a5..0f41d4fe8a 100644 --- a/docs/cpp_routing/classoperations__research_1_1PropagationBaseObject.html +++ b/docs/cpp_routing/classoperations__research_1_1PropagationBaseObject.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PropagationMonitor-members.html b/docs/cpp_routing/classoperations__research_1_1PropagationMonitor-members.html index bc7303b21a..52a1760cd3 100644 --- a/docs/cpp_routing/classoperations__research_1_1PropagationMonitor-members.html +++ b/docs/cpp_routing/classoperations__research_1_1PropagationMonitor-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1PropagationMonitor.html b/docs/cpp_routing/classoperations__research_1_1PropagationMonitor.html index cd3b9192d1..b00832bc0c 100644 --- a/docs/cpp_routing/classoperations__research_1_1PropagationMonitor.html +++ b/docs/cpp_routing/classoperations__research_1_1PropagationMonitor.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RegularLimit-members.html b/docs/cpp_routing/classoperations__research_1_1RegularLimit-members.html index 33d1876c85..7a72fbe650 100644 --- a/docs/cpp_routing/classoperations__research_1_1RegularLimit-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RegularLimit-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RegularLimit.html b/docs/cpp_routing/classoperations__research_1_1RegularLimit.html index 1f3c5790a8..c1dff1466e 100644 --- a/docs/cpp_routing/classoperations__research_1_1RegularLimit.html +++ b/docs/cpp_routing/classoperations__research_1_1RegularLimit.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RelocateExpensiveChain-members.html b/docs/cpp_routing/classoperations__research_1_1RelocateExpensiveChain-members.html index 7b3c8b9749..5ea71d2b35 100644 --- a/docs/cpp_routing/classoperations__research_1_1RelocateExpensiveChain-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RelocateExpensiveChain-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RelocateExpensiveChain.html b/docs/cpp_routing/classoperations__research_1_1RelocateExpensiveChain.html index c525d09688..8ac92e93c2 100644 --- a/docs/cpp_routing/classoperations__research_1_1RelocateExpensiveChain.html +++ b/docs/cpp_routing/classoperations__research_1_1RelocateExpensiveChain.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RelocateSubtrip-members.html b/docs/cpp_routing/classoperations__research_1_1RelocateSubtrip-members.html index 4281acdc1f..d0f414854a 100644 --- a/docs/cpp_routing/classoperations__research_1_1RelocateSubtrip-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RelocateSubtrip-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RelocateSubtrip.html b/docs/cpp_routing/classoperations__research_1_1RelocateSubtrip.html index a4cc017a63..be95c19435 100644 --- a/docs/cpp_routing/classoperations__research_1_1RelocateSubtrip.html +++ b/docs/cpp_routing/classoperations__research_1_1RelocateSubtrip.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Rev-members.html b/docs/cpp_routing/classoperations__research_1_1Rev-members.html index 54b8bee309..220db6c26c 100644 --- a/docs/cpp_routing/classoperations__research_1_1Rev-members.html +++ b/docs/cpp_routing/classoperations__research_1_1Rev-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Rev.html b/docs/cpp_routing/classoperations__research_1_1Rev.html index 0087493316..89f69233a5 100644 --- a/docs/cpp_routing/classoperations__research_1_1Rev.html +++ b/docs/cpp_routing/classoperations__research_1_1Rev.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevArray-members.html b/docs/cpp_routing/classoperations__research_1_1RevArray-members.html index 166d1e0668..f755bbea5b 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevArray-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RevArray-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevArray.html b/docs/cpp_routing/classoperations__research_1_1RevArray.html index 1c4f5ae400..f7e9fc76c0 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevArray.html +++ b/docs/cpp_routing/classoperations__research_1_1RevArray.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevBitMatrix-members.html b/docs/cpp_routing/classoperations__research_1_1RevBitMatrix-members.html index ffa985bb71..1ec4b79ce3 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevBitMatrix-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RevBitMatrix-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevBitMatrix.html b/docs/cpp_routing/classoperations__research_1_1RevBitMatrix.html index 6e9f580ee3..94290c52d8 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevBitMatrix.html +++ b/docs/cpp_routing/classoperations__research_1_1RevBitMatrix.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevBitSet-members.html b/docs/cpp_routing/classoperations__research_1_1RevBitSet-members.html index 16e8a63e43..03285f116f 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevBitSet-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RevBitSet-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevBitSet.html b/docs/cpp_routing/classoperations__research_1_1RevBitSet.html index c0150c3b7b..d4e8f19d01 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevBitSet.html +++ b/docs/cpp_routing/classoperations__research_1_1RevBitSet.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevGrowingArray-members.html b/docs/cpp_routing/classoperations__research_1_1RevGrowingArray-members.html index 26e84b981f..4861aa927b 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevGrowingArray-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RevGrowingArray-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevGrowingArray.html b/docs/cpp_routing/classoperations__research_1_1RevGrowingArray.html index 3954bb758b..8dcf496770 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevGrowingArray.html +++ b/docs/cpp_routing/classoperations__research_1_1RevGrowingArray.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevImmutableMultiMap-members.html b/docs/cpp_routing/classoperations__research_1_1RevImmutableMultiMap-members.html index c05a651a59..aee128fed5 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevImmutableMultiMap-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RevImmutableMultiMap-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevImmutableMultiMap.html b/docs/cpp_routing/classoperations__research_1_1RevImmutableMultiMap.html index 6efc87dad7..8ff9c4da59 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevImmutableMultiMap.html +++ b/docs/cpp_routing/classoperations__research_1_1RevImmutableMultiMap.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevIntSet-members.html b/docs/cpp_routing/classoperations__research_1_1RevIntSet-members.html index c0fc013a4c..1a15b1a410 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevIntSet-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RevIntSet-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevIntSet.html b/docs/cpp_routing/classoperations__research_1_1RevIntSet.html index d37543eaf4..e26069c094 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevIntSet.html +++ b/docs/cpp_routing/classoperations__research_1_1RevIntSet.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevPartialSequence-members.html b/docs/cpp_routing/classoperations__research_1_1RevPartialSequence-members.html index 5a272179be..d59eba5703 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevPartialSequence-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RevPartialSequence-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevPartialSequence.html b/docs/cpp_routing/classoperations__research_1_1RevPartialSequence.html index 07599fcfc0..dd8bccbe67 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevPartialSequence.html +++ b/docs/cpp_routing/classoperations__research_1_1RevPartialSequence.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevSwitch-members.html b/docs/cpp_routing/classoperations__research_1_1RevSwitch-members.html index b9aed95fff..5a33a791e3 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevSwitch-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RevSwitch-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RevSwitch.html b/docs/cpp_routing/classoperations__research_1_1RevSwitch.html index 60cc3905ca..b6170074bf 100644 --- a/docs/cpp_routing/classoperations__research_1_1RevSwitch.html +++ b/docs/cpp_routing/classoperations__research_1_1RevSwitch.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingDimension-members.html b/docs/cpp_routing/classoperations__research_1_1RoutingDimension-members.html index 13a2362443..a38b6c2e5f 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingDimension-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingDimension-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingDimension.html b/docs/cpp_routing/classoperations__research_1_1RoutingDimension.html index 57fca212a3..f780ed6d90 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingDimension.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingDimension.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1RoutingFilteredDecisionBuilder-members.html index 6fd0411540..f86d6923ce 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1RoutingFilteredDecisionBuilder.html index 9b93e51959..7ec9c0ff6e 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingIndexManager-members.html b/docs/cpp_routing/classoperations__research_1_1RoutingIndexManager-members.html index aaa18d1521..5794a3c2cf 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingIndexManager-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingIndexManager-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingIndexManager.html b/docs/cpp_routing/classoperations__research_1_1RoutingIndexManager.html index 45047868b2..8973dc2c96 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingIndexManager.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingIndexManager.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingModel-members.html b/docs/cpp_routing/classoperations__research_1_1RoutingModel-members.html index 066b53508f..42fd052edc 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingModel-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingModel-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingModel.html b/docs/cpp_routing/classoperations__research_1_1RoutingModel.html index 1093b497aa..d75959423d 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingModel.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingModel.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingModelParameters-members.html b/docs/cpp_routing/classoperations__research_1_1RoutingModelParameters-members.html index fa26daa436..0fdacb96f6 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingModelParameters-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingModelParameters-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingModelParameters.html b/docs/cpp_routing/classoperations__research_1_1RoutingModelParameters.html index 1fe6300f32..d23159c0a5 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingModelParameters.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingModelParameters.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingModelVisitor-members.html b/docs/cpp_routing/classoperations__research_1_1RoutingModelVisitor-members.html index fb9eaa4ce1..77c862ec25 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingModelVisitor-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingModelVisitor-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingModelVisitor.html b/docs/cpp_routing/classoperations__research_1_1RoutingModelVisitor.html index b1c490d272..6d09a77814 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingModelVisitor.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingModelVisitor.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters-members.html b/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters-members.html index e7a767dff5..806f6f61dc 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters.html b/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters.html index c72ddbd612..49ffd263c8 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters__LocalSearchNeighborhoodOperators-members.html b/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters__LocalSearchNeighborhoodOperators-members.html index e76153a3c3..95de8192c8 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters__LocalSearchNeighborhoodOperators-members.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters__LocalSearchNeighborhoodOperators-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters__LocalSearchNeighborhoodOperators.html b/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters__LocalSearchNeighborhoodOperators.html index bc65daa5bc..70b59c1863 100644 --- a/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters__LocalSearchNeighborhoodOperators.html +++ b/docs/cpp_routing/classoperations__research_1_1RoutingSearchParameters__LocalSearchNeighborhoodOperators.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder-members.html index 10ae1e5daf..8e9e939556 100644 --- a/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder.html index adaa6754e1..434fc9b82d 100644 --- a/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsContainer.html b/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsContainer.html index 678b5c0c28..bda18831ab 100644 --- a/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsContainer.html +++ b/docs/cpp_routing/classoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsContainer.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SearchLimit-members.html b/docs/cpp_routing/classoperations__research_1_1SearchLimit-members.html index 83ab5c6d5d..cbf63d0395 100644 --- a/docs/cpp_routing/classoperations__research_1_1SearchLimit-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SearchLimit-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SearchLimit.html b/docs/cpp_routing/classoperations__research_1_1SearchLimit.html index 2d4da22f12..cd652e7de5 100644 --- a/docs/cpp_routing/classoperations__research_1_1SearchLimit.html +++ b/docs/cpp_routing/classoperations__research_1_1SearchLimit.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SearchLog-members.html b/docs/cpp_routing/classoperations__research_1_1SearchLog-members.html index 1ac5587922..81679fca82 100644 --- a/docs/cpp_routing/classoperations__research_1_1SearchLog-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SearchLog-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SearchLog.html b/docs/cpp_routing/classoperations__research_1_1SearchLog.html index d52cc0f77d..6f02e9a100 100644 --- a/docs/cpp_routing/classoperations__research_1_1SearchLog.html +++ b/docs/cpp_routing/classoperations__research_1_1SearchLog.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SearchMonitor-members.html b/docs/cpp_routing/classoperations__research_1_1SearchMonitor-members.html index 5181295cff..6d4d34f0bd 100644 --- a/docs/cpp_routing/classoperations__research_1_1SearchMonitor-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SearchMonitor-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SearchMonitor.html b/docs/cpp_routing/classoperations__research_1_1SearchMonitor.html index e8a45a408b..2b9623d670 100644 --- a/docs/cpp_routing/classoperations__research_1_1SearchMonitor.html +++ b/docs/cpp_routing/classoperations__research_1_1SearchMonitor.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequenceVar-members.html b/docs/cpp_routing/classoperations__research_1_1SequenceVar-members.html index ab2756174c..17024ba4b6 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequenceVar-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SequenceVar-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequenceVar.html b/docs/cpp_routing/classoperations__research_1_1SequenceVar.html index f64e86fd54..44298792e5 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequenceVar.html +++ b/docs/cpp_routing/classoperations__research_1_1SequenceVar.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequenceVarElement-members.html b/docs/cpp_routing/classoperations__research_1_1SequenceVarElement-members.html index 353ff01c9d..3061070065 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequenceVarElement-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SequenceVarElement-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequenceVarElement.html b/docs/cpp_routing/classoperations__research_1_1SequenceVarElement.html index 88e9478cd6..24f02e9cfd 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequenceVarElement.html +++ b/docs/cpp_routing/classoperations__research_1_1SequenceVarElement.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchHandler-members.html b/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchHandler-members.html index 2afa807d33..e7b0419079 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchHandler-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchHandler-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchHandler.html b/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchHandler.html index 3ee0229010..e4a6aedf21 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchHandler.html +++ b/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchHandler.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchOperator-members.html b/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchOperator-members.html index 751fdd1b3e..0c508cfee2 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchOperator.html b/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchOperator.html index 610c7f15aa..7ac74f5a0c 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1SequenceVarLocalSearchOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder-members.html b/docs/cpp_routing/classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder-members.html index f88bf803b9..9a4fc3d750 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder.html b/docs/cpp_routing/classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder.html index 68cc71d48a..d5628187f8 100644 --- a/docs/cpp_routing/classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder.html +++ b/docs/cpp_routing/classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SimpleBoundCosts-members.html b/docs/cpp_routing/classoperations__research_1_1SimpleBoundCosts-members.html index 4f79464bb0..c60f38e224 100644 --- a/docs/cpp_routing/classoperations__research_1_1SimpleBoundCosts-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SimpleBoundCosts-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SimpleBoundCosts.html b/docs/cpp_routing/classoperations__research_1_1SimpleBoundCosts.html index 6a269db387..9991f42ef0 100644 --- a/docs/cpp_routing/classoperations__research_1_1SimpleBoundCosts.html +++ b/docs/cpp_routing/classoperations__research_1_1SimpleBoundCosts.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO-members.html b/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO-members.html index 9e80e9b218..24f0e13131 100644 --- a/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO.html b/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO.html index 762930f6ca..3920460941 100644 --- a/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO.html +++ b/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO_1_1Iterator-members.html b/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO_1_1Iterator-members.html index 47059d477f..aba650678e 100644 --- a/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO_1_1Iterator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO_1_1Iterator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html b/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html index aae9a06964..c483659d99 100644 --- a/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html +++ b/docs/cpp_routing/classoperations__research_1_1SimpleRevFIFO_1_1Iterator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SmallRevBitSet-members.html b/docs/cpp_routing/classoperations__research_1_1SmallRevBitSet-members.html index 8ee5001555..87e95ec398 100644 --- a/docs/cpp_routing/classoperations__research_1_1SmallRevBitSet-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SmallRevBitSet-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SmallRevBitSet.html b/docs/cpp_routing/classoperations__research_1_1SmallRevBitSet.html index f259228d6a..752573c6e4 100644 --- a/docs/cpp_routing/classoperations__research_1_1SmallRevBitSet.html +++ b/docs/cpp_routing/classoperations__research_1_1SmallRevBitSet.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SolutionCollector-members.html b/docs/cpp_routing/classoperations__research_1_1SolutionCollector-members.html index e8abb9690b..466a2eab2c 100644 --- a/docs/cpp_routing/classoperations__research_1_1SolutionCollector-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SolutionCollector-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SolutionCollector.html b/docs/cpp_routing/classoperations__research_1_1SolutionCollector.html index 7b78030ffe..2b54fec762 100644 --- a/docs/cpp_routing/classoperations__research_1_1SolutionCollector.html +++ b/docs/cpp_routing/classoperations__research_1_1SolutionCollector.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SolutionPool-members.html b/docs/cpp_routing/classoperations__research_1_1SolutionPool-members.html index 9ffda5391d..e59f844a61 100644 --- a/docs/cpp_routing/classoperations__research_1_1SolutionPool-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SolutionPool-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SolutionPool.html b/docs/cpp_routing/classoperations__research_1_1SolutionPool.html index 0f04cba3af..ea2e256d01 100644 --- a/docs/cpp_routing/classoperations__research_1_1SolutionPool.html +++ b/docs/cpp_routing/classoperations__research_1_1SolutionPool.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Solver-members.html b/docs/cpp_routing/classoperations__research_1_1Solver-members.html index 46e59e1596..fc6beebc9c 100644 --- a/docs/cpp_routing/classoperations__research_1_1Solver-members.html +++ b/docs/cpp_routing/classoperations__research_1_1Solver-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1Solver.html b/docs/cpp_routing/classoperations__research_1_1Solver.html index dd7f4d8965..0d7fa3ee09 100644 --- a/docs/cpp_routing/classoperations__research_1_1Solver.html +++ b/docs/cpp_routing/classoperations__research_1_1Solver.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SwapIndexPairOperator-members.html b/docs/cpp_routing/classoperations__research_1_1SwapIndexPairOperator-members.html index 94ff3c4e07..27574aa4ce 100644 --- a/docs/cpp_routing/classoperations__research_1_1SwapIndexPairOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SwapIndexPairOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SwapIndexPairOperator.html b/docs/cpp_routing/classoperations__research_1_1SwapIndexPairOperator.html index 77148a31e3..bf95edab3c 100644 --- a/docs/cpp_routing/classoperations__research_1_1SwapIndexPairOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1SwapIndexPairOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SweepArranger-members.html b/docs/cpp_routing/classoperations__research_1_1SweepArranger-members.html index 25ee2a1277..ab9dd2f6a0 100644 --- a/docs/cpp_routing/classoperations__research_1_1SweepArranger-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SweepArranger-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SweepArranger.html b/docs/cpp_routing/classoperations__research_1_1SweepArranger.html index ce3e22560a..50150619b3 100644 --- a/docs/cpp_routing/classoperations__research_1_1SweepArranger.html +++ b/docs/cpp_routing/classoperations__research_1_1SweepArranger.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SymmetryBreaker-members.html b/docs/cpp_routing/classoperations__research_1_1SymmetryBreaker-members.html index 8b43fc2dd0..93d5dfe9af 100644 --- a/docs/cpp_routing/classoperations__research_1_1SymmetryBreaker-members.html +++ b/docs/cpp_routing/classoperations__research_1_1SymmetryBreaker-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1SymmetryBreaker.html b/docs/cpp_routing/classoperations__research_1_1SymmetryBreaker.html index da17cc8f9f..2749881866 100644 --- a/docs/cpp_routing/classoperations__research_1_1SymmetryBreaker.html +++ b/docs/cpp_routing/classoperations__research_1_1SymmetryBreaker.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1TypeIncompatibilityChecker-members.html b/docs/cpp_routing/classoperations__research_1_1TypeIncompatibilityChecker-members.html index 7ec816491c..a96317dbea 100644 --- a/docs/cpp_routing/classoperations__research_1_1TypeIncompatibilityChecker-members.html +++ b/docs/cpp_routing/classoperations__research_1_1TypeIncompatibilityChecker-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1TypeIncompatibilityChecker.html b/docs/cpp_routing/classoperations__research_1_1TypeIncompatibilityChecker.html index 685d2e7b18..2201562958 100644 --- a/docs/cpp_routing/classoperations__research_1_1TypeIncompatibilityChecker.html +++ b/docs/cpp_routing/classoperations__research_1_1TypeIncompatibilityChecker.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1TypeRegulationsChecker-members.html b/docs/cpp_routing/classoperations__research_1_1TypeRegulationsChecker-members.html index bf7b649000..2b2789ff56 100644 --- a/docs/cpp_routing/classoperations__research_1_1TypeRegulationsChecker-members.html +++ b/docs/cpp_routing/classoperations__research_1_1TypeRegulationsChecker-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1TypeRegulationsChecker.html b/docs/cpp_routing/classoperations__research_1_1TypeRegulationsChecker.html index f97454838c..0be66fc533 100644 --- a/docs/cpp_routing/classoperations__research_1_1TypeRegulationsChecker.html +++ b/docs/cpp_routing/classoperations__research_1_1TypeRegulationsChecker.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1TypeRegulationsConstraint-members.html b/docs/cpp_routing/classoperations__research_1_1TypeRegulationsConstraint-members.html index 3378e2c1fc..94c2490831 100644 --- a/docs/cpp_routing/classoperations__research_1_1TypeRegulationsConstraint-members.html +++ b/docs/cpp_routing/classoperations__research_1_1TypeRegulationsConstraint-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1TypeRegulationsConstraint.html b/docs/cpp_routing/classoperations__research_1_1TypeRegulationsConstraint.html index 00d3934917..584a9ae358 100644 --- a/docs/cpp_routing/classoperations__research_1_1TypeRegulationsConstraint.html +++ b/docs/cpp_routing/classoperations__research_1_1TypeRegulationsConstraint.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1TypeRequirementChecker-members.html b/docs/cpp_routing/classoperations__research_1_1TypeRequirementChecker-members.html index 5048e6eea5..17d666e454 100644 --- a/docs/cpp_routing/classoperations__research_1_1TypeRequirementChecker-members.html +++ b/docs/cpp_routing/classoperations__research_1_1TypeRequirementChecker-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1TypeRequirementChecker.html b/docs/cpp_routing/classoperations__research_1_1TypeRequirementChecker.html index 9bcad521d4..96842b342b 100644 --- a/docs/cpp_routing/classoperations__research_1_1TypeRequirementChecker.html +++ b/docs/cpp_routing/classoperations__research_1_1TypeRequirementChecker.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1UnsortedNullableRevBitset-members.html b/docs/cpp_routing/classoperations__research_1_1UnsortedNullableRevBitset-members.html index b1d0bb3468..5433157e4a 100644 --- a/docs/cpp_routing/classoperations__research_1_1UnsortedNullableRevBitset-members.html +++ b/docs/cpp_routing/classoperations__research_1_1UnsortedNullableRevBitset-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1UnsortedNullableRevBitset.html b/docs/cpp_routing/classoperations__research_1_1UnsortedNullableRevBitset.html index a0d1bf2ae1..29cb4b7549 100644 --- a/docs/cpp_routing/classoperations__research_1_1UnsortedNullableRevBitset.html +++ b/docs/cpp_routing/classoperations__research_1_1UnsortedNullableRevBitset.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1VarLocalSearchOperator-members.html b/docs/cpp_routing/classoperations__research_1_1VarLocalSearchOperator-members.html index 19f1d5986e..31ecf9da20 100644 --- a/docs/cpp_routing/classoperations__research_1_1VarLocalSearchOperator-members.html +++ b/docs/cpp_routing/classoperations__research_1_1VarLocalSearchOperator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/classoperations__research_1_1VarLocalSearchOperator.html b/docs/cpp_routing/classoperations__research_1_1VarLocalSearchOperator.html index 1504638148..7920697c97 100644 --- a/docs/cpp_routing/classoperations__research_1_1VarLocalSearchOperator.html +++ b/docs/cpp_routing/classoperations__research_1_1VarLocalSearchOperator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/constraint__solver_8h.html b/docs/cpp_routing/constraint__solver_8h.html index aa292701d3..f186b6e7aa 100644 --- a/docs/cpp_routing/constraint__solver_8h.html +++ b/docs/cpp_routing/constraint__solver_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -57,26 +52,7 @@ $(document).ready(function(){initNavTree('constraint__solver_8h.html','');});
    constraint_solver.h File Reference
    -
    #include <functional>
    -#include <iosfwd>
    -#include <memory>
    -#include <string>
    -#include <utility>
    -#include <vector>
    -#include "absl/container/flat_hash_map.h"
    -#include "absl/container/flat_hash_set.h"
    -#include "absl/strings/str_format.h"
    -#include "ortools/base/commandlineflags.h"
    -#include "ortools/base/hash.h"
    -#include "ortools/base/map_util.h"
    -#include "ortools/base/random.h"
    -#include "ortools/base/sysinfo.h"
    -#include "ortools/base/timer.h"
    -#include "ortools/constraint_solver/solver_parameters.pb.h"
    -#include "ortools/util/piecewise_linear_function.h"
    -#include "ortools/util/sorted_interval_list.h"
    -#include "ortools/util/tuple_set.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/constraint__solver_8h_source.html b/docs/cpp_routing/constraint__solver_8h_source.html index 14a1bc5788..a0824460a8 100644 --- a/docs/cpp_routing/constraint__solver_8h_source.html +++ b/docs/cpp_routing/constraint__solver_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/constraint__solveri_8h.html b/docs/cpp_routing/constraint__solveri_8h.html index 9c64a688e4..818d5ad65c 100644 --- a/docs/cpp_routing/constraint__solveri_8h.html +++ b/docs/cpp_routing/constraint__solveri_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -59,29 +54,7 @@ $(document).ready(function(){initNavTree('constraint__solveri_8h.html','');});
    constraint_solveri.h File Reference
    -
    #include <algorithm>
    -#include <cmath>
    -#include <cstddef>
    -#include <functional>
    -#include <memory>
    -#include <string>
    -#include <vector>
    -#include "absl/container/flat_hash_map.h"
    -#include "absl/strings/str_cat.h"
    -#include "absl/strings/str_format.h"
    -#include "absl/strings/str_join.h"
    -#include "ortools/base/commandlineflags.h"
    -#include "ortools/base/hash.h"
    -#include "ortools/base/integral_types.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/base/map_util.h"
    -#include "ortools/base/sysinfo.h"
    -#include "ortools/base/timer.h"
    -#include "ortools/constraint_solver/constraint_solver.h"
    -#include "ortools/util/bitset.h"
    -#include "ortools/util/tuple_set.h"
    -#include "ortools/util/vector_map.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/constraint__solveri_8h_source.html b/docs/cpp_routing/constraint__solveri_8h_source.html index fc3882847c..54e6c88231 100644 --- a/docs/cpp_routing/constraint__solveri_8h_source.html +++ b/docs/cpp_routing/constraint__solveri_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/dir_37019ba8edd362d5e2e12880bdfa4c61.html b/docs/cpp_routing/dir_37019ba8edd362d5e2e12880bdfa4c61.html index c25a324b98..5efaf39dd4 100644 --- a/docs/cpp_routing/dir_37019ba8edd362d5e2e12880bdfa4c61.html +++ b/docs/cpp_routing/dir_37019ba8edd362d5e2e12880bdfa4c61.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/dir_a7cc1eeded8f693d0da6c729bc88c45a.html b/docs/cpp_routing/dir_a7cc1eeded8f693d0da6c729bc88c45a.html index 80c4c7630f..b3d8ff7454 100644 --- a/docs/cpp_routing/dir_a7cc1eeded8f693d0da6c729bc88c45a.html +++ b/docs/cpp_routing/dir_a7cc1eeded8f693d0da6c729bc88c45a.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/dir_afbb39f66221aac28bbdefd1dca2b2b0.html b/docs/cpp_routing/dir_afbb39f66221aac28bbdefd1dca2b2b0.html index 91a51da9e7..e083f2ecc0 100644 --- a/docs/cpp_routing/dir_afbb39f66221aac28bbdefd1dca2b2b0.html +++ b/docs/cpp_routing/dir_afbb39f66221aac28bbdefd1dca2b2b0.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html b/docs/cpp_routing/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html index fb00a86d3d..063efeed63 100644 --- a/docs/cpp_routing/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html +++ b/docs/cpp_routing/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/dir_dd9e6105f85b4b8d1432afc92516bdf4.html b/docs/cpp_routing/dir_dd9e6105f85b4b8d1432afc92516bdf4.html index 5978092c3d..5182a60e22 100644 --- a/docs/cpp_routing/dir_dd9e6105f85b4b8d1432afc92516bdf4.html +++ b/docs/cpp_routing/dir_dd9e6105f85b4b8d1432afc92516bdf4.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/files.html b/docs/cpp_routing/files.html index e07bd89aab..8d77ce1dba 100644 --- a/docs/cpp_routing/files.html +++ b/docs/cpp_routing/files.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/functions.html b/docs/cpp_routing/functions.html index 60304636f8..1ad54277ac 100644 --- a/docs/cpp_routing/functions.html +++ b/docs/cpp_routing/functions.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • - - - - diff --git a/docs/cpp_routing/index.html b/docs/cpp_routing/index.html index 0127e8afeb..a80eb123ee 100644 --- a/docs/cpp_routing/index.html +++ b/docs/cpp_routing/index.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/menudata.js b/docs/cpp_routing/menudata.js index 4ff48af30b..96d92b67d5 100644 --- a/docs/cpp_routing/menudata.js +++ b/docs/cpp_routing/menudata.js @@ -24,4 +24,5 @@ for the JavaScript code in this file var menudata={children:[ {text:"Main Page",url:"index.html"}, {text:"Namespaces",url:"namespaces.html"}, -{text:"Classes",url:"annotated.html"}]} +{text:"Classes",url:"annotated.html"}, +{text:"Files",url:"files.html"}]} diff --git a/docs/cpp_routing/namespaceinternal.html b/docs/cpp_routing/namespaceinternal.html index f597062b53..ad77dd8e8e 100644 --- a/docs/cpp_routing/namespaceinternal.html +++ b/docs/cpp_routing/namespaceinternal.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/namespacemembers.html b/docs/cpp_routing/namespacemembers.html index 8ed8124606..0d3d0e4a07 100644 --- a/docs/cpp_routing/namespacemembers.html +++ b/docs/cpp_routing/namespacemembers.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/namespaces.html b/docs/cpp_routing/namespaces.html index 44a139b610..bb5dcc205a 100644 --- a/docs/cpp_routing/namespaces.html +++ b/docs/cpp_routing/namespaces.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/navtreedata.js b/docs/cpp_routing/navtreedata.js index e49546770b..aa20e6e42a 100644 --- a/docs/cpp_routing/navtreedata.js +++ b/docs/cpp_routing/navtreedata.js @@ -26,19 +26,13 @@ var NAVTREE = [ "OR-Tools", "index.html", [ [ "Namespaces", "namespaces.html", null ], [ "Classes", "annotated.html", null ], - [ "File List", "files.html", "files" ], - [ "File Members", "globals.html", [ - [ "All", "globals.html", null ], - [ "Functions", "globals_func.html", null ], - [ "Variables", "globals_vars.html", null ], - [ "Macros", "globals_defs.html", null ] - ] ] + [ "Files", "files.html", null ] ] ] ]; var NAVTREEINDEX = [ -"constraint__solver_8h.html" +"index.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/cpp_routing/navtreeindex0.js b/docs/cpp_routing/navtreeindex0.js index 504f4111a5..9e75a21dcd 100644 --- a/docs/cpp_routing/navtreeindex0.js +++ b/docs/cpp_routing/navtreeindex0.js @@ -1,220 +1,5 @@ var NAVTREEINDEX0 = { -"constraint__solver_8h.html":[2,0], -"constraint__solver_8h.html#a009f247167f32509baf749083e4bc984":[2,0,45], -"constraint__solver_8h.html#a316abccdfa41512564d84365ea8f0ead":[2,0,41], -"constraint__solver_8h.html#a4f44b10aa7fc7b6e85b72e7f0c96cc1f":[2,0,43], -"constraint__solver_8h.html#a991f7a823d83b455d6b1a45141cb9ce9":[2,0,42], -"constraint__solver_8h.html#aa96bb5a28dd9c1ccc864b1587e8e1a98":[2,0,40], -"constraint__solver_8h.html#aea2bf322fab4e2319a23ad22acf8ccf8":[2,0,44], -"constraint__solver_8h_source.html":[2,0], -"constraint__solveri_8h.html":[2,1], -"constraint__solveri_8h.html#a0953b50b08320d1109c678555137f1db":[2,1,78], -"constraint__solveri_8h.html#a11f4a7dbafd8e00a36b892a82e44445f":[2,1,73], -"constraint__solveri_8h.html#a12527c82ffc8b31c5d8dc836c366d624":[2,1,64], -"constraint__solveri_8h.html#a15f08cfbb35e2b8b1eb76f79caea924a":[2,1,48], -"constraint__solveri_8h.html#a29b8113bf656aa61493c9459508ed953":[2,1,74], -"constraint__solveri_8h.html#a38972723946490ea4df4e34298d8805d":[2,1,49], -"constraint__solveri_8h.html#a3aea406979285a28c91fd1ee8115af74":[2,1,47], -"constraint__solveri_8h.html#a3c2f93547af434566184b7dee7039c93":[2,1,79], -"constraint__solveri_8h.html#a3ca754fad158b92d7f678b5d354d8927":[2,1,60], -"constraint__solveri_8h.html#a3d434774c07815a25ffaa7adb343c19e":[2,1,66], -"constraint__solveri_8h.html#a3de09f9134b976e5ba64751ac0f4440b":[2,1,54], -"constraint__solveri_8h.html#a3ea6af6581e6922832918c97753146a7":[2,1,68], -"constraint__solveri_8h.html#a3f4525e71a6b05d97c868f0832750a60":[2,1,63], -"constraint__solveri_8h.html#a4da629cafe75f958924e1684ac2b0eff":[2,1,70], -"constraint__solveri_8h.html#a4fb750da00c784e5ffd1763fd3ce88f7":[2,1,69], -"constraint__solveri_8h.html#a54470bffc3ea32cc37d0222e5dbb62a6":[2,1,45], -"constraint__solveri_8h.html#a5c1932027ef8bc1689d725a1c597867b":[2,1,77], -"constraint__solveri_8h.html#a60dabfa452b4264887ef76c75edf3765":[2,1,81], -"constraint__solveri_8h.html#a64cf3e1336ec61275bdd2ae853d38406":[2,1,56], -"constraint__solveri_8h.html#a65a9c1ccf298ae110decc3b9d285dc16":[2,1,59], -"constraint__solveri_8h.html#a6662a100d8715747870beb9721bb304b":[2,1,55], -"constraint__solveri_8h.html#a7028ce8b481be8cb6fca7a6925d41aa7":[2,1,46], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1db":[2,1,42], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dba035478726d2dcd2fb9ac77afb5c759cc":[2,1,42,1], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dba0cc8439ff5d71bb0c4c981cd04b73d55":[2,1,42,4], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dba79122eee2a14a98d575b0b9ac73b0e42":[2,1,42,2], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dba93697c551d06ce8d37be776116f23f66":[2,1,42,6], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dba93b00759c703fe20d9d8a5a75268a69d":[2,1,42,8], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dba9558ccbf57e24d3ddde9bfbf2835e4fe":[2,1,42,7], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dbaa77c2e49834d223253421d9e3d69c51c":[2,1,42,5], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dbab4f91414920a046da6b20cd63a2796e6":[2,1,42,0], -"constraint__solveri_8h.html#a744e7cc90d56b2c503520ee1f97fc1dbad9de5a1ac157ce63c698777275b17787":[2,1,42,3], -"constraint__solveri_8h.html#a7abde7313cef64d25202a18f07481fc3":[2,1,43], -"constraint__solveri_8h.html#a82110ba1f45aa29ffc933102880dbd82":[2,1,72], -"constraint__solveri_8h.html#a8351829c324863ddda52e201df4f9f84":[2,1,53], -"constraint__solveri_8h.html#a85ea0ef5b46465c3793333ce9821f15f":[2,1,75], -"constraint__solveri_8h.html#a942ba2898a44303790c91e761b8f4630":[2,1,80], -"constraint__solveri_8h.html#aad4e1b406f0e56c83283747b038df88a":[2,1,82], -"constraint__solveri_8h.html#aafac7375c23337f25821aa6f86ca627c":[2,1,67], -"constraint__solveri_8h.html#ab0ae787392a8dd8a499eb55ac0916aa4":[2,1,50], -"constraint__solveri_8h.html#ab62b402f767cda48eb67ef8b50397f8f":[2,1,52], -"constraint__solveri_8h.html#ab89995e46facfc1db291ce75658dd0a5":[2,1,57], -"constraint__solveri_8h.html#abc42d1bcfe023d3ac6f59471b75d853c":[2,1,76], -"constraint__solveri_8h.html#abdca98f14c02e004ab5e19d2c3985667":[2,1,71], -"constraint__solveri_8h.html#ac2ba31780fce352d4bba600e6e8eacad":[2,1,62], -"constraint__solveri_8h.html#acfc54730764156f1fb717e99b71ba5d4":[2,1,58], -"constraint__solveri_8h.html#ad91551404d4eeb115402e25f8ac599b8":[2,1,41], -"constraint__solveri_8h.html#adf2aea6c68fe502389c9264b971b2f85":[2,1,65], -"constraint__solveri_8h.html#ae3e4f71c4c79e0b4ec00c4e715a7c298":[2,1,51], -"constraint__solveri_8h.html#ae4c7a8bfc6877606e512d3279549f44d":[2,1,44], -"constraint__solveri_8h.html#aec42cb0a7c3079eb8f0406914077d633":[2,1,61], -"constraint__solveri_8h_source.html":[2,1], -"files.html":[2], -"globals.html":[3,0], -"globals_defs.html":[3,3], -"globals_func.html":[3,1], -"globals_vars.html":[3,2], "index.html":[], -"pages.html":[], -"routing_8h.html":[2,2], -"routing_8h.html#a3de43a015d4ee3ce53eb030e1d7232de":[2,2,47], -"routing_8h.html#a4e907b3668a07c9fa3f62d938f6cb855":[2,2,46], -"routing_8h.html#a4f6a1b9fc737ba25fee7bf42d6635182":[2,2,39], -"routing_8h.html#a5f6417c3f4078b9fdaafdb8e19116b55":[2,2,48], -"routing_8h.html#a67f4b4b64a6c11717020eaa963b98c51":[2,2,50], -"routing_8h.html#a9c690acb94faaa03d89930ec84a76bba":[2,2,38], -"routing_8h.html#aaa5f7d59af23f5e10fc43a3989fa0b68":[2,2,40], -"routing_8h.html#ab64b4ace42f0744e0814257a9a6ffa16":[2,2,44], -"routing_8h.html#ab70fc1eb89b0210ef0e6d24256f7776a":[2,2,51], -"routing_8h.html#ab7e213b9838f546243a7040d58506cd9":[2,2,41], -"routing_8h.html#ae096121f1559753c357ed8ee184353f8":[2,2,43], -"routing_8h.html#ae3ffb53eac6214b414e926238012a2a0":[2,2,45], -"routing_8h.html#ae9a33af72abb5c2332a1f7ca71ab8215":[2,2,49], -"routing_8h.html#aec575fd72a48b07ceca957691d785d57":[2,2,37], -"routing_8h.html#afbaa470f2ff428bc316d5eac61567955":[2,2,42], -"routing_8h_source.html":[2,2], -"routing__enums_8pb_8h.html":[2,3], -"routing__enums_8pb_8h.html#a00f3e64ec0029f07e62e1c1abfd6071f":[2,3,16], -"routing__enums_8pb_8h.html#a02c2709292cb324dd96c1f7c3cd6bb80":[2,3,24], -"routing__enums_8pb_8h.html#a1929141d8ceae06af6d0c92b3de0e3fe":[2,3,9], -"routing__enums_8pb_8h.html#a2c7b8136ecfa0fe9cf4cd72a7f503e99":[2,3,25], -"routing__enums_8pb_8h.html#a3412913b0ac8a9e00d3a64bcce238da0":[2,3,18], -"routing__enums_8pb_8h.html#a53e650ef5267d5f3db388f6a6b9482a8":[2,3,13], -"routing__enums_8pb_8h.html#a5e179c1aa71c3f208d4dfbd8a27bfdc3":[2,3,21], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aed":[2,3,7], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aeda0783003ef2622becdab73be7bfb66e03":[2,3,7,7], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aeda0d373c31dbec1678db8b9e50ae63327f":[2,3,7,4], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aeda2909a10cd525473780b35aaa3c4f4eda":[2,3,7,3], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aeda300fe37f649b909a810935825778b77c":[2,3,7,6], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aeda63e13a565cf5daf981c1b565912b3b0f":[2,3,7,5], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aeda719d13ec837e44b8b25b0f3315346594":[2,3,7,8], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aeda844fc936bb493f6a5d592b28302ea2f1":[2,3,7,2], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aeda883a6e25cd8984a9e4e06636823f7201":[2,3,7,1], -"routing__enums_8pb_8h.html#a792fc7c1636eff4a9476ea5a24459aedab1177884bf5c3fda2cac819cca8279ec":[2,3,7,0], -"routing__enums_8pb_8h.html#a7c6b8ceb9a6dad94886b3a8fa8d3a136":[2,3,27], -"routing__enums_8pb_8h.html#a88484804c6e66958d00fb3f1b0821b82":[2,3,20], -"routing__enums_8pb_8h.html#a99ad9f9140f36fbb7d0fa70aba00b46b":[2,3,10], -"routing__enums_8pb_8h.html#aa3347cbb67e6b42bf2d99c6e36a43285":[2,3,12], -"routing__enums_8pb_8h.html#aa952bfe0a71c0897a2490f8e29feea1b":[2,3,23], -"routing__enums_8pb_8h.html#ab75b4553844ec6a32a0d881f7f64d879":[2,3,26], -"routing__enums_8pb_8h.html#ab99f705eeba00bba1fbe3cbd06567188":[2,3,5], -"routing__enums_8pb_8h.html#ac10a962b3f273fe713e3ec24f958244d":[2,3,15], -"routing__enums_8pb_8h.html#ac8fb428ce4826abddd79ff391cfc1c51":[2,3,11], -"routing__enums_8pb_8h.html#acd6f3950d95b591a67cdc61be1f8cb40":[2,3,19], -"routing__enums_8pb_8h.html#adb36228f7101310ce5c6464e0afa24ab":[2,3,22], -"routing__enums_8pb_8h.html#aed46fa1bbfbc75c04bd66f5055ddb3c1":[2,3,17], -"routing__enums_8pb_8h.html#aeef02d29a4fbff402021b9ed0509b3d2":[2,3,28], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06d":[2,3,6], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da0c4ad672038428a0f3b3b7f6c92d8840":[2,3,6,8], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da2acc1235ef1e7bec84c9a60b010400b7":[2,3,6,5], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da348e92318608b985248e17102d016cdd":[2,3,6,12], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da451e468bc86902552aa9b987f66f5875":[2,3,6,14], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da4c1d8ec510011789f52267efc7d34bb7":[2,3,6,2], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da6c8e1e7a2859125316fe07082a2da868":[2,3,6,1], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da6d0f4bf298a2b6e6462feb7035d2c5de":[2,3,6,4], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da83fd39655867e51be481faa09fbea164":[2,3,6,6], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da8580f408e6e4af5373e4dd081d59d767":[2,3,6,11], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da8a09bb6c57bf531f6674ea171b011791":[2,3,6,7], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da8cdfd32facff4a66e180fab80f3fb711":[2,3,6,16], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da9a63d38a1eed11971089af926145f83e":[2,3,6,13], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06da9c097f678b4aaaa6b10df89dc4d4802e":[2,3,6,15], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06dabba644bd336acdb33aef7257f5bfa536":[2,3,6,10], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06dad02e019c28342793688466400afd032d":[2,3,6,0], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06dad0735ef20259782cea2046f90c39bda8":[2,3,6,9], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06dae133e7145564aa475a81741a6240e901":[2,3,6,3], -"routing__enums_8pb_8h.html#aef3a296fa4f9d9d745fe62f1aa67a06dae584dc12821c9b7171986c986b6c7462":[2,3,6,17], -"routing__enums_8pb_8h.html#af22e88bc83bbd1823edaec6845651098":[2,3,14], -"routing__enums_8pb_8h.html#af66aea96731c9aec7a79f8f0a8ebdc2c":[2,3,8], -"routing__enums_8pb_8h_source.html":[2,3], -"routing__flags_8h.html":[2,4], -"routing__flags_8h.html#a020dd19890638972a02c79b788d707df":[2,4,6], -"routing__flags_8h.html#a09baada5e27307e4b579af9ea6778f7a":[2,4,4], -"routing__flags_8h.html#a0b5b747647513d9d068be3c862d32dc5":[2,4,34], -"routing__flags_8h.html#a0fa7d21980527aa0ea3b3fc702963531":[2,4,27], -"routing__flags_8h.html#a10d847949a4fec4762cc4fd87a3d13af":[2,4,8], -"routing__flags_8h.html#a125960ed8e8ff7f4e09598527124c8fb":[2,4,13], -"routing__flags_8h.html#a1eab49dc667e9f72cbca34dcd328d776":[2,4,16], -"routing__flags_8h.html#a2ad659c8e2231e2ae9850d5e80fe90b2":[2,4,37], -"routing__flags_8h.html#a3416505b31156eb123c7fe044ca301ff":[2,4,2], -"routing__flags_8h.html#a37169d7a229a662b3c06bedfd64995a2":[2,4,7], -"routing__flags_8h.html#a3dc6962972228d5ce6067b9088138ee2":[2,4,10], -"routing__flags_8h.html#a48e5ee1a077cd7f29bea07c2d51b68b5":[2,4,11], -"routing__flags_8h.html#a4e72d42c139a639cac1ffe4e7f845769":[2,4,18], -"routing__flags_8h.html#a4eff6a6609b6eb3a70415c252345d81f":[2,4,35], -"routing__flags_8h.html#a540512ada588875d8b65808a57e04098":[2,4,38], -"routing__flags_8h.html#a59d83a01bb9322b8dc72615050476ae9":[2,4,9], -"routing__flags_8h.html#a5a7014ba820155fca2b46772cc653f69":[2,4,3], -"routing__flags_8h.html#a66d0ece2c9b49c9415107a5794667792":[2,4,21], -"routing__flags_8h.html#a73e88a9f0cb6cf64ca0c7a12db9a221d":[2,4,20], -"routing__flags_8h.html#a74c267c61bc622a290d4d4932f881234":[2,4,24], -"routing__flags_8h.html#a774858237612cc1d61ae3a812481e127":[2,4,29], -"routing__flags_8h.html#a78ea457187d5b3602a0211e0149d45c9":[2,4,25], -"routing__flags_8h.html#a7bd2608be63ffd780a7733c092306372":[2,4,15], -"routing__flags_8h.html#a871df133398c8959b3cb60352ce00a2f":[2,4,26], -"routing__flags_8h.html#a95da1d3a46432afd40024f79279a48b2":[2,4,1], -"routing__flags_8h.html#a96cdf25d3bc98c8eae24e3a761f5ef35":[2,4,43], -"routing__flags_8h.html#a9f81449a13758249d4247ec0ddce5a9a":[2,4,31], -"routing__flags_8h.html#aa8ee0757a04bdad93b86bccd0d032a5d":[2,4,41], -"routing__flags_8h.html#aaf96533028f0c52c8148b551c7802009":[2,4,32], -"routing__flags_8h.html#aba27d4acb939d01dd3557a89defdfa89":[2,4,12], -"routing__flags_8h.html#ac06171f360022662600e125df663cd70":[2,4,28], -"routing__flags_8h.html#ac088c88799f5e70878fc77861dead99c":[2,4,40], -"routing__flags_8h.html#ac7f6724dfc2c9e12e3a2e3fabde77d37":[2,4,42], -"routing__flags_8h.html#ac8cbfccb3e8d62cd3deafb1706db620c":[2,4,5], -"routing__flags_8h.html#acaf0064d0a157ab57f0dd76c86a77b2b":[2,4,33], -"routing__flags_8h.html#acdb6d5ff34d3d970c44885a8ca07869b":[2,4,19], -"routing__flags_8h.html#ae28598119cf24ae8bfc651ba7cc86ce4":[2,4,17], -"routing__flags_8h.html#ae39a6c4d8ba890ec5150ea91a7aad643":[2,4,0], -"routing__flags_8h.html#ae44df5aa6332b25ae31c96216e45522b":[2,4,30], -"routing__flags_8h.html#aeb38a57037b1e9132c03733dbba265d8":[2,4,22], -"routing__flags_8h.html#aeb59d6e13f3c429dd380178498417a50":[2,4,14], -"routing__flags_8h.html#af03d19fcf75b266ff9c2f3bc4299954b":[2,4,44], -"routing__flags_8h.html#af1cb364c9972cbe0fead215790f168b8":[2,4,39], -"routing__flags_8h.html#af57b78879b9fa3639845edfb3208c974":[2,4,36], -"routing__flags_8h.html#af7817771f35d51878aabad8b82218fef":[2,4,23], -"routing__flags_8h_source.html":[2,4], -"routing__index__manager_8h.html":[2,5], -"routing__index__manager_8h_source.html":[2,5], -"routing__lp__scheduling_8h.html":[2,6], -"routing__lp__scheduling_8h_source.html":[2,6], -"routing__neighborhoods_8h.html":[2,7], -"routing__neighborhoods_8h_source.html":[2,7], -"routing__parameters_8h.html":[2,8], -"routing__parameters_8h.html#aa388c8707db255ae7742c04046bdd613":[2,8,0], -"routing__parameters_8h.html#adcac4a11f1e4d36ceb47f7251461487d":[2,8,1], -"routing__parameters_8h.html#ae2e060e8ee4ea901dc4df260b3385eac":[2,8,2], -"routing__parameters_8h_source.html":[2,8], -"routing__parameters_8pb_8h.html":[2,9], -"routing__parameters_8pb_8h.html#a08fb716a4f5f875f265060f453fa01b1":[2,9,11], -"routing__parameters_8pb_8h.html#a319e5c4759de7382dd6a60271d8e3ce6":[2,9,6], -"routing__parameters_8pb_8h.html#a41c79b954c0fc1878adefd2371557f31":[2,9,4], -"routing__parameters_8pb_8h.html#a595bafdd2ca0348c23f2c03da8ef2468":[2,9,10], -"routing__parameters_8pb_8h.html#a601e1a7c230fbf44503db528b20e30ca":[2,9,9], -"routing__parameters_8pb_8h.html#aa5dcf33a4b44e601fc33617b5fe05a38":[2,9,7], -"routing__parameters_8pb_8h.html#aafec97bd10b50fab49307a19965084ca":[2,9,5], -"routing__parameters_8pb_8h.html#ae3a853384e4e580582b670a57018029d":[2,9,8], -"routing__parameters_8pb_8h_source.html":[2,9], -"routing__types_8h.html":[2,10], -"routing__types_8h.html#a114ea14886b902c9cf9b988c4ef12672":[2,10,1], -"routing__types_8h.html#a1edd1d7c020633019991b13d14b4b15b":[2,10,7], -"routing__types_8h.html#a30af988d402f0f3d36640575ca87153c":[2,10,0], -"routing__types_8h.html#a3d98b6fb94b9cdabfaca3d9f3c9632e9":[2,10,6], -"routing__types_8h.html#a40e66c7b62d7c023af6f08912fdc3f9c":[2,10,2], -"routing__types_8h.html#a8fee47a5359613bc7f8df356595c7ff0":[2,10,4], -"routing__types_8h.html#ae7851f8d6518e3180b9d9f0ec69826e7":[2,10,3], -"routing__types_8h.html#afa9196adb7aa76d8e60cd4c0c6687c0d":[2,10,5], -"routing__types_8h.html#aff19b78b3d56ff95c23727ca4ff64ea7":[2,10,8], -"routing__types_8h_source.html":[2,10] +"pages.html":[] }; diff --git a/docs/cpp_routing/routing_8h.html b/docs/cpp_routing/routing_8h.html index bec74d628d..bc8b64e3a8 100644 --- a/docs/cpp_routing/routing_8h.html +++ b/docs/cpp_routing/routing_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -57,31 +52,7 @@ $(document).ready(function(){initNavTree('routing_8h.html','');});
    routing.h File Reference
    -
    #include <cstddef>
    -#include <functional>
    -#include <memory>
    -#include <queue>
    -#include <string>
    -#include <utility>
    -#include <vector>
    -#include "absl/container/flat_hash_map.h"
    -#include "absl/container/flat_hash_set.h"
    -#include "absl/hash/hash.h"
    -#include "absl/time/time.h"
    -#include "ortools/base/adjustable_priority_queue-inl.h"
    -#include "ortools/base/commandlineflags.h"
    -#include "ortools/base/hash.h"
    -#include "ortools/base/int_type_indexed_vector.h"
    -#include "ortools/constraint_solver/constraint_solver.h"
    -#include "ortools/constraint_solver/constraint_solveri.h"
    -#include "ortools/constraint_solver/routing_index_manager.h"
    -#include "ortools/constraint_solver/routing_parameters.pb.h"
    -#include "ortools/constraint_solver/routing_types.h"
    -#include "ortools/glop/lp_solver.h"
    -#include "ortools/graph/graph.h"
    -#include "ortools/sat/theta_tree.h"
    -#include "ortools/util/range_query_function.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing_8h_source.html b/docs/cpp_routing/routing_8h_source.html index 3e2c0ec685..f1c321ebf9 100644 --- a/docs/cpp_routing/routing_8h_source.html +++ b/docs/cpp_routing/routing_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/routing__enums_8pb_8h.html b/docs/cpp_routing/routing__enums_8pb_8h.html index e5f8e111c4..c14d454cab 100644 --- a/docs/cpp_routing/routing__enums_8pb_8h.html +++ b/docs/cpp_routing/routing__enums_8pb_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -60,24 +55,7 @@ $(document).ready(function(){initNavTree('routing__enums_8pb_8h.html','');});
    routing_enums.pb.h File Reference
    -
    #include <limits>
    -#include <string>
    -#include <google/protobuf/port_def.inc>
    -#include <google/protobuf/port_undef.inc>
    -#include <google/protobuf/io/coded_stream.h>
    -#include <google/protobuf/arena.h>
    -#include <google/protobuf/arenastring.h>
    -#include <google/protobuf/generated_message_table_driven.h>
    -#include <google/protobuf/generated_message_util.h>
    -#include <google/protobuf/inlined_string_field.h>
    -#include <google/protobuf/metadata.h>
    -#include <google/protobuf/generated_message_reflection.h>
    -#include <google/protobuf/message.h>
    -#include <google/protobuf/repeated_field.h>
    -#include <google/protobuf/extension_set.h>
    -#include <google/protobuf/generated_enum_reflection.h>
    -#include <google/protobuf/unknown_field_set.h>
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing__enums_8pb_8h_source.html b/docs/cpp_routing/routing__enums_8pb_8h_source.html index 4e1fcbdb89..dc96ed67d4 100644 --- a/docs/cpp_routing/routing__enums_8pb_8h_source.html +++ b/docs/cpp_routing/routing__enums_8pb_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/routing__flags_8h.html b/docs/cpp_routing/routing__flags_8h.html index 162b062eda..2c468d77ee 100644 --- a/docs/cpp_routing/routing__flags_8h.html +++ b/docs/cpp_routing/routing__flags_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -56,10 +51,7 @@ $(document).ready(function(){initNavTree('routing__flags_8h.html','');});
    routing_flags.h File Reference
    -
    #include <vector>
    -#include "ortools/base/commandlineflags.h"
    -#include "ortools/constraint_solver/routing_parameters.pb.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing__flags_8h_source.html b/docs/cpp_routing/routing__flags_8h_source.html index b4019faeea..bf82d0a4f2 100644 --- a/docs/cpp_routing/routing__flags_8h_source.html +++ b/docs/cpp_routing/routing__flags_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/routing__index__manager_8h.html b/docs/cpp_routing/routing__index__manager_8h.html index 4aa7ec51d4..feb2208fa4 100644 --- a/docs/cpp_routing/routing__index__manager_8h.html +++ b/docs/cpp_routing/routing__index__manager_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -56,12 +51,7 @@ $(document).ready(function(){initNavTree('routing__index__manager_8h.html','');}
    routing_index_manager.h File Reference
    -
    #include <tuple>
    -#include <vector>
    -#include "ortools/base/int_type_indexed_vector.h"
    -#include "ortools/base/logging.h"
    -#include "ortools/constraint_solver/routing_types.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing__index__manager_8h_source.html b/docs/cpp_routing/routing__index__manager_8h_source.html index 259cc9bff7..f0af447bf3 100644 --- a/docs/cpp_routing/routing__index__manager_8h_source.html +++ b/docs/cpp_routing/routing__index__manager_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/routing__lp__scheduling_8h.html b/docs/cpp_routing/routing__lp__scheduling_8h.html index 4fcb5f8fc5..fa4bac60e8 100644 --- a/docs/cpp_routing/routing__lp__scheduling_8h.html +++ b/docs/cpp_routing/routing__lp__scheduling_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -56,9 +51,7 @@ $(document).ready(function(){initNavTree('routing__lp__scheduling_8h.html','');}
    routing_lp_scheduling.h File Reference
    -
    #include "ortools/constraint_solver/routing.h"
    -#include "ortools/glop/lp_solver.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing__lp__scheduling_8h_source.html b/docs/cpp_routing/routing__lp__scheduling_8h_source.html index 389ef82041..de3664416b 100644 --- a/docs/cpp_routing/routing__lp__scheduling_8h_source.html +++ b/docs/cpp_routing/routing__lp__scheduling_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/routing__neighborhoods_8h.html b/docs/cpp_routing/routing__neighborhoods_8h.html index bf0686066f..266351f135 100644 --- a/docs/cpp_routing/routing__neighborhoods_8h.html +++ b/docs/cpp_routing/routing__neighborhoods_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -56,10 +51,7 @@ $(document).ready(function(){initNavTree('routing__neighborhoods_8h.html','');})
    routing_neighborhoods.h File Reference
    - +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing__neighborhoods_8h_source.html b/docs/cpp_routing/routing__neighborhoods_8h_source.html index 91541e2a11..bb636a1ce0 100644 --- a/docs/cpp_routing/routing__neighborhoods_8h_source.html +++ b/docs/cpp_routing/routing__neighborhoods_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/routing__parameters_8h.html b/docs/cpp_routing/routing__parameters_8h.html index d8df3f2f6d..fdc437183e 100644 --- a/docs/cpp_routing/routing__parameters_8h.html +++ b/docs/cpp_routing/routing__parameters_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -56,9 +51,7 @@ $(document).ready(function(){initNavTree('routing__parameters_8h.html','');});
    routing_parameters.h File Reference
    - +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing__parameters_8h_source.html b/docs/cpp_routing/routing__parameters_8h_source.html index 55e05bb2f3..6e2c170d8f 100644 --- a/docs/cpp_routing/routing__parameters_8h_source.html +++ b/docs/cpp_routing/routing__parameters_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/routing__parameters_8pb_8h.html b/docs/cpp_routing/routing__parameters_8pb_8h.html index 41cb5938bb..9568bd53ae 100644 --- a/docs/cpp_routing/routing__parameters_8pb_8h.html +++ b/docs/cpp_routing/routing__parameters_8pb_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -59,27 +54,7 @@ $(document).ready(function(){initNavTree('routing__parameters_8pb_8h.html','');}
    routing_parameters.pb.h File Reference
    -
    #include <limits>
    -#include <string>
    -#include <google/protobuf/port_def.inc>
    -#include <google/protobuf/port_undef.inc>
    -#include <google/protobuf/io/coded_stream.h>
    -#include <google/protobuf/arena.h>
    -#include <google/protobuf/arenastring.h>
    -#include <google/protobuf/generated_message_table_driven.h>
    -#include <google/protobuf/generated_message_util.h>
    -#include <google/protobuf/inlined_string_field.h>
    -#include <google/protobuf/metadata.h>
    -#include <google/protobuf/generated_message_reflection.h>
    -#include <google/protobuf/message.h>
    -#include <google/protobuf/repeated_field.h>
    -#include <google/protobuf/extension_set.h>
    -#include <google/protobuf/unknown_field_set.h>
    -#include <google/protobuf/duration.pb.h>
    -#include "ortools/constraint_solver/routing_enums.pb.h"
    -#include "ortools/constraint_solver/solver_parameters.pb.h"
    -#include "ortools/util/optional_boolean.pb.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing__parameters_8pb_8h_source.html b/docs/cpp_routing/routing__parameters_8pb_8h_source.html index 2fbc481afd..4206ef0c6c 100644 --- a/docs/cpp_routing/routing__parameters_8pb_8h_source.html +++ b/docs/cpp_routing/routing__parameters_8pb_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/routing__types_8h.html b/docs/cpp_routing/routing__types_8h.html index aa35d23585..246ba5c36f 100644 --- a/docs/cpp_routing/routing__types_8h.html +++ b/docs/cpp_routing/routing__types_8h.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - @@ -57,12 +52,7 @@ $(document).ready(function(){initNavTree('routing__types_8h.html','');});
    routing_types.h File Reference
    -
    #include <functional>
    -#include <utility>
    -#include <vector>
    -#include "ortools/base/int_type.h"
    -#include "ortools/base/integral_types.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_routing/routing__types_8h_source.html b/docs/cpp_routing/routing__types_8h_source.html index 700d3f292d..0585b7729e 100644 --- a/docs/cpp_routing/routing__types_8h_source.html +++ b/docs/cpp_routing/routing__types_8h_source.html @@ -23,12 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fenums__2eproto-members.html b/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fenums__2eproto-members.html index a05a8146e7..d5c1c37c56 100644 --- a/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fenums__2eproto-members.html +++ b/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fenums__2eproto-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fenums__2eproto.html b/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fenums__2eproto.html index 1c1e500870..6fcba48fc6 100644 --- a/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fenums__2eproto.html +++ b/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fenums__2eproto.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fparameters__2eproto-members.html b/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fparameters__2eproto-members.html index 542fb9be27..9f280bca1d 100644 --- a/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fparameters__2eproto-members.html +++ b/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fparameters__2eproto-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fparameters__2eproto.html b/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fparameters__2eproto.html index 49217424a2..a27627c50f 100644 --- a/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fparameters__2eproto.html +++ b/docs/cpp_routing/structTableStruct__ortools__2fconstraint__5fsolver__2frouting__5fparameters__2eproto.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structis__proto__enum_3_01_1_1operations__research_1_1FirstSolutionStrategy__Value_01_4.html b/docs/cpp_routing/structis__proto__enum_3_01_1_1operations__research_1_1FirstSolutionStrategy__Value_01_4.html index cb988c5a11..31e90ae482 100644 --- a/docs/cpp_routing/structis__proto__enum_3_01_1_1operations__research_1_1FirstSolutionStrategy__Value_01_4.html +++ b/docs/cpp_routing/structis__proto__enum_3_01_1_1operations__research_1_1FirstSolutionStrategy__Value_01_4.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structis__proto__enum_3_01_1_1operations__research_1_1LocalSearchMetaheuristic__Value_01_4.html b/docs/cpp_routing/structis__proto__enum_3_01_1_1operations__research_1_1LocalSearchMetaheuristic__Value_01_4.html index 139ad7e865..1e86b52e6f 100644 --- a/docs/cpp_routing/structis__proto__enum_3_01_1_1operations__research_1_1LocalSearchMetaheuristic__Value_01_4.html +++ b/docs/cpp_routing/structis__proto__enum_3_01_1_1operations__research_1_1LocalSearchMetaheuristic__Value_01_4.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue-members.html b/docs/cpp_routing/structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue-members.html index 44cf34fd69..d72558ec17 100644 --- a/docs/cpp_routing/structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue-members.html +++ b/docs/cpp_routing/structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue.html b/docs/cpp_routing/structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue.html index 6a3359cd10..c32748e273 100644 --- a/docs/cpp_routing/structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue.html +++ b/docs/cpp_routing/structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1DefaultPhaseParameters-members.html b/docs/cpp_routing/structoperations__research_1_1DefaultPhaseParameters-members.html index 29ff71da52..69099a047f 100644 --- a/docs/cpp_routing/structoperations__research_1_1DefaultPhaseParameters-members.html +++ b/docs/cpp_routing/structoperations__research_1_1DefaultPhaseParameters-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1DefaultPhaseParameters.html b/docs/cpp_routing/structoperations__research_1_1DefaultPhaseParameters.html index eddfecbcdc..b21fab91d9 100644 --- a/docs/cpp_routing/structoperations__research_1_1DefaultPhaseParameters.html +++ b/docs/cpp_routing/structoperations__research_1_1DefaultPhaseParameters.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1DisjunctivePropagator_1_1Tasks-members.html b/docs/cpp_routing/structoperations__research_1_1DisjunctivePropagator_1_1Tasks-members.html index 3905cccb6d..081b7cec60 100644 --- a/docs/cpp_routing/structoperations__research_1_1DisjunctivePropagator_1_1Tasks-members.html +++ b/docs/cpp_routing/structoperations__research_1_1DisjunctivePropagator_1_1Tasks-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1DisjunctivePropagator_1_1Tasks.html b/docs/cpp_routing/structoperations__research_1_1DisjunctivePropagator_1_1Tasks.html index 55ad679727..c8656a2d1f 100644 --- a/docs/cpp_routing/structoperations__research_1_1DisjunctivePropagator_1_1Tasks.html +++ b/docs/cpp_routing/structoperations__research_1_1DisjunctivePropagator_1_1Tasks.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1InitAndGetValues_1_1Iterator-members.html b/docs/cpp_routing/structoperations__research_1_1InitAndGetValues_1_1Iterator-members.html index 9a800be72c..6465ff527a 100644 --- a/docs/cpp_routing/structoperations__research_1_1InitAndGetValues_1_1Iterator-members.html +++ b/docs/cpp_routing/structoperations__research_1_1InitAndGetValues_1_1Iterator-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1InitAndGetValues_1_1Iterator.html b/docs/cpp_routing/structoperations__research_1_1InitAndGetValues_1_1Iterator.html index 88f2fe696b..57429f7c78 100644 --- a/docs/cpp_routing/structoperations__research_1_1InitAndGetValues_1_1Iterator.html +++ b/docs/cpp_routing/structoperations__research_1_1InitAndGetValues_1_1Iterator.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingDimension_1_1NodePrecedence-members.html b/docs/cpp_routing/structoperations__research_1_1RoutingDimension_1_1NodePrecedence-members.html index 625e51e0d4..1db8cfe90c 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingDimension_1_1NodePrecedence-members.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingDimension_1_1NodePrecedence-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html b/docs/cpp_routing/structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html index ca392eed4a..9e76c4d8f6 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass-members.html b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass-members.html index 95b7aee152..414f1398d0 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass-members.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass.html b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass.html index 74fe52d73a..7f36d5c4ed 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost-members.html b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost-members.html index 34e4880d8f..f252b26da2 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost-members.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost.html b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost.html index 9a5e6a36ec..797813b60d 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1StateDependentTransit-members.html b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1StateDependentTransit-members.html index d1c68dcc26..c2f37885ba 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1StateDependentTransit-members.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1StateDependentTransit-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1StateDependentTransit.html b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1StateDependentTransit.html index b80f68f7bf..efde464b61 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1StateDependentTransit.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1StateDependentTransit.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1VehicleClass-members.html b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1VehicleClass-members.html index a38eaa1795..4688dbfd31 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1VehicleClass-members.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1VehicleClass-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1VehicleClass.html b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1VehicleClass.html index 47b2091054..bd8e26faf0 100644 --- a/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1VehicleClass.html +++ b/docs/cpp_routing/structoperations__research_1_1RoutingModel_1_1VehicleClass.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters-members.html b/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters-members.html index 9c7c50e79d..dc10e2e2f2 100644 --- a/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters-members.html +++ b/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html b/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html index 72dadb1422..b493c89e16 100644 --- a/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html +++ b/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry-members.html b/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry-members.html index 05044e900a..cf34721306 100644 --- a/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry-members.html +++ b/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry.html b/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry.html index 9191c0f807..06b4e0de83 100644 --- a/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry.html +++ b/docs/cpp_routing/structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1SimpleBoundCosts_1_1BoundCost-members.html b/docs/cpp_routing/structoperations__research_1_1SimpleBoundCosts_1_1BoundCost-members.html index e86e321dbe..ca206d5ea2 100644 --- a/docs/cpp_routing/structoperations__research_1_1SimpleBoundCosts_1_1BoundCost-members.html +++ b/docs/cpp_routing/structoperations__research_1_1SimpleBoundCosts_1_1BoundCost-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html b/docs/cpp_routing/structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html index 8aadfc99d9..ccca4dab2f 100644 --- a/docs/cpp_routing/structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html +++ b/docs/cpp_routing/structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1SolutionCollector_1_1SolutionData-members.html b/docs/cpp_routing/structoperations__research_1_1SolutionCollector_1_1SolutionData-members.html index 39cf1764ec..52b35004c7 100644 --- a/docs/cpp_routing/structoperations__research_1_1SolutionCollector_1_1SolutionData-members.html +++ b/docs/cpp_routing/structoperations__research_1_1SolutionCollector_1_1SolutionData-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1SolutionCollector_1_1SolutionData.html b/docs/cpp_routing/structoperations__research_1_1SolutionCollector_1_1SolutionData.html index f12c08deb0..03bbcd7ea6 100644 --- a/docs/cpp_routing/structoperations__research_1_1SolutionCollector_1_1SolutionData.html +++ b/docs/cpp_routing/structoperations__research_1_1SolutionCollector_1_1SolutionData.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1Solver_1_1IntegerCastInfo-members.html b/docs/cpp_routing/structoperations__research_1_1Solver_1_1IntegerCastInfo-members.html index 92fbdbaad2..83f2f53913 100644 --- a/docs/cpp_routing/structoperations__research_1_1Solver_1_1IntegerCastInfo-members.html +++ b/docs/cpp_routing/structoperations__research_1_1Solver_1_1IntegerCastInfo-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1Solver_1_1IntegerCastInfo.html b/docs/cpp_routing/structoperations__research_1_1Solver_1_1IntegerCastInfo.html index 93ff5eb12a..388bf4802c 100644 --- a/docs/cpp_routing/structoperations__research_1_1Solver_1_1IntegerCastInfo.html +++ b/docs/cpp_routing/structoperations__research_1_1Solver_1_1IntegerCastInfo.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1Solver_1_1SearchLogParameters-members.html b/docs/cpp_routing/structoperations__research_1_1Solver_1_1SearchLogParameters-members.html index 0c2022a9b5..07efe6cd32 100644 --- a/docs/cpp_routing/structoperations__research_1_1Solver_1_1SearchLogParameters-members.html +++ b/docs/cpp_routing/structoperations__research_1_1Solver_1_1SearchLogParameters-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1Solver_1_1SearchLogParameters.html b/docs/cpp_routing/structoperations__research_1_1Solver_1_1SearchLogParameters.html index bdfce4e21d..c8f96cac98 100644 --- a/docs/cpp_routing/structoperations__research_1_1Solver_1_1SearchLogParameters.html +++ b/docs/cpp_routing/structoperations__research_1_1Solver_1_1SearchLogParameters.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount-members.html b/docs/cpp_routing/structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount-members.html index 84fc012c85..4181443a27 100644 --- a/docs/cpp_routing/structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount-members.html +++ b/docs/cpp_routing/structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount-members.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_routing/structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount.html b/docs/cpp_routing/structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount.html index a74537434e..d19bf437e1 100644 --- a/docs/cpp_routing/structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount.html +++ b/docs/cpp_routing/structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount.html @@ -23,6 +23,7 @@
  • Main Page
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/annotated.html b/docs/cpp_sat/annotated.html index a6d39ca449..c537293d1b 100644 --- a/docs/cpp_sat/annotated.html +++ b/docs/cpp_sat/annotated.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classes.html b/docs/cpp_sat/classes.html index f88c5fe61c..e91433dc0d 100644 --- a/docs/cpp_sat/classes.html +++ b/docs/cpp_sat/classes.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1Domain-members.html b/docs/cpp_sat/classoperations__research_1_1Domain-members.html index 22a1e4712d..abdc421ea9 100644 --- a/docs/cpp_sat/classoperations__research_1_1Domain-members.html +++ b/docs/cpp_sat/classoperations__research_1_1Domain-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1Domain.html b/docs/cpp_sat/classoperations__research_1_1Domain.html index f3fea5dc82..24c60c050a 100644 --- a/docs/cpp_sat/classoperations__research_1_1Domain.html +++ b/docs/cpp_sat/classoperations__research_1_1Domain.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1SortedDisjointIntervalList-members.html b/docs/cpp_sat/classoperations__research_1_1SortedDisjointIntervalList-members.html index 150d5a39ec..bb987216ea 100644 --- a/docs/cpp_sat/classoperations__research_1_1SortedDisjointIntervalList-members.html +++ b/docs/cpp_sat/classoperations__research_1_1SortedDisjointIntervalList-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1SortedDisjointIntervalList.html b/docs/cpp_sat/classoperations__research_1_1SortedDisjointIntervalList.html index bce9c44689..c237577e3d 100644 --- a/docs/cpp_sat/classoperations__research_1_1SortedDisjointIntervalList.html +++ b/docs/cpp_sat/classoperations__research_1_1SortedDisjointIntervalList.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1AllDifferentConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1AllDifferentConstraintProto-members.html index 61688b9839..dda88ed374 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1AllDifferentConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1AllDifferentConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1AllDifferentConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1AllDifferentConstraintProto.html index 8bc631b7cb..86c4b80b65 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1AllDifferentConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1AllDifferentConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraint-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraint-members.html index f9505ee43a..ab1fef60de 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraint-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraint-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraint.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraint.html index a71acbc3a5..0b30498704 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraint.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraint.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraintProto-members.html index 32dca075b1..83a5fbd455 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraintProto.html index 3b87fcb3b4..51d1ce9f9e 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1AutomatonConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolArgumentProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolArgumentProto-members.html index 9c056d98b3..b2c19742a4 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolArgumentProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolArgumentProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolArgumentProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolArgumentProto.html index 6ae76484d9..961a3e1f72 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolArgumentProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolArgumentProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolVar-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolVar-members.html index 8dc765ab66..78af3709fc 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolVar-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolVar-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolVar.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolVar.html index 83ff434f6e..57525cd9fa 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolVar.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1BoolVar.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraint-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraint-members.html index 4ad55ebee1..72b152b84e 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraint-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraint-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraint.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraint.html index e6d60bb9f0..ecded713a4 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraint.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraint.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraintProto-members.html index d8fbb3042b..86fa57bcfe 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraintProto.html index a72c76d0eb..65e5bfee3a 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitCoveringConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitCoveringConstraintProto-members.html index 2ddacede27..ef16934a08 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitCoveringConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitCoveringConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitCoveringConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitCoveringConstraintProto.html index 9531953183..cff18f6ded 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitCoveringConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CircuitCoveringConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1Constraint-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1Constraint-members.html index d3f4bcba23..99b9360ac4 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1Constraint-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1Constraint-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1Constraint.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1Constraint.html index c45b30a18d..a054742dd1 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1Constraint.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1Constraint.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1ConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1ConstraintProto-members.html index 64b129342f..c24b1201c8 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1ConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1ConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1ConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1ConstraintProto.html index b98de0341b..f1a7ec99b3 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1ConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1ConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelBuilder-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelBuilder-members.html index f7401f6a1f..c890507f6b 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelBuilder-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelBuilder-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelBuilder.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelBuilder.html index 2d3f499a25..d086384688 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelBuilder.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelBuilder.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelProto-members.html index cdf81db6d4..aa29468863 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelProto.html index f59732b962..6291975c93 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpModelProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpObjectiveProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpObjectiveProto-members.html index 648e26f4aa..d313488bea 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpObjectiveProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpObjectiveProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpObjectiveProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpObjectiveProto.html index 09b1c02f17..d87c02fca3 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpObjectiveProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpObjectiveProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpSolverResponse-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpSolverResponse-members.html index 33a28d6d33..6434de4428 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpSolverResponse-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpSolverResponse-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpSolverResponse.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpSolverResponse.html index 75d7b2cee5..047c732379 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CpSolverResponse.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CpSolverResponse.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraint-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraint-members.html index 6983b0cec6..954d49ed12 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraint-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraint-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraint.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraint.html index 17c809b43f..89470e2157 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraint.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraint.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraintProto-members.html index ec656cddce..d37c44a1e8 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraintProto.html index 3f8d4dc54c..5c0fe894b6 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1CumulativeConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto-members.html index c694499632..de95e25275 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto.html index 3a53ef0ec4..50c5789434 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto__AffineTransformation-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto__AffineTransformation-members.html index 8e1ea4672e..55455386c7 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto__AffineTransformation-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto__AffineTransformation-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto__AffineTransformation.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto__AffineTransformation.html index 0b6051fe48..ddf318e4d5 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto__AffineTransformation.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1DecisionStrategyProto__AffineTransformation.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1ElementConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1ElementConstraintProto-members.html index 6652a4a0f3..eb7ef877a2 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1ElementConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1ElementConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1ElementConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1ElementConstraintProto.html index 0afc596b1c..30ce45e17d 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1ElementConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1ElementConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntVar-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntVar-members.html index cd5b9f6289..0ebd25ad5c 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntVar-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntVar-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntVar.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntVar.html index 5e5670cf56..8657ab3d49 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntVar.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntVar.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerArgumentProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerArgumentProto-members.html index f1e168eef3..fb0855808b 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerArgumentProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerArgumentProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerArgumentProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerArgumentProto.html index 1c3ef5c7e9..595e23b0e6 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerArgumentProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerArgumentProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerVariableProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerVariableProto-members.html index c5a0fab0e8..e6ee260daa 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerVariableProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerVariableProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerVariableProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerVariableProto.html index 9f45cfc6b5..46c98fdf94 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerVariableProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntegerVariableProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalConstraintProto-members.html index f9a7683fa6..31368337b2 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalConstraintProto.html index cae79ec885..77f288e2e6 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalVar-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalVar-members.html index 29e770ddc6..4ea4d04eac 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalVar-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalVar-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalVar.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalVar.html index 83b266df8e..244048741a 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalVar.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1IntervalVar.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1InverseConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1InverseConstraintProto-members.html index c0cda6550b..349bbab0db 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1InverseConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1InverseConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1InverseConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1InverseConstraintProto.html index 055bf6e98f..931e858785 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1InverseConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1InverseConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearConstraintProto-members.html index ca984b6d21..7e7c110029 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearConstraintProto.html index a27ac170ee..3725e32f77 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearExpr-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearExpr-members.html index 3ea0903113..ee44a51033 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearExpr-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearExpr-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearExpr.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearExpr.html index b5373e49a8..e63ecf7cf9 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearExpr.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1LinearExpr.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1Model-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1Model-members.html index 56b45a6bf8..638deff435 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1Model-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1Model-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1Model.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1Model.html index 68f07c02ed..9d51d50f0b 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1Model.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1Model.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraint-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraint-members.html index 41542a8828..36f0dbc5e5 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraint-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraint-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraint.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraint.html index ad03b6ba41..d501836743 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraint.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraint.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraintProto-members.html index 44ab206a43..e78a6edde3 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraintProto.html index 859e502e87..b9b2705719 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlap2DConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlapConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlapConstraintProto-members.html index bbf0eff219..7816bb93b4 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlapConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlapConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlapConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlapConstraintProto.html index 77ee8635df..dd8199f36c 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlapConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1NoOverlapConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1PartialVariableAssignment-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1PartialVariableAssignment-members.html index 07c344ab58..887a779253 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1PartialVariableAssignment-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1PartialVariableAssignment-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1PartialVariableAssignment.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1PartialVariableAssignment.html index b82aa13bb3..57fcc60caa 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1PartialVariableAssignment.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1PartialVariableAssignment.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraint-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraint-members.html index 958b20b5fa..4e46ca30b7 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraint-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraint-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraint.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraint.html index a0c454767b..5628176e2b 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraint.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraint.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraintProto-members.html index f274a892ee..c15d9efff6 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraintProto.html index bb472f36c2..ad06e46fc1 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1ReservoirConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1RoutesConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1RoutesConstraintProto-members.html index 1c33ab2046..de6a52e056 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1RoutesConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1RoutesConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1RoutesConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1RoutesConstraintProto.html index 5c845627ed..091b54710c 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1RoutesConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1RoutesConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1SatParameters-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1SatParameters-members.html index 8b25abc7d3..604c50c780 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1SatParameters-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1SatParameters-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1SatParameters.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1SatParameters.html index 7904f64f8b..7019a03883 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1SatParameters.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1SatParameters.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraint-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraint-members.html index 62473545c5..1fcf2e4ad8 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraint-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraint-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraint.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraint.html index 73cb4e886e..c0e69824ce 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraint.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraint.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraintProto-members.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraintProto-members.html index ea5f391ade..68bed8b95c 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraintProto-members.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraintProto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraintProto.html b/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraintProto.html index 1f433654b2..96edc2e827 100644 --- a/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraintProto.html +++ b/docs/cpp_sat/classoperations__research_1_1sat_1_1TableConstraintProto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/cp__model_8h.html b/docs/cpp_sat/cp__model_8h.html index 06c2ee7963..62a73a53b7 100644 --- a/docs/cpp_sat/cp__model_8h.html +++ b/docs/cpp_sat/cp__model_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -58,16 +53,7 @@ $(document).ready(function(){initNavTree('cp__model_8h.html','');});
    cp_model.h File Reference
    -
    #include <string>
    -#include "absl/container/flat_hash_map.h"
    -#include "absl/types/span.h"
    -#include "ortools/sat/cp_model.pb.h"
    -#include "ortools/sat/cp_model_solver.h"
    -#include "ortools/sat/cp_model_utils.h"
    -#include "ortools/sat/model.h"
    -#include "ortools/sat/sat_parameters.pb.h"
    -#include "ortools/util/sorted_interval_list.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_sat/cp__model_8h_source.html b/docs/cpp_sat/cp__model_8h_source.html index bb3cbe1887..25a923aee6 100644 --- a/docs/cpp_sat/cp__model_8h_source.html +++ b/docs/cpp_sat/cp__model_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/cp__model_8pb_8h.html b/docs/cpp_sat/cp__model_8pb_8h.html index a728ee568e..dc796f8f7e 100644 --- a/docs/cpp_sat/cp__model_8pb_8h.html +++ b/docs/cpp_sat/cp__model_8pb_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -61,24 +56,7 @@ $(document).ready(function(){initNavTree('cp__model_8pb_8h.html','');});
    cp_model.pb.h File Reference
    -
    #include <limits>
    -#include <string>
    -#include <google/protobuf/port_def.inc>
    -#include <google/protobuf/port_undef.inc>
    -#include <google/protobuf/io/coded_stream.h>
    -#include <google/protobuf/arena.h>
    -#include <google/protobuf/arenastring.h>
    -#include <google/protobuf/generated_message_table_driven.h>
    -#include <google/protobuf/generated_message_util.h>
    -#include <google/protobuf/inlined_string_field.h>
    -#include <google/protobuf/metadata.h>
    -#include <google/protobuf/generated_message_reflection.h>
    -#include <google/protobuf/message.h>
    -#include <google/protobuf/repeated_field.h>
    -#include <google/protobuf/extension_set.h>
    -#include <google/protobuf/generated_enum_reflection.h>
    -#include <google/protobuf/unknown_field_set.h>
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_sat/cp__model_8pb_8h_source.html b/docs/cpp_sat/cp__model_8pb_8h_source.html index 1e19c12afb..fc4219ea90 100644 --- a/docs/cpp_sat/cp__model_8pb_8h_source.html +++ b/docs/cpp_sat/cp__model_8pb_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/cp__model__solver_8h.html b/docs/cpp_sat/cp__model__solver_8h.html index 3ee67a9f90..abedb785bf 100644 --- a/docs/cpp_sat/cp__model__solver_8h.html +++ b/docs/cpp_sat/cp__model__solver_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -58,14 +53,7 @@ $(document).ready(function(){initNavTree('cp__model__solver_8h.html','');});
    cp_model_solver.h File Reference
    -
    #include <functional>
    -#include <string>
    -#include <vector>
    -#include "ortools/base/integral_types.h"
    -#include "ortools/sat/cp_model.pb.h"
    -#include "ortools/sat/model.h"
    -#include "ortools/sat/sat_parameters.pb.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_sat/cp__model__solver_8h_source.html b/docs/cpp_sat/cp__model__solver_8h_source.html index 2b10f04213..7f05247f28 100644 --- a/docs/cpp_sat/cp__model__solver_8h_source.html +++ b/docs/cpp_sat/cp__model__solver_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/deprecated.html b/docs/cpp_sat/deprecated.html index 5262414df2..6f7394b9cf 100644 --- a/docs/cpp_sat/deprecated.html +++ b/docs/cpp_sat/deprecated.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/dir_a3328a0ea67a2aaa160c2783ffbaa5dc.html b/docs/cpp_sat/dir_a3328a0ea67a2aaa160c2783ffbaa5dc.html index 174b14a76d..b1235f1fa4 100644 --- a/docs/cpp_sat/dir_a3328a0ea67a2aaa160c2783ffbaa5dc.html +++ b/docs/cpp_sat/dir_a3328a0ea67a2aaa160c2783ffbaa5dc.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/dir_a7cc1eeded8f693d0da6c729bc88c45a.html b/docs/cpp_sat/dir_a7cc1eeded8f693d0da6c729bc88c45a.html index bb07c12f5e..1fdb6e8a4e 100644 --- a/docs/cpp_sat/dir_a7cc1eeded8f693d0da6c729bc88c45a.html +++ b/docs/cpp_sat/dir_a7cc1eeded8f693d0da6c729bc88c45a.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html b/docs/cpp_sat/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html index c84085bc49..5f55211e53 100644 --- a/docs/cpp_sat/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html +++ b/docs/cpp_sat/dir_b2c6d49957bf5d0c7726edb4b829cd4d.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/dir_c5b0fe70900e54a4a94ebb062342b0c6.html b/docs/cpp_sat/dir_c5b0fe70900e54a4a94ebb062342b0c6.html index 8fe5fc6588..195b78c2e2 100644 --- a/docs/cpp_sat/dir_c5b0fe70900e54a4a94ebb062342b0c6.html +++ b/docs/cpp_sat/dir_c5b0fe70900e54a4a94ebb062342b0c6.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/dir_dd9e6105f85b4b8d1432afc92516bdf4.html b/docs/cpp_sat/dir_dd9e6105f85b4b8d1432afc92516bdf4.html index 153e7fa2ef..caaf214760 100644 --- a/docs/cpp_sat/dir_dd9e6105f85b4b8d1432afc92516bdf4.html +++ b/docs/cpp_sat/dir_dd9e6105f85b4b8d1432afc92516bdf4.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/dir_dddac007a45022d9da6ea1dee012c3b9.html b/docs/cpp_sat/dir_dddac007a45022d9da6ea1dee012c3b9.html index 0af9ec4de5..6a37fdefda 100644 --- a/docs/cpp_sat/dir_dddac007a45022d9da6ea1dee012c3b9.html +++ b/docs/cpp_sat/dir_dddac007a45022d9da6ea1dee012c3b9.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/files.html b/docs/cpp_sat/files.html index d6446e3ed5..28bfed0f27 100644 --- a/docs/cpp_sat/files.html +++ b/docs/cpp_sat/files.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/functions.html b/docs/cpp_sat/functions.html index a30bc4b4ac..fd2ea24800 100644 --- a/docs/cpp_sat/functions.html +++ b/docs/cpp_sat/functions.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • - - - - diff --git a/docs/cpp_sat/index.html b/docs/cpp_sat/index.html index 67bc9714fa..3cb9c80f3f 100644 --- a/docs/cpp_sat/index.html +++ b/docs/cpp_sat/index.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/menudata.js b/docs/cpp_sat/menudata.js index d5266d282a..be3505f991 100644 --- a/docs/cpp_sat/menudata.js +++ b/docs/cpp_sat/menudata.js @@ -25,4 +25,5 @@ var menudata={children:[ {text:"Main Page",url:"index.html"}, {text:"Related Pages",url:"pages.html"}, {text:"Namespaces",url:"namespaces.html"}, -{text:"Classes",url:"annotated.html"}]} +{text:"Classes",url:"annotated.html"}, +{text:"Files",url:"files.html"}]} diff --git a/docs/cpp_sat/model_8h.html b/docs/cpp_sat/model_8h.html index 3d438c18cd..5b4a723223 100644 --- a/docs/cpp_sat/model_8h.html +++ b/docs/cpp_sat/model_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -57,16 +52,7 @@ $(document).ready(function(){initNavTree('model_8h.html','');});
    model.h File Reference
    -
    #include <cstddef>
    -#include <functional>
    -#include <map>
    -#include <memory>
    -#include <vector>
    -#include "ortools/base/logging.h"
    -#include "ortools/base/macros.h"
    -#include "ortools/base/map_util.h"
    -#include "ortools/base/typeid.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_sat/model_8h_source.html b/docs/cpp_sat/model_8h_source.html index b38e508b08..28d06bcd20 100644 --- a/docs/cpp_sat/model_8h_source.html +++ b/docs/cpp_sat/model_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/namespaceinternal.html b/docs/cpp_sat/namespaceinternal.html index ba50dcad68..128f03996d 100644 --- a/docs/cpp_sat/namespaceinternal.html +++ b/docs/cpp_sat/namespaceinternal.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/namespacemembers.html b/docs/cpp_sat/namespacemembers.html index 6f8de6810a..f5d2f23cbe 100644 --- a/docs/cpp_sat/namespacemembers.html +++ b/docs/cpp_sat/namespacemembers.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/namespaceoperations__research_1_1sat.html b/docs/cpp_sat/namespaceoperations__research_1_1sat.html index 29181b5fd8..acc7b0316e 100644 --- a/docs/cpp_sat/namespaceoperations__research_1_1sat.html +++ b/docs/cpp_sat/namespaceoperations__research_1_1sat.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/namespaces.html b/docs/cpp_sat/namespaces.html index a5ddd9651f..607cf0e19a 100644 --- a/docs/cpp_sat/namespaces.html +++ b/docs/cpp_sat/namespaces.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/navtreedata.js b/docs/cpp_sat/navtreedata.js index 6d7e939cda..9642a8e35d 100644 --- a/docs/cpp_sat/navtreedata.js +++ b/docs/cpp_sat/navtreedata.js @@ -28,20 +28,13 @@ var NAVTREE = [ "Deprecated List", "deprecated.html", null ], [ "Namespaces", "namespaces.html", null ], [ "Classes", "annotated.html", null ], - [ "File List", "files.html", "files" ], - [ "File Members", "globals.html", [ - [ "All", "globals.html", null ], - [ "Functions", "globals_func.html", null ], - [ "Variables", "globals_vars.html", null ], - [ "Macros", "globals_defs.html", null ] - ] ] + [ "Files", "files.html", null ] ] ] ]; var NAVTREEINDEX = [ -"cp__model_8h.html", -"sat__parameters_8pb_8h.html#af02bc4bd103928ea008623a1da38a12caa7de36c91e9668bd4d3429170a3a915a" +"deprecated.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/cpp_sat/navtreeindex0.js b/docs/cpp_sat/navtreeindex0.js index a2f51fafdf..9fbfc60f16 100644 --- a/docs/cpp_sat/navtreeindex0.js +++ b/docs/cpp_sat/navtreeindex0.js @@ -1,253 +1,7 @@ var NAVTREEINDEX0 = { -"cp__model_8h.html":[4,0], -"cp__model_8h.html#a57b8aabbc5b3c1d177d35b3ebcf9b5fa":[4,0,14], -"cp__model_8h.html#a5e3de118c1f8dd5a7ec21704e05684b9":[4,0,12], -"cp__model_8h.html#a671200a31003492dbef21f2b4ee3dcbd":[4,0,18], -"cp__model_8h.html#a8ec893fa736de5b95135ecb9314ee6d8":[4,0,17], -"cp__model_8h.html#a9c0ae0d048a431656985fc79428bbe67":[4,0,13], -"cp__model_8h.html#ae9f86b31794751c624a783d15306280c":[4,0,15], -"cp__model_8h.html#aeaed9bdf2a27bb778ba397666cb874d7":[4,0,19], -"cp__model_8h.html#afa415e372a9d64eede869ed98666c29c":[4,0,16], -"cp__model_8h_source.html":[4,0], -"cp__model_8pb_8h.html":[4,1], -"cp__model_8pb_8h.html#a053a9a83617d85d70590f9bcb69f9072":[4,1,36], -"cp__model_8pb_8h.html#a067ce64a3f75c8567b22bf8bbecf2fa5":[4,1,97], -"cp__model_8pb_8h.html#a13b87f99bbea144cc07cdcd2095ab601":[4,1,79], -"cp__model_8pb_8h.html#a158d3c3e8612a0cb9be525140c96267f":[4,1,67], -"cp__model_8pb_8h.html#a15e31e7e010c4b2e239f514608cbf9a8":[4,1,104], -"cp__model_8pb_8h.html#a1742cab1f2a807d32238c453b92bdeb3":[4,1,98], -"cp__model_8pb_8h.html#a198722177a36417069228aec0f9d97d6":[4,1,28], -"cp__model_8pb_8h.html#a1a52f0d999d97d872a7b681048663497":[4,1,47], -"cp__model_8pb_8h.html#a1b5b8679bd9fed7c991d05c09cf01466":[4,1,94], -"cp__model_8pb_8h.html#a1d42bd587a5323aaf16295be1dfa1455":[4,1,82], -"cp__model_8pb_8h.html#a20ead57ac0739497ea66f0c21b23b529":[4,1,30], -"cp__model_8pb_8h.html#a20ead57ac0739497ea66f0c21b23b529a2f416e6e94f971bfbb75ba25e7f7b760":[4,1,30,0], -"cp__model_8pb_8h.html#a20ead57ac0739497ea66f0c21b23b529a82875a7d185a8f87d56cb0fb0f37f72a":[4,1,30,4], -"cp__model_8pb_8h.html#a20ead57ac0739497ea66f0c21b23b529ab63e61aebddafddd1496d6ab577dab53":[4,1,30,2], -"cp__model_8pb_8h.html#a20ead57ac0739497ea66f0c21b23b529ac1c76a18c1405c9569b8afca29919e48":[4,1,30,5], -"cp__model_8pb_8h.html#a20ead57ac0739497ea66f0c21b23b529ac22896facd05595ce84133b3b3043685":[4,1,30,1], -"cp__model_8pb_8h.html#a20ead57ac0739497ea66f0c21b23b529ac41d0ba8114af7179c253fda16e517ca":[4,1,30,3], -"cp__model_8pb_8h.html#a26f4220a644805d216623919b4454e90":[4,1,34], -"cp__model_8pb_8h.html#a31af3405cf06940dbbd7e2ada3faa05e":[4,1,45], -"cp__model_8pb_8h.html#a32645384af0bf66e5cb51f2367bfee0a":[4,1,55], -"cp__model_8pb_8h.html#a35f06e6b931d091b424f42c8db845273":[4,1,88], -"cp__model_8pb_8h.html#a3dc76ede4b7ff0d2c5bd425c834e1a1b":[4,1,84], -"cp__model_8pb_8h.html#a3e5fd8dd3f65b3725d38e743b450fe14":[4,1,103], -"cp__model_8pb_8h.html#a3e888f213753f1e8fac882e0a2394040":[4,1,102], -"cp__model_8pb_8h.html#a409e867844426d248649058045d91b4a":[4,1,33], -"cp__model_8pb_8h.html#a4215dda19ecaf7d9b3437190df671cbb":[4,1,86], -"cp__model_8pb_8h.html#a42a27eb2a39b4d60a27f41639fdadda6":[4,1,51], -"cp__model_8pb_8h.html#a44161c9b8ede2f098f009c6980c489a4":[4,1,85], -"cp__model_8pb_8h.html#a463a1c6294a89434db5de2a5560685f4":[4,1,59], -"cp__model_8pb_8h.html#a469cc5bec5d04722b7a2ed2157cbed69":[4,1,41], -"cp__model_8pb_8h.html#a4903b3b9596898e507eadb8642d73b7d":[4,1,87], -"cp__model_8pb_8h.html#a4ef77bd2a03378993af8582adc081ae6":[4,1,83], -"cp__model_8pb_8h.html#a58db7092358e258353cc6ab4d035ecaf":[4,1,69], -"cp__model_8pb_8h.html#a5fe88249a924da9eac41aefea5ddabed":[4,1,91], -"cp__model_8pb_8h.html#a60036e4e1e1d47218d6339e9119805c4":[4,1,60], -"cp__model_8pb_8h.html#a69b0f0b690bac6d13d2cb8723d9bc746":[4,1,52], -"cp__model_8pb_8h.html#a6a9352c8a15382c9206993a807ca1f97":[4,1,74], -"cp__model_8pb_8h.html#a6c4f9d19c7865cdcdc3fa9c1ecfd98e8":[4,1,101], -"cp__model_8pb_8h.html#a6f1fd67f2396dd88544958778b9854bf":[4,1,63], -"cp__model_8pb_8h.html#a72e417ceed325aefeb735bc1269b5926":[4,1,54], -"cp__model_8pb_8h.html#a75a5dfa26b4dc21981f4c6cc46ae9c43":[4,1,90], -"cp__model_8pb_8h.html#a76684065481e77a04d6a785b57a37ea0":[4,1,43], -"cp__model_8pb_8h.html#a89e105e8d30d25c4c680294fe7d572c1":[4,1,72], -"cp__model_8pb_8h.html#a8a08a0412dc7ad772d01538c4541d8fe":[4,1,37], -"cp__model_8pb_8h.html#a8bb69e78d4b1193a570cb373cbcd77f1":[4,1,38], -"cp__model_8pb_8h.html#a8f7f7995f8e9a03c15cdddf39b675702":[4,1,57], -"cp__model_8pb_8h.html#a946e95ccf1a9faf8270238f5c5b301fb":[4,1,76], -"cp__model_8pb_8h.html#a9644b126f05b927a27fc7eba8e62dd57":[4,1,65], -"cp__model_8pb_8h.html#aa622f7324c218952ff6e6fa76e70b5ae":[4,1,35], -"cp__model_8pb_8h.html#aa932638eb3288abef76ec6ce44abad2c":[4,1,40], -"cp__model_8pb_8h.html#aaa9871408c076cdce214c53975c778b2":[4,1,39], -"cp__model_8pb_8h.html#aac6a8bda3dfe9f06ab9e4b5d0273df53":[4,1,80], -"cp__model_8pb_8h.html#aafaee55e2ef399a5e005a29ebdd5557f":[4,1,44], -"cp__model_8pb_8h.html#abbc472dcbb3ad76095da9926b37e49f8":[4,1,66], -"cp__model_8pb_8h.html#abfe1c95f3203f48ee2e0fd985df573cf":[4,1,46], -"cp__model_8pb_8h.html#ac0865a57214595b3a38ceee49543b4a1":[4,1,92], -"cp__model_8pb_8h.html#ac0ca8810a97bcc1b3d45269a33fd4f0c":[4,1,31], -"cp__model_8pb_8h.html#ac0ca8810a97bcc1b3d45269a33fd4f0ca0b1d456b36749d677aa4a201b22ba114":[4,1,31,1], -"cp__model_8pb_8h.html#ac0ca8810a97bcc1b3d45269a33fd4f0ca18e573e60bf8dde6880a6cfb9f697ffc":[4,1,31,3], -"cp__model_8pb_8h.html#ac0ca8810a97bcc1b3d45269a33fd4f0ca5e00b7cd6b433ec6a15ff913d3b2c3f3":[4,1,31,0], -"cp__model_8pb_8h.html#ac0ca8810a97bcc1b3d45269a33fd4f0ca77405cd855df69ed653be2766be0a1af":[4,1,31,5], -"cp__model_8pb_8h.html#ac0ca8810a97bcc1b3d45269a33fd4f0ca79fc0af04ed454750ecb59dc5a748e88":[4,1,31,2], -"cp__model_8pb_8h.html#ac0ca8810a97bcc1b3d45269a33fd4f0ca9bc8cd090f555c04c4fb8ec23838dc30":[4,1,31,4], -"cp__model_8pb_8h.html#ac0ca8810a97bcc1b3d45269a33fd4f0cadecec94c9d1599ecbdfdab2f7cfcb7aa":[4,1,31,6], -"cp__model_8pb_8h.html#ac14a394f629f2cf1070b84bce2e427ce":[4,1,29], -"cp__model_8pb_8h.html#ac14a394f629f2cf1070b84bce2e427cea185c2992ead7a0d90d260164cf10d46f":[4,1,29,3], -"cp__model_8pb_8h.html#ac14a394f629f2cf1070b84bce2e427cea443f059ef1efc767e19c5724f6c161d9":[4,1,29,5], -"cp__model_8pb_8h.html#ac14a394f629f2cf1070b84bce2e427cea693e3d1636a488a456c173453c45cc14":[4,1,29,0], -"cp__model_8pb_8h.html#ac14a394f629f2cf1070b84bce2e427cea78e9c6b9f6ac60a9e9c2d25967ed1ad0":[4,1,29,4], -"cp__model_8pb_8h.html#ac14a394f629f2cf1070b84bce2e427ceacb3300bde58b85d202f9c211dfabcb49":[4,1,29,1], -"cp__model_8pb_8h.html#ac14a394f629f2cf1070b84bce2e427ceae4d551fa942cba479e3090bb8ae40e73":[4,1,29,2], -"cp__model_8pb_8h.html#ac14a394f629f2cf1070b84bce2e427ceae535ad44840a077b35974e3a04530717":[4,1,29,6], -"cp__model_8pb_8h.html#ac22a3ab628a918dd90466ba12d6ee0cd":[4,1,62], -"cp__model_8pb_8h.html#ac52096bfb8221d5724ff16dc4c93647c":[4,1,96], -"cp__model_8pb_8h.html#ac8eeb3305c37f40da67f55486402ac78":[4,1,64], -"cp__model_8pb_8h.html#ace223c8e846b17ef993566562cec8dda":[4,1,77], -"cp__model_8pb_8h.html#acfdc8eaa58fc4cf8b103821df60cd4e9":[4,1,78], -"cp__model_8pb_8h.html#ad0110b5023e714ba7608ca6393a28aee":[4,1,81], -"cp__model_8pb_8h.html#ad05e4bcf8c4464c50e1f1b8af2b81ad2":[4,1,73], -"cp__model_8pb_8h.html#ad2d5af22bab0d3f84df7c744828ab2e4":[4,1,50], -"cp__model_8pb_8h.html#ad5cadc3f160d3e34ef323536a36578ce":[4,1,71], -"cp__model_8pb_8h.html#ad87fa7d63870ba0085a841c2303dad6b":[4,1,56], -"cp__model_8pb_8h.html#adc89524c8aab967f7d4a66bd3ec70bca":[4,1,75], -"cp__model_8pb_8h.html#adeada39a9b25093a4cc1883510e1bb08":[4,1,100], -"cp__model_8pb_8h.html#ae1bf1cf3f7f77485b9d4c7ab4d6894ed":[4,1,93], -"cp__model_8pb_8h.html#ae4641d439ae970665040cfe8c8e4cc17":[4,1,49], -"cp__model_8pb_8h.html#ae6b0dd316e74205a0dc9ac55e4625278":[4,1,53], -"cp__model_8pb_8h.html#ae9d3a1b377448fff473eb094e1a4398f":[4,1,42], -"cp__model_8pb_8h.html#aebc3014f5f916f36e4b00d3cb6b4221c":[4,1,48], -"cp__model_8pb_8h.html#aec9bb98a52b3d32d47a598fc5eafb671":[4,1,99], -"cp__model_8pb_8h.html#aeccedf377b000af35b4e9091c1bc2bb8":[4,1,95], -"cp__model_8pb_8h.html#aede942101121114490d4f59631bf9292":[4,1,58], -"cp__model_8pb_8h.html#af161ecb897e60ce83c87c17d11ae7d91":[4,1,61], -"cp__model_8pb_8h.html#af88b4fbcdca26fee95079ec1dc7ff5ec":[4,1,70], -"cp__model_8pb_8h.html#af89daf730ccca1a8de5eebfdf9406131":[4,1,68], -"cp__model_8pb_8h.html#af9e54e2d5d81731965cba2c72fd237f5":[4,1,32], -"cp__model_8pb_8h.html#afc421996f32997364f39272a061499f0":[4,1,89], -"cp__model_8pb_8h_source.html":[4,1], -"cp__model__solver_8h.html":[4,2], -"cp__model__solver_8h.html#a09d851f944ab4f305c3d9f8df99b7bf8":[4,2,3], -"cp__model__solver_8h.html#a10700832ca6bc420f2931eb707957b0b":[4,2,8], -"cp__model__solver_8h.html#a287579e5f181fc7c89feccf1128faffb":[4,2,0], -"cp__model__solver_8h.html#a9d67b9c66f1cb9c1dcc3415cd5af11bf":[4,2,4], -"cp__model__solver_8h.html#aa3062797aa0396abf37dbcc99a746f12":[4,2,5], -"cp__model__solver_8h.html#aacf15d440f0db4cd0a63c8aebe85db6d":[4,2,7], -"cp__model__solver_8h.html#ac2d87e8109f9c60f7af84a60106abd57":[4,2,1], -"cp__model__solver_8h.html#ad04337634227eac006d3e33a7028f82f":[4,2,2], -"cp__model__solver_8h.html#af52c27ecb43d6486c1a70e022b4aad39":[4,2,6], -"cp__model__solver_8h_source.html":[4,2], "deprecated.html":[1], -"files.html":[4], -"globals.html":[5,0], -"globals_defs.html":[5,3], -"globals_func.html":[5,1], -"globals_vars.html":[5,2], "index.html":[], -"model_8h.html":[4,3], -"model_8h_source.html":[4,3], "pages.html":[], -"sat__parameters_8pb_8h.html":[4,4], -"sat__parameters_8pb_8h.html#a011a7400ac03996a9023db2a9e7df81c":[4,4,18], -"sat__parameters_8pb_8h.html#a011a7400ac03996a9023db2a9e7df81ca0c67cde78d6314de8d13734d65709b3a":[4,4,18,1], -"sat__parameters_8pb_8h.html#a011a7400ac03996a9023db2a9e7df81ca5bb7f0a112c4672ea2abec407f7d384c":[4,4,18,0], -"sat__parameters_8pb_8h.html#a011a7400ac03996a9023db2a9e7df81cadf547628eb3421e641512aeb95b31912":[4,4,18,2], -"sat__parameters_8pb_8h.html#a05587e288b302e572a8e80b100505a21":[4,4,66], -"sat__parameters_8pb_8h.html#a094b77c6089ed1097550980f9ffb764f":[4,4,104], -"sat__parameters_8pb_8h.html#a0a75b439d4e889cf84f7d6f6b5a37a86":[4,4,70], -"sat__parameters_8pb_8h.html#a2916a603fb108fbf4133f865d472fc0b":[4,4,20], -"sat__parameters_8pb_8h.html#a2916a603fb108fbf4133f865d472fc0ba0fcf1821b877dd61f6cfac37a36a82d8":[4,4,20,1], -"sat__parameters_8pb_8h.html#a2916a603fb108fbf4133f865d472fc0ba353691b5a40f70fe5d05cc01bdf22536":[4,4,20,4], -"sat__parameters_8pb_8h.html#a2916a603fb108fbf4133f865d472fc0ba5d2302ed4086b87cadaad18aa5981aed":[4,4,20,3], -"sat__parameters_8pb_8h.html#a2916a603fb108fbf4133f865d472fc0ba698c5900a88697e89f1a9ffa790fd49f":[4,4,20,0], -"sat__parameters_8pb_8h.html#a2916a603fb108fbf4133f865d472fc0ba89e7ee47fc5c826c03f455f082f22c70":[4,4,20,2], -"sat__parameters_8pb_8h.html#a299d9cbf6a19e8aa8294c01b02d59aa7":[4,4,22], -"sat__parameters_8pb_8h.html#a299d9cbf6a19e8aa8294c01b02d59aa7a8de6cbc54e325b78d800c8354591d726":[4,4,22,2], -"sat__parameters_8pb_8h.html#a299d9cbf6a19e8aa8294c01b02d59aa7a92760d7186df85dfd6c188eae0b9b591":[4,4,22,0], -"sat__parameters_8pb_8h.html#a299d9cbf6a19e8aa8294c01b02d59aa7a941215af97625c63a144520ec7e02bfb":[4,4,22,1], -"sat__parameters_8pb_8h.html#a299e745a341d3282f1f57f930c9d56e1":[4,4,82], -"sat__parameters_8pb_8h.html#a2a39eab5a6aadab97bb23a7fb39af600":[4,4,105], -"sat__parameters_8pb_8h.html#a2b5db4bee652895d2a67171ad96cecb7":[4,4,73], -"sat__parameters_8pb_8h.html#a2bfd2dd07fc93d2ebcf90df9982b173f":[4,4,86], -"sat__parameters_8pb_8h.html#a3232d0c544cf356f09b6f8d1b67269e3":[4,4,103], -"sat__parameters_8pb_8h.html#a34114c8909693aee3ef96a477490f1fc":[4,4,75], -"sat__parameters_8pb_8h.html#a34b396f35aa7c449a39d2b92c3f93744":[4,4,64], -"sat__parameters_8pb_8h.html#a3a1aa6bdfa59980400e6617e6a206071":[4,4,58], -"sat__parameters_8pb_8h.html#a3de01c1278d9f16ff4ff5cd72c0233da":[4,4,100], -"sat__parameters_8pb_8h.html#a3e37f554c39fbb05faf07674ac550f47":[4,4,35], -"sat__parameters_8pb_8h.html#a402444328a26710265238ae8fb883496":[4,4,13], -"sat__parameters_8pb_8h.html#a402444328a26710265238ae8fb883496a30c30629b82fa4252c40e28942e35416":[4,4,13,3], -"sat__parameters_8pb_8h.html#a402444328a26710265238ae8fb883496a5cefb853f31166cc3684d90594d5dde9":[4,4,13,0], -"sat__parameters_8pb_8h.html#a402444328a26710265238ae8fb883496ac586955ded9c943dee2faf8b5b738dbd":[4,4,13,2], -"sat__parameters_8pb_8h.html#a402444328a26710265238ae8fb883496acefb9cb334d97dc99896de7db79a2476":[4,4,13,1], -"sat__parameters_8pb_8h.html#a402444328a26710265238ae8fb883496aeb6a38e1f5f44d7f13c6f8d6325ba069":[4,4,13,4], -"sat__parameters_8pb_8h.html#a4104fcd7cb88b2edc4cbc86e6b331cdf":[4,4,51], -"sat__parameters_8pb_8h.html#a4585806adf77d6f7a56bd21230a31175":[4,4,59], -"sat__parameters_8pb_8h.html#a45a55c59398241500c1604ed6736e7e0":[4,4,45], -"sat__parameters_8pb_8h.html#a45e86ed8cbe846e59c55298161086446":[4,4,88], -"sat__parameters_8pb_8h.html#a517d73d1db81fd87470e6bcbe87c633e":[4,4,19], -"sat__parameters_8pb_8h.html#a517d73d1db81fd87470e6bcbe87c633ea204c91561099609cdf7b6469e84e9576":[4,4,19,1], -"sat__parameters_8pb_8h.html#a517d73d1db81fd87470e6bcbe87c633ea6145ecb76ca29dc07b9acde97866a8ee":[4,4,19,0], -"sat__parameters_8pb_8h.html#a517d73d1db81fd87470e6bcbe87c633ea77094f18176663ceea0b80667cf917a6":[4,4,19,4], -"sat__parameters_8pb_8h.html#a517d73d1db81fd87470e6bcbe87c633eaf9a6fbf18fc3445083ca746b1e920ca6":[4,4,19,3], -"sat__parameters_8pb_8h.html#a517d73d1db81fd87470e6bcbe87c633eafaf662755a533bc2353968b4c4da4d32":[4,4,19,2], -"sat__parameters_8pb_8h.html#a52f8336c6767ff5a1b41074ec7a991c0":[4,4,28], -"sat__parameters_8pb_8h.html#a56c312c25b31438ad9cd30de76ecf4e8":[4,4,31], -"sat__parameters_8pb_8h.html#a59199dd6f81e1980528a711e643b9905":[4,4,25], -"sat__parameters_8pb_8h.html#a5df42a6b5c40d46ea317abd561b7ea0b":[4,4,93], -"sat__parameters_8pb_8h.html#a5fcee51ba7784a7c403731301af6e14c":[4,4,55], -"sat__parameters_8pb_8h.html#a611a7d92c4add7f72478e8fb80b789c2":[4,4,26], -"sat__parameters_8pb_8h.html#a673309e5337b624e75e496fe33494135":[4,4,91], -"sat__parameters_8pb_8h.html#a6763a151acaebadf9a4be9383e91e1eb":[4,4,38], -"sat__parameters_8pb_8h.html#a6e554645f4d0f9989e1f3d69c1528eea":[4,4,81], -"sat__parameters_8pb_8h.html#a711b59624fbd706f0754647084c665d8":[4,4,71], -"sat__parameters_8pb_8h.html#a71cb004d78f7d8c38fcc9cbc225af533":[4,4,17], -"sat__parameters_8pb_8h.html#a71cb004d78f7d8c38fcc9cbc225af533a44da070df5c6e2443fa1c00b6c25893f":[4,4,17,2], -"sat__parameters_8pb_8h.html#a71cb004d78f7d8c38fcc9cbc225af533a61bc7845a56fecefcc18795a536d5eb3":[4,4,17,1], -"sat__parameters_8pb_8h.html#a71cb004d78f7d8c38fcc9cbc225af533ab0500c1196441cd7820da82c2c1baf6f":[4,4,17,0], -"sat__parameters_8pb_8h.html#a72fe8e22daeacc4a74374d4c34bc09f4":[4,4,95], -"sat__parameters_8pb_8h.html#a7b0414d7c022b8a1f606bace4c8192cf":[4,4,56], -"sat__parameters_8pb_8h.html#a7c328aaf533ab0b051f9b4617bd47d43":[4,4,37], -"sat__parameters_8pb_8h.html#a84b9e2a32889c7bc5476029d4107d736":[4,4,94], -"sat__parameters_8pb_8h.html#a8665ee9afc158ac57d842bcef9eccc59":[4,4,92], -"sat__parameters_8pb_8h.html#a87813e257ba880dc079609db5d7f5da4":[4,4,40], -"sat__parameters_8pb_8h.html#a87bcdd92d224942666c7be6e2f936ab0":[4,4,99], -"sat__parameters_8pb_8h.html#a8885ce51db5f4e62425ed9d5c09ed568":[4,4,33], -"sat__parameters_8pb_8h.html#a8a1f2ce9ceb6c6e6ea95e8413c5f304c":[4,4,85], -"sat__parameters_8pb_8h.html#a8ae6f7af0b88d08cd83a4ff1a1108985":[4,4,46], -"sat__parameters_8pb_8h.html#a8b09b973b5ccbe5b9cbbcde8b824a2fb":[4,4,24], -"sat__parameters_8pb_8h.html#a8e0457f852d7716dc2d913867100dc8c":[4,4,34], -"sat__parameters_8pb_8h.html#a9018824bcc1b169f32af87ad4faf7561":[4,4,67], -"sat__parameters_8pb_8h.html#a90d6f173fbfa33e26ff6508013c81ffd":[4,4,47], -"sat__parameters_8pb_8h.html#a92db718bcc5d276ccf747bde81c78a10":[4,4,77], -"sat__parameters_8pb_8h.html#a955126bc9840983ce5d4faa8d82f1669":[4,4,98], -"sat__parameters_8pb_8h.html#a97ac406a44712bd2893b29957f2528d5":[4,4,76], -"sat__parameters_8pb_8h.html#a9d2995934edcfcc59a0da77719fcb11b":[4,4,62], -"sat__parameters_8pb_8h.html#a9e40adad4a6a75afceefe43c8c509457":[4,4,72], -"sat__parameters_8pb_8h.html#a9f22011e31eaf54170afe80d301665ac":[4,4,54], -"sat__parameters_8pb_8h.html#aa36fba890ac5ad3ce86c9f70b8352bb5":[4,4,50], -"sat__parameters_8pb_8h.html#aa49899c1c9df530d20f240b519437c6d":[4,4,52], -"sat__parameters_8pb_8h.html#aa6f7c43106217e8a55877110b7d87e7c":[4,4,39], -"sat__parameters_8pb_8h.html#aa8e76d4d2386cfab3cefb7460f62d95c":[4,4,61], -"sat__parameters_8pb_8h.html#aad7abfd3f639a7d1f9c112b4e4e7d4f0":[4,4,27], -"sat__parameters_8pb_8h.html#ab199957e5457d8356687f12d67d1aaac":[4,4,63], -"sat__parameters_8pb_8h.html#ab260b9d1bc3bedcc3ad29d6b2fd831d4":[4,4,78], -"sat__parameters_8pb_8h.html#ab33358f8fe7b8cb7f98c226b3a070e38":[4,4,14], -"sat__parameters_8pb_8h.html#ab33358f8fe7b8cb7f98c226b3a070e38a2dcf758b7ee7431577e2aa80a60b163e":[4,4,14,1], -"sat__parameters_8pb_8h.html#ab33358f8fe7b8cb7f98c226b3a070e38aaab0bb6b57e109185e6a62d5d0271a04":[4,4,14,0], -"sat__parameters_8pb_8h.html#ab38e233912e1d6e80baf8fe3bec043ee":[4,4,41], -"sat__parameters_8pb_8h.html#ab55372e60a420147082bef8a70b2bb15":[4,4,23], -"sat__parameters_8pb_8h.html#ab59fe9a81546232a6951f9c673c02e8a":[4,4,68], -"sat__parameters_8pb_8h.html#ab90d62c554b3478c3271c929cf81cb59":[4,4,102], -"sat__parameters_8pb_8h.html#abf9faaf009e6527846e0ff336797f3a0":[4,4,83], -"sat__parameters_8pb_8h.html#ac1aa9d5ea93fbc96a68237c2beda3836":[4,4,43], -"sat__parameters_8pb_8h.html#ac304d2e190884ab7f230876fe1bd1d9f":[4,4,53], -"sat__parameters_8pb_8h.html#ac4c30c8eeb5c485f9676410745f1d9d2":[4,4,57], -"sat__parameters_8pb_8h.html#ac5449564c89e6ffab546725d1d49422a":[4,4,101], -"sat__parameters_8pb_8h.html#ac92d8d18b4148e00e25b463b42c0ea3b":[4,4,42], -"sat__parameters_8pb_8h.html#acc0499f1b3c9772bc081ca484c6aa680":[4,4,80], -"sat__parameters_8pb_8h.html#ad097df0060c8654c1b6cfc1285bc4969":[4,4,30], -"sat__parameters_8pb_8h.html#ada813507f9879e596a07b3850f7fc0d5":[4,4,16], -"sat__parameters_8pb_8h.html#ada813507f9879e596a07b3850f7fc0d5a52b205df52309c4f050206500297e4e5":[4,4,16,3], -"sat__parameters_8pb_8h.html#ada813507f9879e596a07b3850f7fc0d5ac1adcdd93b988565644ddc9c3510c96c":[4,4,16,1], -"sat__parameters_8pb_8h.html#ada813507f9879e596a07b3850f7fc0d5acf7f9f878c3e92e4e319c3e4ea926af7":[4,4,16,2], -"sat__parameters_8pb_8h.html#ada813507f9879e596a07b3850f7fc0d5ae1bd62c48ad8f9a7d242ae916bbe5066":[4,4,16,0], -"sat__parameters_8pb_8h.html#ae198f9232534912ddf238f7be789f4aa":[4,4,89], -"sat__parameters_8pb_8h.html#ae1e232826064de5442ec15d6a2ff90f2":[4,4,44], -"sat__parameters_8pb_8h.html#ae3d1dd4a33df05f7da9a3ea6c4932c0a":[4,4,87], -"sat__parameters_8pb_8h.html#ae566d186f92afaced5ffb7ebae02d474":[4,4,69], -"sat__parameters_8pb_8h.html#ae6d7897cec550c4b33117827b971e421":[4,4,74], -"sat__parameters_8pb_8h.html#ae791277565602a13d6e3c8e4ff0e28b9":[4,4,97], -"sat__parameters_8pb_8h.html#ae9c1c46327d6db147835ccc4a748fdd4":[4,4,32], -"sat__parameters_8pb_8h.html#aea747a1c7b91baf6f1b5486700c31e5f":[4,4,36], -"sat__parameters_8pb_8h.html#aeac2e6fcf0da93835e0cf3171d059b1c":[4,4,29], -"sat__parameters_8pb_8h.html#aedb4be4a6a9caaf8d9161888934ad2d2":[4,4,90], -"sat__parameters_8pb_8h.html#aee2d784d894a30c420456d0b389b7970":[4,4,79], -"sat__parameters_8pb_8h.html#aef4cd5f95bfffe8b384372e1cba49049":[4,4,84], -"sat__parameters_8pb_8h.html#af02bc4bd103928ea008623a1da38a12c":[4,4,15], -"sat__parameters_8pb_8h.html#af02bc4bd103928ea008623a1da38a12ca1739f0f3322dc59ebaa2fb9fa3481d6b":[4,4,15,0], -"sat__parameters_8pb_8h.html#af02bc4bd103928ea008623a1da38a12ca4ce148354b01f5b1e2da32e7576edaa3":[4,4,15,2] +"todo.html":[0] }; diff --git a/docs/cpp_sat/pages.html b/docs/cpp_sat/pages.html index 1a31c06473..d4c0032632 100644 --- a/docs/cpp_sat/pages.html +++ b/docs/cpp_sat/pages.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/sat__parameters_8pb_8h.html b/docs/cpp_sat/sat__parameters_8pb_8h.html index aa274fb5e7..0bc7520fed 100644 --- a/docs/cpp_sat/sat__parameters_8pb_8h.html +++ b/docs/cpp_sat/sat__parameters_8pb_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -61,24 +56,7 @@ $(document).ready(function(){initNavTree('sat__parameters_8pb_8h.html','');});
    sat_parameters.pb.h File Reference
    -
    #include <limits>
    -#include <string>
    -#include <google/protobuf/port_def.inc>
    -#include <google/protobuf/port_undef.inc>
    -#include <google/protobuf/io/coded_stream.h>
    -#include <google/protobuf/arena.h>
    -#include <google/protobuf/arenastring.h>
    -#include <google/protobuf/generated_message_table_driven.h>
    -#include <google/protobuf/generated_message_util.h>
    -#include <google/protobuf/inlined_string_field.h>
    -#include <google/protobuf/metadata.h>
    -#include <google/protobuf/generated_message_reflection.h>
    -#include <google/protobuf/message.h>
    -#include <google/protobuf/repeated_field.h>
    -#include <google/protobuf/extension_set.h>
    -#include <google/protobuf/generated_enum_reflection.h>
    -#include <google/protobuf/unknown_field_set.h>
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_sat/sat__parameters_8pb_8h_source.html b/docs/cpp_sat/sat__parameters_8pb_8h_source.html index b266f350b1..82e945458c 100644 --- a/docs/cpp_sat/sat__parameters_8pb_8h_source.html +++ b/docs/cpp_sat/sat__parameters_8pb_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/sorted__interval__list_8h.html b/docs/cpp_sat/sorted__interval__list_8h.html index 3437cb77f9..13eaa3f93c 100644 --- a/docs/cpp_sat/sorted__interval__list_8h.html +++ b/docs/cpp_sat/sorted__interval__list_8h.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - @@ -58,14 +53,7 @@ $(document).ready(function(){initNavTree('sorted__interval__list_8h.html','');})
    sorted_interval_list.h File Reference
    -
    #include <iostream>
    -#include <set>
    -#include <string>
    -#include <vector>
    -#include "absl/container/inlined_vector.h"
    -#include "absl/types/span.h"
    -#include "ortools/base/integral_types.h"
    -
    +

    Go to the source code of this file.

    diff --git a/docs/cpp_sat/sorted__interval__list_8h_source.html b/docs/cpp_sat/sorted__interval__list_8h_source.html index 1a3cdad219..9a8d32b6c9 100644 --- a/docs/cpp_sat/sorted__interval__list_8h_source.html +++ b/docs/cpp_sat/sorted__interval__list_8h_source.html @@ -24,12 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - diff --git a/docs/cpp_sat/structTableStruct__ortools__2fsat__2fcp__5fmodel__2eproto-members.html b/docs/cpp_sat/structTableStruct__ortools__2fsat__2fcp__5fmodel__2eproto-members.html index 4667248d9f..2f2c6f3c3f 100644 --- a/docs/cpp_sat/structTableStruct__ortools__2fsat__2fcp__5fmodel__2eproto-members.html +++ b/docs/cpp_sat/structTableStruct__ortools__2fsat__2fcp__5fmodel__2eproto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structTableStruct__ortools__2fsat__2fcp__5fmodel__2eproto.html b/docs/cpp_sat/structTableStruct__ortools__2fsat__2fcp__5fmodel__2eproto.html index 0d5e738947..2850292a6a 100644 --- a/docs/cpp_sat/structTableStruct__ortools__2fsat__2fcp__5fmodel__2eproto.html +++ b/docs/cpp_sat/structTableStruct__ortools__2fsat__2fcp__5fmodel__2eproto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structTableStruct__ortools__2fsat__2fsat__5fparameters__2eproto-members.html b/docs/cpp_sat/structTableStruct__ortools__2fsat__2fsat__5fparameters__2eproto-members.html index 12da3e988e..13b1c4d0af 100644 --- a/docs/cpp_sat/structTableStruct__ortools__2fsat__2fsat__5fparameters__2eproto-members.html +++ b/docs/cpp_sat/structTableStruct__ortools__2fsat__2fsat__5fparameters__2eproto-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structTableStruct__ortools__2fsat__2fsat__5fparameters__2eproto.html b/docs/cpp_sat/structTableStruct__ortools__2fsat__2fsat__5fparameters__2eproto.html index 06f79d7b54..c4b1d2da91 100644 --- a/docs/cpp_sat/structTableStruct__ortools__2fsat__2fsat__5fparameters__2eproto.html +++ b/docs/cpp_sat/structTableStruct__ortools__2fsat__2fsat__5fparameters__2eproto.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1CpSolverStatus_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1CpSolverStatus_01_4.html index d618a316f6..5603683537 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1CpSolverStatus_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1CpSolverStatus_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1DecisionStrategyProto__DomainReductionStrategy_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1DecisionStrategyProto__DomainReductionStrategy_01_4.html index 7ae4d0b8b7..ad35ffd472 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1DecisionStrategyProto__DomainReductionStrategy_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1DecisionStrategyProto__DomainReductionStrategy_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1DecisionStrategyProto__VariableSelectionStrategy_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1DecisionStrategyProto__VariableSelectionStrategy_01_4.html index b304233ed4..fbfbabd3ab 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1DecisionStrategyProto__VariableSelectionStrategy_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1DecisionStrategyProto__VariableSelectionStrategy_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__BinaryMinizationAlgorithm_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__BinaryMinizationAlgorithm_01_4.html index 6cfcfaf68b..6e7a3e1b39 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__BinaryMinizationAlgorithm_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__BinaryMinizationAlgorithm_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ClauseOrdering_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ClauseOrdering_01_4.html index 921ae4b96d..6ebe99a2de 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ClauseOrdering_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ClauseOrdering_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ClauseProtection_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ClauseProtection_01_4.html index d3ff068685..f2e7a0a5e9 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ClauseProtection_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ClauseProtection_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ConflictMinimizationAlgorithm_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ConflictMinimizationAlgorithm_01_4.html index 57ff31af2a..01e1030540 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ConflictMinimizationAlgorithm_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__ConflictMinimizationAlgorithm_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__MaxSatAssumptionOrder_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__MaxSatAssumptionOrder_01_4.html index 6af5527351..56c0f3316c 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__MaxSatAssumptionOrder_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__MaxSatAssumptionOrder_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__MaxSatStratificationAlgorithm_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__MaxSatStratificationAlgorithm_01_4.html index 41725e06de..e0cb7796ad 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__MaxSatStratificationAlgorithm_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__MaxSatStratificationAlgorithm_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__Polarity_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__Polarity_01_4.html index 9d5a2e8ac0..a9035c2860 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__Polarity_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__Polarity_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__RestartAlgorithm_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__RestartAlgorithm_01_4.html index 3772407514..cbef981160 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__RestartAlgorithm_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__RestartAlgorithm_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__SearchBranching_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__SearchBranching_01_4.html index 8418de01b5..fb2e72dc11 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__SearchBranching_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__SearchBranching_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__VariableOrder_01_4.html b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__VariableOrder_01_4.html index 9bb3b6e8b8..93ba0dc1da 100644 --- a/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__VariableOrder_01_4.html +++ b/docs/cpp_sat/structis__proto__enum_3_01_1_1operations__research_1_1sat_1_1SatParameters__VariableOrder_01_4.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structoperations__research_1_1ClosedInterval-members.html b/docs/cpp_sat/structoperations__research_1_1ClosedInterval-members.html index 1c4c31cfd7..9b36983c87 100644 --- a/docs/cpp_sat/structoperations__research_1_1ClosedInterval-members.html +++ b/docs/cpp_sat/structoperations__research_1_1ClosedInterval-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structoperations__research_1_1ClosedInterval.html b/docs/cpp_sat/structoperations__research_1_1ClosedInterval.html index 0a971e5080..348e5d1ee7 100644 --- a/docs/cpp_sat/structoperations__research_1_1ClosedInterval.html +++ b/docs/cpp_sat/structoperations__research_1_1ClosedInterval.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structoperations__research_1_1SortedDisjointIntervalList_1_1IntervalComparator-members.html b/docs/cpp_sat/structoperations__research_1_1SortedDisjointIntervalList_1_1IntervalComparator-members.html index 2e82f58714..cfbcc51bfe 100644 --- a/docs/cpp_sat/structoperations__research_1_1SortedDisjointIntervalList_1_1IntervalComparator-members.html +++ b/docs/cpp_sat/structoperations__research_1_1SortedDisjointIntervalList_1_1IntervalComparator-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/structoperations__research_1_1SortedDisjointIntervalList_1_1IntervalComparator.html b/docs/cpp_sat/structoperations__research_1_1SortedDisjointIntervalList_1_1IntervalComparator.html index 39e2daa434..77c79cd612 100644 --- a/docs/cpp_sat/structoperations__research_1_1SortedDisjointIntervalList_1_1IntervalComparator.html +++ b/docs/cpp_sat/structoperations__research_1_1SortedDisjointIntervalList_1_1IntervalComparator.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/cpp_sat/todo.html b/docs/cpp_sat/todo.html index 5648759225..2e62024c0a 100644 --- a/docs/cpp_sat/todo.html +++ b/docs/cpp_sat/todo.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/java/AssignmentElement_8java.html b/docs/java/AssignmentElement_8java.html index d9b0bee27a..32bbd6a95f 100644 --- a/docs/java/AssignmentElement_8java.html +++ b/docs/java/AssignmentElement_8java.html @@ -24,11 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/java/classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver-members.html b/docs/java/classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver-members.html index b3f0a7bec1..d4ef8c2834 100644 --- a/docs/java/classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver-members.html +++ b/docs/java/classcom_1_1google_1_1ortools_1_1algorithms_1_1KnapsackSolver-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/java/com_2google_2ortools_2sat_2Constraint_8java.html b/docs/java/com_2google_2ortools_2sat_2Constraint_8java.html index dce5d2c160..87684fab65 100644 --- a/docs/java/com_2google_2ortools_2sat_2Constraint_8java.html +++ b/docs/java/com_2google_2ortools_2sat_2Constraint_8java.html @@ -24,11 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - - - - - - diff --git a/docs/java/dir_06c320066273db25e45ae140036401c9.html b/docs/java/dir_06c320066273db25e45ae140036401c9.html index b61fe8500e..b3939b21be 100644 --- a/docs/java/dir_06c320066273db25e45ae140036401c9.html +++ b/docs/java/dir_06c320066273db25e45ae140036401c9.html @@ -24,11 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • - - - - - - - - - - - - - - - - - - - diff --git a/docs/java/functions.html b/docs/java/functions.html index c9d29add07..8f9dedd644 100644 --- a/docs/java/functions.html +++ b/docs/java/functions.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • - - - - - - diff --git a/docs/java/hierarchy.html b/docs/java/hierarchy.html index 5b489ec948..a244ec37de 100644 --- a/docs/java/hierarchy.html +++ b/docs/java/hierarchy.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/java/index.html b/docs/java/index.html index f81b2e9242..421d0acb74 100644 --- a/docs/java/index.html +++ b/docs/java/index.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/java/inherits.html b/docs/java/inherits.html index 786395faf8..2f3a7104c9 100644 --- a/docs/java/inherits.html +++ b/docs/java/inherits.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/java/interfacecom_1_1google_1_1ortools_1_1constraintsolver_1_1ConstraintSolverParametersOrBuilder-members.html b/docs/java/interfacecom_1_1google_1_1ortools_1_1constraintsolver_1_1ConstraintSolverParametersOrBuilder-members.html index 9baa73b6b1..d2364aaa3b 100644 --- a/docs/java/interfacecom_1_1google_1_1ortools_1_1constraintsolver_1_1ConstraintSolverParametersOrBuilder-members.html +++ b/docs/java/interfacecom_1_1google_1_1ortools_1_1constraintsolver_1_1ConstraintSolverParametersOrBuilder-members.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • - - diff --git a/docs/java/namespacecom_1_1google.html b/docs/java/namespacecom_1_1google.html index e5f29886b3..56189fd329 100644 --- a/docs/java/namespacecom_1_1google.html +++ b/docs/java/namespacecom_1_1google.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/docs/java/pages.html b/docs/java/pages.html index 1142180c71..d4a0a4466d 100644 --- a/docs/java/pages.html +++ b/docs/java/pages.html @@ -24,6 +24,7 @@
  • Related Pages
  • Namespaces
  • Classes
  • +
  • Files
  • diff --git a/ortools/linear_solver/linear_expr.h b/ortools/linear_solver/linear_expr.h index d3a3adf905..1909e5bad3 100644 --- a/ortools/linear_solver/linear_expr.h +++ b/ortools/linear_solver/linear_expr.h @@ -14,57 +14,68 @@ #ifndef OR_TOOLS_LINEAR_SOLVER_LINEAR_EXPR_H_ #define OR_TOOLS_LINEAR_SOLVER_LINEAR_EXPR_H_ -// This file allows you to write natural code (like a mathematical equation) to -// model optimization problems with MPSolver. It is syntatic sugar on top of -// the MPSolver API, it provides no additional functionality. Use of these APIs -// makes it much easier to write code that is both simple and big-O optimal for -// creating your model, at the cost of some additional constant factor -// overhead. If model creation is a bottleneck in your problem, consider using -// the MPSolver API directly instead. -// -// This file contains two classes: -// 1. LinearExpr: models offset + sum_{i in S} a_i*x_i for decision var x_i, -// 2. LinearRange: models lb <= sum_{i in S} a_i*x_i <= ub, -// and it provides various operator overloads to build up "LinearExpr"s and -// then convert them to "LinearRange"s. -// -// Recommended use (avoids dangerous code): -// -// MPSolver solver = ...; -// const LinearExpr x = solver.MakeVar(...); // Note: implicit conversion -// const LinearExpr y = solver.MakeVar(...); -// const LinearExpr z = solver.MakeVar(...); -// const LinearExpr e1 = x + y; -// const LinearExpr e2 = (e1 + 7.0 + z)/3.0; -// const LinearRange r = e1 <= e2; -// solver.MakeRowConstraint(r); -// -// WARNING, AVOID THIS TRAP: -// -// MPSolver solver = ...; -// MPVariable* x = solver.MakeVar(...); -// LinearExpr y = x + 5; -// -// In evaluating "x+5" above, x is NOT converted to a LinearExpr before the -// addition, but rather is treated as a pointer, so x+5 gives a new pointer to -// garbage memory. -// -// For this reason, when using LinearExpr, it is best practice to: -// 1. use double literals instead of ints (e.g. "x + 5.0", not "x + 5"), -// 2. Immediately convert all MPVariable* to LinearExpr on creation, and only -// hold references to the "LinearExpr"s. -// -// Likewise, the following code is NOT recommended: -// MPSolver solver = ...; -// MPVariable* x = solver.MakeVar(...); -// MPVariable* y = solver.MakeVar(...); -// LinearExpr e1 = LinearExpr(x) + y + 5; -// -// While it is correct, it violates the natural assumption that the + operator -// is associative. Thus you are setting a trap for future modifications of the -// code, as any of the following changes would lead to the above failure mode: -// * LinearExpr e1 = LinearExpr(x) + (y + 5); -// * LinearExpr e1 = y + 5 + LinearExpr(x); +/** + * \file + * This file allows you to write natural code (like a mathematical equation) to + * model optimization problems with MPSolver. It is syntatic sugar on top of + * the MPSolver API, it provides no additional functionality. Use of these APIs + * makes it much easier to write code that is both simple and big-O optimal for + * creating your model, at the cost of some additional constant factor + * overhead. If model creation is a bottleneck in your problem, consider using + * the MPSolver API directly instead. + * + * This file contains two classes: + * 1. LinearExpr: models offset + sum_{i in S} a_i*x_i for decision var x_i, + * 2. LinearRange: models lb <= sum_{i in S} a_i*x_i <= ub, + * and it provides various operator overloads to build up "LinearExpr"s and + * then convert them to "LinearRange"s. + * + * Recommended use (avoids dangerous code): + * + * \code + MPSolver solver = ...; + const LinearExpr x = solver.MakeVar(...); * Note: implicit conversion + const LinearExpr y = solver.MakeVar(...); + const LinearExpr z = solver.MakeVar(...); + const LinearExpr e1 = x + y; + const LinearExpr e2 = (e1 + 7.0 + z)/3.0; + const LinearRange r = e1 <= e2; + solver.MakeRowConstraint(r); + \endcode + * + * WARNING, AVOID THIS TRAP: + * + * \code + MPSolver solver = ...; + MPVariable* x = solver.MakeVar(...); + LinearExpr y = x + 5; + \endcode + * + * In evaluating "x+5" above, x is NOT converted to a LinearExpr before the + * addition, but rather is treated as a pointer, so x+5 gives a new pointer to + * garbage memory. + * + * For this reason, when using LinearExpr, it is best practice to: + * 1. use double literals instead of ints (e.g. "x + 5.0", not "x + 5"), + * 2. Immediately convert all MPVariable* to LinearExpr on creation, and only + * hold references to the "LinearExpr"s. + * + * Likewise, the following code is NOT recommended: + * \code + MPSolver solver = ...; + MPVariable* x = solver.MakeVar(...); + MPVariable* y = solver.MakeVar(...); + LinearExpr e1 = LinearExpr(x) + y + 5; + \endcode + * + * While it is correct, it violates the natural assumption that the + operator + * is associative. Thus you are setting a trap for future modifications of the + * code, as any of the following changes would lead to the above failure mode: + * + * * \c LinearExpr e1 = LinearExpr(x) + (y + 5); + * * \c LinearExpr e1 = y + 5 + LinearExpr(x); + * \endpage + */ #include "absl/container/flat_hash_map.h" @@ -74,41 +85,52 @@ namespace operations_research { // MPVariable is defined in linear_solver.h, which depends on LinearExpr. class MPVariable; -// LinearExpr models a quantity that is linear in the decision variables -// (MPVariable) of an optimization problem, i.e. -// -// offset + sum_{i in S} a_i*x_i, -// -// where the a_i and offset are constants and the x_i are MPVariables. You can -// use a LinearExpr "linear_expr" with an MPSolver "solver" to: -// * Set as the objective of your optimization problem, e.g. -// -// solver.MutableObjective()->MaximizeLinearExpr(linear_expr); -// -// * Create a constraint in your optimization, e.g. -// -// solver.MakeRowConstraint(linear_expr1 <= linear_expr2); -// -// * Get the value of the quantity after solving, e.g. -// -// solver.Solve(); -// linear_expr.SolutionValue(); -// -// LinearExpr is allowed to delete variables with coefficient zero from the map, -// but is not obligated to do so. +/** + * LinearExpr models a quantity that is linear in the decision variables + * (MPVariable) of an optimization problem, i.e. + * + * offset + sum_{i in S} a_i*x_i, + * + * where the a_i and offset are constants and the x_i are MPVariables. You can + * use a LinearExpr "linear_expr" with an MPSolver "solver" to: + * * Set as the objective of your optimization problem, e.g. + * + * solver.MutableObjective()->MaximizeLinearExpr(linear_expr); + * + * * Create a constraint in your optimization, e.g. + * + * solver.MakeRowConstraint(linear_expr1 <= linear_expr2); + * + * * Get the value of the quantity after solving, e.g. + * + * solver.Solve(); + * linear_expr.SolutionValue(); + * + * LinearExpr is allowed to delete variables with coefficient zero from the map, + * but is not obligated to do so. + */ class LinearExpr { public: LinearExpr(); - // Possible implicit conversions are intentional. + /** + * Possible implicit conversions are intentional. + */ LinearExpr(double constant); // NOLINT - // Possible implicit conversions are intentional. - // Warning: var is not owned. + + /*** + * Possible implicit conversions are intentional. + * + * Warning: var is not owned. + */ LinearExpr(const MPVariable* var); // NOLINT - // Returns 1-var. - // NOTE(user): if var is binary variable, this corresponds to the logical - // negation of var. - // Passing by value is intentional, see the discussion on binary ops. + /** + * Returns 1-var. + * + * NOTE(user): if var is binary variable, this corresponds to the logical + * negation of var. + * Passing by value is intentional, see the discussion on binary ops. + */ static LinearExpr NotVar(LinearExpr var); LinearExpr& operator+=(const LinearExpr& rhs); @@ -122,8 +144,11 @@ class LinearExpr { return terms_; } - // Call only after calling MPSolver::Solve. Evaluates the value of this - // expression at the solution found. + /** + * Evaluates the value of this expression at the solution found. + * + * It must be called only after calling MPSolver::Solve. + */ double SolutionValue() const; private: @@ -144,13 +169,16 @@ LinearExpr operator*(LinearExpr lhs, double rhs); LinearExpr operator/(LinearExpr lhs, double rhs); LinearExpr operator*(double lhs, LinearExpr rhs); -// An expression of the form: -// lower_bound <= sum_{i in S} a_i*x_i <= upper_bound. -// The sum is represented as a LinearExpr with offset 0. -// -// Must be added to model with -// MPSolver::AddRowConstraint(const LinearRange& range[, const std::string& -// name]); +/** + * An expression of the form: + * + * \code lower_bound <= sum_{i in S} a_i*x_i <= upper_bound. \endcode + * The sum is represented as a LinearExpr with offset 0. + * + * Must be added to model with + * MPSolver::AddRowConstraint(const LinearRange& range, + * const std::string& name); + */ class LinearRange { public: LinearRange() : lower_bound_(0), upper_bound_(0) {} diff --git a/ortools/linear_solver/linear_solver.h b/ortools/linear_solver/linear_solver.h index 154f39e92a..4c13c49bc8 100644 --- a/ortools/linear_solver/linear_solver.h +++ b/ortools/linear_solver/linear_solver.h @@ -11,123 +11,125 @@ // See the License for the specific language governing permissions and // limitations under the License. -// A C++ wrapper that provides a simple and unified interface to -// several linear programming and mixed integer programming solvers: -// GLOP, GLPK, CLP, CBC, and SCIP. The wrapper can also be used in Java, C#, -// and Python via SWIG. -// -// -// What is Linear Programming? -// -// In mathematics, linear programming (LP) is a technique for optimization of -// a linear objective function, subject to linear equality and linear -// inequality constraints. Informally, linear programming determines the way -// to achieve the best outcome (such as maximum profit or lowest cost) in a -// given mathematical model and given some list of requirements represented -// as linear equations. -// -// The most widely used technique for solving a linear program is the Simplex -// algorithm, devised by George Dantzig in 1947. It performs very well on -// most instances, for which its running time is polynomial. A lot of effort -// has been put into improving the algorithm and its implementation. As a -// byproduct, it has however been shown that one can always construct -// problems that take exponential time for the Simplex algorithm to solve. -// Research has thus focused on trying to find a polynomial algorithm for -// linear programming, or to prove that linear programming is indeed -// polynomial. -// -// Leonid Khachiyan first exhibited in 1979 a weakly polynomial algorithm for -// linear programming. "Weakly polynomial" means that the running time of the -// algorithm is in O(P(n) * 2^p) where P(n) is a polynomial of the size of the -// problem, and p is the precision of computations expressed in number of -// bits. With a fixed-precision, floating-point-based implementation, a weakly -// polynomial algorithm will thus run in polynomial time. No implementation -// of Khachiyan's algorithm has proved efficient, but a larger breakthrough in -// the field came in 1984 when Narendra Karmarkar introduced a new interior -// point method for solving linear programming problems. Interior point -// algorithms have proved efficient on very large linear programs. -// -// Check Wikipedia for more detail: -// http://en.wikipedia.org/wiki/Linear_programming -// -// ----------------------------------- -// -// Example of a Linear Program -// -// maximize: -// 3x + y -// subject to: -// 1.5 x + 2 y <= 12 -// 0 <= x <= 3 -// 0 <= y <= 5 -// -// A linear program has: -// 1) a linear objective function -// 2) linear constraints that can be equalities or inequalities -// 3) bounds on variables that can be positive, negative, finite or -// infinite. -// -// ----------------------------------- -// -// What is Mixed Integer Programming? -// -// Here, the constraints and the objective are still linear but -// there are additional integrality requirements for variables. If -// all variables are required to take integer values, then the -// problem is called an integer program (IP). In most cases, only -// some variables are required to be integer and the rest of the -// variables are continuous: this is called a mixed integer program -// (MIP). IPs and MIPs are generally NP-hard. -// -// Integer variables can be used to model discrete decisions (build a -// datacenter in city A or city B), logical relationships (only -// place machines in datacenter A if we have decided to build -// datacenter A) and approximate non-linear functions with piecewise -// linear functions (for example, the cost of machines as a function -// of how many machines are bought, or the latency of a server as a -// function of its load). -// -// ----------------------------------- -// -// How to use the wrapper -// -// The user builds the model and solves it through the MPSolver class, -// then queries the solution through the MPSolver, MPVariable and -// MPConstraint classes. To be able to query a solution, you need the -// following: -// - A solution exists: MPSolver::Solve has been called and a solution -// has been found. -// - The model has not been modified since the last time -// MPSolver::Solve was called. Otherwise, the solution obtained -// before the model modification may not longer be feasible or -// optimal. -// -// @see ../examples/linear_programming.cc for a simple LP example. -// -// @see ../examples/integer_programming.cc for a simple MIP example. -// -// All methods cannot be called successfully in all cases. For -// example: you cannot query a solution when no solution exists, you -// cannot query a reduced cost value (which makes sense only on -// continuous problems) on a discrete problem. When a method is -// called in an unsuitable context, it aborts with a -// LOG(FATAL). -// TODO(user): handle failures gracefully. -// -// ----------------------------------- -// -// For developers: How the wrapper works -// -// MPSolver stores a representation of the model (variables, -// constraints and objective) in its own data structures and a -// pointer to a MPSolverInterface that wraps the underlying solver -// (GLOP, CBC, CLP, GLPK, or SCIP) that does the actual work. The -// underlying solver also keeps a representation of the model in its -// own data structures. The model representations in MPSolver and in -// the underlying solver are kept in sync by the 'extraction' -// mechanism: synchronously for some changes and asynchronously -// (when MPSolver::Solve is called) for others. Synchronicity -// depends on the modification applied and on the underlying solver. +/** + * \file + * A C++ wrapper that provides a simple and unified interface to + * several linear programming and mixed integer programming solvers: + * GLOP, GLPK, CLP, CBC, and SCIP. The wrapper can also be used in Java, C#, + * and Python via SWIG. + * + * What is Linear Programming? + * + * In mathematics, linear programming (LP) is a technique for optimization of + * a linear objective function, subject to linear equality and linear + * inequality constraints. Informally, linear programming determines the way + * to achieve the best outcome (such as maximum profit or lowest cost) in a + * given mathematical model and given some list of requirements represented + * as linear equations. + * + * The most widely used technique for solving a linear program is the Simplex + * algorithm, devised by George Dantzig in 1947. It performs very well on + * most instances, for which its running time is polynomial. A lot of effort + * has been put into improving the algorithm and its implementation. As a + * byproduct, it has however been shown that one can always construct + * problems that take exponential time for the Simplex algorithm to solve. + * Research has thus focused on trying to find a polynomial algorithm for + * linear programming, or to prove that linear programming is indeed + * polynomial. + * + * Leonid Khachiyan first exhibited in 1979 a weakly polynomial algorithm for + * linear programming. "Weakly polynomial" means that the running time of the + * algorithm is in O(P(n) * 2^p) where P(n) is a polynomial of the size of the + * problem, and p is the precision of computations expressed in number of + * bits. With a fixed-precision, floating-point-based implementation, a weakly + * polynomial algorithm will thus run in polynomial time. No implementation + * of Khachiyan's algorithm has proved efficient, but a larger breakthrough in + * the field came in 1984 when Narendra Karmarkar introduced a new interior + * point method for solving linear programming problems. Interior point + * algorithms have proved efficient on very large linear programs. + * + * Check Wikipedia for more detail: + * http: *en.wikipedia.org/wiki/Linear_programming + * + * ----------------------------------- + * + * Example of a Linear Program + * + * maximize: + * 3x + y + * subject to: + * 1.5 x + 2 y <= 12 + * 0 <= x <= 3 + * 0 <= y <= 5 + * + * A linear program has: + * 1) a linear objective function + * 2) linear constraints that can be equalities or inequalities + * 3) bounds on variables that can be positive, negative, finite or + * infinite. + * + * ----------------------------------- + * + * What is Mixed Integer Programming? + * + * Here, the constraints and the objective are still linear but + * there are additional integrality requirements for variables. If + * all variables are required to take integer values, then the + * problem is called an integer program (IP). In most cases, only + * some variables are required to be integer and the rest of the + * variables are continuous: this is called a mixed integer program + * (MIP). IPs and MIPs are generally NP-hard. + * + * Integer variables can be used to model discrete decisions (build a + * datacenter in city A or city B), logical relationships (only + * place machines in datacenter A if we have decided to build + * datacenter A) and approximate non-linear functions with piecewise + * linear functions (for example, the cost of machines as a function + * of how many machines are bought, or the latency of a server as a + * function of its load). + * + * ----------------------------------- + * + * How to use the wrapper + * + * The user builds the model and solves it through the MPSolver class, + * then queries the solution through the MPSolver, MPVariable and + * MPConstraint classes. To be able to query a solution, you need the + * following: + * - A solution exists: MPSolver::Solve has been called and a solution + * has been found. + * - The model has not been modified since the last time + * MPSolver::Solve was called. Otherwise, the solution obtained + * before the model modification may not longer be feasible or + * optimal. + * + * @see ../examples/linear_programming.cc for a simple LP example. + * + * @see ../examples/integer_programming.cc for a simple MIP example. + * + * All methods cannot be called successfully in all cases. For + * example: you cannot query a solution when no solution exists, you + * cannot query a reduced cost value (which makes sense only on + * continuous problems) on a discrete problem. When a method is + * called in an unsuitable context, it aborts with a + * LOG(FATAL). + * TODO(user): handle failures gracefully. + * + * ----------------------------------- + * + * For developers: How the wrapper works + * + * MPSolver stores a representation of the model (variables, + * constraints and objective) in its own data structures and a + * pointer to a MPSolverInterface that wraps the underlying solver + * (GLOP, CBC, CLP, GLPK, or SCIP) that does the actual work. The + * underlying solver also keeps a representation of the model in its + * own data structures. The model representations in MPSolver and in + * the underlying solver are kept in sync by the 'extraction' + * mechanism: synchronously for some changes and asynchronously + * (when MPSolver::Solve is called) for others. Synchronicity + * depends on the modification applied and on the underlying solver. + */ #ifndef OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_ #define OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_ diff --git a/tools/doc/DoxygenLayout.xml b/tools/doc/DoxygenLayout.xml index bc6e209a6b..56a00c995a 100644 --- a/tools/doc/DoxygenLayout.xml +++ b/tools/doc/DoxygenLayout.xml @@ -29,9 +29,9 @@ - - - + + + @@ -128,10 +128,11 @@ - - - - + + + + + @@ -149,7 +150,6 @@ - diff --git a/tools/doc/cpp_linear.doxy b/tools/doc/cpp_linear.doxy index ad077ac0c6..21be6d3e04 100644 --- a/tools/doc/cpp_linear.doxy +++ b/tools/doc/cpp_linear.doxy @@ -791,6 +791,7 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = \ + ortools/linear_solver/linear_expr.h \ ortools/linear_solver/linear_solver.h \ ortools/linear_solver/model_exporter.h \ ortools/linear_solver/model_exporter_swig_helper.h \