4. Имплементация
interface InstanceManager {
void loadNotification(long requestCount, CloudAPI cloudApi);
}
interface CloudAPI {
void startInstances(int n);
void stopInstances(int n);
}
●
Implement InstanceManager
●
InstanceManager.loadNotification будет вызываться
каждый час в симуляторе с количеством запросов,
поступивших за последний час
15. ●
Не использовались данные за предыдущие дни
●
Следующее значение предсказывалось по разнице 2х
предыдущих
Первое решение – 1 160 653
16. ●
Учитывались данные за предыдущую неделю, каждый
день сравнивался с тем же днем на прошлой неделе
●
Следующее значение предсказывалось по разнице 2х
предыдущих
Второе решение – 2 106 641
17. ●
Сложный алгоритм сглаживания “пиков”
●
Учитывались 3 предыдущих значения и те же значения
для предыдущего дня
Третье решение – 2 695 119
18. Алгоритм лучшего решения
●
Использовались данные за предыдущие дни
●
Exponential Moving Average для прогноза
●
Для избежания штрафов к вычисленному значению
добавлялся “запас” или “insurance”