

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Prof. Chhaayank Buhpathi assigned this task to do at home for Convex Optimization course at Aliah University. It includes: Circle, Packing, Area, Bound, Sequential, Convex, Programming, Numerical, Smart, Grid, Device, Coordination
Typology: Exercises
1 / 2
This page cannot be seen from the preview
Don't miss anything!


EE364b Prof. S. Boyd
with variables x 1 ,... , xN ∈ R^2 and D ∈ R. This problem, and various variations on it, are sometimes called circle-packing problems, since they come down to placing circles in such a way that they don’t intersect (except at the boundaries). You can probably guess what good solutions look like.
(a) Area bound. Derive an upper bound D on the optimal value, using the following argument. For xi and D feasible, the N disks centered at xi with diameter D don’t overlap, except on their boundaries; these disks also lie inside the box {x | −(D/2) 1 x (1 + D/2) 1 }. Therefore, the total area of the disks is not more than the area of this box. (b) Sequential convex programming. Explain how to (locally) solve this problem using sequential convex programming. (c) Numerical example. Carry out sequential convex programming for the problem above, with N = 11, starting from an initial point with xi 6 = xj for i 6 = j. Plot D versus iteration, for a few different starting points (put these all on the same plot). Verify that for different starting points, the algorithm can converge to different objective values. Compare the objective values obtained with the bound D found in part (a). Plot the final arrangement of the circles (for one of your starting points) using draw_circle_packing.m. For your entertainment, you can draw the circles in each iteration, and watch the evolution of the algorithm. The calling sequence is draw_circle_packing(x,D,iter), where x is a 2 × N matrix containing the xi, D is D, and iter is the iteration counter (which is displayed in the title).
i=
pit = 0, t = 1,... , T.
The optimal profile coordination problem is to minimize the total cost,
∑N i=1 fi(p i),
subject to the balance constraint, with variables pi, i = 1,... , N.
In this problem you will use ADMM to solve the optimal profile coordination problem in a distributed way, with each device optimizing its own profile, and exchanging messages to coordinate all of the profiles.
From this point on, we consider a specific (and small) problem instance. There are three devices: a generator, a fixed load, and a battery, with cost functions described below.
fgen(p) =
∑^ T t=
(α(−pt)^2 + β(−pt)),
where α, β > 0 are given constants.
∑t− 1 τ =1 pτ (we neglect losses for this problem). The charge level must be nonnegative, and cannot exceed the battery capacity: 0 ≤ qt ≤ Q, t = 1,... , T + 1. The charge level is extended to time T + 1 to allow the battery to charge/discharge in time T , subject to operational constraints.
(a) Use CVX to solve the problem with data given in admm_smart_grid_data.m. Plot the (optimal) power profile for the generator and battery, as well as the battery charge level. (b) Implement ADMM for this problem (you may use CVX to solve each device’s local optimization in each ADMM iteration). Experiment with a few values of the parameter ρ to see its effect on the convergence rate of the algorithm. Plot the norm of the energy balance residual, versus iteration. Plot the power profiles of the generator and battery, as well as the energy balance residual, for several values of iteration (say, after one iteration, after 10 iterations, and after 50). Check the results against the solution found by CVX.