Error when running server-distribution using PowerTAC_2018 boot files

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Error when running server-distribution using PowerTAC_2018 boot files

Andyccs
I was trying to run simulation using boot files from 2018 PowerTAC competition. I downloaded the boot files from http://powertac.org/log_archive/PowerTAC_2018_finals.html

I run the simulation server using the following commands:

mvn -Pcli -Dexec.args="--sim --boot-data=PowerTAC_2018_Finals_1.xml --brokers=Bunnie"

and connect my broker to the simulation server. I got "Could not find weather forecast for timeslot 361" error in simulation server, but the server did not terminate. My broker get terminated.

I found out that by changing "simulationBaseTime" in boot file from 1403913600000 to 1255132800000 fixes the problem. However, I am not sure the reason. Any idea?

The stacktraces:

Exception in thread "Thread-8" java.lang.Error: Could not find weather forecast for timeslot 361 at org.powertac.factoredcustomer.DefaultCapacityOriginator.computeForecastCapacity(DefaultCapacityOriginator.java:177) at org.powertac.factoredcustomer.DefaultCapacityOriginator.getForecastCapacity(DefaultCapacityOriginator.java:153) at org.powertac.factoredcustomer.DefaultCapacityOriginator.getForecastForTimeslot(DefaultCapacityOriginator.java:128) at org.powertac.factoredcustomer.DefaultCapacityOriginator.getForecastForNextTimeslot(DefaultCapacityOriginator.java:116) at org.powertac.factoredcustomer.DefaultUtilityOptimizer$TariffEvaluationWrapper.getCapacityProfile(DefaultUtilityOptimizer.java:343) at org.powertac.common.TariffEvaluator.forecastCost(TariffEvaluator.java:653) at org.powertac.common.TariffEvaluator.getDefaultTariffEval(TariffEvaluator.java:644) at org.powertac.common.TariffEvaluator.evaluateTariffs(TariffEvaluator.java:338) at org.powertac.factoredcustomer.DefaultUtilityOptimizer.evaluateTariffs(DefaultUtilityOptimizer.java:207) at org.powertac.factoredcustomer.LearningUtilityOptimizer.evaluateTariffs(LearningUtilityOptimizer.java:73) at org.powertac.factoredcustomer.DefaultFactoredCustomer.evaluateTariffs(DefaultFactoredCustomer.java:121) at org.powertac.factoredcustomer.FactoredCustomerService.publishNewTariffs(FactoredCustomerService.java:219) at org.powertac.tariffmarket.TariffMarketService.publishTariffs(TariffMarketService.java:730) at org.powertac.tariffmarket.TariffMarketService.activate(TariffMarketService.java:704) at org.powertac.server.CompetitionControlService.step(CompetitionControlService.java:799) at org.powertac.server.CompetitionControlService.access$900(CompetitionControlService.java:67) at org.powertac.server.CompetitionControlService$SimRunner.run(CompetitionControlService.java:1131)
Reply | Threaded
Open this post in threaded view
|

Re: Error when running server-distribution using PowerTAC_2018 boot files

Andyccs
The state file need to be used as weather data:

mvn -Pcli -Dexec.args="--sim --boot-data=PowerTAC_2018_Finals_1.xml --brokers=Bunnie --weather-data=PowerTAC_2018_Finals_1.state"
Reply | Threaded
Open this post in threaded view
|

Re: Error when running server-distribution using PowerTAC_2018 boot files

grampajohn
Administrator
In reply to this post by Andyccs
Hello, Andy -
Andyccs wrote
I was trying to run simulation using boot files from 2018 PowerTAC competition. I downloaded the boot files from http://powertac.org/log_archive/PowerTAC_2018_finals.html

I run the simulation server using the following commands:

mvn -Pcli -Dexec.args="--sim --boot-data=PowerTAC_2018_Finals_1.xml --brokers=Bunnie"

and connect my broker to the simulation server. I got "Could not find weather forecast for timeslot 361" error in simulation server, but the server did not terminate. My broker get terminated.

I found out that by changing "simulationBaseTime" in boot file from 1403913600000 to 1255132800000 fixes the problem. However, I am not sure the reason. Any idea?
...
There have been some changes in the server between 2018 and 2019, but I don't know of any that would cause this. However, there is an unresolved issue that might apply in this case.

To go further, I would need a bit more information about the circumstances that produced this behavior. Were you using the 2018 server (1.5.0), the 2019 server (1.6.0), or the current SNAPSHOT server (1.7.0-SNAPSHOT)? There is a change in the 1.7 server that is supposed to be backward-compatible but not forward-compatible (in other words it should read earlier boot records and logs, but older servers would not be able to read 1.7 boot records and logs). At this point the details on this are not well-tested. Does this happen with other 2018 boot records, or only the one from Game 1?

I probably won't have time to look further into this for at least another week, but if it's seriously holding you up, I'll try to rearrange things so I can get to it earlier.

Cheers -

John