Class sdm::DecentralizedLP
Class List > sdm > DecentralizedLP
#include <decentralized_lp_problem.hpp>
Inherits the following classes: sdm::VarNaming, sdm::LPBase
Inherited by the following classes: sdm::ActionVFMaxplanLP, sdm::ActionVFSawtoothLP
Public Functions
| Type | Name |
|---|---|
| DecentralizedLP () | |
| DecentralizedLP (const std::shared_ptr< SolvableByHSVI > &) | |
| virtual void | createDecentralizedConstraints (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloRangeArray & con, IloNumVarArray & var, number & index, number t) = 0 Set decentralized constraints. |
| void | createDecentralizedConstraintsOccupancy (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloRangeArray & con, IloNumVarArray & var, number & index, number t) |
| void | createDecentralizedConstraintsSerial (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloRangeArray & con, IloNumVarArray & var, number & index, number t) |
| virtual void | createDecentralizedVariables (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloNumVarArray & var, number & index, number t) = 0 Set decentralized variables. |
| void | createDecentralizedVariablesOccupancy (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloNumVarArray & var, number & index, number t) |
| void | createDecentralizedVariablesSerial (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloNumVarArray & var, number & index, number t) |
| virtual std::shared_ptr< Action > | getVariableResult (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, const IloCplex & cplex, const IloNumVarArray & var, number t) = 0 Get the result of the variable created. |
| std::shared_ptr< Action > | getVariableResultOccupancy (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, const IloCplex & cplex, const IloNumVarArray & var, number t) |
| std::shared_ptr< Action > | getVariableResultSerial (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, const IloCplex & cplex, const IloNumVarArray & var, number t) |
Public Functions inherited from sdm::VarNaming
See sdm::VarNaming
| Type | Name |
|---|---|
| number | getNumber (const std::string &) Get the identifier associated with a given name. |
| std::string | getVarNameIndividualHistory (const std::shared_ptr< HistoryInterface > & ihistory, const number agent) |
| std::string | getVarNameIndividualHistoryDecisionRule (const std::shared_ptr< Action > &, const std::shared_ptr< HistoryInterface > &, const number &) Get the name associated with a pair of action and individual history. |
| std::string | getVarNameJointHistoryDecisionRule (const std::shared_ptr< Action > &, const std::shared_ptr< JointHistoryInterface > &) Get the name associated with a pair of action and joint history. |
| std::string | getVarNameWeight (number) Get the name of a free variable. |
| std::string | getVarNameWeightedStateJointHistory (const std::shared_ptr< State > &, const std::shared_ptr< State > &, const std::shared_ptr< JointHistoryInterface > &) Get the Var Name Weighted State __Joint History object. |
| void | setNumber (const std::string &, number) Set pair name identifier for a given variable. |
Public Functions inherited from sdm::LPBase
See sdm::LPBase
| Type | Name |
|---|---|
| LPBase () | |
| LPBase (const std::shared_ptr< SolvableByHSVI > &) | |
| virtual Pair< std::shared_ptr< Action >, double > | createLP (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & occupancy_state, number t) Main function who is used to create the Linear program. |
| ~LPBase () |
Public Functions inherited from sdm::LPInterface
See sdm::LPInterface
| Type | Name |
|---|---|
| virtual void | createConstraints (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & occupancy_state, IloEnv & env, IloModel & model, IloRangeArray & con, IloNumVarArray & var, number & index, number t) = 0 Create the constraints of the LP. |
| virtual Pair< std::shared_ptr< Action >, double > | createLP (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & occupancy_state, number t) = 0 Main function who is used to create the Linear program. |
| virtual void | createObjectiveFunction (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & occupancy_state, IloNumVarArray & var, IloObjective & obj, number t) = 0 Create a Objective Constraint of the LP. |
| virtual void | createVariables (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & occupancy_state, IloEnv & env, IloNumVarArray & var, number & index, number t) = 0 Create the variable which will be used to resolve the LP. |
| virtual std::shared_ptr< Action > | getVariableResult (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & occupancy_state, const IloCplex & cplex, const IloNumVarArray & var, number t) = 0 Get the result of the variable created. |
Protected Attributes inherited from sdm::VarNaming
See sdm::VarNaming
| Type | Name |
|---|---|
| RecursiveMap< std::string, number > | variables mapping from variable names to variable identifiers |
Protected Attributes inherited from sdm::LPBase
See sdm::LPBase
| Type | Name |
|---|---|
| std::shared_ptr< BeliefInterface > | tmp_representation The temporary one-stage value function represention. |
| std::shared_ptr< SolvableByHSVI > | world_ |
Protected Functions
| Type | Name |
|---|---|
| void | createDecentralizedConstraintsIndividual (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloRangeArray & con, IloNumVarArray & var, number & index, number t, number agent_id) _Create the Individual Decentralized Constraints i.e. set constraint {u_i} a_i(u_i |
| void | createDecentralizedConstraintsJoint (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloRangeArray & con, IloNumVarArray & var, number & index, number t) Create the Joint _Decentralized Constraints i.e. set constraint a(u |
| void | createDecentralizedControlConstraints (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloRangeArray & con, IloNumVarArray & var, number & index, number t) _Create the Control Decentralized Constraints i.e. set constraint a(u |
| void | createDecentralizedVariablesIndividual (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloNumVarArray & var, number & index, number t, number agent_id) _Create the Individual Decentralized Variable i.e. Build variables a_i(u_i |
| void | createDecentralizedVariablesJoint (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, IloEnv & env, IloNumVarArray & var, number & index, number t) Create the Joint _Decentralized Variable i.e. Build variables a(u |
| Pair< std::vector< std::shared_ptr< Item > >, std::vector< std::shared_ptr< Item > > > | getVariableResultIndividual (const std::shared_ptr< ValueFunction > & vf, const std::shared_ptr< State > & state, const IloCplex & cplex, const IloNumVarArray & var, number t, number agent_id) _Get the Individual Variable Result i.e. return the result for the variable a(u |
Public Functions Documentation
function DecentralizedLP [1/2]
sdm::DecentralizedLP::DecentralizedLP ()
function DecentralizedLP [2/2]
sdm::DecentralizedLP::DecentralizedLP (
const std::shared_ptr< SolvableByHSVI > &
)
function createDecentralizedConstraints
virtual void sdm::DecentralizedLP::createDecentralizedConstraints (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloRangeArray & con,
IloNumVarArray & var,
number & index,
number t
) = 0
Parameters:
conststd::shared_ptr<State>&IloEnv&IloRangeArray&IloNumVarArray&number&number: time step
function createDecentralizedConstraintsOccupancy
void sdm::DecentralizedLP::createDecentralizedConstraintsOccupancy (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloRangeArray & con,
IloNumVarArray & var,
number & index,
number t
)
function createDecentralizedConstraintsSerial
void sdm::DecentralizedLP::createDecentralizedConstraintsSerial (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloRangeArray & con,
IloNumVarArray & var,
number & index,
number t
)
function createDecentralizedVariables
virtual void sdm::DecentralizedLP::createDecentralizedVariables (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloNumVarArray & var,
number & index,
number t
) = 0
Parameters:
conststd::shared_ptr<State>& : current stateconstIloEnv&constIloNumVarArray&constnumber& : index variablenumber: time step
function createDecentralizedVariablesOccupancy
void sdm::DecentralizedLP::createDecentralizedVariablesOccupancy (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloNumVarArray & var,
number & index,
number t
)
function createDecentralizedVariablesSerial
void sdm::DecentralizedLP::createDecentralizedVariablesSerial (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloNumVarArray & var,
number & index,
number t
)
function getVariableResult
virtual std::shared_ptr< Action > sdm::DecentralizedLP::getVariableResult (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
const IloCplex & cplex,
const IloNumVarArray & var,
number t
) = 0
Parameters:
statecplexvart
Returns:
std::shared_ptr<Action>
Implements sdm::LPInterface::getVariableResult
function getVariableResultOccupancy
std::shared_ptr< Action > sdm::DecentralizedLP::getVariableResultOccupancy (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
const IloCplex & cplex,
const IloNumVarArray & var,
number t
)
function getVariableResultSerial
std::shared_ptr< Action > sdm::DecentralizedLP::getVariableResultSerial (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
const IloCplex & cplex,
const IloNumVarArray & var,
number t
)
Protected Functions Documentation
function createDecentralizedConstraintsIndividual
void sdm::DecentralizedLP::createDecentralizedConstraintsIndividual (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloRangeArray & con,
IloNumVarArray & var,
number & index,
number t,
number agent_id
)
Parameters:
conststd::shared_ptr<State> & : state :IloEnv& : envIloRangeArray& : conIloNumVarArray& : varnumber& : index variablenumber: timestepnumber: agent_id
function createDecentralizedConstraintsJoint
void sdm::DecentralizedLP::createDecentralizedConstraintsJoint (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloRangeArray & con,
IloNumVarArray & var,
number & index,
number t
)
Parameters:
conststd::shared_ptr<State> & : state :IloEnv& : envIloRangeArray& : conIloNumVarArray& : varnumber& : index variablenumber: timestep
function createDecentralizedControlConstraints
void sdm::DecentralizedLP::createDecentralizedControlConstraints (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloRangeArray & con,
IloNumVarArray & var,
number & index,
number t
)
Parameters:
conststd::shared_ptr<State> & : state :IloEnv& : envIloRangeArray& : conIloNumVarArray& : varnumber& : index variablenumber: timestep
function createDecentralizedVariablesIndividual
void sdm::DecentralizedLP::createDecentralizedVariablesIndividual (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloNumVarArray & var,
number & index,
number t,
number agent_id
)
Parameters:
conststd::shared_ptr<State> & : state :IloEnv& : envIloNumVarArray& : varnumber& : index variablenumber: timestepnumber: agent_id
function createDecentralizedVariablesJoint
void sdm::DecentralizedLP::createDecentralizedVariablesJoint (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
IloEnv & env,
IloNumVarArray & var,
number & index,
number t
)
Parameters:
conststd::shared_ptr<State> & : state :IloEnv& : envIloNumVarArray& : varnumber& : index variablenumber: timestep
function getVariableResultIndividual
Pair < std::vector< std::shared_ptr< Item > >, std::vector< std::shared_ptr< Item > > > sdm::DecentralizedLP::getVariableResultIndividual (
const std::shared_ptr< ValueFunction > & vf,
const std::shared_ptr< State > & state,
const IloCplex & cplex,
const IloNumVarArray & var,
number t,
number agent_id
)
Parameters:
conststd::shared_ptr<State> & : state :constIloCplex & : cplexIloNumVarArray& : varnumber: timestepnumber: agent_id
Returns:
Pair<std::vector<std::shared_ptr<Item>>,std::vector<std::shared_ptr<Item>>> , the first vector refers to the vector of discrete action and the second vector refers to the vector of individual history
The documentation for this class was generated from the following file src/sdm/utils/linear_programming/decentralized_lp_problem.hpp