The SUMO toolbox  2018a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Typedefs | Functions | Variables
ParetoFrontWFG.cpp File Reference
#include <iostream>
#include <limits>
#include <bitset>
#include <vector>
#include <algorithm>
#include <Eigen/Dense>
#include "mex.h"
Include dependency graph for ParetoFrontWFG.cpp:

Typedefs

typedef std::vector< RowVectorXi > ListPoints
 
typedef Matrix< bool, Dynamic,
Dynamic > 
MatrixXb
 
typedef Matrix< bool, 1, Dynamic > RowVectorXb
 
typedef Matrix< int, Dynamic,
Dynamic, RowMajor > 
MatrixXiRow
 

Functions

void wfg (ListPoints pl)
 
static Map< MatrixXi > pseudoPf (0, 0, 0)
 
static Map< MatrixXi > pfIdx (0, 0, 0)
 
void mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
 
ListPoints nonDominatedSubset (const ListPoints &pl)
 
ListPoints limitSet (const ListPoints &pl, const int k)
 
void wfg_2costs (ListPoints pl)
 
bool compare_curDimDesc (const RowVectorXi &p1, const RowVectorXi &p2)
 

Variables

const double eps = std::numeric_limits<double>::epsilon()
 
const double inf = std::numeric_limits<double>::infinity()
 
const double NaN = std::numeric_limits<double>::quiet_NaN()
 
const int allocSize = 10000
 
static MatrixXi pfIdxExt
 
static RowVectorXi maxPseudoPf
 
static int nrParetoPoints
 
static int outDim
 
static int curDim
 
static MatrixXiRow lbIdx
 
static MatrixXiRow ubIdx
 
static int nrCells = 0
 
static VectorXi signs
 

Typedef Documentation

typedef std::vector<RowVectorXi> ListPoints
typedef Matrix<bool, Dynamic, Dynamic> MatrixXb
typedef Matrix<int, Dynamic, Dynamic, RowMajor> MatrixXiRow
typedef Matrix<bool, 1, Dynamic> RowVectorXb

Function Documentation

bool compare_curDimDesc ( const RowVectorXi &  p1,
const RowVectorXi &  p2 
)
inline
ListPoints limitSet ( const ListPoints pl,
const int  k 
)
inline
void mexFunction ( int  nlhs,
mxArray *  plhs[],
int  nrhs,
const mxArray *  prhs[] 
)
ListPoints nonDominatedSubset ( const ListPoints pl)
inline
static Map<MatrixXi> pfIdx ( ,
,
 
)
static
static Map<MatrixXi> pseudoPf ( ,
,
 
)
static
void wfg ( ListPoints  pl)
inline

Exclusive hypervolume =

inclusive hypervolume of pl[i]

minus exlusive hypervolume of limited subset

void wfg_2costs ( ListPoints  pl)
inline

Variable Documentation

const int allocSize = 10000
int curDim
static
const double eps = std::numeric_limits<double>::epsilon()
const double inf = std::numeric_limits<double>::infinity()
MatrixXiRow lbIdx
static
RowVectorXi maxPseudoPf
static
const double NaN = std::numeric_limits<double>::quiet_NaN()
int nrCells = 0
static
int nrParetoPoints
static
int outDim
static
MatrixXi pfIdxExt
static
VectorXi signs
static
MatrixXiRow ubIdx
static