Skip to content

xiaohuirong/trafficTimeManage

Repository files navigation

Title

Optimize waiting time of cross using Q-Learning.

Install

  • install dependencies.
pip3 install pywin32
pip3 install numpy

Usage

  • run whole program.
python main.py
  • use class Cross in env.py
from env import Cross

#initializing instance
cross = Cross(inp_file, ini_file)
#initializing simulator
cross.simulation_config(40, 0, 3600)
cross.reset()
#set vehicle input
vehicle_inputs = np.array([244, 198, 268, 216, 132, 210, 272, 152])
cross.set_vehicle_input(vehicle_inputs)
#simulate a cycletime
[status_, reward] = cross.env_interface(70, ql.action_table[action])
  • use class QL in q_learn.py
from q_learn import QL

#initializing instance
ql = QL()
#load exsitent q and p table.
ql.load_data()
#learn
ql.learn(status, action, reward, status_)
#save q and p table
ql.save_data()
#make choice using the trained q table.
action = ql.check(status)

Contributing

License

MIT © Hoream

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages