Class DataObject

Inheritance Relationships

Base Type

Class Documentation

class Data::EPEC::DataObject : public ZEROAlgorithmData

A inheritor that manages the data for Game::EPEC instances.

Public Functions

inline DataObject()

Standard initializer constructor.

Public Members

Attr<Data::EPEC::Algorithms> Algorithm = {Data::EPEC::Algorithms::FullEnumeration}

The selected algorithm.

Attr<Data::EPEC::RecoverStrategy> RecoverStrategy = {Data::EPEC::RecoverStrategy::IncrementalEnumeration}

The Recover Strategy for inner approximation.

Attr<Data::LCP::PolyhedraStrategy> PolyhedraStrategy

The polyhedral strategy for inner approximation.

Attr<unsigned int> Aggressiveness{1}

The upper bound on the polyhedra added by the Polyhedral Strategy, for each player at each iteration.

Attr<std::vector<unsigned int>> FeasiblePolyhedra = std::vector<unsignedint>()

A vector of number of feasible polyhedra, for each leader.

Attr<std::vector<unsigned int>> OuterComplementarities = std::vector<unsignedint>()

A vector with the number of included complementarities, for each leader.

Attr<int> LostIntermediateEq = {0}

Counts the number of approximation steps where the problem (approximated) has no nash equilibrium.

Attr<Data::LCP::Algorithms> LCPSolver

Preferred method to solve the LCPs. Note that <Data::LCP::Algorithms::PATH may not be available for any LCPs. In the unlikely case, the fallback is MIP.

Attr<Data::EPEC::BranchingStrategy> BranchingStrategy = Data::EPEC::BranchingStrategy::HybridBranching

The branching strategy for the Cut-and-Play.