Other stuff

class ZEROException : public virtual std::exception

Public Functions

inline explicit ZEROException(ZEROErrorCode code)
inline explicit ZEROException(ZEROErrorCode code, const std::string &more)
inline explicit ZEROException(GRBException &e)
~ZEROException() noexcept override = default
inline const char *what() const noexcept override
inline virtual ZEROErrorCode which() const noexcept
inline const char *more() const noexcept

Protected Attributes

ZEROErrorCode error_code

This class manages the errors thrown by ZERO.

Error code for the thrown exception

std::string error_desc

The description of the error.

std::string error_additional = "-"

Additional information about the error. This may be empty.

class ZEROAlgorithmData

Data holder for algorithms.

Subclassed by Data::EPEC::DataObject, Data::IPG::DataObject

Public Members

Attr<double> DeviationTolerance{51e-4}

The numerical tolerance to check for existing deviations.

Attr<double> TimeLimit = {-1}

The timelimit for the solving procedure.

Attr<int> Threads = {0}

The number of threads for the solving process.

Attr<bool> PureNashEquilibrium = {false}

If true, the algorithm will specifically seek pure equilibria (if any)

Attr<unsigned long int> RandomSeed = {42}

Random seed for randomic operations.

template<typename DataObjectType>
struct ZEROStatistics

Statistics object for Algorithms.

Template Parameters

DataObjectType – The inheritor type

Public Functions

inline explicit ZEROStatistics(DataObjectType t)

Public Members

Attr<ZEROStatus> Status = ZEROStatus::Uninitialized
Attr<int> NumVar = {0}

Number of variables in the last solved model.

Attr<int> NumConstraints = {0}

Number of constraints in the last solved model.

Attr<int> NumIterations = {0}

Number of iteration of the Algorithm, if available.

Attr<int> NumNonZero = {-1}

Number of non-zero coefficients in the constraint matrix of the last model, if available.

Attr<bool> NumericalIssues = {false}

True if there have been some Numerical issues during any iteration leader (country)

Attr<double> WallClockTime = {0}

The time required to solve the problem.

Attr<bool> PureNashEquilibrium = {false}

True if the equilibrium is a pure NE.

DataObjectType AlgorithmData

Stores the configuration and results related to the specific algorithm.