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 GLPK.
 
   17package operations_research.math_opt;
 
   19// GLPK specific parameters for solving.
 
   21// Fields are optional to enable to capture user intention; if they set
 
   22// explicitly a value to then no generic solve parameters will overwrite this
 
   23// parameter. User specified solver specific parameters have priority on generic
 
   25message GlpkParametersProto {
 
   26  // Compute the primal or dual unbound ray when the variable (structural or
 
   27  // auxiliary) causing the unboundness is identified (see glp_get_unbnd_ray()).
 
   29  // The unset value is equivalent to false.
 
   31  // Rays are only available when solving linear programs, they are not
 
   32  // available for MIPs. On top of that they are only available when using a
 
   33  // simplex algorithm with the presolve disabled.
 
   35  // A primal ray can only be built if the chosen LP algorithm is
 
   36  // LP_ALGORITHM_PRIMAL_SIMPLEX. Same for a dual ray and
 
   37  // LP_ALGORITHM_DUAL_SIMPLEX.
 
   39  // The computation involves the basis factorization to be available which may
 
   40  // lead to extra computations/errors.
 
   41  optional bool compute_unbound_rays_if_possible = 1;