I run DP and ADP to solve the HEMS_HVAC_only case. It has 151 states. DP gives me reasonable decisions, but ADP always gives me '0'. I used exactly same thing other than call dpBI or adpSBI. The number of samples is enough for ADP to make decision.
Also, ADP is working when state space is large.
I just uploaded the HEMS HVAC only code to here. You can run 'plotSchedule.m' to get the ADP results. In order to run DP, just Comment line 46 and 47, Uncomment line 51 and 52 in 'plotSchedule.m'.
Also, Another question.
When I doing the water heater case, I found out the ADP always consider next hour random variable to make current hour decision. And I double checked my code and looked into the source code. I found something strange. The default random sample function is ‘RandSetSample.m’ which we are using. In line 43, the function call will be conditional sample and return sample of next hour. I think it should consider current hour sample, not next hour. Also, I looked into ‘RandProcess.m’ and ‘rpDiscreteSample.m’ and found that the overloaded parameters ‘cur_rand_state’ is not used. For now, I just simply changed the function call in .RandSetSample.m’ to be a normal sample, and it works fine.
Thank you.
I run DP and ADP to solve the HEMS_HVAC_only case. It has 151 states. DP gives me reasonable decisions, but ADP always gives me '0'. I used exactly same thing other than call dpBI or adpSBI. The number of samples is enough for ADP to make decision.
Also, ADP is working when state space is large.
I just uploaded the HEMS HVAC only code to here. You can run 'plotSchedule.m' to get the ADP results. In order to run DP, just Comment line 46 and 47, Uncomment line 51 and 52 in 'plotSchedule.m'.
Also, Another question.
When I doing the water heater case, I found out the ADP always consider next hour random variable to make current hour decision. And I double checked my code and looked into the source code. I found something strange. The default random sample function is ‘RandSetSample.m’ which we are using. In line 43, the function call will be conditional sample and return sample of next hour. I think it should consider current hour sample, not next hour. Also, I looked into ‘RandProcess.m’ and ‘rpDiscreteSample.m’ and found that the overloaded parameters ‘cur_rand_state’ is not used. For now, I just simply changed the function call in .RandSetSample.m’ to be a normal sample, and it works fine.
Thank you.