# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: routing_model.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
import optimizer_defs_pb2 as optimizer__defs__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='routing_model.proto',
  package='optilab.toolbox',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=_b('\n\x13routing_model.proto\x12\x0foptilab.toolbox\x1a\x19google/protobuf/any.proto\x1a\x14optimizer_defs.proto\"\xc1\x01\n\x19\x43reateRoutingOptimizerReq\x12Y\n\x13routing_engine_type\x18\x01 \x01(\x0e\x32<.optilab.toolbox.CreateRoutingOptimizerReq.RoutingEngineType\"I\n\x11RoutingEngineType\x12\r\n\tACTOR_VRP\x10\x00\x12\r\n\tACTOR_TSP\x10\x01\x12\n\n\x06\x43P_TSP\x10\x02\x12\n\n\x06\x43P_VRP\x10\x03\"\\\n\x13\x44istanceMatrixProto\x12\x0c\n\x04rows\x18\x01 \x01(\r\x12\x0c\n\x04\x63ols\x18\x02 \x01(\r\x12\x17\n\x0fmultiplier_data\x18\x03 \x01(\r\x12\x10\n\x04\x64\x61ta\x18\x04 \x03(\x01\x42\x02\x10\x01\"x\n\x10TimeWindowsProto\x12\x19\n\rinitial_times\x18\x01 \x03(\x03\x42\x02\x10\x01\x12\x15\n\tend_times\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x14\n\x0cwaiting_time\x18\x03 \x01(\x05\x12\x1c\n\x14max_time_per_vehicle\x18\x04 \x01(\x05\"\x84\x01\n\rTSPModelProto\x12\r\n\x05\x64\x65pot\x18\x01 \x01(\x05\x12=\n\x0f\x64istance_matrix\x18\x02 \x01(\x0b\x32$.optilab.toolbox.DistanceMatrixProto\x12%\n\x07\x64\x65tails\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\"\xf4\x01\n\rVRPModelProto\x12\x0e\n\x06\x64\x65mand\x18\x01 \x03(\r\x12\x10\n\x08\x63\x61pacity\x18\x02 \x03(\r\x12\x13\n\x0bnum_vehicle\x18\x03 \x01(\r\x12\r\n\x05\x64\x65pot\x18\x04 \x01(\x05\x12=\n\x0f\x64istance_matrix\x18\x05 \x01(\x0b\x32$.optilab.toolbox.DistanceMatrixProto\x12\x37\n\x0ctime_windows\x18\x06 \x01(\x0b\x32!.optilab.toolbox.TimeWindowsProto\x12%\n\x07\x64\x65tails\x18\x07 \x01(\x0b\x32\x14.google.protobuf.Any\"\x98\x01\n\x11RoutingModelProto\x12\x10\n\x08model_id\x18\x01 \x01(\t\x12\x33\n\ttsp_model\x18\n \x01(\x0b\x32\x1e.optilab.toolbox.TSPModelProtoH\x00\x12\x33\n\tvrp_model\x18\x0b \x01(\x0b\x32\x1e.optilab.toolbox.VRPModelProtoH\x00\x42\x07\n\x05model\"y\n\x18SingleRouteSolutionProto\x12\x12\n\nvehicle_id\x18\x01 \x01(\r\x12\r\n\x05route\x18\x02 \x03(\x05\x12\x0c\n\x04load\x18\x03 \x03(\x05\x12\x1a\n\x12tot_route_distance\x18\x04 \x01(\x04\x12\x10\n\x08tot_load\x18\x05 \x01(\x04\"\xd2\x01\n\x14RoutingSolutionProto\x12=\n\x06status\x18\x01 \x01(\x0e\x32-.optilab.toolbox.OptimizerSolutionStatusProto\x12\x12\n\nstatus_str\x18\x02 \x01(\t\x12\x14\n\x0ctot_distance\x18\x03 \x01(\x03\x12\x10\n\x08tot_load\x18\x04 \x01(\x03\x12?\n\x0csingle_route\x18\x05 \x03(\x0b\x32).optilab.toolbox.SingleRouteSolutionProtob\x06proto3')
  ,
  dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,optimizer__defs__pb2.DESCRIPTOR,])



