AGSol (Art Gallery Solver)  1.0.2
This package contains a software capable of optimally solving the Art Gallery Problem (AGP), one interesting NP-hard problem from the Computational Geometry field. The algorithm implemented in this solution, which can be today considered the state-of-the-art technique on the AGP, can be found in details in the following paper: Davi C. Tozoni, Pedro J. de Rezende, Cid C. de Souza. A Practical Iterative Algorithm for the Art Gallery Problem using Integer Linear Programming
 All Classes Functions
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
SolverPLIXpress Class Reference

Public Member Functions

 SolverPLIXpress (int, int, int, int, int *, int *, int *, double *, double extLB=0.0)
 
int loadSetCoverProblem (int, int, int *, int *, int *, double *)
 
void solveSetCov ()
 
void solve ()
 
bool isOptimal ()
 
void setUB (double value)
 
void setViableSolution (vector< int > solution)
 
void writeProblem ()
 
double getZStar ()
 
double getExtLB ()
 
void setZStar (double zStar)
 
int getNumCols ()
 
void freeXStar ()
 
void setXStar (double *xStar)
 
double * getXStar ()
 
int getProblemType ()
 
void setLBstop (bool value)
 

Static Public Member Functions

static void XPRS_CC callbackBestSolution (XPRSprob, void *)
 

Static Public Attributes

static const int SET_COVER = 1
 
static const int USE_XPRESS = 1
 
static const int NOT_USE_XPRESS = 0
 

Constructor & Destructor Documentation

SolverPLIXpress::SolverPLIXpress ( int  nCols,
int  nRows,
int  problemType,
int  useXPRESS,
int *  mStart,
int *  mNel,
int *  mRwInd,
double *  dMatVal,
double  extLB = 0.0 
)

Constructor for Xpress SCP solver.

Member Function Documentation

void XPRS_CC SolverPLIXpress::callbackBestSolution ( XPRSprob  prob,
void *  myObj 
)
static

Callback triggered when an integer solution is found.

double SolverPLIXpress::getZStar ( )
inline

General Getters and Setters.

bool SolverPLIXpress::isOptimal ( )

Verifies if an optimal solution was found.

int SolverPLIXpress::loadSetCoverProblem ( int  nCols,
int  nRows,
int *  mStart,
int *  mNel,
int *  mRwInd,
double *  dMatVal 
)

Loads SCP matrix in Xpress.

Parameters
nColsNumber of variables
nRowsNumber of constraints
mRwIndFirst entrance for each a_{i,j} set (not 0); represents "i"
mStartFirst entrance for each col j; the offset of the first a_{i,j} not 0 in mRwInd
mNelFirst entrance for each col j; represents the total number of non null coeficients in column "j"
dMatValFirst entrance for each a_{?} not 0; represents the value of a_{i,j}
void SolverPLIXpress::setUB ( double  value)

Sets an external UB.

void SolverPLIXpress::setViableSolution ( vector< int >  solution)

Sets an initial viable solution for the SCP being solved.

void SolverPLIXpress::solve ( )

Solves an IP using Xpress.

void SolverPLIXpress::solveSetCov ( )

Solves an SCP instance.

void SolverPLIXpress::writeProblem ( )

Prints the current problem being solved to an output file.


The documentation for this class was generated from the following files: