/usr/include/coin/OsiSolverParameters.hpp is in coinor-libosi-dev 0.106.4-1ubuntu5.
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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | // Copyright (C) 2000, International Business Machines
// Corporation and others. All Rights Reserved.
// This code is licensed under the terms of the Eclipse Public License (EPL).
#ifndef OsiSolverParameters_H
#define OsiSolverParameters_H
enum OsiIntParam {
/*! \brief Iteration limit for initial solve and resolve.
The maximum number of iterations (whatever that means for the given
solver) the solver can execute in the OsiSolverinterface::initialSolve()
and OsiSolverinterface::resolve() methods before terminating.
*/
OsiMaxNumIteration = 0,
/*! \brief Iteration limit for hot start
The maximum number of iterations (whatever that means for the given
solver) the solver can execute in the
OsiSolverinterface::solveFromHotStart() method before terminating.
*/
OsiMaxNumIterationHotStart,
/*! \brief Handling of row and column names.
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,
/*! \brief End marker.
Used by OsiSolverInterface to allocate a fixed-sized array to store
integer parameters.
*/
OsiLastIntParam
} ;
enum OsiDblParam {
/*! \brief Dual objective limit.
This is to be used as a termination criteria in algorithms where the dual
objective changes monotonically (e.g., dual simplex, volume algorithm).
*/
OsiDualObjectiveLimit = 0,
/*! \brief Primal objective limit.
This is to be used as a termination criteria in algorithms where the
primal objective changes monotonically (e.g., primal simplex)
*/
OsiPrimalObjectiveLimit,
/*! \brief Dual feasibility tolerance.
The maximum amount a dual constraint can be violated and still be
considered feasible.
*/
OsiDualTolerance,
/*! \brief Primal feasibility tolerance.
The maximum amount a primal constraint can be violated and still be
considered feasible.
*/
OsiPrimalTolerance,
/** The value of any constant term in the objective function. */
OsiObjOffset,
/*! \brief End marker.
Used by OsiSolverInterface to allocate a fixed-sized array to store
double parameters.
*/
OsiLastDblParam
};
enum OsiStrParam {
/*! \brief The name of the loaded problem.
This is the string specified on the Name card of an mps file.
*/
OsiProbName = 0,
/*! \brief The name of the solver.
This parameter is read-only.
*/
OsiSolverName,
/*! \brief End marker.
Used by OsiSolverInterface to allocate a fixed-sized array to store
string 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
|