1. A method, comprising: receiving, at a device, network traffic data regarding traffic flowing through one or more routers in a network; predicting, by a first learning machine executing on the device, a future traffic profile through the one or more routers by modeling the network traffic data; receiving, at the device, network condition data for the network, wherein the network condition data and the network traffic data are different; predicting, by a second learning machine executing on the device, future network performance by modeling the network condition data; inputting into a third learning machine of a Predictive Control Manager (PCM) the network traffic modeling data from the first learning machine and the network condition modeling data from the second learning machine; and adjusting, by a closed-loop controller on the PCM, a behavior of the network based on an output from the third learning machine, wherein the output from the third learning machine is based on the predicted future traffic profile output by the first learning machine and the predicted network performance output by the second learning machine, wherein the closed-loop controller allows updated predictions from the first learning machine and the second learning machine to be used by the PCM when adjusting the behavior of the network.