This file is indexed.

/usr/include/coin/OsiSolverParameters.hpp is in coinor-libosi-dev 0.103.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
// Copyright (C) 2000, International Business Machines
// Corporation and others.  All Rights Reserved.

#ifndef OsiSolverParameters_H
#define OsiSolverParameters_H

enum OsiIntParam {
  /** The maximum number of iterations (whatever that means for the given
      solver) the solver can execute in the OsiSolverinterface::initialSolve()
      and the OsiSolverinterface::resolve() methods before terminating. */
  OsiMaxNumIteration = 0,
  /** The maximum number of iterations (whatever that means for the given
      solver) the solver can execute in the
      OsiSolverinterface::solveFromHotStart() method before terminating. */
  OsiMaxNumIterationHotStart,
  /** The name discipline; specifies how the solver will handle row and
      column names.
    - 0: Auto names: Names cannot be set by the client. Names of the form
	 Rnnnnnnn or Cnnnnnnn are generated on demand when a name for a
	 specific row or column is requested; nnnnnnn is derived from the row
	 or column index. Requests for a vector of names return a vector with
	 zero entries.
    - 1: Lazy names: Names supplied by the client are retained. Names of the
	 form Rnnnnnnn or Cnnnnnnn are generated on demand if no name has been
	 supplied by the client. Requests for a vector of names return a
	 vector sized to the largest index of a name supplied by the client;
	 some entries in the vector may be null strings.
    - 2: Full names: Names supplied by the client are retained. Names of the
	 form Rnnnnnnn or Cnnnnnnn are generated on demand if no name has been
	 supplied by the client. Requests for a vector of names return a
	 vector sized to match the constraint system, and all entries will
	 contain either the name specified by the client or a generated name.
  */
  OsiNameDiscipline,
  /** Just a marker, so that OsiSolverInterface can allocate a static sized
      array to store parameters. */
  OsiLastIntParam
};

enum OsiDblParam {
  /** Dual objective limit. This is to be used as a termination
      criteria in methods where the dual objective monotonically changes
      (e.g., dual simplex, the volume algorithm) */
  OsiDualObjectiveLimit = 0,
  /** Primal objective limit. This is to be used as a termination
      criteria in methods where the primal objective monotonically changes
      (e.g., primal simplex) */
  OsiPrimalObjectiveLimit,
  /** The maximum amount the dual constraints can be violated and still be
      considered feasible. */
  OsiDualTolerance,
  /** The maximum amount the primal constraints can be violated and still be
      considered feasible. */
  OsiPrimalTolerance,
  /** The value of any constant term in the objective function. */
  OsiObjOffset,
  /** Just a marker, so that OsiSolverInterface can allocate a static sized
      array to store parameters. */
  OsiLastDblParam
};


enum OsiStrParam {
  /** Name of the problem. This is the found on the Name card of
      an mps file. */
  OsiProbName = 0,
  /** Name of the solver. This parameter is not settable. */
  OsiSolverName,
  /** Just a marker, so that OsiSolverInterface can allocate a static sized
      array to store parameters. */
  OsiLastStrParam
};

enum OsiHintParam {
  /** Whether to do a presolve in initialSolve */
  OsiDoPresolveInInitial = 0,
  /** Whether to use a dual algorithm in initialSolve.
      The reverse is to use a primal algorithm */
  OsiDoDualInInitial,
  /** Whether to do a presolve in resolve */
  OsiDoPresolveInResolve,
  /** Whether to use a dual algorithm in resolve.
      The reverse is to use a primal algorithm */
  OsiDoDualInResolve,
  /** Whether to scale problem */
  OsiDoScale,
  /** Whether to create a non-slack basis (only in initialSolve) */
  OsiDoCrash,
  /** Whether to reduce amount of printout, e.g., for branch and cut */
  OsiDoReducePrint,
  /** Whether we are in branch and cut - so can modify behavior */
  OsiDoInBranchAndCut,
  /** Just a marker, so that OsiSolverInterface can allocate a static sized
      array to store parameters. */
  OsiLastHintParam
};

enum OsiHintStrength {
  /** Ignore hint (default) */
  OsiHintIgnore = 0,
  /** This means it is only a hint */
  OsiHintTry,
  /** This means do hint if at all possible */
  OsiHintDo,
  /** And this means throw an exception if not possible */
  OsiForceDo
};

#endif