# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: ortools/linear_solver/linear_solver.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
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 ortools.util import optional_boolean_pb2 as ortools_dot_util_dot_optional__boolean__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)ortools/linear_solver/linear_solver.proto\x12\x13operations_research\x1a#ortools/util/optional_boolean.proto\"\xb2\x01\n\x0fMPVariableProto\x12\x19\n\x0blower_bound\x18\x01 \x01(\x01:\x04-inf\x12\x18\n\x0bupper_bound\x18\x02 \x01(\x01:\x03inf\x12 \n\x15objective_coefficient\x18\x03 \x01(\x01:\x01\x30\x12\x19\n\nis_integer\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\x0e\n\x04name\x18\x05 \x01(\t:\x00\x12\x1d\n\x12\x62ranching_priority\x18\x06 \x01(\x05:\x01\x30\"\xa0\x01\n\x11MPConstraintProto\x12\x15\n\tvar_index\x18\x06 \x03(\x05\x42\x02\x10\x01\x12\x17\n\x0b\x63oefficient\x18\x07 \x03(\x01\x42\x02\x10\x01\x12\x19\n\x0blower_bound\x18\x02 \x01(\x01:\x04-inf\x12\x18\n\x0bupper_bound\x18\x03 \x01(\x01:\x03inf\x12\x0e\n\x04name\x18\x04 \x01(\t:\x00\x12\x16\n\x07is_lazy\x18\x05 \x01(\x08:\x05\x66\x61lse\"\xf7\x04\n\x18MPGeneralConstraintProto\x12\x0e\n\x04name\x18\x01 \x01(\t:\x00\x12J\n\x14indicator_constraint\x18\x02 \x01(\x0b\x32*.operations_research.MPIndicatorConstraintH\x00\x12>\n\x0esos_constraint\x18\x03 \x01(\x0b\x32$.operations_research.MPSosConstraintH\x00\x12J\n\x14quadratic_constraint\x18\x04 \x01(\x0b\x32*.operations_research.MPQuadraticConstraintH\x00\x12>\n\x0e\x61\x62s_constraint\x18\x05 \x01(\x0b\x32$.operations_research.MPAbsConstraintH\x00\x12@\n\x0e\x61nd_constraint\x18\x06 \x01(\x0b\x32&.operations_research.MPArrayConstraintH\x00\x12?\n\ror_constraint\x18\x07 \x01(\x0b\x32&.operations_research.MPArrayConstraintH\x00\x12L\n\x0emin_constraint\x18\x08 \x01(\x0b\x32\x32.operations_research.MPArrayWithConstantConstraintH\x00\x12L\n\x0emax_constraint\x18\t \x01(\x0b\x32\x32.operations_research.MPArrayWithConstantConstraintH\x00\x42\x14\n\x12general_constraint\"y\n\x15MPIndicatorConstraint\x12\x11\n\tvar_index\x18\x01 \x01(\x05\x12\x11\n\tvar_value\x18\x02 \x01(\x05\x12:\n\nconstraint\x18\x03 \x01(\x0b\x32&.operations_research.MPConstraintProto\"\x9f\x01\n\x0fMPSosConstraint\x12\x45\n\x04type\x18\x01 \x01(\x0e\x32).operations_research.MPSosConstraint.Type:\x0cSOS1_DEFAULT\x12\x11\n\tvar_index\x18\x02 \x03(\x05\x12\x0e\n\x06weight\x18\x03 \x03(\x01\"\"\n\x04Type\x12\x10\n\x0cSOS1_DEFAULT\x10\x00\x12\x08\n\x04SOS2\x10\x01\"\xb4\x01\n\x15MPQuadraticConstraint\x12\x11\n\tvar_index\x18\x01 \x03(\x05\x12\x13\n\x0b\x63oefficient\x18\x02 \x03(\x01\x12\x13\n\x0bqvar1_index\x18\x03 \x03(\x05\x12\x13\n\x0bqvar2_index\x18\x04 \x03(\x05\x12\x14\n\x0cqcoefficient\x18\x05 \x03(\x01\x12\x19\n\x0blower_bound\x18\x06 \x01(\x01:\x04-inf\x12\x18\n\x0bupper_bound\x18\x07 \x01(\x01:\x03inf\"A\n\x0fMPAbsConstraint\x12\x11\n\tvar_index\x18\x01 \x01(\x05\x12\x1b\n\x13resultant_var_index\x18\x02 \x01(\x05\"C\n\x11MPArrayConstraint\x12\x11\n\tvar_index\x18\x01 \x03(\x05\x12\x1b\n\x13resultant_var_index\x18\x02 \x01(\x05\"a\n\x1dMPArrayWithConstantConstraint\x12\x11\n\tvar_index\x18\x01 \x03(\x05\x12\x10\n\x08\x63onstant\x18\x02 \x01(\x01\x12\x1b\n\x13resultant_var_index\x18\x03 \x01(\x05\"U\n\x14MPQuadraticObjective\x12\x13\n\x0bqvar1_index\x18\x01 \x03(\x05\x12\x13\n\x0bqvar2_index\x18\x02 \x03(\x05\x12\x13\n\x0b\x63oefficient\x18\x03 \x03(\x01\"I\n\x19PartialVariableAssignment\x12\x15\n\tvar_index\x18\x01 \x03(\x05\x42\x02\x10\x01\x12\x15\n\tvar_value\x18\x02 \x03(\x01\x42\x02\x10\x01\"\xa2\x03\n\x0cMPModelProto\x12\x36\n\x08variable\x18\x03 \x03(\x0b\x32$.operations_research.MPVariableProto\x12:\n\nconstraint\x18\x04 \x03(\x0b\x32&.operations_research.MPConstraintProto\x12I\n\x12general_constraint\x18\x07 \x03(\x0b\x32-.operations_research.MPGeneralConstraintProto\x12\x17\n\x08maximize\x18\x01 \x01(\x08:\x05\x66\x61lse\x12\x1b\n\x10objective_offset\x18\x02 \x01(\x01:\x01\x30\x12\x46\n\x13quadratic_objective\x18\x08 \x01(\x0b\x32).operations_research.MPQuadraticObjective\x12\x0e\n\x04name\x18\x05 \x01(\t:\x00\x12\x45\n\rsolution_hint\x18\x06 \x01(\x0b\x32..operations_research.PartialVariableAssignment\"\x1f\n\x0eOptionalDouble\x12\r\n\x05value\x18\x01 \x01(\x01\"\xbd\x04\n\x18MPSolverCommonParameters\x12=\n\x10relative_mip_gap\x18\x01 \x01(\x0b\x32#.operations_research.OptionalDouble\x12=\n\x10primal_tolerance\x18\x02 \x01(\x0b\x32#.operations_research.OptionalDouble\x12;\n\x0e\x64ual_tolerance\x18\x03 \x01(\x0b\x32#.operations_research.OptionalDouble\x12j\n\x0clp_algorithm\x18\x04 \x01(\x0e\x32?.operations_research.MPSolverCommonParameters.LPAlgorithmValues:\x13LP_ALGO_UNSPECIFIED\x12H\n\x08presolve\x18\x05 \x01(\x0e\x32$.operations_research.OptionalBoolean:\x10\x42OOL_UNSPECIFIED\x12G\n\x07scaling\x18\x07 \x01(\x0e\x32$.operations_research.OptionalBoolean:\x10\x42OOL_UNSPECIFIED\"g\n\x11LPAlgorithmValues\x12\x17\n\x13LP_ALGO_UNSPECIFIED\x10\x00\x12\x10\n\x0cLP_ALGO_DUAL\x10\x01\x12\x12\n\x0eLP_ALGO_PRIMAL\x10\x02\x12\x13\n\x0fLP_ALGO_BARRIER\x10\x03\"\xb3\x03\n\x11MPModelDeltaProto\x12 \n\x18\x62\x61seline_model_file_path\x18\x01 \x01(\t\x12Y\n\x12variable_overrides\x18\x02 \x03(\x0b\x32=.operations_research.MPModelDeltaProto.VariableOverridesEntry\x12]\n\x14\x63onstraint_overrides\x18\x03 \x03(\x0b\x32?.operations_research.MPModelDeltaProto.ConstraintOverridesEntry\x1a^\n\x16VariableOverridesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.operations_research.MPVariableProto:\x02\x38\x01\x1a\x62\n\x18\x43onstraintOverridesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.operations_research.MPConstraintProto:\x02\x38\x01\"\xa2\x07\n\x0eMPModelRequest\x12\x30\n\x05model\x18\x01 \x01(\x0b\x32!.operations_research.MPModelProto\x12\x43\n\x0bsolver_type\x18\x02 \x01(\x0e\x32..operations_research.MPModelRequest.SolverType\x12!\n\x19solver_time_limit_seconds\x18\x03 \x01(\x01\x12,\n\x1d\x65nable_internal_solver_output\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\"\n\x1asolver_specific_parameters\x18\x05 \x01(\t\x12\x38\n)ignore_solver_specific_parameters_failure\x18\t \x01(\x08:\x05\x66\x61lse\x12;\n\x0bmodel_delta\x18\x08 \x01(\x0b\x32&.operations_research.MPModelDeltaProto\x12.\n#populate_additional_solutions_up_to\x18\x0b \x01(\x05:\x01\x30\"\xfc\x03\n\nSolverType\x12\x1b\n\x17GLOP_LINEAR_PROGRAMMING\x10\x02\x12\x1a\n\x16\x43LP_LINEAR_PROGRAMMING\x10\x00\x12\x1b\n\x17GLPK_LINEAR_PROGRAMMING\x10\x01\x12\x1d\n\x19GUROBI_LINEAR_PROGRAMMING\x10\x06\x12\x1d\n\x19XPRESS_LINEAR_PROGRAMMING\x10\x65\x12\x1c\n\x18\x43PLEX_LINEAR_PROGRAMMING\x10\n\x12\"\n\x1eSCIP_MIXED_INTEGER_PROGRAMMING\x10\x03\x12\"\n\x1eGLPK_MIXED_INTEGER_PROGRAMMING\x10\x04\x12!\n\x1d\x43\x42\x43_MIXED_INTEGER_PROGRAMMING\x10\x05\x12$\n GUROBI_MIXED_INTEGER_PROGRAMMING\x10\x07\x12$\n XPRESS_MIXED_INTEGER_PROGRAMMING\x10\x66\x12#\n\x1f\x43PLEX_MIXED_INTEGER_PROGRAMMING\x10\x0b\x12\x1b\n\x17\x42OP_INTEGER_PROGRAMMING\x10\x0c\x12\x1b\n\x17SAT_INTEGER_PROGRAMMING\x10\x0e\x12&\n\"KNAPSACK_MIXED_INTEGER_PROGRAMMING\x10\r\"A\n\nMPSolution\x12\x17\n\x0fobjective_value\x18\x01 \x01(\x01\x12\x1a\n\x0evariable_value\x18\x02 \x03(\x01\x42\x02\x10\x01\"O\n\x0bMPSolveInfo\x12\x1f\n\x17solve_wall_time_seconds\x18\x01 \x01(\x01\x12\x1f\n\x17solve_user_time_seconds\x18\x02 \x01(\x01\"\xf8\x02\n\x12MPSolutionResponse\x12T\n\x06status\x18\x01 \x01(\x0e\x32+.operations_research.MPSolverResponseStatus:\x17MPSOLVER_UNKNOWN_STATUS\x12\x12\n\nstatus_str\x18\x07 \x01(\t\x12\x17\n\x0fobjective_value\x18\x02 \x01(\x01\x12\x1c\n\x14\x62\x65st_objective_bound\x18\x05 \x01(\x01\x12\x1a\n\x0evariable_value\x18\x03 \x03(\x01\x42\x02\x10\x01\x12\x34\n\nsolve_info\x18\n \x01(\x0b\x32 .operations_research.MPSolveInfo\x12\x16\n\ndual_value\x18\x04 \x03(\x01\x42\x02\x10\x01\x12\x18\n\x0creduced_cost\x18\x06 \x03(\x01\x42\x02\x10\x01\x12=\n\x14\x61\x64\x64itional_solutions\x18\x08 \x03(\x0b\x32\x1f.operations_research.MPSolution*\xbd\x03\n\x16MPSolverResponseStatus\x12\x14\n\x10MPSOLVER_OPTIMAL\x10\x00\x12\x15\n\x11MPSOLVER_FEASIBLE\x10\x01\x12\x17\n\x13MPSOLVER_INFEASIBLE\x10\x02\x12\x16\n\x12MPSOLVER_UNBOUNDED\x10\x03\x12\x15\n\x11MPSOLVER_ABNORMAL\x10\x04\x12\x17\n\x13MPSOLVER_NOT_SOLVED\x10\x06\x12\x1b\n\x17MPSOLVER_MODEL_IS_VALID\x10\x61\x12\x1e\n\x1aMPSOLVER_CANCELLED_BY_USER\x10\x62\x12\x1b\n\x17MPSOLVER_UNKNOWN_STATUS\x10\x63\x12\x1a\n\x16MPSOLVER_MODEL_INVALID\x10\x05\x12(\n$MPSOLVER_MODEL_INVALID_SOLUTION_HINT\x10T\x12,\n(MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS\x10U\x12$\n MPSOLVER_SOLVER_TYPE_UNAVAILABLE\x10\x07\x12!\n\x1dMPSOLVER_INCOMPATIBLE_OPTIONS\x10qB#\n\x1f\x63om.google.ortools.linearsolverP\x01')

