def test_bottleneck(self): """Verifies that examples/sumo/bottlenecks.py is working.""" # import the experiment variable from the example exp = bottleneck_example(20, 5, render=False) # run the experiment for a few time steps to ensure it doesn't fail exp.run(1, 5)
def run_bottleneck(flow_rate, num_trials, num_steps, render=None): print('Running experiment for inflow rate: ', flow_rate, render) exp = bottleneck_example(flow_rate, num_steps, restart_instance=True) info_dict = exp.run(num_trials, num_steps) return info_dict['average_outflow'], \ np.mean(info_dict['velocities']), \ np.mean(info_dict['average_rollout_density_outflow']), \ info_dict['per_rollout_outflows'], \ flow_rate
def run_bottleneck(flow_rate, penetration_rate, num_trials, num_steps, render=None, disable_ramp_meter=True, n_crit=8, feedback_coef=20, lc_on=False, q_init=400): """Run a rollout of the bottleneck environment. Parameters ---------- flow_rate : float bottleneck inflow rate num_trials : int number of rollouts to perform num_steps : int number of simulation steps per rollout render : bool whether to render the environment Returns ------- float average outflow rate across rollouts float average speed across rollouts float average rollout density outflow list of float per rollout outflows float inflow rate """ print('Running experiment for inflow rate: ', flow_rate, render, q_init, penetration_rate, feedback_coef) exp = bottleneck_example(flow_rate, num_steps, render=render, restart_instance=True, disable_ramp_meter=disable_ramp_meter, feedback_coef=feedback_coef, n_crit=n_crit, lc_on=lc_on, q_init=q_init, penetration_rate=penetration_rate) info_dict = exp.run(num_trials, num_steps) return info_dict['average_outflow'], \ info_dict['velocities'], \ np.mean(info_dict['average_rollout_density_outflow']), \ info_dict['per_rollout_outflows'], \ flow_rate, info_dict['lane_4_vels'],
def run_bottleneck(flow_rate, num_trials, num_steps, render=None): """Run a rollout of the bottleneck environment. Parameters ---------- flow_rate : float bottleneck inflow rate num_trials : int number of rollouts to perform num_steps : int number of simulation steps per rollout render : bool whether to render the environment Returns ------- float average outflow rate across rollouts float average speed across rollouts float average rollout density outflow list of float per rollout outflows float inflow rate """ print('Running experiment for inflow rate: ', flow_rate, render) exp = bottleneck_example(flow_rate, num_steps, restart_instance=True) info_dict = exp.run(num_trials, num_steps) return info_dict['average_outflow'], \ np.mean(info_dict['velocities']), \ np.mean(info_dict['average_rollout_density_outflow']), \ info_dict['per_rollout_outflows'], \ flow_rate