update examples
This commit is contained in:
@@ -86,7 +86,7 @@ ABSL_FLAG(std::string, params, "", "Sat parameters.");
|
||||
namespace operations_research {
|
||||
namespace sat {
|
||||
// ---------- Data and Data Generation ----------
|
||||
static const int64 kDisconnectedDistance = -1LL;
|
||||
static const int64_t kDisconnectedDistance = -1LL;
|
||||
|
||||
// ----- Data -----
|
||||
// Contains problem data. It assumes capacities are symmetrical:
|
||||
@@ -440,7 +440,7 @@ class NetworkRoutingSolver {
|
||||
return num_paths;
|
||||
}
|
||||
|
||||
void AddArcData(int64 source, int64 destination, int arc_id) {
|
||||
void AddArcData(int64_t source, int64_t destination, int arc_id) {
|
||||
arcs_data_.push_back({source, destination, arc_id});
|
||||
}
|
||||
|
||||
@@ -488,9 +488,9 @@ class NetworkRoutingSolver {
|
||||
return total_demand;
|
||||
}
|
||||
|
||||
int64 InitShortestPaths(const NetworkRoutingData& data) {
|
||||
int64_t InitShortestPaths(const NetworkRoutingData& data) {
|
||||
const int num_demands = data.num_demands();
|
||||
int64 total_cumulated_traffic = 0;
|
||||
int64_t total_cumulated_traffic = 0;
|
||||
all_min_path_lengths_.clear();
|
||||
std::vector<int> paths;
|
||||
for (int demand_index = 0; demand_index < num_demands; ++demand_index) {
|
||||
@@ -537,7 +537,7 @@ class NetworkRoutingSolver {
|
||||
|
||||
InitArcInfo(data);
|
||||
const int total_demand = InitDemandInfo(data);
|
||||
const int64 total_cumulated_traffic = InitShortestPaths(data);
|
||||
const int64_t total_cumulated_traffic = InitShortestPaths(data);
|
||||
const int num_paths = InitPaths(data, extra_hops, max_paths);
|
||||
|
||||
// ----- Report Problem Sizes -----
|
||||
@@ -554,7 +554,7 @@ class NetworkRoutingSolver {
|
||||
|
||||
// ----- Callback for Dijkstra Shortest Path -----
|
||||
|
||||
int64 HasArc(int i, int j) {
|
||||
int64_t HasArc(int i, int j) {
|
||||
if (capacity_[i][j] > 0) {
|
||||
return 1;
|
||||
} else {
|
||||
@@ -564,7 +564,7 @@ class NetworkRoutingSolver {
|
||||
|
||||
// ----- Main Solve routine -----
|
||||
|
||||
int64 Solve() {
|
||||
int64_t Solve() {
|
||||
LOG(INFO) << "Solving model";
|
||||
const int num_demands = demands_array_.size();
|
||||
const int num_arcs = count_arcs();
|
||||
@@ -582,7 +582,7 @@ class NetworkRoutingSolver {
|
||||
TableConstraint path_ct =
|
||||
cp_model.AddAllowedAssignments(path_vars[demand_index]);
|
||||
for (const auto& one_path : all_paths_[demand_index]) {
|
||||
std::vector<int64> tuple(count_arcs(), 0);
|
||||
std::vector<int64_t> tuple(count_arcs(), 0);
|
||||
for (const int arc : one_path) {
|
||||
tuple[arc] = 1;
|
||||
}
|
||||
@@ -593,9 +593,9 @@ class NetworkRoutingSolver {
|
||||
std::vector<IntVar> traffic_vars(num_arcs);
|
||||
std::vector<IntVar> normalized_traffic_vars(num_arcs);
|
||||
std::vector<BoolVar> comfortable_traffic_vars(num_arcs);
|
||||
int64 max_normalized_traffic = 0;
|
||||
int64_t max_normalized_traffic = 0;
|
||||
for (int arc_index = 0; arc_index < num_arcs; ++arc_index) {
|
||||
int64 sum_of_traffic = 0;
|
||||
int64_t sum_of_traffic = 0;
|
||||
LinearExpr traffic_expr;
|
||||
for (int i = 0; i < path_vars.size(); ++i) {
|
||||
sum_of_traffic += demands_array_[i].traffic;
|
||||
@@ -606,7 +606,7 @@ class NetworkRoutingSolver {
|
||||
traffic_vars[arc_index] = traffic_var;
|
||||
cp_model.AddEquality(traffic_expr, traffic_var);
|
||||
|
||||
const int64 capacity = arc_capacity_[arc_index];
|
||||
const int64_t capacity = arc_capacity_[arc_index];
|
||||
IntVar scaled_traffic =
|
||||
cp_model.NewIntVar(Domain(0, sum_of_traffic * 1000));
|
||||
cp_model.AddEquality(LinearExpr::ScalProd({traffic_var}, {1000}),
|
||||
@@ -619,8 +619,8 @@ class NetworkRoutingSolver {
|
||||
cp_model.NewConstant(capacity));
|
||||
normalized_traffic_vars[arc_index] = normalized_traffic;
|
||||
const BoolVar comfort = cp_model.NewBoolVar();
|
||||
const int64 safe_capacity =
|
||||
static_cast<int64>(capacity * absl::GetFlag(FLAGS_comfort_zone));
|
||||
const int64_t safe_capacity =
|
||||
static_cast<int64_t>(capacity * absl::GetFlag(FLAGS_comfort_zone));
|
||||
cp_model.AddGreaterThan(traffic_var, safe_capacity)
|
||||
.OnlyEnforceIf(comfort);
|
||||
cp_model.AddLessOrEqual(traffic_var, safe_capacity)
|
||||
@@ -668,11 +668,11 @@ class NetworkRoutingSolver {
|
||||
private:
|
||||
int count_arcs() const { return arcs_data_.size() / 2; }
|
||||
|
||||
std::vector<std::vector<int64>> arcs_data_;
|
||||
std::vector<std::vector<int64_t>> arcs_data_;
|
||||
std::vector<int> arc_capacity_;
|
||||
std::vector<Demand> demands_array_;
|
||||
int num_nodes_;
|
||||
std::vector<int64> all_min_path_lengths_;
|
||||
std::vector<int64_t> all_min_path_lengths_;
|
||||
std::vector<std::vector<int>> capacity_;
|
||||
std::vector<std::vector<OnePath>> all_paths_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user