-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't compute observations in the final state #59
Comments
I keep hesitating back forth whether or not we want to do this. On the one hand if someone want the observation function to be called on terminal states, this makes it impossible. |
I agree, this disables from the start any possibility for an observation to be returned in the final state. Still, I do not see a potential reason for wanting that final observation. The closest scenario maybe would be when SCIP times out, there might still be useful information to be extracted in an observation. But that's not even obvious to me. There is no active node, so most of our observations are not even defined any more. And again, how would such an observation be used ? Are there RL algorithms which make use of a final observation ? |
Maybe we can just keep things as they are now, and keep the issue open until we are sure what we want. There is no practical impact with this issue, just code refactoring really. One argument for "officially" disabling final observations: then we can indicate that behaviour in the documentation, so that users are warned that they should not expect any |
Ah! You jinxed it Maxime ;-) Turns out there was practical issues... Fixed by #206. |
Indeed :) We should update the doc still, to mention this new behavior for final observations. I re-open the issue so that we don't forget about it. |
Describe the problem of improvement suggested
Environments should not ask for an observation in the final state (when done == True). This observation is most likely impossible to compute, since SCIP will likely not be in a SOLVING state. And the final observation of an episode is not relevant for learning anyway. That way, Observation functions do not deal with that situation, and silently return empty observations (current behaviour).
Describe the solution you'd like
The Environment does not call the registered ObservationFunction when
done==True
, and the ObservationFunctions do not check any more for SCIP_STAGE_SOLVING.Describe alternatives you've considered
na
Additional context
na
The text was updated successfully, but these errors were encountered: