SGSolve
SGSolver_MaxMinMax_GRB Class Reference

Class that implements a version of the max-min-max algorithm using Gurobi. More...

#include <sgsolver_maxminmax_grb.hpp>

Collaboration diagram for SGSolver_MaxMinMax_GRB:

Public Types

enum  SGRegimeStatus { SG_RECURSIVE, SG_FIXED }
 
enum  SGQuadrant { SG_NORTHEAST, SG_SOUTHEAST, SG_SOUTHWEST, SG_NORTHWEST }
 
enum  SGSolverMode { SG_FEASIBLE, SG_MAXMINMAX, SG_APS }
 
enum  SGICStatus { SG_NONE, SG_BINDING0, SG_BINDING1, SG_BINDING01 }
 

Public Member Functions

 SGSolver_MaxMinMax_GRB (const SGGame &_game)
 Constructor.
 
const SGGamegetGame () const
 Returns the current game.
 
const list< vector< double > > & getBounds () const
 Returns payoff bounds.
 
const list< SGPoint > & getDirections () const
 Return directions.
 
int getNumDirections () const
 Return numDirections.
 
void solve ()
 Solve routine.
 
void initialize ()
 Initializes the solver.
 
double iterate (const SGSolverMode mode, int &steps)
 Runs one iteration.
 
void addBoundingHyperplane (SGPoint &currDir, GRBConstr &xConstr, GRBConstr &yConstr, GRBVar *valueFn, int numStates, list< SGPoint > &newDirections, list< vector< double > > &newBounds, GRBModel &model, const bool addDirection)
 
void printIteration (ofstream &ofs, int numIter)
 

Private Attributes

const SGGamegame
 Const reference to the game being solved.
 
double minRotation = -3.14159*1e-4
 Minimum rotation.
 
double payoffBound = 0
 Payoff bound.
 
vector< vector< bool > > eqActions
 Feasible actions.
 
vector< bool > feasibleActions
 
int numFeasibleActions
 
int numActions_grandTotal
 
vector< int > gaToS
 
vector< int > gaToA
 
list< vector< double > > bounds
 Payoff bounds.
 
list< SGPointdirections
 List of gradients in which to bound the correspondence.
 
SGTuple threatTuple
 
int numDirections
 Number of gradients.
 
const vector< vector< SGPoint > > & payoffs
 Game elements.
 
const vector< vector< vector< double > > > & prob
 
const vector< vector< int > > & numActions
 
const vector< int > & numActions_total
 
const int numStates
 
const double delta
 
const int numPlayers
 
const double regimeChangeTol = 1e-9
 
const double pseudoConstrTol = 1e-3
 
const double convTol = 1e-6
 
const int maxIter = 1e3
 

Detailed Description

Class that implements a version of the max-min-max algorithm using Gurobi.

This file has no associated cpp file, so that libsg does not have to link to Gurobi.


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