ortools.service.v1.mathopt.model_parameters_pb2

@generated by mypy-protobuf. Do not edit manually! isort:skip_file Solve parameters that are specific to the model.

 1# -*- coding: utf-8 -*-
 2# Generated by the protocol buffer compiler.  DO NOT EDIT!
 3# NO CHECKED-IN PROTOBUF GENCODE
 4# source: ortools/service/v1/mathopt/model_parameters.proto
 5# Protobuf Python Version: 6.31.1
 6"""Generated protocol buffer code."""
 7from google.protobuf import descriptor as _descriptor
 8from google.protobuf import descriptor_pool as _descriptor_pool
 9from google.protobuf import runtime_version as _runtime_version
10from google.protobuf import symbol_database as _symbol_database
11from google.protobuf.internal import builder as _builder
12_runtime_version.ValidateProtobufRuntimeVersion(
13    _runtime_version.Domain.PUBLIC,
14    6,
15    31,
16    1,
17    '',
18    'ortools/service/v1/mathopt/model_parameters.proto'
19)
20# @@protoc_insertion_point(imports)
21
22_sym_db = _symbol_database.Default()
23
24
25from ortools.service.v1.mathopt import solution_pb2 as ortools_dot_service_dot_v1_dot_mathopt_dot_solution__pb2
26from ortools.service.v1.mathopt import sparse_containers_pb2 as ortools_dot_service_dot_v1_dot_mathopt_dot_sparse__containers__pb2
27
28
29DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1ortools/service/v1/mathopt/model_parameters.proto\x12&operations_research.service.v1.mathopt\x1a)ortools/service/v1/mathopt/solution.proto\x1a\x32ortools/service/v1/mathopt/sparse_containers.proto\"\xc3\x01\n\x11SolutionHintProto\x12X\n\x0fvariable_values\x18\x01 \x01(\x0b\x32?.operations_research.service.v1.mathopt.SparseDoubleVectorProto\x12T\n\x0b\x64ual_values\x18\x02 \x01(\x0b\x32?.operations_research.service.v1.mathopt.SparseDoubleVectorProto\"\xb4\x04\n\x19ModelSolveParametersProto\x12_\n\x16variable_values_filter\x18\x01 \x01(\x0b\x32?.operations_research.service.v1.mathopt.SparseVectorFilterProto\x12[\n\x12\x64ual_values_filter\x18\x02 \x01(\x0b\x32?.operations_research.service.v1.mathopt.SparseVectorFilterProto\x12]\n\x14reduced_costs_filter\x18\x03 \x01(\x0b\x32?.operations_research.service.v1.mathopt.SparseVectorFilterProto\x12I\n\rinitial_basis\x18\x04 \x01(\x0b\x32\x32.operations_research.service.v1.mathopt.BasisProto\x12Q\n\x0esolution_hints\x18\x05 \x03(\x0b\x32\x39.operations_research.service.v1.mathopt.SolutionHintProto\x12\\\n\x14\x62ranching_priorities\x18\x06 \x01(\x0b\x32>.operations_research.service.v1.mathopt.SparseInt32VectorProtoBB\n%com.google.ortools.service.v1.mathoptP\x01\xaa\x02\x16Google.OrTools.Serviceb\x06proto3')
30
31_globals = globals()
32_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ortools.service.v1.mathopt.model_parameters_pb2', _globals)
34if not _descriptor._USE_C_DESCRIPTORS:
35  _globals['DESCRIPTOR']._loaded_options = None
36  _globals['DESCRIPTOR']._serialized_options = b'\n%com.google.ortools.service.v1.mathoptP\001\252\002\026Google.OrTools.Service'
37  _globals['_SOLUTIONHINTPROTO']._serialized_start=189
38  _globals['_SOLUTIONHINTPROTO']._serialized_end=384
39  _globals['_MODELSOLVEPARAMETERSPROTO']._serialized_start=387
40  _globals['_MODELSOLVEPARAMETERSPROTO']._serialized_end=951
41# @@protoc_insertion_point(module_scope)
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = <google._upb._message.FileDescriptor object>
class SolutionHintProto(google._upb._message.Message, google.protobuf.message.Message):

A suggested starting solution for the solver.

MIP solvers generally only want primal information (variable_values), while LP solvers want both primal and dual information (dual_values).

Many MIP solvers can work with: (1) partial solutions that do not specify all variables or (2) infeasible solutions. In these cases, solvers typically solve a sub-MIP to complete/correct the hint.

How the hint is used by the solver, if at all, is highly dependent on the solver, the problem type, and the algorithm used. The most reliable way to ensure your hint has an effect is to read the underlying solvers logs with and without the hint.

Simplex-based LP solvers typically prefer an initial basis to a solution hint (they need to crossover to convert the hint to a basic feasible solution otherwise).

TODO(b/183616124): Add hint-priorities to variable_values.

DESCRIPTOR: google.protobuf.descriptor.Descriptor = <google._upb._message.Descriptor object>
class ModelSolveParametersProto(google._upb._message.Message, google.protobuf.message.Message):

TODO(b/183628247): follow naming convention in fields below. Parameters to control a single solve that that are specific to the input model (see SolveParametersProto for model independent parameters).

DESCRIPTOR: google.protobuf.descriptor.Descriptor = <google._upb._message.Descriptor object>