I am working on a DQN hypothetical project just to learn how to use the environments. I have successfully tested GYM DQN environments and also have customized it with certain degree of success. The problem I want to solve using DQN is the following:
An ambulance has a time limit to reach the destination and therefore I want the RL model to help me select the best possible route (Initially I'm only working with time but eventually several other parameters are going to be considered). The observation that the model receives is like the following (Let's consider just three routes):
[Time A, Time B, Time C, Target Time]
I am rewarding the model with +1 every time it chooses the lowest possible Time and -1 in any other case.
In every step, all the TimeX changes and the Target Time is re-assigned randomly within some boundaries. The issue is that the RL model does not seem to 'Learn' that it must choose the action with the lowest time. I have changed several times the configuration of the Neural Network used for estimating the Q values and also the training episodes. Nothing seems to make the Model to converge.
I suspect it has something to do with how the GYM environment modelates the inputs of the neural networks, because as I see it, when it takes a decision the observation remains the same.
I'm using a homemade GYM environment and Keras-RL2 library.
Could anybody help in how should I modelate this problem please ?