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

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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

  nCols | Number of variables
  nRows | Number of constraints
  mRwInd | First entrance for each a_{i,j} set (not 0); represents "i"
  mStart | First entrance for each col j; the offset of the first a_{i,j} not 0 in mRwInd
  mNel | First entrance for each col j; represents the total number of non null coeficients in column "j"
  dMatVal | First 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:

- scp-solver/SolverPLIXpress.h
- scp-solver/SolverPLIXpress.C