_MPSOLVERRESPONSESTATUS = DESCRIPTOR.enum_types_by_name['MPSolverResponseStatus']
MPSolverResponseStatus = enum_type_wrapper.EnumTypeWrapper(_MPSOLVERRESPONSESTATUS)
MPSOLVER_OPTIMAL = 0
MPSOLVER_FEASIBLE = 1
MPSOLVER_INFEASIBLE = 2
MPSOLVER_UNBOUNDED = 3
MPSOLVER_ABNORMAL = 4
MPSOLVER_NOT_SOLVED = 6
MPSOLVER_MODEL_IS_VALID = 97
MPSOLVER_CANCELLED_BY_USER = 98
MPSOLVER_UNKNOWN_STATUS = 99
MPSOLVER_MODEL_INVALID = 5
MPSOLVER_MODEL_INVALID_SOLUTION_HINT = 84
MPSOLVER_MODEL_INVALID_SOLVER_PARAMETERS = 85
MPSOLVER_SOLVER_TYPE_UNAVAILABLE = 7
MPSOLVER_INCOMPATIBLE_OPTIONS = 113


_MPVARIABLEPROTO = DESCRIPTOR.message_types_by_name['MPVariableProto']
_MPCONSTRAINTPROTO = DESCRIPTOR.message_types_by_name['MPConstraintProto']
_MPGENERALCONSTRAINTPROTO = DESCRIPTOR.message_types_by_name['MPGeneralConstraintProto']
_MPINDICATORCONSTRAINT = DESCRIPTOR.message_types_by_name['MPIndicatorConstraint']
_MPSOSCONSTRAINT = DESCRIPTOR.message_types_by_name['MPSosConstraint']
_MPQUADRATICCONSTRAINT = DESCRIPTOR.message_types_by_name['MPQuadraticConstraint']
_MPABSCONSTRAINT = DESCRIPTOR.message_types_by_name['MPAbsConstraint']
_MPARRAYCONSTRAINT = DESCRIPTOR.message_types_by_name['MPArrayConstraint']
_MPARRAYWITHCONSTANTCONSTRAINT = DESCRIPTOR.message_types_by_name['MPArrayWithConstantConstraint']
_MPQUADRATICOBJECTIVE = DESCRIPTOR.message_types_by_name['MPQuadraticObjective']
_PARTIALVARIABLEASSIGNMENT = DESCRIPTOR.message_types_by_name['PartialVariableAssignment']
_MPMODELPROTO = DESCRIPTOR.message_types_by_name['MPModelProto']
_OPTIONALDOUBLE = DESCRIPTOR.message_types_by_name['OptionalDouble']
_MPSOLVERCOMMONPARAMETERS = DESCRIPTOR.message_types_by_name['MPSolverCommonParameters']
_MPMODELDELTAPROTO = DESCRIPTOR.message_types_by_name['MPModelDeltaProto']
_MPMODELDELTAPROTO_VARIABLEOVERRIDESENTRY = _MPMODELDELTAPROTO.nested_types_by_name['VariableOverridesEntry']
_MPMODELDELTAPROTO_CONSTRAINTOVERRIDESENTRY = _MPMODELDELTAPROTO.nested_types_by_name['ConstraintOverridesEntry']
_MPMODELREQUEST = DESCRIPTOR.message_types_by_name['MPModelRequest']
_MPSOLUTION = DESCRIPTOR.message_types_by_name['MPSolution']
_MPSOLVEINFO = DESCRIPTOR.message_types_by_name['MPSolveInfo']
_MPSOLUTIONRESPONSE = DESCRIPTOR.message_types_by_name['MPSolutionResponse']
_MPSOSCONSTRAINT_TYPE = _MPSOSCONSTRAINT.enum_types_by_name['Type']
_MPSOLVERCOMMONPARAMETERS_LPALGORITHMVALUES = _MPSOLVERCOMMONPARAMETERS.enum_types_by_name['LPAlgorithmValues']
_MPMODELREQUEST_SOLVERTYPE = _MPMODELREQUEST.enum_types_by_name['SolverType']
MPVariableProto = _reflection.GeneratedProtocolMessageType('MPVariableProto', (_message.Message,), {
  'DESCRIPTOR' : _MPVARIABLEPROTO,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPVariableProto)
  })
