Author: H. Simonis, B. O’Sullivan, D. Mehta, B. Hurley, M. De Cauwer
Source: [ICON Challenge](http://iconchallenge.insight-centre.org/) - 2014
Please cite:
ICON Challenge on Forecasting and Scheduling
We consider the following problem: You are running a cloud computing service, where customers contract to run computing services (tasks). Each task has a duration, an earliest start and latest end, and resource requirements for CPU, Memory and I/O attributes. The tasks can be scheduled on one of multiple servers, each server has a limited capacity for the CPU, memory and I/O attributes. Multiple tasks can run concurrently on the same machine if the total resource consumption for all attributes is below the respective capacity. All tasks must be scheduled within their release and due dates, these dates are set so that no task stretches over midnight between two days. Tasks can not be interrupted, once started, they must run for their given duration. If a machine is used by a task, it must be running at that time. In addition to the cost of running the allocated tasks, the machine consumes some idle power if it is on. Every time a machine is switched on or off, a start-up resp. shut-down cost must be paid. All machines are off at the beginning of the planning period, all machines must be off at the end of the planning period.
The price of electricity for the data centre is a real-time price, and varies throughout the day. The actual price is not known in advance, a forecast must be used to generate a schedule. The total cost of the schedule is determined after the fact by applying the actual price of electricity to the energy consumption in each time period. One forecast of the price is given by the organizers. However there may be a large discrepancy between the forecast and actual price, offering the opportunity to generate better forecasts based on historical data for demand and prices, and previous forecast information. Note that a forecast with a low error is not automatically guaranteed to lead to a schedule with a low overall cost.

In the forecast problem, we have to predict the actual electricity price for one day into the future based on historical and forecasted data. The historical data is available from September 2011 onwards. Missing values are marked with ?. The following fields are defined:
>
DateTime String, defines date and time of sample
Holiday String, gives name of holiday if day is a bank holiday
HolidayFlag integer, 1 if day is a bank holiday, zero otherwise
DayOfWeek integer (0-6), 0 monday, day of week
WeekOfYear integer, running week within year of this date
Day integer, day of the date
Month integer, month of the date
Year integer, year of the date
PeriodOfDay integer, denotes half hour period of day (0-47)
ForecastWindProduction the forecasted wind production for this period
SystemLoadEA the national load forecast for this period
SMPEA the price forecast for this period
ORKTemperature the actual temperature measured at Cork airport
ORKWindspeed the actual windspeed measured at Cork airport
CO2Intensity the actual CO2 intensity in (g/kWh) for the electricity produced
ActualWindProduction the actual wind energy production for this period
SystemLoadEP2 the actual national system load for this period
SMPEP2 the actual price of this time period, the value to be forecasted
The last four fields are only available for historical data, i.e. they can not be used to make the forecast.