_CREATEROUTINGOPTIMIZERREQ_ROUTINGENGINETYPE = _descriptor.EnumDescriptor(
  name='RoutingEngineType',
  full_name='optilab.toolbox.CreateRoutingOptimizerReq.RoutingEngineType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ACTOR_VRP', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ACTOR_TSP', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CP_TSP', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CP_VRP', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=210,
  serialized_end=283,
)
_sym_db.RegisterEnumDescriptor(_CREATEROUTINGOPTIMIZERREQ_ROUTINGENGINETYPE)


_CREATEROUTINGOPTIMIZERREQ = _descriptor.Descriptor(
  name='CreateRoutingOptimizerReq',
  full_name='optilab.toolbox.CreateRoutingOptimizerReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='routing_engine_type', full_name='optilab.toolbox.CreateRoutingOptimizerReq.routing_engine_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _CREATEROUTINGOPTIMIZERREQ_ROUTINGENGINETYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=90,
  serialized_end=283,
)


_DISTANCEMATRIXPROTO = _descriptor.Descriptor(
  name='DistanceMatrixProto',
  full_name='optilab.toolbox.DistanceMatrixProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='rows', full_name='optilab.toolbox.DistanceMatrixProto.rows', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='cols', full_name='optilab.toolbox.DistanceMatrixProto.cols', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='multiplier_data', full_name='optilab.toolbox.DistanceMatrixProto.multiplier_data', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='data', full_name='optilab.toolbox.DistanceMatrixProto.data', index=3,
      number=4, type=1, cpp_type=5, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\020\001'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=285,
  serialized_end=377,
)


_TIMEWINDOWSPROTO = _descriptor.Descriptor(
  name='TimeWindowsProto',
  full_name='optilab.toolbox.TimeWindowsProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='initial_times', full_name='optilab.toolbox.TimeWindowsProto.initial_times', index=0,
      number=1, type=3, cpp_type=2, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\020\001'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='end_times', full_name='optilab.toolbox.TimeWindowsProto.end_times', index=1,
      number=2, type=3, cpp_type=2, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\020\001'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='waiting_time', full_name='optilab.toolbox.TimeWindowsProto.waiting_time', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_time_per_vehicle', full_name='optilab.toolbox.TimeWindowsProto.max_time_per_vehicle', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=379,
  serialized_end=499,
)


_TSPMODELPROTO = _descriptor.Descriptor(
  name='TSPModelProto',
  full_name='optilab.toolbox.TSPModelProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='depot', full_name='optilab.toolbox.TSPModelProto.depot', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='distance_matrix', full_name='optilab.toolbox.TSPModelProto.distance_matrix', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='details', full_name='optilab.toolbox.TSPModelProto.details', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=502,
  serialized_end=634,
)


_VRPMODELPROTO = _descriptor.Descriptor(
  name='VRPModelProto',
  full_name='optilab.toolbox.VRPModelProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='demand', full_name='optilab.toolbox.VRPModelProto.demand', index=0,
      number=1, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='capacity', full_name='optilab.toolbox.VRPModelProto.capacity', index=1,
      number=2, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='num_vehicle', full_name='optilab.toolbox.VRPModelProto.num_vehicle', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='depot', full_name='optilab.toolbox.VRPModelProto.depot', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='distance_matrix', full_name='optilab.toolbox.VRPModelProto.distance_matrix', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='time_windows', full_name='optilab.toolbox.VRPModelProto.time_windows', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='details', full_name='optilab.toolbox.VRPModelProto.details', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=637,
  serialized_end=881,
)


_ROUTINGMODELPROTO = _descriptor.Descriptor(
  name='RoutingModelProto',
  full_name='optilab.toolbox.RoutingModelProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='model_id', full_name='optilab.toolbox.RoutingModelProto.model_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tsp_model', full_name='optilab.toolbox.RoutingModelProto.tsp_model', index=1,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='vrp_model', full_name='optilab.toolbox.RoutingModelProto.vrp_model', index=2,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='model', full_name='optilab.toolbox.RoutingModelProto.model',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=884,
  serialized_end=1036,
)


