1// Copyright 2010-2025 Google LLC
2// Licensed under the Apache License, Version 2.0 (the "License");
3// you may not use this file except in compliance with the License.
4// You may obtain a copy of the License at
6// http://www.apache.org/licenses/LICENSE-2.0
8// Unless required by applicable law or agreed to in writing, software
9// distributed under the License is distributed on an "AS IS" BASIS,
10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11// See the License for the specific language governing permissions and
12// limitations under the License.
14// Proto messages specific to Xpress.
17package operations_research.math_opt;
19// Parameters used to initialize the Xpress solver.
20message XpressInitializerProto {
21 optional bool extract_names = 1;
24// Xpress specific parameters for solving. See
25// https://www.fico.com/fico-xpress-optimization/docs/latest/solver/optimizer/HTML/chapter7.html
26// for a list of possible parameters (called "controls" in Xpress).
27// In addition to all Xpress controls, the following special parameters are
29// "EXPORT_MODEL"(string) If present then the low level Xpress model
30// (the XPRSprob instance) is written to that file
31// right before XPRSoptimize() is called. This can
32// be useful for debugging.
33// "FORCE_POSTSOLVE"(int) If set to a non-zero value then the low-level code
34// will call XPRSpostsolve() right after calling
35// XPRSoptimize(). If not set or set to zero then
36// calling XPRSpostsolve() is delayed to the latest
37// possible point in time to enable incremental
39// "STOP_AFTER_LP"(int) If set to a non-zero value then the solve will be
40// stopped right after solving the root relaxation.
41// This is the same as passing the ' l' (ell) flag
42// to XPRSoptimize() and stops the process earlier
43// than a limit like MAXNODE=0.
46// XpressParameters xpress;
47// xpress.param_values["BarIterLimit"] = "10";
49// Parameters are applied in the following order:
50// * Any parameters derived from ortools parameters (like LP algorithm).
51// * param_values in iteration order (insertion order).
52message XpressParametersProto {
57 repeated Parameter parameters = 1;