10#ifndef FMTmatrixbuild_H_INCLUDED
11#define FMTmatrixbuild_H_INCLUDED
19class OsiSolverInterface;
43 std::unique_ptr<CoinBuild>colsbuild;
46 std::unique_ptr<CoinBuild>rowsbuild;
49 std::vector<int>deletedconstraints;
52 std::vector<int>deletedvariables;
55 std::vector<std::string>columnnames;
58 std::vector<std::string>rownames;
63 void sortelementsandclean(std::vector<int>& elements)
const;
68 std::string formatformatrixname(std::string name,
bool shortformat)
const;
100 void setcolname(
const std::string& name,
const int& columnid);
136 void addCol(
int numberInColumn,
const int * rows,
const double * elements,
double columnLower = 0.0,
137 double columnUpper = std::numeric_limits<double>::max(),
double objectiveValue = 0.0);
142 void addRow(
int numberInRow,
const int * columns,
const double * elements,
143 double rowLower = -std::numeric_limits<double>::max(),
double rowUpper = std::numeric_limits<double>::max());
176 return static_cast<int>(deletedconstraints.size());
184 return static_cast<int>(deletedvariables.size());
192 return deletedconstraints;
200 return deletedvariables;
222 int getrow(
int whichRow,
double &rowLower,
double &rowUpper,
223 std::vector<int>& indices, std::vector<double>&elements)
const;
229 int getcol(
int whichCol,
double &colLower,
double &colUpper,
double &objectiveValue,
230 std::vector<int>& indices, std::vector<double>&elements)
const;
#define FMTEXPORT
Definition: FMTutility.hpp:92
Definition: FMTmatrixbuild.hpp:34
const std::vector< int > & getdeletedconstraints() const
Definition: FMTmatrixbuild.hpp:190
void deleteRow(const int &rowindex)
int getrow(int whichRow, double &rowLower, double &rowUpper, std::vector< int > &indices, std::vector< double > &elements) const
std::string getcolstosynchronize() const
void synchronize(std::shared_ptr< OsiSolverInterface > solver)
void formatallnames(bool shortformat)
void setcolname(const std::string &name, const int &columnid)
void swap(FMTmatrixbuild &rhs)
const std::vector< int > & getdeletedvariables() const
Definition: FMTmatrixbuild.hpp:198
std::vector< std::string > & getrownames()
Definition: FMTmatrixbuild.hpp:87
int numberofdeletedCols() const
Definition: FMTmatrixbuild.hpp:182
std::vector< std::string > & getcolumnnames()
Definition: FMTmatrixbuild.hpp:79
int numbernewRows() const
Definition: FMTmatrixbuild.hpp:158
void addRow(int numberInRow, const int *columns, const double *elements, double rowLower=-std::numeric_limits< double >::max(), double rowUpper=std::numeric_limits< double >::max())
int numberofdeletedRows() const
Definition: FMTmatrixbuild.hpp:174
std::string getrowstosynchronize() const
void sortandcleandeleted()
void addCol(int numberInColumn, const int *rows, const double *elements, double columnLower=0.0, double columnUpper=std::numeric_limits< double >::max(), double objectiveValue=0.0)
int numbernewCols() const
Definition: FMTmatrixbuild.hpp:166
int getcol(int whichCol, double &colLower, double &colUpper, double &objectiveValue, std::vector< int > &indices, std::vector< double > &elements) const
FMTmatrixbuild(const FMTmatrixbuild &rhs)
void setrowname(const std::string &name, const int &rowid)
void deleteCol(const int &colindex)
Namespace containing all enumerator and classes used to construct or manipulate the different type of...
Definition: FMTareaparser.hpp:50