_SINGLEROUTESOLUTIONPROTO = _descriptor.Descriptor(
  name='SingleRouteSolutionProto',
  full_name='optilab.toolbox.SingleRouteSolutionProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='vehicle_id', full_name='optilab.toolbox.SingleRouteSolutionProto.vehicle_id', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='route', full_name='optilab.toolbox.SingleRouteSolutionProto.route', index=1,
      number=2, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='load', full_name='optilab.toolbox.SingleRouteSolutionProto.load', index=2,
      number=3, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tot_route_distance', full_name='optilab.toolbox.SingleRouteSolutionProto.tot_route_distance', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tot_load', full_name='optilab.toolbox.SingleRouteSolutionProto.tot_load', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1038,
  serialized_end=1159,
)


_ROUTINGSOLUTIONPROTO = _descriptor.Descriptor(
  name='RoutingSolutionProto',
  full_name='optilab.toolbox.RoutingSolutionProto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='optilab.toolbox.RoutingSolutionProto.status', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='status_str', full_name='optilab.toolbox.RoutingSolutionProto.status_str', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tot_distance', full_name='optilab.toolbox.RoutingSolutionProto.tot_distance', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tot_load', full_name='optilab.toolbox.RoutingSolutionProto.tot_load', index=3,
      number=4, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='single_route', full_name='optilab.toolbox.RoutingSolutionProto.single_route', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1162,
  serialized_end=1372,
)

_CREATEROUTINGOPTIMIZERREQ.fields_by_name['routing_engine_type'].enum_type = _CREATEROUTINGOPTIMIZERREQ_ROUTINGENGINETYPE
_CREATEROUTINGOPTIMIZERREQ_ROUTINGENGINETYPE.containing_type = _CREATEROUTINGOPTIMIZERREQ
_TSPMODELPROTO.fields_by_name['distance_matrix'].message_type = _DISTANCEMATRIXPROTO
_TSPMODELPROTO.fields_by_name['details'].message_type = google_dot_protobuf_dot_any__pb2._ANY
_VRPMODELPROTO.fields_by_name['distance_matrix'].message_type = _DISTANCEMATRIXPROTO
_VRPMODELPROTO.fields_by_name['time_windows'].message_type = _TIMEWINDOWSPROTO
_VRPMODELPROTO.fields_by_name['details'].message_type = google_dot_protobuf_dot_any__pb2._ANY
_ROUTINGMODELPROTO.fields_by_name['tsp_model'].message_type = _TSPMODELPROTO
_ROUTINGMODELPROTO.fields_by_name['vrp_model'].message_type = _VRPMODELPROTO
_ROUTINGMODELPROTO.oneofs_by_name['model'].fields.append(
  _ROUTINGMODELPROTO.fields_by_name['tsp_model'])
_ROUTINGMODELPROTO.fields_by_name['tsp_model'].containing_oneof = _ROUTINGMODELPROTO.oneofs_by_name['model']
_ROUTINGMODELPROTO.oneofs_by_name['model'].fields.append(
  _ROUTINGMODELPROTO.fields_by_name['vrp_model'])
_ROUTINGMODELPROTO.fields_by_name['vrp_model'].containing_oneof = _ROUTINGMODELPROTO.oneofs_by_name['model']
_ROUTINGSOLUTIONPROTO.fields_by_name['status'].enum_type = optimizer__defs__pb2._OPTIMIZERSOLUTIONSTATUSPROTO
_ROUTINGSOLUTIONPROTO.fields_by_name['single_route'].message_type = _SINGLEROUTESOLUTIONPROTO
DESCRIPTOR.message_types_by_name['CreateRoutingOptimizerReq'] = _CREATEROUTINGOPTIMIZERREQ
DESCRIPTOR.message_types_by_name['DistanceMatrixProto'] = _DISTANCEMATRIXPROTO
DESCRIPTOR.message_types_by_name['TimeWindowsProto'] = _TIMEWINDOWSPROTO
DESCRIPTOR.message_types_by_name['TSPModelProto'] = _TSPMODELPROTO
DESCRIPTOR.message_types_by_name['VRPModelProto'] = _VRPMODELPROTO
DESCRIPTOR.message_types_by_name['RoutingModelProto'] = _ROUTINGMODELPROTO
DESCRIPTOR.message_types_by_name['SingleRouteSolutionProto'] = _SINGLEROUTESOLUTIONPROTO
DESCRIPTOR.message_types_by_name['RoutingSolutionProto'] = _ROUTINGSOLUTIONPROTO
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