_sym_db.RegisterMessage(MPVariableProto)

MPConstraintProto = _reflection.GeneratedProtocolMessageType('MPConstraintProto', (_message.Message,), {
  'DESCRIPTOR' : _MPCONSTRAINTPROTO,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPConstraintProto)
  })
_sym_db.RegisterMessage(MPConstraintProto)

MPGeneralConstraintProto = _reflection.GeneratedProtocolMessageType('MPGeneralConstraintProto', (_message.Message,), {
  'DESCRIPTOR' : _MPGENERALCONSTRAINTPROTO,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPGeneralConstraintProto)
  })
_sym_db.RegisterMessage(MPGeneralConstraintProto)

MPIndicatorConstraint = _reflection.GeneratedProtocolMessageType('MPIndicatorConstraint', (_message.Message,), {
  'DESCRIPTOR' : _MPINDICATORCONSTRAINT,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPIndicatorConstraint)
  })
_sym_db.RegisterMessage(MPIndicatorConstraint)

MPSosConstraint = _reflection.GeneratedProtocolMessageType('MPSosConstraint', (_message.Message,), {
  'DESCRIPTOR' : _MPSOSCONSTRAINT,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPSosConstraint)
  })
_sym_db.RegisterMessage(MPSosConstraint)

MPQuadraticConstraint = _reflection.GeneratedProtocolMessageType('MPQuadraticConstraint', (_message.Message,), {
  'DESCRIPTOR' : _MPQUADRATICCONSTRAINT,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPQuadraticConstraint)
  })
