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)
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.
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).