EPEC solve
Solving Equilibrium Problems with Equilibrium Constraints (EPECs)
epecsolve.h
Go to the documentation of this file.
1 #pragma once
2 
7 #define VERBOSE false
8 #define EPECVERSION 0.1
9 
10 #include <armadillo>
11 #include <iostream>
12 #include <map>
13 #include <vector>
14 
15 using perps = std::vector<std::pair<unsigned int, unsigned int>>;
16 std::ostream &operator<<(std::ostream &ost, perps C);
17 inline bool operator<(std::vector<short int> Fix1, std::vector<short int> Fix2);
18 inline bool operator==(std::vector<short int> Fix1,
19  std::vector<short int> Fix2);
20 template <class T>
21 std::ostream &operator<<(std::ostream &ost, std::vector<T> v);
22 template <class T, class S>
23 std::ostream &operator<<(std::ostream &ost, std::pair<T, S> p);
24 
25 // Forward declarations
26 namespace Game {
27 struct QP_objective;
28 struct QP_constraints;
29 class MP_Param;
30 class QP_Param;
31 class NashGame;
32 class LCP;
33 class EPEC;
34 enum class EPECAddPolyMethod {
35  sequential,
37  random
39 };
40 
41 } // namespace Game
42 // namespace Models {
43 // class EPEC;
44 // }
45 
46 #include "games.h"
47 #include "lcptolp.h"
48 #include "utils.h"
Class to handle parameterized quadratic programs(QP)
Definition: games.h:146
std::ostream & operator<<(std::ostream &ost, perps C)
class to handle parameterized mathematical programs(MP)
Definition: games.h:52
struct to handle the constraint params of MP_Param/QP_Param
Definition: games.h:46
std::vector< std::pair< unsigned int, unsigned int > > perps
Definition: epecsolve.h:15
Class to handle a Nash game between leaders of Stackelberg games.
Definition: games.h:475
Class to handle and solve linear complementarity problems.
Definition: lcptolp.h:41
Definition: epecsolve.h:26
Adds the next polyhedra by selecting random feasible one.
Adds polyhedra by selecting them in order.
EPECAddPolyMethod
Definition: epecsolve.h:34
struct to handle the objective params of MP_Param/QP_Param
Definition: games.h:39
Class to model Nash-cournot games with each player playing a QP.
Definition: games.h:249
bool operator==(std::vector< short int > Fix1, std::vector< short int > Fix2)