_sym_db.RegisterMessage(MPQuadraticConstraint)

MPAbsConstraint = _reflection.GeneratedProtocolMessageType('MPAbsConstraint', (_message.Message,), {
  'DESCRIPTOR' : _MPABSCONSTRAINT,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPAbsConstraint)
  })
_sym_db.RegisterMessage(MPAbsConstraint)

MPArrayConstraint = _reflection.GeneratedProtocolMessageType('MPArrayConstraint', (_message.Message,), {
  'DESCRIPTOR' : _MPARRAYCONSTRAINT,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPArrayConstraint)
  })
_sym_db.RegisterMessage(MPArrayConstraint)

MPArrayWithConstantConstraint = _reflection.GeneratedProtocolMessageType('MPArrayWithConstantConstraint', (_message.Message,), {
  'DESCRIPTOR' : _MPARRAYWITHCONSTANTCONSTRAINT,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPArrayWithConstantConstraint)
  })
_sym_db.RegisterMessage(MPArrayWithConstantConstraint)

MPQuadraticObjective = _reflection.GeneratedProtocolMessageType('MPQuadraticObjective', (_message.Message,), {
  'DESCRIPTOR' : _MPQUADRATICOBJECTIVE,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPQuadraticObjective)
  })
_sym_db.RegisterMessage(MPQuadraticObjective)

