Files
ortools-clone/ortools/routing/parsers/BUILD.bazel
2025-05-26 15:07:03 +02:00

359 lines
9.8 KiB
Python

# Copyright 2010-2025 Google LLC
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("@protobuf//bazel:cc_proto_library.bzl", "cc_proto_library")
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_cc//cc:defs.bzl", "cc_library")
package(default_visibility = ["//visibility:public"])
proto_library(
name = "capacity_planning_proto",
srcs = ["capacity_planning.proto"],
)
cc_proto_library(
name = "capacity_planning_cc_proto",
deps = [":capacity_planning_proto"],
)
cc_library(
name = "simple_graph",
srcs = ["simple_graph.cc"],
hdrs = ["simple_graph.h"],
deps = [
"@abseil-cpp//absl/hash",
],
)
cc_test(
name = "simple_graph_test",
size = "small",
srcs = ["simple_graph_test.cc"],
deps = [
":simple_graph",
"@abseil-cpp//absl/hash:hash_testing",
"@googletest//:gtest_main",
],
)
cc_library(
name = "solomon_parser",
srcs = ["solomon_parser.cc"],
hdrs = ["solomon_parser.h"],
deps = [
":simple_graph",
"//ortools/base",
"//ortools/base:map_util",
"//ortools/base:numbers",
"//ortools/base:path",
"//ortools/base:zipfile",
"//ortools/util:filelineiter",
"@abseil-cpp//absl/strings",
"@re2",
],
)
cc_test(
name = "solomon_parser_test",
size = "small",
srcs = ["solomon_parser_test.cc"],
data = [
"//ortools/routing/parsers/testdata:c1_10_2-90-42222.96.txt",
"//ortools/routing/parsers/testdata:solomon.zip",
],
deps = [
":solomon_parser",
"//ortools/base",
"//ortools/base:file",
"//ortools/base:gmock",
"@googletest//:gtest_main",
],
)
cc_library(
name = "lilim_parser",
srcs = ["lilim_parser.cc"],
hdrs = ["lilim_parser.h"],
deps = [
":simple_graph",
"//ortools/base:file",
"//ortools/base:numbers",
"//ortools/base:path",
"//ortools/base:zipfile",
"//ortools/util:filelineiter",
"@abseil-cpp//absl/strings",
],
)
cc_test(
name = "lilim_parser_test",
size = "small",
srcs = ["lilim_parser_test.cc"],
data = [
"//ortools/routing/parsers/testdata:lilim.zip",
"//ortools/routing/parsers/testdata:pdptw_LRC2_10_6.txt",
],
deps = [
":lilim_parser",
"//ortools/base:path",
"@abseil-cpp//absl/flags:flag",
"@googletest//:gtest_main",
],
)
cc_library(
name = "carp_parser",
srcs = ["carp_parser.cc"],
hdrs = ["carp_parser.h"],
deps = [
":simple_graph",
"//ortools/base",
"//ortools/base:linked_hash_map",
"//ortools/base:numbers",
"//ortools/util:filelineiter",
],
)
cc_test(
name = "carp_parser_test",
size = "small",
srcs = ["carp_parser_test.cc"],
data = [
"//ortools/routing/parsers/testdata:carp_gdb19.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_diferente_deposito.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecta_lista_aristas_req.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecto_arinoreq.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecto_arireq.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecto_capacidad.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecto_coste.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecto_deposito.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecto_tipo.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecto_vehiculos.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_incorrecto_vertices.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_mixed_arcs.dat",
"//ortools/routing/parsers/testdata:carp_gdb19_no_arista_req.dat",
],
deps = [
":carp_parser",
"//ortools/base:gmock_main",
"//ortools/base:path",
"@abseil-cpp//absl/base:log_severity",
"@abseil-cpp//absl/flags:flag",
"@abseil-cpp//absl/hash:hash_testing",
"@abseil-cpp//absl/log:scoped_mock_log",
],
)
cc_library(
name = "nearp_parser",
srcs = ["nearp_parser.cc"],
hdrs = ["nearp_parser.h"],
deps = [
":simple_graph",
"//ortools/base",
"//ortools/base:linked_hash_map",
"//ortools/base:numbers",
"//ortools/util:filelineiter",
"@abseil-cpp//absl/container:flat_hash_map",
"@abseil-cpp//absl/hash",
],
)
cc_test(
name = "nearp_parser_test",
size = "small",
srcs = ["nearp_parser_test.cc"],
data = [
"//ortools/routing/parsers/testdata:nearp_BHW1.dat",
"//ortools/routing/parsers/testdata:nearp_toy.dat",
],
deps = [
":nearp_parser",
"//ortools/base:file",
"//ortools/base:path",
"@abseil-cpp//absl/flags:flag",
"@abseil-cpp//absl/hash:hash_testing",
"@googletest//:gtest_main",
],
)
cc_library(
name = "pdtsp_parser",
srcs = ["pdtsp_parser.cc"],
hdrs = ["pdtsp_parser.h"],
visibility = ["//visibility:public"],
deps = [
"//ortools/base",
"//ortools/base:file",
"//ortools/base:gzipfile",
"//ortools/base:mathutil",
"//ortools/base:numbers",
"//ortools/base:path",
"//ortools/base:strtoint",
"//ortools/util:filelineiter",
"@abseil-cpp//absl/strings",
],
)
cc_test(
name = "pdtsp_parser_test",
size = "small",
srcs = ["pdtsp_parser_test.cc"],
data = [
"//ortools/routing/parsers/testdata:pdtsp_prob10b.txt",
"//ortools/routing/parsers/testdata:pdtsp_prob10b.txt.gz",
],
deps = [
":pdtsp_parser",
"//ortools/base",
"//ortools/base:path",
"@googletest//:gtest_main",
],
)
cc_library(
name = "tsplib_parser",
srcs = ["tsplib_parser.cc"],
hdrs = ["tsplib_parser.h"],
visibility = ["//visibility:public"],
deps = [
":simple_graph",
"//ortools/base",
"//ortools/base:map_util",
"//ortools/base:mathutil",
"//ortools/base:numbers",
"//ortools/base:path",
"//ortools/base:strtoint",
"//ortools/base:zipfile",
"//ortools/util:filelineiter",
"@abseil-cpp//absl/container:flat_hash_map",
"@abseil-cpp//absl/strings",
"@re2",
],
)
cc_test(
name = "tsplib_parser_test",
size = "small",
timeout = "moderate",
srcs = ["tsplib_parser_test.cc"],
data = [
#"@com_google_ortools_data//TSPLIB95:ALL_atsp.tar",
#"@com_google_ortools_data//TSPLIB95:ALL_hcp.tar",
#"@com_google_ortools_data//TSPLIB95:ALL_sop.tar",
#"@com_google_ortools_data//TSPLIB95:ALL_tsp.tar.gz",
#"@com_google_ortools_data//TSPLIB95:ALL_tsp.zip",
#"@com_google_ortools_data//TSPLIB95:ALL_vrp.tar",
#"@com_google_ortools_data//TSPLIB95:ALL_vrp.zip",
"//ortools/routing/parsers/testdata:tsplib_Kytojoki_33.vrp",
],
deps = [
":tsplib_parser",
"//ortools/base",
"//ortools/base:file",
"//ortools/base:memfile",
"@abseil-cpp//absl/container:btree",
"@abseil-cpp//absl/strings",
"@abseil-cpp//absl/strings:str_format",
"@googletest//:gtest_main",
],
)
cc_library(
name = "tsptw_parser",
srcs = ["tsptw_parser.cc"],
hdrs = ["tsptw_parser.h"],
visibility = ["//visibility:public"],
deps = [
":simple_graph",
"//ortools/base",
"//ortools/base:mathutil",
"//ortools/base:numbers",
"//ortools/base:path",
"//ortools/base:strtoint",
"//ortools/base:zipfile",
"//ortools/util:filelineiter",
"@abseil-cpp//absl/strings",
],
)
cc_test(
name = "tsptw_parser_test",
size = "small",
srcs = ["tsptw_parser_test.cc"],
data = [
"//ortools/routing/parsers/testdata:n20w20.001.txt",
"//ortools/routing/parsers/testdata:n20w20.002.txt",
"//ortools/routing/parsers/testdata:rc201.0",
],
deps = [
":tsptw_parser",
"//ortools/base",
"@googletest//:gtest_main",
],
)
cc_library(
name = "solution_serializer",
srcs = ["solution_serializer.cc"],
hdrs = ["solution_serializer.h"],
deps = [
":simple_graph",
"//ortools/base",
"//ortools/base:file",
"@abseil-cpp//absl/strings",
"@abseil-cpp//absl/strings:str_format",
"@abseil-cpp//absl/time",
],
)
cc_test(
name = "solution_serializer_test",
size = "small",
srcs = ["solution_serializer_test.cc"],
target_compatible_with = select({
"@platforms//os:windows": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
deps = [
":solution_serializer",
"//ortools/base",
"//ortools/base:gmock_main",
"//ortools/base:mutable_memfile",
],
)
cc_library(
name = "cvrptw_lib",
srcs = ["cvrptw_lib.cc"],
hdrs = ["cvrptw_lib.h"],
deps = [
"//ortools/base",
"//ortools/routing",
"//ortools/util:random_engine",
],
)
cc_library(
name = "dow_parser",
srcs = ["dow_parser.cc"],
hdrs = ["dow_parser.h"],
deps = [
":capacity_planning_cc_proto",
"//ortools/base",
"//ortools/routing",
"//ortools/util:random_engine",
],
)