Contact: Andrey Bernstein
We consider the novel framework for real-time control of the power grids called Commelec , which is envisioned to be deployed at the EPFL Smart-Grid in the near future.
In this framework, each part of the grid is assigned to a software agent (“grid agent”) whose goal is to optimize the performance and the quality of service of the grid by continuously controlling the resources under its responsibility.
In order to do so, the agent receives messages from the resources, called advertisements, which contain information about their capabilities, expected behavior, and a simplified view of their internal state, represented as mathematical objects, like real functions (cost functions) and 2D sets. In addition, the grid agent can measure the actual output of the resources, after the control setpoints were sent to them.
In this project, you will address the problem of the “trustworthiness” of the advertised information by the resources. In particular, the goal is to develop an adaptive weighting algorithm that will weight the resources that are “lying” less than those that behave according to what they advertise. For example, consider a battery resource that advertises to the grid agent that it can absorb power (namely, being charged). The grid agent then asks this battery to charge for certain amount of time, and observes the real output of the battery. If in practice the battery was producing power (namely, was discharging), we say that the advertisement of the battery was not compatible with its actual behaviour and would want to decrease the weight of the battery. That is, the trustworthiness of the battery is decreased from the point of view of the grid agent.
Your goal in the project will be:
1. Define and examine different metrics for compatibility between the advertisement and the actual output of the resource.
2. Investigate different weight adaptation techniques for the above purpose. For example, we will consider online learning algorithms, such as regret minimization or online convex programming algorithms .
The advantage of this class of algorithm is that they can adapt to any sequence of observations without knowing a precise model of the source of this sequence, and even without assuming that this model exists at all.
3. Compare the numerical performance of the different algorithms using simple test cases.
Required skills / Learning opportunities:
Scripting skills (Matlab/python), smart power systems, online learning algorithms