CreateRoutingOptimizerReq = _reflection.GeneratedProtocolMessageType('CreateRoutingOptimizerReq', (_message.Message,), dict(
  DESCRIPTOR = _CREATEROUTINGOPTIMIZERREQ,
  __module__ = 'routing_model_pb2'
  # @@protoc_insertion_point(class_scope:optilab.toolbox.CreateRoutingOptimizerReq)
  ))
_sym_db.RegisterMessage(CreateRoutingOptimizerReq)

DistanceMatrixProto = _reflection.GeneratedProtocolMessageType('DistanceMatrixProto', (_message.Message,), dict(
  DESCRIPTOR = _DISTANCEMATRIXPROTO,
  __module__ = 'routing_model_pb2'
  # @@protoc_insertion_point(class_scope:optilab.toolbox.DistanceMatrixProto)
  ))
_sym_db.RegisterMessage(DistanceMatrixProto)

TimeWindowsProto = _reflection.GeneratedProtocolMessageType('TimeWindowsProto', (_message.Message,), dict(
  DESCRIPTOR = _TIMEWINDOWSPROTO,
  __module__ = 'routing_model_pb2'
  # @@protoc_insertion_point(class_scope:optilab.toolbox.TimeWindowsProto)
  ))
_sym_db.RegisterMessage(TimeWindowsProto)

TSPModelProto = _reflection.GeneratedProtocolMessageType('TSPModelProto', (_message.Message,), dict(
  DESCRIPTOR = _TSPMODELPROTO,
  __module__ = 'routing_model_pb2'
  # @@protoc_insertion_point(class_scope:optilab.toolbox.TSPModelProto)
  ))
_sym_db.RegisterMessage(TSPModelProto)

VRPModelProto = _reflection.GeneratedProtocolMessageType('VRPModelProto', (_message.Message,), dict(
  DESCRIPTOR = _VRPMODELPROTO,
  __module__ = 'routing_model_pb2'
  # @@protoc_insertion_point(class_scope:optilab.toolbox.VRPModelProto)
  ))
_sym_db.RegisterMessage(VRPModelProto)

RoutingModelProto = _reflection.GeneratedProtocolMessageType('RoutingModelProto', (_message.Message,), dict(
  DESCRIPTOR = _ROUTINGMODELPROTO,
  __module__ = 'routing_model_pb2'
  # @@protoc_insertion_point(class_scope:optilab.toolbox.RoutingModelProto)
  ))
_sym_db.RegisterMessage(RoutingModelProto)

SingleRouteSolutionProto = _reflection.GeneratedProtocolMessageType('SingleRouteSolutionProto', (_message.Message,), dict(
  DESCRIPTOR = _SINGLEROUTESOLUTIONPROTO,
  __module__ = 'routing_model_pb2'
  # @@protoc_insertion_point(class_scope:optilab.toolbox.SingleRouteSolutionProto)
  ))
_sym_db.RegisterMessage(SingleRouteSolutionProto)

RoutingSolutionProto = _reflection.GeneratedProtocolMessageType('RoutingSolutionProto', (_message.Message,), dict(
  DESCRIPTOR = _ROUTINGSOLUTIONPROTO,
  __module__ = 'routing_model_pb2'
  # @@protoc_insertion_point(class_scope:optilab.toolbox.RoutingSolutionProto)
  ))
_sym_db.RegisterMessage(RoutingSolutionProto)


_DISTANCEMATRIXPROTO.fields_by_name['data']._options = None
_TIMEWINDOWSPROTO.fields_by_name['initial_times']._options = None
_TIMEWINDOWSPROTO.fields_by_name['end_times']._options = None
# @@protoc_insertion_point(module_scope)
