ADMM and Circle Packing, Exercises of Convex Optimization

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

2011/2012

Uploaded on 07/15/2012

saeeda
saeeda 🇮🇳

4

(4)

49 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
EE364b Prof. S. Boyd
EE364b Homework 8
1. Circle packing. The goal is to place Npoints in a unit box in R2so as to maximize
the minimum distance between any of the points:
maximize D
subject to kxixjk2D, i 6=j
0xi1,
(1)
with variables x1,...,xNR2and DR. 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 Don the optimal value, using the following
argument. For xiand Dfeasible, the Ndisks centered at xiwith diameter D
don’t overlap, except on their boundaries; these disks also lie inside the box
{x| (D/2)1x(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 xi6=xjfor i6=j. Plot
Dversus 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
Dfound 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 xis a 2 ×Nmatrix
containing the xi,Dis D, and iter is the iteration counter (which is displayed in
the title).
2. ADMM for smart grid device coordination. We consider an electrical grid consisting
of Ndevices that exchange electricity over Ttime periods. Device ihas energy profile
piRT, with pi
tdenoting the energy consumed by device iin time period t, for
t= 1,...,T,i= 1,...,N. (When pi
t<0, device iis producing energy in time period
t.) Each device has a convex objective function fi:RTR, which we also use to
encode constraints, by setting fi(pi) = for profiles that violate the constraints of
device i. In each time period the energy flow has to balance, which means
N
X
i=1
pi
t= 0, t = 1,...,T.
1
docsity.com
pf2

Partial preview of the text

Download ADMM and Circle Packing and more Exercises Convex Optimization in PDF only on Docsity!

EE364b Prof. S. Boyd

EE364b Homework 8

  1. Circle packing. The goal is to place N points in a unit box in R^2 so as to maximize the minimum distance between any of the points: maximize D subject to ‖xi − xj ‖ 2 ≥ D, i 6 = j 0  xi  1 ,

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).

  1. ADMM for smart grid device coordination. We consider an electrical grid consisting of N devices that exchange electricity over T time periods. Device i has energy profile pi^ ∈ RT^ , with pit denoting the energy consumed by device i in time period t, for t = 1,... , T , i = 1,... , N. (When pit < 0, device i is producing energy in time period t.) Each device has a convex objective function fi : RT^ → R, which we also use to encode constraints, by setting fi(pi) = ∞ for profiles that violate the constraints of device i. In each time period the energy flow has to balance, which means ∑^ N

i=

pit = 0, t = 1,... , T.

docsity.com

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.

  • Generator. The generator has upper and lower generator limits: P min^ ≤ −pt ≤ P max, for t = 1,... , T. (Note the minus sign, since a generator’s profile is typically negative, using our convention.) The objective is

fgen(p) =

∑^ T t=

(α(−pt)^2 + β(−pt)),

where α, β > 0 are given constants.

  • Fixed load. The fixed load has zero objective function and the constraint that its power profile must equal a given consumption profile d ∈ RT^.
  • Battery. The battery has zero objective function, and charge/discharge limits given by C and D, respectively: −D ≤ pt ≤ C, for t = 1,... , T. The battery is initially uncharged (i.e., q 1 = 0), so its charge level in period t is qt =

∑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.

docsity.com