PartialVariableAssignment = _reflection.GeneratedProtocolMessageType('PartialVariableAssignment', (_message.Message,), {
  'DESCRIPTOR' : _PARTIALVARIABLEASSIGNMENT,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.PartialVariableAssignment)
  })
_sym_db.RegisterMessage(PartialVariableAssignment)

MPModelProto = _reflection.GeneratedProtocolMessageType('MPModelProto', (_message.Message,), {
  'DESCRIPTOR' : _MPMODELPROTO,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPModelProto)
  })
_sym_db.RegisterMessage(MPModelProto)

OptionalDouble = _reflection.GeneratedProtocolMessageType('OptionalDouble', (_message.Message,), {
  'DESCRIPTOR' : _OPTIONALDOUBLE,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.OptionalDouble)
  })
_sym_db.RegisterMessage(OptionalDouble)

MPSolverCommonParameters = _reflection.GeneratedProtocolMessageType('MPSolverCommonParameters', (_message.Message,), {
  'DESCRIPTOR' : _MPSOLVERCOMMONPARAMETERS,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPSolverCommonParameters)
  })
_sym_db.RegisterMessage(MPSolverCommonParameters)

MPModelDeltaProto = _reflection.GeneratedProtocolMessageType('MPModelDeltaProto', (_message.Message,), {

  'VariableOverridesEntry' : _reflection.GeneratedProtocolMessageType('VariableOverridesEntry', (_message.Message,), {
    'DESCRIPTOR' : _MPMODELDELTAPROTO_VARIABLEOVERRIDESENTRY,
    '__module__' : 'ortools.linear_solver.linear_solver_pb2'
    # @@protoc_insertion_point(class_scope:operations_research.MPModelDeltaProto.VariableOverridesEntry)
    })
  ,

  'ConstraintOverridesEntry' : _reflection.GeneratedProtocolMessageType('ConstraintOverridesEntry', (_message.Message,), {
    'DESCRIPTOR' : _MPMODELDELTAPROTO_CONSTRAINTOVERRIDESENTRY,
    '__module__' : 'ortools.linear_solver.linear_solver_pb2'
    # @@protoc_insertion_point(class_scope:operations_research.MPModelDeltaProto.ConstraintOverridesEntry)
    })
  ,
  'DESCRIPTOR' : _MPMODELDELTAPROTO,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPModelDeltaProto)
  })
