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:

  • const std::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:

  • const std::shared_ptr<State>& : current state
  • const IloEnv&
  • const IloNumVarArray&
  • const number& : index variable
  • number : 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:

  • state
  • cplex
  • var
  • t

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:

  • const std::shared_ptr<State> & : state :
  • IloEnv & : env
  • IloRangeArray & : con
  • IloNumVarArray & : var
  • number & : index variable
  • number : timestep
  • number : 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:

  • const std::shared_ptr<State> & : state :
  • IloEnv & : env
  • IloRangeArray & : con
  • IloNumVarArray & : var
  • number & : index variable
  • number : 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:

  • const std::shared_ptr<State> & : state :
  • IloEnv & : env
  • IloRangeArray & : con
  • IloNumVarArray & : var
  • number & : index variable
  • number : 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:

  • const std::shared_ptr<State> & : state :
  • IloEnv & : env
  • IloNumVarArray & : var
  • number & : index variable
  • number : timestep
  • number : 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:

  • const std::shared_ptr<State> & : state :
  • IloEnv & : env
  • IloNumVarArray & : var
  • number & : index variable
  • number : 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:

  • const std::shared_ptr<State> & : state :
  • const IloCplex & : cplex
  • IloNumVarArray & : var
  • number : timestep
  • number : 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