Bayes Selector Agent

All agents should inherit from the Agent class.

class or_suite.agents.airline_revenue_management.bayes_selector.bayes_selectorAgent(epLen, round_flag=True)[source]
The bayes selector algorithm, at every iteration, solves an optimization problem for the optimal actions based on the current inventory levels and the expected number of future arrival types. In particular, given the current state s_t denoting the available resource for the k different resource types, we solve the following optimization problem:

\(\max \sum_n f_n x_n\)

\(\ { s. t. } 0 \leq x \leq \mathbb{E}[N_{t}]\)

where \(\mathbb{E}[N_{t}]\) is a vector of length n with each element corresponding to the expected number of future arrivals of each type j.

epLen

The integer for episode length.

round_flag

A boolean value that, when true, uses rounding for the action.

config

The dictionary of values used to set up the environment.

__init__(epLen, round_flag=True)[source]

Initializes the agent with attributes epLen and round_flag.

Parameters
  • epLen – The integer for episode length.

  • round_flag – A boolean value that, when true, uses rounding for the action.

pick_action(obs, timestep)[source]

Select an action based upon the observation.

Parameters
  • obs – The current state.

  • timestep – The number of timesteps that have passed.

Returns

action: The action the agent will take in the next timestep.

Return type

list

update_config(env, config)[source]

Update agent information based on the config__file

Parameters

config – The dictionary of values used to set up the environment.

update_obs(obs, action, reward, newObs, timestep, info)[source]

Adds newObs, the most recently observed state, to data adds the most recent call arrival, found in info[‘arrival’] to call_locs.