_sym_db.RegisterMessage(MPModelDeltaProto)
_sym_db.RegisterMessage(MPModelDeltaProto.VariableOverridesEntry)
_sym_db.RegisterMessage(MPModelDeltaProto.ConstraintOverridesEntry)

MPModelRequest = _reflection.GeneratedProtocolMessageType('MPModelRequest', (_message.Message,), {
  'DESCRIPTOR' : _MPMODELREQUEST,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPModelRequest)
  })
_sym_db.RegisterMessage(MPModelRequest)

MPSolution = _reflection.GeneratedProtocolMessageType('MPSolution', (_message.Message,), {
  'DESCRIPTOR' : _MPSOLUTION,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPSolution)
  })
_sym_db.RegisterMessage(MPSolution)

MPSolveInfo = _reflection.GeneratedProtocolMessageType('MPSolveInfo', (_message.Message,), {
  'DESCRIPTOR' : _MPSOLVEINFO,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPSolveInfo)
  })
_sym_db.RegisterMessage(MPSolveInfo)

MPSolutionResponse = _reflection.GeneratedProtocolMessageType('MPSolutionResponse', (_message.Message,), {
  'DESCRIPTOR' : _MPSOLUTIONRESPONSE,
  '__module__' : 'ortools.linear_solver.linear_solver_pb2'
  # @@protoc_insertion_point(class_scope:operations_research.MPSolutionResponse)
  })
_sym_db.RegisterMessage(MPSolutionResponse)

