# @generated by generate_proto_mypy_stubs.py. Do not edit! import sys from google.protobuf.descriptor import ( Descriptor as google___protobuf___descriptor___Descriptor, EnumDescriptor as google___protobuf___descriptor___EnumDescriptor, FileDescriptor as google___protobuf___descriptor___FileDescriptor, ) from google.protobuf.duration_pb2 import ( Duration as google___protobuf___duration_pb2___Duration, ) from google.protobuf.internal.enum_type_wrapper import ( _EnumTypeWrapper as google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper, ) from google.protobuf.message import ( Message as google___protobuf___message___Message, ) from ortools.constraint_solver.routing_enums_pb2 import ( FirstSolutionStrategy as ortools___constraint_solver___routing_enums_pb2___FirstSolutionStrategy, LocalSearchMetaheuristic as ortools___constraint_solver___routing_enums_pb2___LocalSearchMetaheuristic, ) from ortools.constraint_solver.solver_parameters_pb2 import ( ConstraintSolverParameters as ortools___constraint_solver___solver_parameters_pb2___ConstraintSolverParameters, ) from ortools.util.optional_boolean_pb2 import ( OptionalBooleanValue as ortools___util___optional_boolean_pb2___OptionalBooleanValue, ) from typing import ( NewType as typing___NewType, Optional as typing___Optional, Text as typing___Text, cast as typing___cast, ) from typing_extensions import ( Literal as typing_extensions___Literal, ) builtin___bool = bool builtin___bytes = bytes builtin___float = float builtin___int = int DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ... class RoutingSearchParameters(google___protobuf___message___Message): DESCRIPTOR: google___protobuf___descriptor___Descriptor = ... SchedulingSolverValue = typing___NewType('SchedulingSolverValue', builtin___int) type___SchedulingSolverValue = SchedulingSolverValue SchedulingSolver: _SchedulingSolver class _SchedulingSolver(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[RoutingSearchParameters.SchedulingSolverValue]): DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ... UNSET = typing___cast(RoutingSearchParameters.SchedulingSolverValue, 0) GLOP = typing___cast(RoutingSearchParameters.SchedulingSolverValue, 1) CP_SAT = typing___cast(RoutingSearchParameters.SchedulingSolverValue, 2) UNSET = typing___cast(RoutingSearchParameters.SchedulingSolverValue, 0) GLOP = typing___cast(RoutingSearchParameters.SchedulingSolverValue, 1) CP_SAT = typing___cast(RoutingSearchParameters.SchedulingSolverValue, 2) type___SchedulingSolver = SchedulingSolver class LocalSearchNeighborhoodOperators(google___protobuf___message___Message): DESCRIPTOR: google___protobuf___descriptor___Descriptor = ... use_relocate: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_relocate_pair: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_light_relocate_pair: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_relocate_neighbors: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_relocate_subtrip: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_exchange: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_exchange_pair: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_exchange_subtrip: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_cross: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_cross_exchange: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_relocate_expensive_chain: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_two_opt: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_or_opt: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_lin_kernighan: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_tsp_opt: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_make_active: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_relocate_and_make_active: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_make_inactive: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_make_chain_inactive: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_swap_active: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_extended_swap_active: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_node_pair_swap_active: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_path_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_full_path_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_tsp_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_inactive_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_global_cheapest_insertion_path_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_local_cheapest_insertion_path_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_relocate_path_global_cheapest_insertion_insert_unperformed: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_global_cheapest_insertion_expensive_chain_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_local_cheapest_insertion_expensive_chain_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_global_cheapest_insertion_close_nodes_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_local_cheapest_insertion_close_nodes_lns: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... def __init__(self, *, use_relocate : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_relocate_pair : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_light_relocate_pair : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_relocate_neighbors : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_relocate_subtrip : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_exchange : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_exchange_pair : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_exchange_subtrip : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_cross : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_cross_exchange : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_relocate_expensive_chain : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_two_opt : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_or_opt : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_lin_kernighan : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_tsp_opt : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_make_active : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_relocate_and_make_active : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_make_inactive : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_make_chain_inactive : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_swap_active : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_extended_swap_active : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_node_pair_swap_active : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_path_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_full_path_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_tsp_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_inactive_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_global_cheapest_insertion_path_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_local_cheapest_insertion_path_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_relocate_path_global_cheapest_insertion_insert_unperformed : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_global_cheapest_insertion_expensive_chain_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_local_cheapest_insertion_expensive_chain_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_global_cheapest_insertion_close_nodes_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_local_cheapest_insertion_close_nodes_lns : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, ) -> None: ... def ClearField(self, field_name: typing_extensions___Literal[u"use_cross",b"use_cross",u"use_cross_exchange",b"use_cross_exchange",u"use_exchange",b"use_exchange",u"use_exchange_pair",b"use_exchange_pair",u"use_exchange_subtrip",b"use_exchange_subtrip",u"use_extended_swap_active",b"use_extended_swap_active",u"use_full_path_lns",b"use_full_path_lns",u"use_global_cheapest_insertion_close_nodes_lns",b"use_global_cheapest_insertion_close_nodes_lns",u"use_global_cheapest_insertion_expensive_chain_lns",b"use_global_cheapest_insertion_expensive_chain_lns",u"use_global_cheapest_insertion_path_lns",b"use_global_cheapest_insertion_path_lns",u"use_inactive_lns",b"use_inactive_lns",u"use_light_relocate_pair",b"use_light_relocate_pair",u"use_lin_kernighan",b"use_lin_kernighan",u"use_local_cheapest_insertion_close_nodes_lns",b"use_local_cheapest_insertion_close_nodes_lns",u"use_local_cheapest_insertion_expensive_chain_lns",b"use_local_cheapest_insertion_expensive_chain_lns",u"use_local_cheapest_insertion_path_lns",b"use_local_cheapest_insertion_path_lns",u"use_make_active",b"use_make_active",u"use_make_chain_inactive",b"use_make_chain_inactive",u"use_make_inactive",b"use_make_inactive",u"use_node_pair_swap_active",b"use_node_pair_swap_active",u"use_or_opt",b"use_or_opt",u"use_path_lns",b"use_path_lns",u"use_relocate",b"use_relocate",u"use_relocate_and_make_active",b"use_relocate_and_make_active",u"use_relocate_expensive_chain",b"use_relocate_expensive_chain",u"use_relocate_neighbors",b"use_relocate_neighbors",u"use_relocate_pair",b"use_relocate_pair",u"use_relocate_path_global_cheapest_insertion_insert_unperformed",b"use_relocate_path_global_cheapest_insertion_insert_unperformed",u"use_relocate_subtrip",b"use_relocate_subtrip",u"use_swap_active",b"use_swap_active",u"use_tsp_lns",b"use_tsp_lns",u"use_tsp_opt",b"use_tsp_opt",u"use_two_opt",b"use_two_opt"]) -> None: ... type___LocalSearchNeighborhoodOperators = LocalSearchNeighborhoodOperators class ImprovementSearchLimitParameters(google___protobuf___message___Message): DESCRIPTOR: google___protobuf___descriptor___Descriptor = ... improvement_rate_coefficient: builtin___float = ... improvement_rate_solutions_distance: builtin___int = ... def __init__(self, *, improvement_rate_coefficient : typing___Optional[builtin___float] = None, improvement_rate_solutions_distance : typing___Optional[builtin___int] = None, ) -> None: ... def ClearField(self, field_name: typing_extensions___Literal[u"improvement_rate_coefficient",b"improvement_rate_coefficient",u"improvement_rate_solutions_distance",b"improvement_rate_solutions_distance"]) -> None: ... type___ImprovementSearchLimitParameters = ImprovementSearchLimitParameters first_solution_strategy: ortools___constraint_solver___routing_enums_pb2___FirstSolutionStrategy.ValueValue = ... use_unfiltered_first_solution_strategy: builtin___bool = ... savings_neighbors_ratio: builtin___float = ... savings_max_memory_usage_bytes: builtin___float = ... savings_add_reverse_arcs: builtin___bool = ... savings_arc_coefficient: builtin___float = ... savings_parallel_routes: builtin___bool = ... cheapest_insertion_farthest_seeds_ratio: builtin___float = ... cheapest_insertion_first_solution_neighbors_ratio: builtin___float = ... cheapest_insertion_ls_operator_neighbors_ratio: builtin___float = ... cheapest_insertion_add_unperformed_entries: builtin___bool = ... christofides_use_minimum_matching: builtin___bool = ... use_multi_armed_bandit_concatenate_operators: builtin___bool = ... multi_armed_bandit_compound_operator_memory_coefficient: builtin___float = ... multi_armed_bandit_compound_operator_exploration_coefficient: builtin___float = ... relocate_expensive_chain_num_arcs_to_consider: builtin___int = ... heuristic_expensive_chain_lns_num_arcs_to_consider: builtin___int = ... heuristic_close_nodes_lns_num_nodes: builtin___int = ... local_search_metaheuristic: ortools___constraint_solver___routing_enums_pb2___LocalSearchMetaheuristic.ValueValue = ... guided_local_search_lambda_coefficient: builtin___float = ... use_depth_first_search: builtin___bool = ... use_cp: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... use_cp_sat: ortools___util___optional_boolean_pb2___OptionalBooleanValue = ... continuous_scheduling_solver: type___RoutingSearchParameters.SchedulingSolverValue = ... mixed_integer_scheduling_solver: type___RoutingSearchParameters.SchedulingSolverValue = ... optimization_step: builtin___float = ... number_of_solutions_to_collect: builtin___int = ... solution_limit: builtin___int = ... use_full_propagation: builtin___bool = ... log_search: builtin___bool = ... log_cost_scaling_factor: builtin___float = ... log_cost_offset: builtin___float = ... log_tag: typing___Text = ... @property def local_search_operators(self) -> type___RoutingSearchParameters.LocalSearchNeighborhoodOperators: ... @property def time_limit(self) -> google___protobuf___duration_pb2___Duration: ... @property def lns_time_limit(self) -> google___protobuf___duration_pb2___Duration: ... @property def improvement_limit_parameters(self) -> type___RoutingSearchParameters.ImprovementSearchLimitParameters: ... def __init__(self, *, first_solution_strategy : typing___Optional[ortools___constraint_solver___routing_enums_pb2___FirstSolutionStrategy.ValueValue] = None, use_unfiltered_first_solution_strategy : typing___Optional[builtin___bool] = None, savings_neighbors_ratio : typing___Optional[builtin___float] = None, savings_max_memory_usage_bytes : typing___Optional[builtin___float] = None, savings_add_reverse_arcs : typing___Optional[builtin___bool] = None, savings_arc_coefficient : typing___Optional[builtin___float] = None, savings_parallel_routes : typing___Optional[builtin___bool] = None, cheapest_insertion_farthest_seeds_ratio : typing___Optional[builtin___float] = None, cheapest_insertion_first_solution_neighbors_ratio : typing___Optional[builtin___float] = None, cheapest_insertion_ls_operator_neighbors_ratio : typing___Optional[builtin___float] = None, cheapest_insertion_add_unperformed_entries : typing___Optional[builtin___bool] = None, christofides_use_minimum_matching : typing___Optional[builtin___bool] = None, local_search_operators : typing___Optional[type___RoutingSearchParameters.LocalSearchNeighborhoodOperators] = None, use_multi_armed_bandit_concatenate_operators : typing___Optional[builtin___bool] = None, multi_armed_bandit_compound_operator_memory_coefficient : typing___Optional[builtin___float] = None, multi_armed_bandit_compound_operator_exploration_coefficient : typing___Optional[builtin___float] = None, relocate_expensive_chain_num_arcs_to_consider : typing___Optional[builtin___int] = None, heuristic_expensive_chain_lns_num_arcs_to_consider : typing___Optional[builtin___int] = None, heuristic_close_nodes_lns_num_nodes : typing___Optional[builtin___int] = None, local_search_metaheuristic : typing___Optional[ortools___constraint_solver___routing_enums_pb2___LocalSearchMetaheuristic.ValueValue] = None, guided_local_search_lambda_coefficient : typing___Optional[builtin___float] = None, use_depth_first_search : typing___Optional[builtin___bool] = None, use_cp : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, use_cp_sat : typing___Optional[ortools___util___optional_boolean_pb2___OptionalBooleanValue] = None, continuous_scheduling_solver : typing___Optional[type___RoutingSearchParameters.SchedulingSolverValue] = None, mixed_integer_scheduling_solver : typing___Optional[type___RoutingSearchParameters.SchedulingSolverValue] = None, optimization_step : typing___Optional[builtin___float] = None, number_of_solutions_to_collect : typing___Optional[builtin___int] = None, solution_limit : typing___Optional[builtin___int] = None, time_limit : typing___Optional[google___protobuf___duration_pb2___Duration] = None, lns_time_limit : typing___Optional[google___protobuf___duration_pb2___Duration] = None, improvement_limit_parameters : typing___Optional[type___RoutingSearchParameters.ImprovementSearchLimitParameters] = None, use_full_propagation : typing___Optional[builtin___bool] = None, log_search : typing___Optional[builtin___bool] = None, log_cost_scaling_factor : typing___Optional[builtin___float] = None, log_cost_offset : typing___Optional[builtin___float] = None, log_tag : typing___Optional[typing___Text] = None, ) -> None: ... def HasField(self, field_name: typing_extensions___Literal[u"improvement_limit_parameters",b"improvement_limit_parameters",u"lns_time_limit",b"lns_time_limit",u"local_search_operators",b"local_search_operators",u"time_limit",b"time_limit"]) -> builtin___bool: ... def ClearField(self, field_name: typing_extensions___Literal[u"cheapest_insertion_add_unperformed_entries",b"cheapest_insertion_add_unperformed_entries",u"cheapest_insertion_farthest_seeds_ratio",b"cheapest_insertion_farthest_seeds_ratio",u"cheapest_insertion_first_solution_neighbors_ratio",b"cheapest_insertion_first_solution_neighbors_ratio",u"cheapest_insertion_ls_operator_neighbors_ratio",b"cheapest_insertion_ls_operator_neighbors_ratio",u"christofides_use_minimum_matching",b"christofides_use_minimum_matching",u"continuous_scheduling_solver",b"continuous_scheduling_solver",u"first_solution_strategy",b"first_solution_strategy",u"guided_local_search_lambda_coefficient",b"guided_local_search_lambda_coefficient",u"heuristic_close_nodes_lns_num_nodes",b"heuristic_close_nodes_lns_num_nodes",u"heuristic_expensive_chain_lns_num_arcs_to_consider",b"heuristic_expensive_chain_lns_num_arcs_to_consider",u"improvement_limit_parameters",b"improvement_limit_parameters",u"lns_time_limit",b"lns_time_limit",u"local_search_metaheuristic",b"local_search_metaheuristic",u"local_search_operators",b"local_search_operators",u"log_cost_offset",b"log_cost_offset",u"log_cost_scaling_factor",b"log_cost_scaling_factor",u"log_search",b"log_search",u"log_tag",b"log_tag",u"mixed_integer_scheduling_solver",b"mixed_integer_scheduling_solver",u"multi_armed_bandit_compound_operator_exploration_coefficient",b"multi_armed_bandit_compound_operator_exploration_coefficient",u"multi_armed_bandit_compound_operator_memory_coefficient",b"multi_armed_bandit_compound_operator_memory_coefficient",u"number_of_solutions_to_collect",b"number_of_solutions_to_collect",u"optimization_step",b"optimization_step",u"relocate_expensive_chain_num_arcs_to_consider",b"relocate_expensive_chain_num_arcs_to_consider",u"savings_add_reverse_arcs",b"savings_add_reverse_arcs",u"savings_arc_coefficient",b"savings_arc_coefficient",u"savings_max_memory_usage_bytes",b"savings_max_memory_usage_bytes",u"savings_neighbors_ratio",b"savings_neighbors_ratio",u"savings_parallel_routes",b"savings_parallel_routes",u"solution_limit",b"solution_limit",u"time_limit",b"time_limit",u"use_cp",b"use_cp",u"use_cp_sat",b"use_cp_sat",u"use_depth_first_search",b"use_depth_first_search",u"use_full_propagation",b"use_full_propagation",u"use_multi_armed_bandit_concatenate_operators",b"use_multi_armed_bandit_concatenate_operators",u"use_unfiltered_first_solution_strategy",b"use_unfiltered_first_solution_strategy"]) -> None: ... type___RoutingSearchParameters = RoutingSearchParameters class RoutingModelParameters(google___protobuf___message___Message): DESCRIPTOR: google___protobuf___descriptor___Descriptor = ... reduce_vehicle_cost_model: builtin___bool = ... max_callback_cache_size: builtin___int = ... @property def solver_parameters(self) -> ortools___constraint_solver___solver_parameters_pb2___ConstraintSolverParameters: ... def __init__(self, *, solver_parameters : typing___Optional[ortools___constraint_solver___solver_parameters_pb2___ConstraintSolverParameters] = None, reduce_vehicle_cost_model : typing___Optional[builtin___bool] = None, max_callback_cache_size : typing___Optional[builtin___int] = None, ) -> None: ... def HasField(self, field_name: typing_extensions___Literal[u"solver_parameters",b"solver_parameters"]) -> builtin___bool: ... def ClearField(self, field_name: typing_extensions___Literal[u"max_callback_cache_size",b"max_callback_cache_size",u"reduce_vehicle_cost_model",b"reduce_vehicle_cost_model",u"solver_parameters",b"solver_parameters"]) -> None: ... type___RoutingModelParameters = RoutingModelParameters