EVChargeEnv / run_price_aware_evaluation.py
oozan's picture
Upload folder using huggingface_hub
a283aa6 verified
import json
from env.ev_charge_env import EVChargeEnv
from agent.price_aware_agent import PriceAwareAgent
def run_episode(env, agent, seed=None):
obs, _ = env.reset(seed=seed)
total_reward = 0.0
steps = 0
while True:
action = agent.select_action(obs)
obs, reward, terminated, truncated, _ = env.step(action)
total_reward += reward
steps += 1
if terminated or truncated:
break
return total_reward, steps
def main():
# You can change scenario to "easy" / "medium" / "hard"
env = EVChargeEnv(scenario="medium")
agent = PriceAwareAgent()
rewards = []
steps_list = []
num_episodes = 10
for i in range(num_episodes):
total_reward, steps = run_episode(env, agent, seed=i)
rewards.append(total_reward)
steps_list.append(steps)
output = {
"agent_type": "price_aware",
"scenario": "medium",
"avg_reward": sum(rewards) / len(rewards),
"avg_steps": sum(steps_list) / len(steps_list),
"episodes": num_episodes,
}
print(json.dumps(output, indent=2))
if __name__ == "__main__":
main()