if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'\n\037com.google.ortools.linearsolverP\001'
  _MPCONSTRAINTPROTO.fields_by_name['var_index']._options = None
  _MPCONSTRAINTPROTO.fields_by_name['var_index']._serialized_options = b'\020\001'
  _MPCONSTRAINTPROTO.fields_by_name['coefficient']._options = None
  _MPCONSTRAINTPROTO.fields_by_name['coefficient']._serialized_options = b'\020\001'
  _PARTIALVARIABLEASSIGNMENT.fields_by_name['var_index']._options = None
  _PARTIALVARIABLEASSIGNMENT.fields_by_name['var_index']._serialized_options = b'\020\001'
  _PARTIALVARIABLEASSIGNMENT.fields_by_name['var_value']._options = None
  _PARTIALVARIABLEASSIGNMENT.fields_by_name['var_value']._serialized_options = b'\020\001'
  _MPMODELDELTAPROTO_VARIABLEOVERRIDESENTRY._options = None
  _MPMODELDELTAPROTO_VARIABLEOVERRIDESENTRY._serialized_options = b'8\001'
  _MPMODELDELTAPROTO_CONSTRAINTOVERRIDESENTRY._options = None
  _MPMODELDELTAPROTO_CONSTRAINTOVERRIDESENTRY._serialized_options = b'8\001'
  _MPSOLUTION.fields_by_name['variable_value']._options = None
  _MPSOLUTION.fields_by_name['variable_value']._serialized_options = b'\020\001'
  _MPSOLUTIONRESPONSE.fields_by_name['variable_value']._options = None
  _MPSOLUTIONRESPONSE.fields_by_name['variable_value']._serialized_options = b'\020\001'
  _MPSOLUTIONRESPONSE.fields_by_name['dual_value']._options = None
  _MPSOLUTIONRESPONSE.fields_by_name['dual_value']._serialized_options = b'\020\001'
  _MPSOLUTIONRESPONSE.fields_by_name['reduced_cost']._options = None
  _MPSOLUTIONRESPONSE.fields_by_name['reduced_cost']._serialized_options = b'\020\001'
  _MPSOLVERRESPONSESTATUS._serialized_start=4875
  _MPSOLVERRESPONSESTATUS._serialized_end=5320
  _MPVARIABLEPROTO._serialized_start=104
  _MPVARIABLEPROTO._serialized_end=282
  _MPCONSTRAINTPROTO._serialized_start=285
  _MPCONSTRAINTPROTO._serialized_end=445
  _MPGENERALCONSTRAINTPROTO._serialized_start=448
  _MPGENERALCONSTRAINTPROTO._serialized_end=1079
  _MPINDICATORCONSTRAINT._serialized_start=1081
  _MPINDICATORCONSTRAINT._serialized_end=1202
  _MPSOSCONSTRAINT._serialized_start=1205
  _MPSOSCONSTRAINT._serialized_end=1364
  _MPSOSCONSTRAINT_TYPE._serialized_start=1330
  _MPSOSCONSTRAINT_TYPE._serialized_end=1364
  _MPQUADRATICCONSTRAINT._serialized_start=1367
  _MPQUADRATICCONSTRAINT._serialized_end=1547
  _MPABSCONSTRAINT._serialized_start=1549
  _MPABSCONSTRAINT._serialized_end=1614
  _MPARRAYCONSTRAINT._serialized_start=1616
  _MPARRAYCONSTRAINT._serialized_end=1683
  _MPARRAYWITHCONSTANTCONSTRAINT._serialized_start=1685
  _MPARRAYWITHCONSTANTCONSTRAINT._serialized_end=1782
  _MPQUADRATICOBJECTIVE._serialized_start=1784
  _MPQUADRATICOBJECTIVE._serialized_end=1869
  _PARTIALVARIABLEASSIGNMENT._serialized_start=1871
  _PARTIALVARIABLEASSIGNMENT._serialized_end=1944
  _MPMODELPROTO._serialized_start=1947
  _MPMODELPROTO._serialized_end=2365
  _OPTIONALDOUBLE._serialized_start=2367
  _OPTIONALDOUBLE._serialized_end=2398
  _MPSOLVERCOMMONPARAMETERS._serialized_start=2401
  _MPSOLVERCOMMONPARAMETERS._serialized_end=2974
  _MPSOLVERCOMMONPARAMETERS_LPALGORITHMVALUES._serialized_start=2871
  _MPSOLVERCOMMONPARAMETERS_LPALGORITHMVALUES._serialized_end=2974
  _MPMODELDELTAPROTO._serialized_start=2977
  _MPMODELDELTAPROTO._serialized_end=3412
  _MPMODELDELTAPROTO_VARIABLEOVERRIDESENTRY._serialized_start=3218
  _MPMODELDELTAPROTO_VARIABLEOVERRIDESENTRY._serialized_end=3312
  _MPMODELDELTAPROTO_CONSTRAINTOVERRIDESENTRY._serialized_start=3314
  _MPMODELDELTAPROTO_CONSTRAINTOVERRIDESENTRY._serialized_end=3412
  _MPMODELREQUEST._serialized_start=3415
  _MPMODELREQUEST._serialized_end=4345
  _MPMODELREQUEST_SOLVERTYPE._serialized_start=3837
  _MPMODELREQUEST_SOLVERTYPE._serialized_end=4345
  _MPSOLUTION._serialized_start=4347
  _MPSOLUTION._serialized_end=4412
  _MPSOLVEINFO._serialized_start=4414
  _MPSOLVEINFO._serialized_end=4493
  _MPSOLUTIONRESPONSE._serialized_start=4496
  _MPSOLUTIONRESPONSE._serialized_end=4872
# @@protoc_insertion_point(module_scope)
