40 #include <OpenMS/OpenMSConfig.h> 
   41 #include <OpenMS/config.h> 
   50 #ifndef GLP_PROB_DEFINED 
   51 #define GLP_PROB_DEFINED 
   54 #if OPENMS_GLPK_VERSION_MINOR < 48 
   57   double _opaque_prob[100];
 
   76         message_level(3), branching_tech(4), backtrack_tech(3),
 
   77         preprocessing_tech(2), enable_feas_pump_heuristic(true), enable_gmi_cuts(true),
 
   78         enable_mir_cuts(true), enable_cov_cuts(true), enable_clq_cuts(true), mip_gap(0.0),
 
   79         time_limit((std::numeric_limits<
Int>::max)()), output_freq(5000), output_delay(10000), enable_presolve(true),
 
   80         enable_binarization(true)
 
  133 #if COINOR_SOLVER == 1 
  151     Int addRow(
const std::vector<Int>& row_indices, 
const std::vector<double>& row_values, 
const String& name);
 
  155     Int addColumn(
const std::vector<Int>& column_indices, 
const std::vector<double>& column_values, 
const String& name);
 
  169     Int addRow(
const std::vector<Int>& row_indices, 
const std::vector<double>& row_values,
 
  170                const String& name, 
double lower_bound, 
double upper_bound, Type type);
 
  182     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);
 
  185     void deleteRow(
Int index);
 
  187     void setColumnName(
Int index, 
const String& name);
 
  197     double getColumnUpperBound(
Int index);
 
  199     double getColumnLowerBound(
Int index);
 
  201     double getRowUpperBound(
Int index);
 
  203     double getRowLowerBound(
Int index);
 
  205     void setRowName(
Int index, 
const String& name);
 
  215     void setColumnBounds(
Int index, 
double lower_bound, 
double upper_bound, Type type);
 
  225     void setRowBounds(
Int index, 
double lower_bound, 
double upper_bound, Type type);
 
  233     void setColumnType(
Int index, VariableType type);
 
  241     VariableType getColumnType(
Int index);
 
  244     void setObjective(
Int index, 
double obj_value);
 
  246     double getObjective(
Int index);
 
  253     void setObjectiveSense(Sense sense);
 
  254     Sense getObjectiveSense();
 
  257     Int getNumberOfColumns();
 
  259     Int getNumberOfRows();
 
  261     void setElement(
Int row_index, 
Int column_index, 
double value);
 
  262     double getElement(
Int row_index, 
Int column_index);
 
  271     void readProblem(
const String& filename, 
const String& format);
 
  279     void writeProblem(
const String& filename, 
const WriteFormat format) 
const;
 
  291     Int solve(SolverParam& solver_param, 
const Size verbose_level = 0);
 
  298     SolverStatus getStatus();
 
  301     double getObjectiveValue();
 
  302     double getColumnValue(
Int index);
 
  304     Int getNumberOfNonZeroEntriesInRow(
Int idx);
 
  305     void getMatrixRow(
Int idx, std::vector<Int>& indexes);
 
  308     SOLVER getSolver() 
const;
 
  311 #if COINOR_SOLVER == 1 
  312     CoinModel * model_ = 
nullptr;
 
  313     std::vector<double> solution_;