40 #include <OpenMS/OpenMSConfig.h> 41 #include <OpenMS/config.h> 52 #ifndef GLP_PROB_DEFINED 53 #define GLP_PROB_DEFINED 56 #if OPENMS_GLPK_VERSION_MAJOR == 4 && OPENMS_GLPK_VERSION_MINOR < 48 59 double _opaque_prob[100];
79 message_level(3), branching_tech(4), backtrack_tech(3),
80 preprocessing_tech(2), enable_feas_pump_heuristic(true), enable_gmi_cuts(true),
81 enable_mir_cuts(true), enable_cov_cuts(true), enable_clq_cuts(true), mip_gap(0.0),
82 time_limit((
std::numeric_limits<
Int>::max)()), output_freq(5000), output_delay(10000), enable_presolve(true),
83 enable_binarization(true)
136 #if COINOR_SOLVER == 1 154 Int addRow(
const std::vector<Int>& row_indices,
const std::vector<double>& row_values,
const String& name);
158 Int addColumn(
const std::vector<Int>& column_indices,
const std::vector<double>& column_values,
const String& name);
172 Int addRow(
const std::vector<Int>& row_indices,
const std::vector<double>& row_values,
173 const String& name,
double lower_bound,
double upper_bound, Type type);
185 Int addColumn(
const std::vector<Int>& column_indices,
const std::vector<double>& column_values,
const String& name,
double lower_bound,
double upper_bound, Type type);
188 void deleteRow(
Int index);
190 void setColumnName(
Int index,
const String& name);
200 double getColumnUpperBound(
Int index);
202 double getColumnLowerBound(
Int index);
204 double getRowUpperBound(
Int index);
206 double getRowLowerBound(
Int index);
208 void setRowName(
Int index,
const String& name);
218 void setColumnBounds(
Int index,
double lower_bound,
double upper_bound, Type type);
228 void setRowBounds(
Int index,
double lower_bound,
double upper_bound, Type type);
236 void setColumnType(
Int index, VariableType type);
244 VariableType getColumnType(
Int index);
247 void setObjective(
Int index,
double obj_value);
249 double getObjective(
Int index);
256 void setObjectiveSense(Sense sense);
257 Sense getObjectiveSense();
260 Int getNumberOfColumns();
262 Int getNumberOfRows();
264 void setElement(
Int row_index,
Int column_index,
double value);
265 double getElement(
Int row_index,
Int column_index);
274 void readProblem(
const String& filename,
const String& format);
282 void writeProblem(
const String& filename,
const WriteFormat format)
const;
294 Int solve(SolverParam& solver_param,
const Size verbose_level = 0);
301 SolverStatus getStatus();
304 double getObjectiveValue();
305 double getColumnValue(
Int index);
307 Int getNumberOfNonZeroEntriesInRow(
Int idx);
308 void getMatrixRow(
Int idx, std::vector<Int>& indexes);
311 SOLVER getSolver()
const;
314 #if COINOR_SOLVER == 1 315 CoinModel * model_ =
nullptr;
316 std::vector<double> solution_;
318 glp_prob * lp_problem_ =
nullptr;
bool enable_gmi_cuts
Definition: LPWrapper.h:92
WriteFormat
Definition: LPWrapper.h:126
Int output_freq
Definition: LPWrapper.h:98
A more convenient string class.
Definition: String.h:58
SOLVER
Definition: LPWrapper.h:133
Definition: LPWrapper.h:109
double mip_gap
Definition: LPWrapper.h:96
Definition: LPWrapper.h:108
Definition: LPWrapper.h:129
bool enable_clq_cuts
Definition: LPWrapper.h:95
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
Struct that holds the parameters of the LP solver.
Definition: LPWrapper.h:76
Definition: LPWrapper.h:70
Sense
Definition: LPWrapper.h:120
bool enable_cov_cuts
Definition: LPWrapper.h:94
Int time_limit
Definition: LPWrapper.h:97
Int message_level
Definition: LPWrapper.h:87
Int branching_tech
Definition: LPWrapper.h:88
SolverParam()
Definition: LPWrapper.h:78
bool enable_presolve
Definition: LPWrapper.h:100
Definition: LPWrapper.h:116
SOLVER solver_
Definition: LPWrapper.h:321
Int backtrack_tech
Definition: LPWrapper.h:89
Type
Definition: LPWrapper.h:104
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
SolverStatus
Definition: LPWrapper.h:141
Definition: LPWrapper.h:107
Int preprocessing_tech
Definition: LPWrapper.h:90
VariableType
Definition: LPWrapper.h:113
int Int
Signed integer type.
Definition: Types.h:102
bool enable_mir_cuts
Definition: LPWrapper.h:93
bool enable_feas_pump_heuristic
Definition: LPWrapper.h:91
Int output_delay
Definition: LPWrapper.h:99
bool enable_binarization
only with presolve
Definition: LPWrapper.h:101