CoinUtils  2.10.14
CoinLpIO.hpp
Go to the documentation of this file.
1 /* $Id: CoinLpIO.hpp 1749 2014-10-24 20:00:14Z tkr $ */
2 // Last edit: 11/5/08
3 //
4 // Name: CoinLpIO.hpp; Support for Lp files
5 // Author: Francois Margot
6 // Tepper School of Business
7 // Carnegie Mellon University, Pittsburgh, PA 15213
8 // email: fmargot@andrew.cmu.edu
9 // Date: 12/28/03
10 //-----------------------------------------------------------------------------
11 // Copyright (C) 2003, Francois Margot, International Business Machines
12 // Corporation and others. All Rights Reserved.
13 // This code is licensed under the terms of the Eclipse Public License (EPL).
14 
15 #ifndef CoinLpIO_H
16 #define CoinLpIO_H
17 
18 #include <cstdio>
19 
20 #include "CoinPackedMatrix.hpp"
21 #include "CoinMessage.hpp"
22 class CoinSet;
23 
24 const int MAX_OBJECTIVES = 2;
25 
26 typedef int COINColumnIndex;
27 
104 class CoinLpIO {
105  friend void CoinLpIOUnitTest(const std::string & lpDir);
106 public:
107 
110  CoinLpIO();
112 
115 
117  void gutsOfCopy(const CoinLpIO &);
118 
120  CoinLpIO & operator = (const CoinLpIO& rhs) ;
121 
123  CoinLpIO (const CoinLpIO &);
124 
127 
133  void freePreviousNames(const int section);
134 
136  void freeAll();
138 
141  inline void
142  convertBoundToSense(const double lower, const double upper,
143  char& sense, double& right, double& range) const;
144 
147 
149  const char * getProblemName() const;
150 
152  void setProblemName(const char *name);
153 
155  int getNumCols() const;
156 
158  int getNumRows() const;
159 
161  int getNumElements() const;
162 
164  const double * getColLower() const;
165 
167  const double * getColUpper() const;
168 
170  const double * getRowLower() const;
171 
173  const double * getRowUpper() const;
183  const char * getRowSense() const;
184 
196  const double * getRightHandSide() const;
197 
211  const double * getRowRange() const;
212 
214  const int getNumObjectives() const;
215 
217  const double * getObjCoefficients() const;
218 
220  const double * getObjCoefficients(int j) const;
221 
224 
227 
229  const char * getObjName() const;
230 
232  const char * getObjName(int j) const;
233 
239  void getPreviousRowNames(char const * const * prev,
240  int *card_prev) const;
241 
246  void getPreviousColNames(char const * const * prev,
247  int *card_prev) const;
248 
251  char const * const * getRowNames() const;
252 
254  char const * const *getColNames() const;
255 
259  const char * rowName(int index) const;
260 
264  const char * columnName(int index) const;
265 
269  int rowIndex(const char * name) const;
270 
273  int columnIndex(const char * name) const;
274 
276  double objectiveOffset() const;
277 
279  double objectiveOffset(int j) const;
280 
282  inline void setObjectiveOffset(double value)
283  { objectiveOffset_[0] = value;}
284 
286  inline void setObjectiveOffset(double value, int j)
287  { objectiveOffset_[j] = value;}
288 
291  bool isInteger(int columnNumber) const;
292 
294  const char * integerColumns() const;
296 
299  double getInfinity() const;
301 
304  void setInfinity(const double);
305 
307  double getEpsilon() const;
308 
311  void setEpsilon(const double);
312 
314  int getNumberAcross() const;
315 
318  void setNumberAcross(const int);
319 
321  int getDecimals() const;
322 
325  void setDecimals(const int);
327 
341  const CoinPackedMatrix& m,
342  const double* collb, const double* colub,
343  const double* obj_coeff,
344  const char* integrality,
345  const double* rowlb, const double* rowub);
346 
348  const CoinPackedMatrix& m,
349  const double* collb, const double* colub,
350  const double* obj_coeff[MAX_OBJECTIVES],
351  int num_objectives,
352  const char* integrality,
353  const double* rowlb, const double* rowub);
354 
367  int is_invalid_name(const char *buff, const bool ranged) const;
368 
385  int are_invalid_names(char const * const *vnames,
386  const int card_vnames,
387  const bool check_ranged) const;
388 
392 
395 
415  void setLpDataRowAndColNames(char const * const * const rownames,
416  char const * const * const colnames);
417 
432  int writeLp(const char *filename,
433  const double epsilon,
434  const int numberAcross,
435  const int decimals,
436  const bool useRowNames = true);
437 
452  int writeLp(FILE *fp,
453  const double epsilon,
454  const int numberAcross,
455  const int decimals,
456  const bool useRowNames = true);
457 
460  int writeLp(const char *filename, const bool useRowNames = true);
461 
464  int writeLp(FILE *fp, const bool useRowNames = true);
465 
470  void readLp(const char *filename, const double epsilon);
471 
476  void readLp(const char *filename);
477 
483  void readLp(FILE *fp, const double epsilon);
484 
489  void readLp(FILE *fp);
490 
492  void print() const;
493 
495  void loadSOS(int numberSets,const CoinSet * sets);
496 
498  void loadSOS(int numberSets,const CoinSet ** sets);
499 
501  inline int numberSets() const
502  { return numberSets_;}
503 
505  inline CoinSet ** setInformation() const
506  { return set_;}
508 
516 
519 
521  inline void setLanguage(CoinMessages::Language language) {newLanguage(language);}
522 
524  inline CoinMessageHandler * messageHandler() const {return handler_;}
525 
527  inline CoinMessages messages() {return messages_;}
529  inline CoinMessages * messagesPointer() {return & messages_;}
531 
532 protected:
534  char * problemName_;
535 
546 
549 
552 
555 
558 
561 
563  double * rowlower_;
564 
566  double * rowupper_;
567 
569  double * collower_;
570 
572  double * colupper_;
573 
575  mutable double * rhs_;
576 
580  mutable double *rowrange_;
581 
583  mutable char * rowsense_;
584 
587 
590 
593 
596  char * integerType_;
597 
600 
603 
605  char * fileName_;
606 
608  double infinity_;
609 
611  double epsilon_;
612 
615 
618 
621 
628  char **previous_names_[2];
629 
635 
640  char **names_[2];
641 
642  typedef struct {
643  int index, next;
644  } CoinHashLink;
645 
649  int maxHash_[2];
650 
654  int numberHash_[2];
655 
659  mutable CoinHashLink *hash_[2];
660 
666  void startHash(char const * const * const names,
667  const COINColumnIndex number,
668  int section);
669 
673  void stopHash(int section);
674 
679  COINColumnIndex findHash(const char *name, int section) const;
680 
685  void insertHash(const char *thisName, int section);
686 
689  void out_coeff(FILE *fp, double v, int print_1) const;
690 
694  int find_obj(FILE *fp) const;
695 
701  int is_subject_to(const char *buff) const;
702 
705  int first_is_number(const char *buff) const;
706 
709  int is_comment(const char *buff) const;
710 
712  void skip_comment(char *buff, FILE *fp) const;
713 
715  void scan_next(char *buff, FILE *fp) const;
716 
719  int is_free(const char *buff) const;
720 
723  int is_inf(const char *buff) const;
724 
730  int is_sense(const char *buff) const;
731 
743  int is_keyword(const char *buff) const;
744 
747  int read_monom_obj(FILE *fp, double *coeff, char **name, int *cnt,
748  char **obj_name, int *num_objectives, int *obj_starts);
749 
754  int read_monom_row(FILE *fp, char *start_str, double *coeff, char **name,
755  int cnt_coeff) const;
756 
758  void realloc_coeff(double **coeff, char ***colNames, int *maxcoeff) const;
759 
761  void realloc_row(char ***rowNames, int **start, double **rhs,
762  double **rowlow, double **rowup, int *maxrow) const;
763 
765  void realloc_col(double **collow, double **colup, char **is_int,
766  int *maxcol) const;
767 
769  void read_row(FILE *fp, char *buff, double **pcoeff, char ***pcolNames,
770  int *cnt_coeff, int *maxcoeff,
771  double *rhs, double *rowlow, double *rowup,
772  int *cnt_row, double inf) const;
773 
788 
798 
799 };
800 
801 void
802 CoinLpIOUnitTest(const std::string& lpDir);
803 
804 
805 #endif
CoinLpIOUnitTest
void CoinLpIOUnitTest(const std::string &lpDir)
CoinLpIO::getRightHandSide
const double * getRightHandSide() const
Get pointer to array[getNumRows()] of constraint right-hand sides.
CoinLpIO::setLanguage
void setLanguage(CoinMessages::Language language)
Set the language for messages.
Definition: CoinLpIO.hpp:521
CoinLpIO::insertHash
void insertHash(const char *thisName, int section)
Insert thisName in the hash table if not present yet; does nothing if the name is already in.
CoinLpIO::names_
char ** names_[2]
Row names (including objective function name) and column names (linked to Hash tables).
Definition: CoinLpIO.hpp:640
CoinLpIO::getPreviousRowNames
void getPreviousRowNames(char const *const *prev, int *card_prev) const
Get pointer to array[*card_prev] of previous row names.
CoinLpIO::convertBoundToSense
void convertBoundToSense(const double lower, const double upper, char &sense, double &right, double &range) const
A quick inlined function to convert from lb/ub style constraint definition to sense/rhs/range style.
CoinLpIO::integerType_
char * integerType_
Pointer to dense vector specifying if a variable is continuous (0) or integer (1).
Definition: CoinLpIO.hpp:596
CoinLpIO::collower_
double * collower_
Pointer to dense vector of column lower bounds.
Definition: CoinLpIO.hpp:569
CoinLpIO::is_free
int is_free(const char *buff) const
Return 1 if buff is the keyword "free" or one of its variants.
CoinLpIO::getRowSense
const char * getRowSense() const
Get pointer to array[getNumRows()] of constraint senses.
CoinLpIO::read_row
void read_row(FILE *fp, char *buff, double **pcoeff, char ***pcolNames, int *cnt_coeff, int *maxcoeff, double *rhs, double *rowlow, double *rowup, int *cnt_row, double inf) const
Read a constraint.
CoinLpIO::numberAcross_
int numberAcross_
Number of monomials printed in a row.
Definition: CoinLpIO.hpp:614
CoinLpIO::read_monom_row
int read_monom_row(FILE *fp, char *start_str, double *coeff, char **name, int cnt_coeff) const
Read a monomial of a constraint.
CoinLpIO::skip_comment
void skip_comment(char *buff, FILE *fp) const
Read the file fp until buff contains an end of line.
COINColumnIndex
int COINColumnIndex
Definition: CoinLpIO.hpp:26
CoinLpIO::fileName_
char * fileName_
Current file name.
Definition: CoinLpIO.hpp:605
CoinLpIO::getObjName
const char * getObjName() const
Get objective function name.
CoinMessage.hpp
This file contains the enum for the standard set of Coin messages and a class definition whose sole p...
CoinLpIO::maxHash_
int maxHash_[2]
Maximum number of entries in a hash table section.
Definition: CoinLpIO.hpp:649
CoinLpIO::rowlower_
double * rowlower_
Pointer to dense vector of row lower bounds.
Definition: CoinLpIO.hpp:563
CoinLpIO::messageHandler
CoinMessageHandler * messageHandler() const
Return the message handler.
Definition: CoinLpIO.hpp:524
CoinLpIO::getColLower
const double * getColLower() const
Get pointer to array[getNumCols()] of column lower bounds.
CoinLpIO::getMatrixByRow
const CoinPackedMatrix * getMatrixByRow() const
Get pointer to row-wise copy of the coefficient matrix.
CoinLpIO::set_
CoinSet ** set_
Pointer to sets.
Definition: CoinLpIO.hpp:599
CoinLpIO::print
void print() const
Dump the data. Low level method for debugging.
CoinLpIO::loadSOS
void loadSOS(int numberSets, const CoinSet *sets)
Load in SOS stuff.
CoinLpIO::numberSets_
int numberSets_
Number of sets.
Definition: CoinLpIO.hpp:602
CoinLpIO::objectiveOffset_
double objectiveOffset_[MAX_OBJECTIVES]
Constant offset for objective value.
Definition: CoinLpIO.hpp:592
CoinLpIO::setNumberAcross
void setNumberAcross(const int)
Set numberAcross.
CoinLpIO::setLpDataRowAndColNames
void setLpDataRowAndColNames(char const *const *const rownames, char const *const *const colnames)
Set the row and column names.
CoinLpIO::getMatrixByCol
const CoinPackedMatrix * getMatrixByCol() const
Get pointer to column-wise copy of the coefficient matrix.
CoinLpIO::rowIndex
int rowIndex(const char *name) const
Return the index for the specified row name.
CoinLpIO::passInMessageHandler
void passInMessageHandler(CoinMessageHandler *handler)
Pass in Message handler.
CoinMessages
Class to hold and manipulate an array of massaged messages.
Definition: CoinMessageHandler.hpp:128
CoinLpIO::getObjCoefficients
const double * getObjCoefficients(int j) const
Get pointer to array[getNumCols()] of objective function coefficients for objective j.
CoinLpIO::card_previous_names_
int card_previous_names_[2]
card_previous_names_[section] holds the number of entries in the vector previous_names_[section].
Definition: CoinLpIO.hpp:634
CoinLpIO::rowsense_
char * rowsense_
Pointer to dense vector of row senses.
Definition: CoinLpIO.hpp:583
CoinLpIO::getNumElements
int getNumElements() const
Get number of nonzero elements.
CoinLpIO::writeLp
int writeLp(FILE *fp, const double epsilon, const int numberAcross, const int decimals, const bool useRowNames=true)
Write the data in Lp format in the file pointed to by the paramater fp.
CoinLpIO::getEpsilon
double getEpsilon() const
Get epsilon.
CoinLpIO::operator=
CoinLpIO & operator=(const CoinLpIO &rhs)
assignment operator
CoinLpIO::getRowRange
const double * getRowRange() const
Get pointer to array[getNumRows()] of row ranges.
CoinLpIO::objective_
double * objective_[MAX_OBJECTIVES]
Pointer to dense vector of objective coefficients.
Definition: CoinLpIO.hpp:586
CoinLpIO::is_comment
int is_comment(const char *buff) const
Return 1 if the first character of buff is '/' or '\'.
CoinLpIO::findHash
COINColumnIndex findHash(const char *name, int section) const
Return the index of the given name, return -1 if the name is not found.
CoinLpIO::CoinLpIOUnitTest
friend void CoinLpIOUnitTest(const std::string &lpDir)
CoinLpIO::setObjectiveOffset
void setObjectiveOffset(double value, int j)
Set objective offset.
Definition: CoinLpIO.hpp:286
CoinLpIO::objectiveOffset
double objectiveOffset() const
Returns the (constant) objective offset.
CoinLpIO::writeLp
int writeLp(FILE *fp, const bool useRowNames=true)
Write the data in Lp format in the file pointed to by the parameter fp.
CoinLpIO::stopHash
void stopHash(int section)
Delete hash storage.
CoinLpIO::setDefaultColNames
void setDefaultColNames()
Set column names to the default "x0", "x1", ...
CoinLpIO::setLpDataWithoutRowAndColNames
void setLpDataWithoutRowAndColNames(const CoinPackedMatrix &m, const double *collb, const double *colub, const double *obj_coeff, const char *integrality, const double *rowlb, const double *rowub)
Set the data of the object.
CoinLpIO::defaultHandler_
bool defaultHandler_
Flag to say if the message handler is the default handler.
Definition: CoinLpIO.hpp:543
CoinLpIO::writeLp
int writeLp(const char *filename, const double epsilon, const int numberAcross, const int decimals, const bool useRowNames=true)
Write the data in Lp format in the file with name filename.
CoinLpIO::isInteger
bool isInteger(int columnNumber) const
Return true if a column is an integer (binary or general integer) variable.
MAX_OBJECTIVES
const int MAX_OBJECTIVES
Definition: CoinLpIO.hpp:24
CoinLpIO::setInformation
CoinSet ** setInformation() const
Set information.
Definition: CoinLpIO.hpp:505
CoinLpIO::freeAll
void freeAll()
Free all memory (except memory related to hash tables and objName_).
CoinLpIO::numberColumns_
int numberColumns_
Number of columns.
Definition: CoinLpIO.hpp:551
CoinLpIO::is_sense
int is_sense(const char *buff) const
Return an integer indicating the inequality sense read.
CoinLpIO::readLp
void readLp(FILE *fp, const double epsilon)
Read the data in Lp format from the file stream, using the given value for epsilon.
CoinLpIO::scan_next
void scan_next(char *buff, FILE *fp) const
Put in buff the next string that is not part of a comment.
CoinLpIO::gutsOfDestructor
void gutsOfDestructor()
Does the heavy lifting for destruct and assignment.
CoinLpIO::getNumRows
int getNumRows() const
Get number of rows.
CoinLpIO::getObjCoefficients
const double * getObjCoefficients() const
Get pointer to array[getNumCols()] of objective function coefficients.
CoinLpIO::numberSets
int numberSets() const
Number of SOS sets.
Definition: CoinLpIO.hpp:501
CoinLpIO::getProblemName
const char * getProblemName() const
Get the problem name.
CoinLpIO::gutsOfCopy
void gutsOfCopy(const CoinLpIO &)
Does the heavy lifting for copy and assignment.
CoinLpIO::integerColumns
const char * integerColumns() const
Get characteristic vector of integer variables.
CoinLpIO::getNumberAcross
int getNumberAcross() const
Get numberAcross, the number of monomials to be printed per line.
CoinLpIO::rhs_
double * rhs_
Pointer to dense vector of row rhs.
Definition: CoinLpIO.hpp:575
CoinMessageHandler
Base class for message handling.
Definition: CoinMessageHandler.hpp:327
CoinLpIO::getObjName
const char * getObjName(int j) const
Get objective function name for objective j.
CoinLpIO::getRowUpper
const double * getRowUpper() const
Get pointer to array[getNumRows()] of row upper bounds.
CoinLpIO::writeLp
int writeLp(const char *filename, const bool useRowNames=true)
Write the data in Lp format in the file with name filename.
CoinLpIO::out_coeff
void out_coeff(FILE *fp, double v, int print_1) const
Write a coefficient.
CoinSet
Very simple class for containing data on set.
Definition: CoinMpsIO.hpp:221
CoinLpIO::setDecimals
void setDecimals(const int)
Set decimals.
CoinLpIO::realloc_row
void realloc_row(char ***rowNames, int **start, double **rhs, double **rowlow, double **rowup, int *maxrow) const
Reallocate vectors related to rows.
CoinLpIO::getNumObjectives
const int getNumObjectives() const
Get pointer to array[getNumCols()] of objective function coefficients.
CoinLpIO::matrixByRow_
CoinPackedMatrix * matrixByRow_
Pointer to row-wise copy of problem matrix coefficients.
Definition: CoinLpIO.hpp:560
CoinLpIO::getNumCols
int getNumCols() const
Get number of columns.
CoinLpIO::freePreviousNames
void freePreviousNames(const int section)
Free the vector previous_names_[section] and set card_previous_names_[section] to 0.
CoinLpIO::are_invalid_names
int are_invalid_names(char const *const *vnames, const int card_vnames, const bool check_ranged) const
Return 0 if each of the card_vnames entries of vnames is a valid name, return a positive number other...
CoinLpIO::setEpsilon
void setEpsilon(const double)
Set epsilon.
CoinPackedMatrix.hpp
CoinLpIO::is_keyword
int is_keyword(const char *buff) const
Return an integer indicating if one of the keywords "Bounds", "Integers", "Generals",...
CoinLpIO::rowupper_
double * rowupper_
Pointer to dense vector of row upper bounds.
Definition: CoinLpIO.hpp:566
CoinLpIO::setProblemName
void setProblemName(const char *name)
Set problem name.
CoinLpIO::is_subject_to
int is_subject_to(const char *buff) const
Return an integer indicating if the keyword "subject to" or one of its variants has been read.
CoinLpIO::first_is_number
int first_is_number(const char *buff) const
Return 1 if the first character of buff is a number.
CoinPackedMatrix
Sparse Matrix Base Class.
Definition: CoinPackedMatrix.hpp:79
CoinLpIO::rowName
const char * rowName(int index) const
Return the row name for the specified index.
CoinLpIO::getRowLower
const double * getRowLower() const
Get pointer to array[getNumRows()] of row lower bounds.
CoinLpIO::numberRows_
int numberRows_
Number of rows.
Definition: CoinLpIO.hpp:548
CoinLpIO::problemName_
char * problemName_
Problem name.
Definition: CoinLpIO.hpp:534
CoinLpIO::columnIndex
int columnIndex(const char *name) const
Return the index for the specified column name.
CoinLpIO::loadSOS
void loadSOS(int numberSets, const CoinSet **sets)
Load in SOS stuff.
CoinLpIO::columnName
const char * columnName(int index) const
Return the column name for the specified index.
CoinLpIO::messages
CoinMessages messages()
Return the messages.
Definition: CoinLpIO.hpp:527
CoinLpIO::readLp
void readLp(const char *filename)
Read the data in Lp format from the file with name filename.
CoinLpIO::checkColNames
void checkColNames()
Check that current column names are distinct.
CoinLpIO::getPreviousColNames
void getPreviousColNames(char const *const *prev, int *card_prev) const
Get pointer to array[*card_prev] of previous column names.
CoinLpIO::CoinLpIO
CoinLpIO()
Default Constructor.
CoinLpIO::previous_names_
char ** previous_names_[2]
Row names (including objective function name) and column names when stopHash() for the corresponding ...
Definition: CoinLpIO.hpp:628
CoinLpIO::realloc_coeff
void realloc_coeff(double **coeff, char ***colNames, int *maxcoeff) const
Reallocate vectors related to number of coefficients.
CoinLpIO::infinity_
double infinity_
Value to use for infinity.
Definition: CoinLpIO.hpp:608
CoinLpIO::handler_
CoinMessageHandler * handler_
Message handler.
Definition: CoinLpIO.hpp:537
CoinLpIO::is_invalid_name
int is_invalid_name(const char *buff, const bool ranged) const
Return 0 if buff is a valid name for a row, a column or objective function, return a positive number ...
CoinLpIO::numberHash_
int numberHash_[2]
Number of entries in a hash table section.
Definition: CoinLpIO.hpp:654
CoinLpIO::CoinLpIO
CoinLpIO(const CoinLpIO &)
Copy constructor.
CoinLpIO::read_monom_obj
int read_monom_obj(FILE *fp, double *coeff, char **name, int *cnt, char **obj_name, int *num_objectives, int *obj_starts)
Read a monomial of the objective function.
CoinLpIO::objectiveOffset
double objectiveOffset(int j) const
Returns the (constant) objective offset for objective j.
CoinLpIO::num_objectives_
int num_objectives_
Number of objectives.
Definition: CoinLpIO.hpp:589
CoinLpIO::getDecimals
int getDecimals() const
Get decimals, the number of digits to write after the decimal point.
CoinLpIO::getColNames
char const *const * getColNames() const
Get pointer to array[getNumCols()] of column names.
CoinLpIO::getRowNames
char const *const * getRowNames() const
Get pointer to array[getNumRows()+1] of row names, including objective function name as last entry.
CoinLpIO::messagesPointer
CoinMessages * messagesPointer()
Return the messages pointer.
Definition: CoinLpIO.hpp:529
CoinLpIO::startHash
void startHash(char const *const *const names, const COINColumnIndex number, int section)
Build the hash table for the given names.
CoinLpIO
Class to read and write Lp files.
Definition: CoinLpIO.hpp:104
CoinLpIO::is_inf
int is_inf(const char *buff) const
Return 1 if buff is the keyword "inf" or one of its variants.
CoinLpIO::~CoinLpIO
~CoinLpIO()
Destructor.
CoinLpIO::setDefaultRowNames
void setDefaultRowNames()
Set objective function name to the default "obj" and row names to the default "cons0",...
CoinLpIO::colupper_
double * colupper_
Pointer to dense vector of column upper bounds.
Definition: CoinLpIO.hpp:572
CoinLpIO::realloc_col
void realloc_col(double **collow, double **colup, char **is_int, int *maxcol) const
Reallocate vectors related to columns.
CoinLpIO::getColUpper
const double * getColUpper() const
Get pointer to array[getNumCols()] of column upper bounds.
CoinLpIO::setLpDataWithoutRowAndColNames
void setLpDataWithoutRowAndColNames(const CoinPackedMatrix &m, const double *collb, const double *colub, const double *obj_coeff[MAX_OBJECTIVES], int num_objectives, const char *integrality, const double *rowlb, const double *rowub)
CoinLpIO::find_obj
int find_obj(FILE *fp) const
Locate the objective function.
CoinLpIO::setInfinity
void setInfinity(const double)
Set infinity.
CoinLpIO::objName_
char * objName_[MAX_OBJECTIVES]
Objective function name.
Definition: CoinLpIO.hpp:620
CoinLpIO::rowrange_
double * rowrange_
Pointer to dense vector of slack variable upper bounds for ranged constraints (undefined for non-rang...
Definition: CoinLpIO.hpp:580
CoinMessages::Language
Language
Supported languages.
Definition: CoinMessageHandler.hpp:136
CoinLpIO::readLp
void readLp(FILE *fp)
Read the data in Lp format from the file stream.
CoinLpIO::readLp
void readLp(const char *filename, const double epsilon)
Read the data in Lp format from the file with name filename, using the given value for epsilon.
CoinLpIO::newLanguage
void newLanguage(CoinMessages::Language language)
Set the language for messages.
CoinLpIO::setObjectiveOffset
void setObjectiveOffset(double value)
Set objective offset.
Definition: CoinLpIO.hpp:282
CoinLpIO::epsilon_
double epsilon_
Value to use for epsilon.
Definition: CoinLpIO.hpp:611
CoinLpIO::hash_
CoinHashLink * hash_[2]
Hash tables with two sections.
Definition: CoinLpIO.hpp:659
CoinLpIO::decimals_
int decimals_
Number of decimals printed for coefficients.
Definition: CoinLpIO.hpp:617
CoinLpIO::checkRowNames
void checkRowNames()
Check that current objective name and all row names are distinct including row names obtained by addi...
CoinLpIO::numberElements_
int numberElements_
Number of elements.
Definition: CoinLpIO.hpp:554
CoinLpIO::messages_
CoinMessages messages_
Messages.
Definition: CoinLpIO.hpp:545
CoinLpIO::matrixByColumn_
CoinPackedMatrix * matrixByColumn_
Pointer to column-wise copy of problem matrix coefficients.
Definition: CoinLpIO.hpp:557
CoinLpIO::getInfinity
double getInfinity() const
Get infinity.