Decentralized optimal dispatch of photovoltaic inverters in power distribution systems

10139800 ยท 2018-11-27

Assignee

Inventors

Cpc classification

International classification

Abstract

Decentralized methods for computing optimal real and reactive power setpoints for residential photovoltaic (PV) inverters are described. Optimal power flow techniques are described that select which inverters will provide ancillary services and compute their optimal real and reactive power setpoints according to specified performance criteria and economic objectives.

Claims

1. A method, the method comprising: storing, with a control device of a power distribution network, an optimal inverter dispatch (OID) model for controlling the real and reactive power produced by photovoltaic inverters installed at respective customer sites and connected to a utility by the power distribution network, wherein the model includes data representing estimated voltages at nodes within the power distribution network and an amount of active and reactive power currently being produced by each of the photovoltaic inverters, and wherein the OID model specifies a set of one or more cost constraints for the utility; receiving, with the control device, messages from customer controllers at each of the customer sites, wherein each of the messages specify current measurements for the amount of active and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site; determining, by the control device and based on the OID model and the current measurements, set points for the active and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility; and communicating, by the control device, to the customer controllers at each of the customer sites, the updated set points for the active and reactive power to photovoltaic inverters.

2. The method of claim 1, wherein the OID model comprises a semidefinite relaxation programming model that expresses the active power and reactive power for the photovoltaic inverters and the cost constraints as linear functions; and wherein processing the OID model comprises computing the set points as a convex minimization for the estimates of the active and reactive power to be produced at each of the PV inverters.

3. The method of claim 1, wherein determining the set points comprises determining, for each of the photovoltaic inverters, updated set points based on a difference between previous set points for the active and reactive power of the photovoltaic inverter and the active and reactive power currently being produced by the photovoltaic inverter.

4. The method of claim 3, wherein determining the set points comprises: responsive to receiving the messages from the customer controllers at each of the customer sites, updating, by the control device, one or more coefficients in the OID model based on the difference between the current set points for the active and reactive power and the active and reactive power currently being produced by the photovoltaic inverters; computing, by the control device, the updated set points based on the updated coefficients; and repeatedly, by the control device: sending the updated set points to the customer controllers at each of the customer sites, receiving the messages from the customer controllers at each of the customer sites, updating the coefficients, and computing additional updates to the set points until the set points for the active and reactive power and the current measurements for the active and reactive power converge within a threshold difference.

5. The method of claim 1, further comprising: measuring, at each of the customer sites with the customer controllers at each of the customer sites, active and reactive power currently being produced by the respective photovoltaic inverters; receiving, with each of the customer controllers, the messages from the control device specifying the updated set points current for the active and reactive power to be produced by the photovoltaic inverter installed at the respective customer site; computing, with each of the customer controllers, local set points based on a difference between the set points for the active and reactive power as received from the control device and the measured active and reactive power currently being produced by the photovoltaic inverters; and controlling, with each of the customer controllers, the respective photovoltaic inverter in accordance with the local set points for the active and the reactive power.

6. The method of claim 5, wherein computing, with each of the customer controllers, local set points comprises performing a minimization operation over cost incurred by the respective customer sites when the photovoltaic inverter for the customer site is required to curtail power generation.

7. The method of claim 1, wherein the control device comprises multiple control devices, the method further comprising: partitioning the power distribution network in to a plurality of clusters, each of the clusters comprising at least one of the multiple control devices and a respective subset of the customer sites; and performing, with each of the at least one of the multiple control devices, the method of claim 1 to control the amount of active and reactive power currently being produced by each of the photovoltaic inverters of the respective subset.

8. The method of claim 1, further comprising selecting, in real-time, a subset of the photovoltaic inverters to participate in the provisioning.

9. The method of claim 1, wherein processing the OID model comprises applying alternating direction method of multipliers (ADMM).

10. A method comprising: measuring, with a customer controller at a customer site, an amount of active and reactive power currently being produced by a photovoltaic inverter installed at the customer site; receiving, with the customer controller, messages from a control device of a power distribution network of a utility coupled to the customer site by the power distribution network, wherein the messages specify set points for the amount of active and reactive power to be produced by the photovoltaic inverter installed at the respective customer site; computing, with the customer controller, local set points based on a difference between the set points for the active and reactive power as received from the control device and the measured active and reactive power currently being produced by the photovoltaic inverters; and controlling, with the customer controller, the respective photovoltaic inverter in accordance with the local set points for the active and the reactive power.

11. The method of claim 10, wherein computing the local set points comprises performing a minimization operation over cost incurred by the customer controller at the customer site when the photovoltaic inverter for the customer site is required to curtail power generation.

12. A system comprising: a control device for a power distribution network of a power utility; a plurality of customer sites having customer controllers and respective photovoltaic inverters coupled to the power utility by the power distribution network, wherein the control device stores an optimal inverter dispatch (OID) model for controlling real and reactive power produced by photovoltaic inverters installed at the customer sites, the OID model specifying a set of one or more cost constraints for the utility, and wherein the control device is configured to: receive messages from the customer controller at each of the customer sites, wherein each of the messages specify current measurements for the amount of active and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site, determine, based on the OID model and the current measurements, set points for the active and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility, and communicate, to the customer controllers, the updated set points for the active and reactive power to photovoltaic inverters.

13. The system of claim 12, wherein the OID model comprises a semidefinite relaxation programming model that expresses the active and reactive power for the photovoltaic inverters and the cost constraints as linear functions; and wherein the control device computes the set points as a convex minimization for the estimates of the active and reactive power to be produced at each of the photovoltaic inverters.

14. The system of claim 12, wherein the control device is configured to determine, for each of the photovoltaic inverters, the updated set points based on a difference between previous set points for the active and reactive power of the photovoltaic inverter and the active and reactive power currently being produced by the photovoltaic inverter.

15. A control device a power distribution network, the control device comprising: a processor coupled to a memory storing an optimal inverter dispatch (OID) model for controlling the real and reactive power produced by photovoltaic inverters installed at respective customer sites and connected to a utility by the power distribution network, wherein the model includes data representing estimated voltages at nodes within the power distribution network and an amount of active and reactive power currently being produced by each of the photovoltaic inverters, and wherein the OID model specifies a set of one or more cost constraints for the utility, wherein the processor is configured to: receive messages from customer controllers at each of the customer sites, wherein each of the messages specify current measurements for the amount of active and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site, determine, based on the OID model and the current measurements, set points for the active and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility, and communicate, to the customer controllers, the updated set points for the active and reactive power to photovoltaic inverters.

16. The control device of claim 15, wherein the OID model comprises a semidefinite relaxation programming model that expresses the active and reactive power for the photovoltaic inverters and the cost constraints as linear functions; and wherein the control device computes the set points as a convex minimization for the estimates of the active and reactive power to be produced at each of the PV inverters.

17. The control device of claim 15, wherein the control device is configured to determine, for each of the photovoltaic inverters, the updated set points based on a difference between previous set points for the active and reactive power of the photovoltaic inverter and the active and reactive power currently being produced by the photovoltaic inverter.

18. A photovoltaic inverter controller comprising: circuitry coupling the device to a photovoltaic inverter; a processor coupled to a memory, wherein the processor is configured to: measure an amount of active and reactive power currently being produced by the photovoltaic inverter; receive messages from a control device of a utility coupled to the photovoltaic inverter by a power distribution network, wherein the messages specify set points for the amount of active and reactive power to be produced by the photovoltaic inverter; compute local set points based on a difference between the set points for the active and the reactive power as received from the control device and the measured active and reactive power currently being produced by the photovoltaic inverters; and control the photovoltaic inverter in accordance with the local set points for the active and reactive power.

19. The photovoltaic inverter controller of claim 18, wherein the processor is configured to compute the local set points by performing a minimization operation over cost incurred by the customer site when the photovoltaic inverter for the customer site is required to curtail power generation.

20. The photovoltaic inverter controller of claim 18, further comprising a communication interface configured to: send information to the control device that is indicative of the amount of active and reactive power currently being produced by the photovoltaic inverter to the control device; and receive the messages from the control device of the utility in response to sending the information.

Description

BRIEF DESCRIPTION OF DRAWINGS

(1) FIG. 1 is a block diagram of an example low-voltage residential network with high PV penetration.

(2) FIG. 2 is a block diagram illustrating -equivalent circuits of a low-voltage distribution line (m; n).

(3) FIGS. 3A-3D are graphs illustrating feasible operating regions for the h.sup.th inverter with apparent power rating S.sub.h under a) reactive power control (RPC), b) active power curtailment (APC), c) OID with joint control of real and reactive power, and d) OID with a lower-bound on power factor.

(4) FIG. 4 is a block diagram illustrating operations and communications in a distributed optimal inverter dispatch (DOID) with utility-customer message passing according to a first example implementation.

(5) FIG. 5 is a block diagram illustrating operations and communications in a DOID with utility-customer message passing according to a second example implementation in which the distribution network is divided into clusters.

(6) FIGS. 6A-6B are graphs of simulated inputs: (a) available active powers {P.sub.h.sup.av} from inverters with dc ratings of 5.52 kW, 5.70 kW, and 8.00 kW; (b) demanded active loads at the households (reactive demand is computed by presuming a power factor of 0.9).

(7) FIGS. 7A-7B are graphs illustrating an example solution, as determined according to the techniques herein, for curtailed active power per each household, for (a) =0.8 and (b) =0.

(8) FIGS. 8A, 8B are graphs illustrating convergence of the first example implementation of the DOID techniques for: (a) values of {P.sub.c,h[i]custom character (dashed lines) and {P.sub.c,h[i]custom character as a function of the ADMM iteration index i. (b) Consensus error|P.sub.c,h[i]P.sub.c,h[i]|, for all houses hcustom character as a function of i.

(9) FIG. 9 is a graph illustrating consensus error |V.sub.8.sup.1[i]V.sub.8.sup.2[i]| and |V.sub.11.sup.1[i]V.sub.11.sup.2[i]| for the second example implementation of the DOID techniques as a function of the ADMM iteration index i.

(10) FIG. 10 is a flowchart illustrating example operation of a device in accordance with the techniques described herein.

(11) FIG. 11 shows a detailed example of a computing device or controller that may be configured to implement various embodiments in accordance with the current disclosure.

DETAILED DESCRIPTION

(12) FIG. 1 is a block diagram of an example low-voltage residential network with high penetration of photovoltaic inverters (PVs). Techniques for distributed optimal inverter dispatch (DOID) are described. In example implementations, a subset of critical PV-inverters that most strongly impact network performance objectives are identified and their active (real) and reactive power set points are jointly computed. This can be accomplished by formulating an optimal power flow (OPF) type problem, which encapsulates well-defined performance criteria as well as network and inverter operational constraints. By leveraging sparsity-promoting regularizations and semidefinite relaxation (SDR) techniques, the technical problems are solved in a distributed manner with reduced computational burden.

(13) The techniques provide increased flexibility over conventional Volt/VAR approaches and conventional active power curtailment methods. For example, the techniques may: i) determine in real-time those inverters that must participate in ancillary services provisioning; and, ii) jointly optimize both the real and reactive power produced by the participating inverters (see, e.g., FIGS. 3 (c)-(d) for an illustration of the inverters' operating regions under OID).

(14) In this disclosure, the technical problem is strategically decomposed into sub-problems that can be solved in a decentralized fashion by control devices associated with and deployed at utility-owned energy systems and customer-owned PV systems, with reduced exchanges of information. Herein, the decentralized optimization techniques are referred to as decentralized optimal inverter dispatch (DOID). By leveraging both real and reactive power optimization and decentralized solution approaches for OPF problems, a number of decentralized techniques are described herein.

(15) For example, in a first implementation, controllers for all customer-owned PV inverters communicate with the control device for the utility. The control device for the utility executes operations to implement the techniques described herein to optimize network performance (quantified in terms of, e.g., power losses and voltage regulation) while controllers deployed at individual customer sites maximize their customer-specified economic objectives (quantified in terms of, e.g., the amount of active power they might have to curtail). This setup provides flexibility to the customers to specify their optimization objectives since the utility need not control the customer preferences. In the spirit of the advanced metering infrastructure (AMI) paradigm, according to the techniques described herein, utility and customer-owned EMUs exchange relevant information to agree on the optimal PVinverter setpoints. The process continues until the decentralized algorithms implemented by the utility control device and the customer controllers have converged such that the set points computed by the power utility converge to a threshold difference from the set points computed by the inverter controllers at the customer sites.

(16) In a second example implementation of the DOID techniques, the distribution network is partitioned into clusters, each of which contains a set of customer-owned PV inverters and a single cluster energy manager (CEM). A decentralized algorithm is then formulated and implemented such that the operation of each cluster is optimized and with a limited exchange of voltage-related messages, the interconnected clusters consent on the system-wide voltage profile. In one example, the decentralized OID techniques leverage the alternating direction method of multipliers (ADMM), which is an algorithm that solves complex optimization problems by breaking them into smaller pieces. Further example details of ADMM are described in Boyd, N. Parikh, E. Chu, B. Peleato, and J. Eckstein, Distributed optimization and statistical learning via the alternating direction method of multipliers, Foundations and Trends in Machine Learning, vol. 3, pp. 1-122, 2011, the entire contents of which are incorporated herein by reference. In general, the message exchange process described above continues until the set points computed by the power utility/aggregator converge to a threshold difference from the set points computed by the customer controller, and the difference between matrices specifying voltages of power lines connecting neighboring clusters converge to a threshold difference.

(17) The decentralized OID techniques described herein accommodate different message passing strategies that are relevant in a variety of practical scenarios (e.g., customer-to-utility, customer-to-CEM and CEM-to-CEM communications). The described decentralized techniques offer improved optimality guarantees, since example implementations are grounded on semidefinite relaxation. Moreover, the described techniques consider the utilization of an exact AC power flow model, as well as a joint computation of active and reactive power setpoint.

(18) Network and PV-Inverter Models

(19) In the example of FIG. 1, node 0 corresponds to the secondary of the step-down transformer; set custom character={2, 5, 8, 11, 14, 17} collects nodes corresponding to distribution poles; and, homes H.sub.1, . . . , H.sub.12 are connected to nodes in the set custom character={1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 18}.

(20) With respect to FIG. 1, consider the distribution system comprising N+1 nodes collected in the set custom character:={0, 1, . . . , N} (node 0 denotes the secondary of the step-down transformer), and lines represented by the set of edges :={(m, n)}custom charactercustom character. For simplicity of exposition, a balanced system is considered; however, both the centralized and decentralized frameworks proposed subsequently can be extended to unbalanced systems. Subsets custom character, custom charactercustom character collect nodes corresponding to utility poles (with zero power injected or consumed), and those with installed residential PV inverters, respectively (see FIG. 1).

(21) Let V.sub.ncustom character and I.sub.ncustom character denote the phasors for the line-to-ground voltage and the current injected at node ncustom character, respectively, and define i:=[I.sub.1, . . . , I.sub.N].sup.Tcustom character.sup.N and v:=[V.sub.1, . . . , V.sub.N].sup.Tcustom character.sup.N. Using Ohm's and Kirchhoff s circuit laws, the linear relationship i=Yv can be established, where the system admittance matrix Ycustom character.sup.N+1N+1 is formed based on the system topology and the -equivalent circuit of lines (m, n), as illustrated in FIG. 2. Specifically, with y.sub.mn and y.sub.mn.sup.sh denoting the series and shunt admittances of line (m, n), the entries of Y are defined as

(22) [ Y ] m , n := { .Math. j m y mj sh + y mj , if m = m - y mn , if ( m , n ) .Math. 0 , otherwise
where, custom character.sub.m:={jcustom character: (m, j)} denotes the set of nodes connected to the m-th one through a distribution line.

(23) A constant PQ model is adopted for the load, with P.sub.l,h and Q.sub.l,h denoting the active and reactive demands at node hcustom character, respectively. In general, the PQ model asserts that the demand from a household or a commercial premise is represented by given values for the consumed real and reactive powers. For given solar irradiation conditions, let Pr denote the maximum available active power from the PV array at node hcustom character. The described framework calls for the joint control of both real and reactive power produced by each of the PV inverters. In particular, the allowed operating regime on the complex-power plane for the PV inverters is illustrated in FIG. 3D and described by

(24) h OID := { 0 P c , h P h av P c , h , Q c , h : Q c , h 2 S h 2 - ( P h av - P c , h ) 2 .Math. Q c , h .Math. tan ( P h av - P c , h ) } ( 1 )
where P.sub.c,h is the active power curtailed, and Q.sub.c,h is the reactive power injected/absorbed by the inverter at node h. Notice that if there is no limit to the power factor, then =/2, and the operating region is given by FIG. 3C. In particular, FIGS. 3A-3D are graphs illustrating feasible operating regions for the h.sup.th inverter with apparent power rating S.sub.h under a) reactive power control (RPC), b) active power curtailment (APC), c) OID with joint control of real and reactive power, and d) OID with a lower-bound on power factor.

(25) The techniques described herein provide for joint optimization of active and reactive powers generated by the PV inverters, and offer the flexibility of selecting the subset of critical PV inverters that should be dispatched in order to fulfill optimization objectives and ensure electrical network constraints. To this end, let z.sub.h be a binary variable indicating whether PV inverter h provides ancillary services or not and assume that at most K<|custom character|PV inverters are allowed to provide ancillary services. Selecting a (possibly time-varying) subset of inverters promotes user fairness, prolongs inverter lifetime, and captures possible fixed-rate utility-customer pricing/rewarding strategies. Let p.sub.c and q.sub.c collect the active powers curtailed and the reactive powers injected/absorbed by the inverters. With these definitions, the OID problem can be formulated as follows:

(26) min v , i , p c , q c { z h } C ( V , p c ) subject to i = Yv , { z h } { 0 , 1 , and ( 2 a ) V h I h * = ( P h av - P c , h - P l , h ) + j ( Q c , h - Q l , h ) ( 2 b ) V n I n * = 0 n ( 2 c ) V min .Math. V n .Math. V max n ( 2 d ) ( P c , h , Q c , h ) { { ( 0 , 0 ) } , if z h = 0 h OID , if z h = 1 n ( 2 e ) z h K , ( 2 f )
where constraint (2b) is enforced at each node hcustom character; C(V,p.sub.c) is a given cost function capturing both network- and customer-oriented objectives; and, (2e)-(2f) jointly indicate which inverters have to operate either under OID (i.e., (P.sub.c,h,Q.sub.c,h)custom character.sub.h.sup.OID), or, in the business-as-usual mode (i.e., (P.sub.c,h,Q.sub.c,h)=(0,0)). An alternative problem formulation can be obtained by removing constraint (2f), and adopting the cost C(V, p.sub.c)+.sub.zcustom characterz.sub.h in (2a), with .sub.z0 a weighting coefficient utilized to trade off achievable cost C(V, p.sub.c) for the number of controlled inverters. When .sub.z represents a fixed reward for customers providing ancillary services and C(V, p.sub.c) models costs associated with active power losses and active power set points, OID (2) returns the inverter setpoints that minimize the economic cost incurred by feeder operation.

(27) In the OPF-type problem formulation, the power balance and lower bound on the voltage magnitude constraints (2b), (2c) and (2d), respectively, render the OID problem nonconvex, and thus challenging to solve optimally and efficiently. Unique to the OID formulation are the binary optimization variables {z.sub.h}; finding the optimal (sub)set of inverters to dispatch involves the solution of combinatorially many subproblems. Nevertheless, a computationally affordable convex reformulation is applied by leveraging sparsity-promoting regularization and semidefinite relaxation (SDR) techniques as briefly described next.

(28) In order to bypass binary selection variables, key is to notice that that if inverter h is not selected for ancillary services, then one clearly has that P.sub.c,h=Q.sub.c,h=0[cf. (2e)]. Thus, for K<|custom character|, one has that the 2|custom character|1 real-valued vector [P.sub.c,1, Z.sub.z,1, . . . , custom character, custom character].sup.T is group sparse; meaning that, either the 21 sub-vectors [P.sub.c,h, Q.sub.c,h].sup.T equal 0 or not. This group-sparsity attribute enables discarding the binary variables and to effect PV inverter selection by regularizing the cost in (2) with the following function:
G(p.sub.c,q.sub.c):=custom character[P.sub.c,h,Q.sub.c,h].sup.T.sub.2(3)
where 0 is a tuning parameter. Specifically, the number of inverters operating under OID decreases as is increased.

(29) To develop a relaxation of the OID task, powers and voltage magnitudes are expressed as linear functions of the outer-product Hermitian matrix V:=vv.sup.H, and the OID problem is reformulated with cost and constraints that are linear in V, as well as the constraints Vcustom character0 and rank (V)=1. The resultant problem is still nonconvex because of the constraint rank (V)=1; however in the spirit of SDR, this constraint can be dropped.

(30) To this end, define the matrix Y.sub.n:=e.sub.ne.sub.n.sup.TY per node n, where e.sub.ncustom character denotes the canonical basis of custom character. Based on Y.sub.n, define also the Hermitian matrices A.sub.n:=(Y.sub.n+Y.sub.n.sup.H),B.sub.n:=j/2(Y.sub.n+Y.sub.n.sup.H), and M.sub.n:=e.sub.ne.sub.n.sup.T. Using these matrices, along with (3) the relaxed convex OID problem can be formulated as
min.sub.v,p.sub.c.sub.,q.sub.cC(V,p.sub.c)+G(p.sub.c,q.sub.c)4(a) s to Vcustom character0, and
Tr(a.sub.hV)=P.sub.l,h+p.sub.h.sup.avP.sub.c,h hcustom character4(b)
Tr(B.sub.hV)=Q.sub.l,h+Q.sub.c,h hcustom character4(c)
Tr(A.sub.nV)=0, Tr(B.sub.nV)=0 ncustom character4(d)
V.sub.min.sup.2Tr(M.sub.nV)V.sub.max.sup.2 ncustom character4(e)
(P.sub.c,h,Q.sub.c,h)custom character.sub.h.sup.OID hcustom character4(f)

(31) If the optimal solution of the relaxed problem (4) has rank 1, then the resultant voltages, currents, and power flows are globally optimal for given inverter setpoints. As for the inverter setpoints {(P.sub.h.sup.a,vP.sub.c,h,Q.sub.c,h)}, those obtained from (4) may be slightly sub-optimal compared to the setpoints that would have been obtained by solving the optimization problem (2). This is mainly due to the so-called shrinkage effect introduced by the regularizer (3).

(32) To solve the OID problem, customers' loads and available powers {P.sub.h.sup.av} are gathered at a processing unit (managed by the utility company), which subsequently dispatches the PV inverter setpoints. Decentralized implementations of the OID framework are described below so that the OID problem can be solved in a decentralized fashion with limited exchange of information. From a computational perspective, decentralized schemes ensure scalability of problem complexity with respect to the system size.

(33) DOID: Utility-Customer Message Passing

(34) Consider decoupling the cost C(V, p.sub.c) in (4a) as C(V, p.sub.c)=C.sub.utility(V, p.sub.c)+.sub.hR.sub.h(P.sub.c,h), where C.sub.utility(V, p.sub.c) captures utility-oriented optimization objectives, which may include e.g., power losses in the network and voltage deviations; and, R.sub.h(P.sub.c,h) is a convex function modeling the cost incurred by (or the reward associated with) customer h when the PV inverter is required to curtail power. Without loss of generality, a quadratic function R.sub.h(P.sub.c,h):=a.sub.hP.sub.c,h.sup.2+b.sub.hP.sub.c,h is adopted here, where the choice of the coefficients is based on specific utility-customer prearrangements or customer specified preferences.

(35) Suppose that customer h transmits to the utility company the net active power P.sub.h:=P.sub.l,h+P.sub.h.sup.av and the reactive load Q.sub.l,h; subsequently, customer and utility will agree on the PV-inverter setpoint, based on the optimization objectives described by C.sub.utility and {R.sub.h}. To this end, let P.sub.c,h and Q.sub.c,h represent copies of P.sub.c,h, and Q.sub.c,h, respectively, at the utility. The corresponding |custom character|1 vectors that collect the copies of the inverter setpoints are denoted by p.sub.c and q.sub.c, respectively. Then, using the additional optimization variables p.sub.c, q.sub.c, the relaxed OID problem (4) can be equivalently reformulated as:

(36) min V , p c , q c p _ c , q _ c C _ ( V , p _ c , q _ c ) + .Math. h R h ( P c , h ) s . to V 0 , and 5 ( a ) Tr ( A h V ) = P _ h - P _ c , h h 5 ( b ) Tr ( B h V ) = - Q l , h + Q _ c , h h 5 ( c ) Tr ( A n V ) = 0 , Tr ( B n V ) = 0 n 5 ( d ) V min 2 Tr ( M h V ) V max 2 n 5 ( e ) ( P ch , Q c , h ) h OID h 5 ( f ) P _ c , h = P c , h , Q _ c , h = Q c , h h 5 ( g )
where constraints (5g) ensure that utility and customer agree upon the inverters' setpoints, and C(V, p.sub.c, q.sub.c):=C.sub.utility(V, p.sub.c)+G (p.sub.c, q.sub.c) is the regularized cost function to be minimized at the utility.

(37) The consensus constraints (5g) render problems (4) and (5) equivalent; however, the same constraints impede problem decomposability, and thus conventional optimization techniques such as distributed (sub-)gradient methods and ADMM cannot be directly applied to solve (5) in a decentralized fashion. To enable problem decomposability, consider introducing the auxiliary variables x.sub.h, y.sub.h per inverter h. Using these auxiliary variables, (5) can be reformulated as

(38) min V , p c , q c p _ c , q _ c , { X h , y h } C _ ( V , p _ c , q _ c ) + .Math. h R h ( P c , h ) s . to V 0 , ( 5 b ) - ( 5 f ) , and 6 ( a ) P _ c , h = x h , x h = P c , h h 6 ( b ) Q _ c , h = y h , y h = Q c , h h 6 ( c )

(39) Problem (6) is equivalent to (4) and (5); however, compared to (4)-(5), it is amenable to a decentralized solution via ADMM as described in the remainder of this section. ADMM may be preferred over distributed (sub-)gradient schemes because of its significantly faster convergence and resilience to communication errors.

(40) Per inverter h, let .sub.h, .sub.h denote the multipliers associated with the two constraints in (17c), and .sub.h, .sub.h the ones associated with (17d). Next, consider the partial quadratically augmented Lagrangian of (6), defined as follows:

(41) ( , { h } , xy , ) := C _ ( V , p _ c , q _ c ) + .Math. h [ R h ( P c , h ) + _ h ( P _ c , h - x h ) + h ( x h - P c , h ) + _ h ( Q _ c , h - y h ) + h ( y h - Q c , h ) + ( k / 2 ) ( P _ c , h - x h ) 2 + ( k / 2 ) ( x h - P c , h ) 2 + ( k / 2 ) ( Q _ c , h - y h ) 2 + ( k / 2 ) ( y h - Q c , h ) 2 ] , ( 7 )
where custom character:={V,p.sub.c, q.sub.c} collects the optimization variables of the utility; custom character.sub.h:={P.sub.c,h,Q.sub.c,h} are the decision variables for customer h; custom character.sub.xy:={x.sub.h,y.sub.h,hcustom character} is the set of auxiliary variables; custom character:={.sub.h,.sub.h,.sub.h,.sub.h,hcustom character} collects the dual variables; and k>0 is a given constant. Based on (7), ADMM amounts to iteratively performing the steps [S1]-[S3] described next, where i denotes the iteration index: [S1] Update variables custom character as follows:
custom character[i+1]:=arg min.sub.v,{P.sub.c,h.sub.,Q.sub.c,h}custom character(custom character,{.sub.h[i]},custom character.sub.xy[i],custom character[i])(8) s.to. Vcustom character0, and (5b)-(5e).
Furthermore, per inverter h, update P.sub.c,h,Q.sub.c,h as follows:
custom character.sub.h[i+1]:=arg min.sub.P.sub.c,h.sub.,Q.sub.c,hcustom character(custom character[i],P.sub.c,h,Q.sub.c,h,custom character.sub.xy[i], custom character[i])(9) s.to. (P.sub.c,h,Q.sub.c,h)custom character.sub.h.sup.OID [S2] Update auxiliary variables custom character.sub.xy:
custom character.sub.xy[i+1]:=arg min.sub.{x.sub.h.sub.,y.sub.h.sub.}custom character.sub.(custom character.sub.[i+1],{custom character.sub.h[i+1]},{x.sub.h,y.sub.h},custom character[i])(10) [S3] Dual update:
.sub.h[i+1]=.sub.h[i]+k(P.sub.c,h[i+1]x.sub.h[i+1])11(a)
.sub.h[i+1]=.sub.h[i]+k(x.sub.h[i+1]P.sub.c,h[i+1])11(b)
.sub.h[i+1]=.sub.h[i]+k(Q.sub.c,h[i+1]y.sub.h[i+1])11(c)
.sub.h[i+1]=.sub.h[i]+k(y.sub.h[i+1]Q.sub.c,h[i+1])11(d)

(42) In [S1], the primal variables custom character,{custom character.sub.h} are obtained by minimizing (7), where the auxiliary variables .sub.xy and the multipliers custom character are kept fixed to their current iteration values. Likewise, the auxiliary variables are updated in [S2] by fixing custom character, {custom character.sub.h} to their up-to-date values. Finally, the dual variables are updated in [S3] via dual gradient ascent.

(43) It can be noticed that step [S2] favorably decouples into 2|custom character| scalar and unconstrained quadratic programs, with x.sub.h[i+1] and y.sub.h[i+1]solvable in closed-form. Using this feature, the following lemma can be readily proved.

(44) Lemma 1: Suppose that the multipliers are initialized as .sub.h[0]=.sub.h[0]=.sub.h[0]=.sub.h[0]=0. Then, for all iterations i>0, it holds that: i) .sub.h[i]=.sub.h[i]; ii) .sub.h[i]=.sub.h[i]. iii) x.sub.h[i]=P.sub.c,h[i]+P.sub.c,h[i]; and, iv) y.sub.h[i]=Q.sub.c,h[i]+Q.sub.c,h[i].

(45) Using Lemma 1, the conventional ADMM steps [S1]-[S3] can be simplified as follows. [S1] At the utility side, variables custom character are updated by solving the following convex optimization problem:
custom character[i+1]:=arg min.sub.V,{P.sub.c,h.sub.,Q.sub.c,h.sub.}C(V,p.sub.c,q.sub.c)+F(p.sub.c,q.sub.c, {custom character.sub.h[i]})12(a) s.to. Vcustom character0, and (5b)-(5e).
where function F(p.sub.c,q.sub.c,{custom character.sub.h[i]}) is defined as

(46) F ( p _ c , q _ c , { h [ i ] } ) := .Math. h [ k 2 ( P _ c , h 2 + Q _ c , h 2 ) + P _ c , h ( h [ i ] - k 2 P _ c , h [ i ] - k 2 P c , h [ i ] ) + Q _ c , h ( h [ i ] - k 2 Q _ c , h [ i ] - k 2 Q c , h [ i ] ) ] 12 ( b )

(47) At the customer side, the PV-inverter setpoints are updated by solving the following constrained quadratic program:

(48) [ R h ( P c , h ) + k 2 ( P c , h 2 + Q c , h 2 ) - P c , h ( h [ i ] - k 2 P _ c , h [ i ] - k 2 P c , h [ i ] ) - Q c , h ( h [ i ] - k 2 Q _ c , h [ i ] - k 2 Q c , h [ i ] ) ] s . to . ( P c , h , Q c , h ) h OID . ( 13 )

(49) [S2] At the utility and customer sides, the dual variables are updated as:

(50) h [ i + 1 ] = h [ i ] + k 2 ( P _ c , h [ i + 1 ] - P c , h [ i + 1 ] ) ( 14 a ) h [ i + 1 ] = h [ i ] + k 2 ( Q c , h [ i + 1 ] - Q c , h [ i + 1 ] ) ( 14 b )

(51) The resultant decentralized algorithm entails a two-way message exchange between the utility and customers of the current iterates p.sub.c[i], q.sub.c[i] and p.sub.c[i], q.sub.c[i]. Specifically, at each iteration i>0, the utility-owned device solves the OID rendition (12) to update the desired PV-inverter setpoints based on the performance objectives described by C(V, p.sub.c,q.sub.c) (which is regularized with the term F (p.sub.c, q.sub.c, {custom character.sub.h[i]})enforcing consensus with the setpoints computed at the customer side), as well as the electrical network constraints (5b)-(5e); once (12) is solved, the utility relays to each customer a copy of the iterate value (P.sub.c,h[i+1], Q.sub.c,h[i+1]). In the meantime, the PV-inverter setpoints are simultaneously updated via (13) and subsequently sent to the utility. Once the updated local iterates are exchanged, utility and customers update the local dual variables (14).

(52) The resultant decentralized algorithm is tabulated as a first example implementation (Algorithm 1) listed below and illustrated in FIG. 4, and its convergence to the solution of the centralized OID problem (4) is formally stated next.

(53) TABLE-US-00001 Algorithm 1 DOID: Utility-customer message passing Set .sub.h[0] = .sub.h[0] = 0 for all h custom character . for i = 1, 2, . . . (repeat until convergence) do 1. [Utility]: update V[i + 1] and {P.sub.c,h[i + 1], Q.sub.c,h[i + 1]} via (12). [Customer-h]: update P.sub.c,h[i + 1], Q.sub.c,h[i + 1] via (13). 2. [Utility]: send P.sub.c,h[i + 1], Q.sub.c,h[i + 1] to h; repeat for all h custom character . [Customer-h]: receive P.sub.c,h[i + 1], Q.sub.c,h[i + 1] from utility; send P.sub.c,h[i + 1], Q.sub.c,h[i + 1] to utility; repeat for all h custom character . [Utility]; receive P.sub.c,h[i + 1], Q.sub.c,h[i + 1] from h; repeat for all h custom character . 3. [Utility]: update {.sub.h[i + 1], .sub.h[i + 1]}.sub.hcustom character via (14). [Customer-h]; update dual variables .sub.h[i + 1], .sub.h[i + 1] via (14); repeat for all h custom character . end for Implement setpoints in the PV inverters.

(54) FIG. 4 is a block diagram illustrating operations and communications in a distributed optimal inverter dispatch (DOID) with utility-customer message passing according to a first example implementation. As shown in FIG. 4, power utility 102 is coupled to a plurality of customer sites (e.g., customer site 106) by a power distribution network. Each customer site has installed therein a photovoltaic inverter and a respective controller. That is, control device 100 is configured to receive messages from the control devices of each of the customer sites, wherein each of the messages specify current measurements for the amount of reactive power and reactive power currently being produced by the photovoltaic inverter installed at the respective customer site. Controller 100 determines, based on the current measurements, set points for the active power and reactive power to be produced by each of the photovoltaic inverters of the customer sites by performing a minimization operation over the cost constraints for the utility so as to determine a minimum possible value for the cost, and communicates the updated set points for the active power and the reactive power to photovoltaic inverters.

(55) Control device 100 of power utility 102 exchanges messages with each of the controllers (e.g., controller 110) and controls the real and reactive power produced by photovoltaic inverters installed at the customer sites. Each of the controllers at the customer sites measure an amount of active power and reactive power currently being produced by a photovoltaic inverter installed at the customer site, and send the measurements to the control device of the utility. Moreover, each of the controllers of the PVs receive the messages from control device 100 specifying the set points for the amount of reactive power and reactive power to be produced by the photovoltaic inverter installed at the respective customer site. Each of the controllers compute local set points based on a difference between the set points for the reactive power and the reactive power as received from the control device and the measured reactive power and reactive power currently being produced by the photovoltaic inverters. During this computation, each of the controllers performs a minimization operation over cost incurred by the respective customer site when the photovoltaic inverter for the customer site is required to curtail power generation. Each of the controllers then control the respective photovoltaic inverter in accordance with the local set points for the reactive power and the reactive power.

(56) Proposition 1:

(57) The iterates custom character[i], {custom character.sub.h[i]} and custom character[i] produced by [S1]-[S2] are convergent, for any k>0. Further

(58) 0 lim i .fwdarw. + V [ i ] = V opt , lim i .fwdarw. + p c [ i ] = lim i .fwdarw. + p _ c [ i ] = p c opt and lim i .fwdarw. + q c [ i ] = lim i .fwdarw. + q _ c [ i ] = q c opt ,
with V.sup.opt, p.sub.c.sup.opt, q.sub.c.sup.opt denoting the optimal solutions of the OID problems (4) and (5).

(59) Notice that problem (12) can be conveniently reformulated in a standard SDP form (which involves the minimization of a linear function, subject to linear (in)equalities and linear matrix inequalities) by introducing pertinent auxiliary optimization variables and by using the Schur complement. Finally, for a given consensus error0<<<1, the algorithm terminates when p.sub.c[i]p.sub.c[i].sub.2.sup.2+q.sub.c[i]q.sub.c[i].sub.2.sup.2. However, it is worth emphasizing that, at each iteration i, the utility company solves a consensus-enforcing regularized OID problem, which yields intermediate voltages and power flows that clearly adhere to electrical network constraints.

(60) Once the decentralized algorithm has converged, the real and reactive setpoints are implemented in the PV inverters. Notice however that Algorithm 1 affords an online implementation; that is, the intermediate PV-inverter setpoints p.sub.c[i],q.sub.c[i] are dispatched (and set at the customer side) as and when they become available, rather than waiting for the algorithm to converge.

(61) DOID: Network Cluster Partitioning

(62) FIG. 5 is a block diagram illustrating operations and communications in a DOID with utility-customer message passing according to a second example implementation in which the distribution network is divided into clusters 200A-200N. In this setup, C.sup.1={1, . . . , 9}, {tilde over (C)}.sup.1={1, . . . , 9, 11}, C.sup.2={10, . . . , 18}, and {tilde over (C)}.sup.2={8, 10, . . . , 18}. The following sections describe a second example implementation, usable in combination of or an extension to the first example implementation, where the distribution network is partitioned into clusters, with C.sup.aN denoting the set of nodes within cluster a. Also, define {tilde over (C)}.sup.a:=C.sup.a{n|(m, n), mC.sup.a, nC.sup.j, aj}; that is, {tilde over (C)}.sup.a also includes the nodes belonging to different clusters that are connected to the a-th one by a distribution line (see FIG. 5 for an illustration). Hereafter, superscript ().sup.a will be used to specify quantities pertaining to cluster a; e.g., custom character.sup.a the set of houses located within cluster C.sup.a, and vectors p.sub.c.sup.a, q.sub.c.sup.a collect copies of the setpoints of PV inverters hcustom character.sup.a available with the a-th CEM. With regard to notation, an exception is V.sup.a, which denotes the sub-matrix of V corresponding to nodes in the extended cluster {tilde over (C)}.sup.a.

(63) Based on this network partitioning, consider decoupling the network-related cost C(V, p.sub.c, q.sub.c) in (5a) as

(64) C _ ( V , p _ c , q _ c ) = .Math. a = 1 N a [ C a ( V a , p _ c a ) + a .Math. h .Math. [ P _ c , h , Q _ c , h ] .Math. 2 ] := C _ a ( V a , p _ c a , q _ c a )
where N.sub.a is the number of clusters, C.sup.a(V.sup.a, p.sub.c.sup.a) captures optimization objectives of the a-th cluster (e.g., power losses within the cluster), and the sparsity-promoting regularization function is used to determine which PV inverters in custom character.sup.a provide ancillary services. Further, per-cluster a=1, . . . , N.sub.a, define the region of feasible power flows as [cf. (5b)-(5e)]:

(65) a := { Tr ( A h a V a ) = P _ h - P _ c , h , h a Tr ( B h a V a ) = - Q l , h + Q _ c , h , h a V a , p _ c a , q _ c a : Tr ( A n a V a ) = 0 , n a Tr ( B n a V a ) = 0 , n a V min 2 Tr ( M n a V a ) V max 2 , n a }
where A.sub.h.sup.a, B.sub.h.sup.a and M.sub.h.sup.a are the sub-matrices of A.sub.h, B.sub.h, M.sub.h, respectively, formed by extracting rows and columns corresponding to nodes in {tilde over (C)}.sup.a. With these definitions, problem (5) can be equivalently formulated as:

(66) min V , p c , q c p _ c , q _ c .Math. a [ C _ a ( V a , p _ c a , q _ c a ) + .Math. h a R h ( P c , h ) ] s . to V 0 , and ( 15 a ) { V a , p _ c a , q _ c a } a a ( 15 b ) ( P c , h , Q c , h ) h OID h a , a ( 15 c ) P _ c , h = P c , h , Q _ c , h = Q c , h h a , a . ( 15 d )

(67) Notice that, similar to (5g), constraints (15d) ensure that the CEM and customer-owned PV systems consent on the optimal PV-inverter setpoints. Formulation (15) effectively decouples cost, power flow constraints, and PV-related consensus constraints (15d) on a per-cluster basis. The main challenge towards solving (15) in a decentralized fashion lies in the positive semidefinite (PSD) constraint Vcustom character0, which clearly couples the matrices {V.sup.a}. To address this challenge, results on completing partial Hermitian matrices will be leveraged to identify partitions of the distribution network in clusters for which the PSD constraint on V would decouple to V.sup.acustom character0, a. This decoupling would clearly facilitate the decomposability of (15) in per-cluster sub-problems.

(68) Towards this end, first define the set of neighboring clusters for the a-th one custom character:={jcustom character.sup.acustom character.sup.j0}. Further, let custom characterbe a graph capturing the control architecture of the distribution network, where nodes represent the clusters and edges connect neighboring clusters (i.e., based on sets {custom character.sup.a}); for example, the graph custom character, associated with the network in FIG. 5 has two nodes, connected through an edge (since the two areas are connected). In general, it is clear that if clusters a and j are neighbors, then CEM a and CEM j must agree on the voltages at the two end points of the distribution line connecting the two clusters. For example, with reference to FIG. 5, notice that line (8; 11) connects clusters 1 and 2. Therefore, CEM 1 and CEM 2 must agree on voltages V.sub.8 and V.sub.11. Lastly, let V.sub.j.sup.a denote the sub-matrix of V.sup.a corresponding to the two voltages on the line connecting clusters a and j. Recalling the previous example, agreeing on V.sub.8 and V.sub.11 is tantamount to setting V.sub.2.sup.1=V.sub.2.sup.1, where V.sub.2.sup.1 is a 22 matrix representing the outer-product [V.sub.8, V.sub.11].sup.T [V.sub.8, V.sub.11]*. Using these definitions, the following proposition can be proved.

(69) Proposition 2:

(70) Suppose: (i) the cluster graph custom character is a tree, and (ii) clusters are not nested (i.e., |custom character.sup.a\(custom character.sup.acustom character.sup.j)|>0 aj). Then, (15) is equivalent to the following problem:

(71) min { V a , p c a , q c a } p _ c , q _ c .Math. a [ C _ a ( V a , p _ c a , q _ c a ) + .Math. h a R h ( P c , h ) ] s . to ( 15 b ) - ( 15 d ) and ( 16 a ) V a 0 a ( 16 b ) V j a = V a j , j a , a ( 16 c )

(72) Under (i)-(ii), there exists a rank-1 matrix V.sup.opt solving (15) optimally if and only if rank {V.sup.a}=1, a=1, . . . , N.sub.a. Notice that the |custom character||custom character| matrix V is replaced by percluster reduced-dimensional |custom character.sup.a||custom character.sup.a| matrices {V.sup.a} in (16). Proposition 2 is grounded on the assertion that a PSD matrix V can be obtained starting from submatrices {V.sup.a} if and only if the graph induced by {V.sup.a} is chordal. Since a PSD matrix can be reconstructed from {V.sup.a}, it suffices to impose constraints V.sup.acustom character0, a=1, . . . , N.sub.a. Assumptions (i)-(ii) provide sufficient conditions for the graph induced by {V.sup.a} to be chordal, and they are typically satisfied in practice (e.g., when each cluster is set to be a lateral or a sub-lateral). The second part of the proposition asserts that, for the completable PSD matrix V to have rank 1, all matrices V.sup.a must have rank 1; thus, if rank {V.sup.a}=1 for all clusters, then {V.sup.a} represents a globally optimal power flow solution for given inverter setpoints.

(73) Similar to (6), auxiliary variables are introduced to enable decomposability of (16) in per-cluster subproblems. With variables x.sub.h, y.sub.h associated with inverter h, and W.sup.a,j, Q.sup.a,j with neighboring clusters a and j, (16) is reformulated as:

(74) min { V a , p c a , q c a } p _ c a , q _ c a { W a , j , Q a , j , x h , y h } .Math. a [ C _ a ( V a , p _ c a , q _ c a ) + .Math. h a R h ( P c , h ) ] s . to ( 15 b ) - ( 15 c ) , V a 0 a , and { V j a } = W a , j , W a , j = W j , a j a , a ( 17 a ) { V j a } = Q a , j , Q a , j = Q j , a j a , a ( 17 b ) P _ c , h = x h , x h = P c , h h a , a ( 17 c ) Q _ c , h = y h , y h = Q c , h h a , a ( 17 d )

(75) This problem can be solved across clusters by resorting to ADMM. To this end, a partial quadratically-augmented Lagrangian, obtained by dualizing constraints custom character{V.sub.j.sup.a}=Q.sup.a,j, custom character{V.sub.j.sup.a}=Q.sup.a,j, P.sub.c,h=x.sub.h, and Q.sub.c,h=y.sub.h is defined first; then, the standard ADMM steps involve a cyclic minimization of the resultant Lagrangian with respect to {V.sup.a, p.sub.c.sup.a, q.sub.c.sup.a, p.sub.c.sup.a, q.sub.c.sup.a} (by keeping the remaining variables fixed); the auxiliary variables {W.sup.a,j, Q.sup.a,j, x.sub.h, y.sub.h}; and, finally, a dual ascent step. Lemma 1 still holds in the present case. Thus, using this lemma, the ADMM steps can be simplified as described next.

(76) [S1] Each PV system updates the local copy custom character.sub.h[i+1] via (13); while, each CEM updates the voltage profile of its cluster, and the local copies of the setpoints of inverters custom character.sup.a by solving the following convex problem:

(77) a [ i + 1 ] := arg min V a , p _ c a , q _ c a { j 0 , j 0 } [ C _ a ( V a , p _ c a , q _ c a ) + F a ( p _ c a , q _ c a , { h [ i ] } ) + F V a ( V a , { V j [ i ] } ) ] ( 18 a ) s . to { V a , p _ c a , q _ c a } a , V a 0 , and : ( 18 b ) [ - j a j T a j - I ] 0 , j a ( 18 c ) [ - j b j T b j - I ] 0 , j a ( 18 d )
where vectors a.sub.j and b.sub.j collect the real and imaginary parts, respectively, of the entries of the matrix V.sub.j.sup.a(V.sub.j.sup.a[i]+V.sub.a.sup.j[i]); the regularization function F.sup.a(p.sub.c.sup.a, q.sub.c.sup.a, {custom character.sub.h[i]}) enforcing consensus on the inverter setpoints is defined as in (12b) (but with the summation limited to inverters custom character.sup.a) and, F.sub.V(V.sup.a, {V.sup.j[i]}) is given by:

(78) F V a ( V a { V j [ i ] } ) := .Math. j a [ k 2 ( j + j ) + Tr ( a , i T [ i ] { V j a } ) + Tr ( a , i T [ i ] { V j a } ) ] . ( 18 e )

(79) [S2] Update dual variables {.sub.h, .sub.h} via (14) at both, the customer and the CEMs; variables {.sub.a,i, .sub.a,i} are updated locally per cluster a=1, . . . N.sub.a as:

(80) a , j [ i + 1 ] = a , j [ I ] + k 2 ( { V j a [ i + 1 ] } - { V a j [ i + 1 ] } ) ( 19 a ) a , j [ i + 1 ] = a , j [ I ] + k 2 ( { V j a [ i + 1 ] } - { V a j [ i + 1 ] } ) ( 19 b )

(81) An example implementation of the resultant decentralized algorithm is shown below as Algorithm 2, illustrated in FIG. 5, and it involves an exchange of: (i) the local submatrices {V.sub.j.sup.a[i+1]} among neighboring CEMs to agree upon the voltages on lines connecting clusters, where the submatrices convey information regarding the voltages on the line connecting two clusters; and, (ii) the local copies of the PV inverter setpoints between the CEM and customer-owned PV systems. Using arguments similar to Proposition 3, convergence of the algorithm can be readily established.

(82) TABLE-US-00002 Algorithm 2 DOID: multi-cluster distributed optimization Set .sub.h[0] = .sub.h[0] = 0 for all h custom character .sup.a and for all clusters. Set .sub.a,j[0] = .sub.a,j[0] = 0 for all pair of neighboring clusters. for i = 1, 2, . . . (repeat until convergence) do 1. [CEM-a]: update V.sup.a [i + 1] and p.sub.c.sup.a, q.sub.c.sup.a via (18). [Customer-h]: update P.sub.c,h[i + 1], Q.sub.c,h[i + 1] via (13). 2. [CEM-a]: send V.sub.j.sup.a[i + 1] to CEM j; [CEM-a]: receive V.sub.a.sup.j[i + 1] to CEM j; repeat j custom character .sup.a. 3. [CEM-a]: send P.sub.c,h[i + 1], Q.sub.c,h[i + 1] to EMU-h; repeat for all h custom character .sup.a. [Customer-h]: receive P.sub.c,h[i + 1], Q.sub.c,h[i + 1] from CEM a; send P.sub.c,h[i + 1], Q.sub.c,h[i + 1] to CEM a; repeat for h H.sup.a. [CEM-a]: receive P.sub.c,h[i + 1], Q.sub.c,h[i + 1] from h; repeat for all h custom character .sup.a. 4. [CEM-a]: update {.sub.h[i + 1], .sub.h[i + 1]}.sub.hcustom character via (14). [CEM-a]: update {.sub.a,j[i + 1], .sub.a,j[i + 1]} via (19); [Customer-h]; update dual variables .sub.h[i + 1], .sub.h[i + 1] via (14); end for Implement setpoints in the PV inverters.

(83) Proposition 3:

(84) For any k>0, the iterates {custom character.sup.a[i]}, {custom character.sub.h[i]}, custom character[i] produced by [S1]-[S2] are convergent, and they converge to a solution of the OID problems (4) and (15).

(85) Once the decentralized algorithm has converged, the real and reactive setpoints are implemented by the PV inverter controllers.

(86) Finally, notice that the worst case complexity of an SDP is on the order custom character(max{N.sub.c,N.sub.v}.sup.4 {square root over (N.sub.v)}log(1/)) for general purpose solvers, with N.sub.c, denoting the total number of constraints, N.sub.v the total number of variables, and >0 a given solution accuracy. It follows that the worst case complexity of (18) is markedly lower than the one of the centralized problem (4). Further, the sparsity of {A.sub.n, B.sub.n, M.sub.n} and the so-called chordal structure of the underlying electrical graph matrix can be exploited to obtain substantial computational savings.

(87) SIMULATED RESULTS: Consider the distribution network in FIG. 1. The simulation parameters are set to check the consistency between the results of centralized and decentralized schemes. Specifically, the pole-pole distance is set to 50 m; lengths of the drop lines are set to 20 m; and voltage limits V.sup.min, V.sup.max are set to 0.917 pu and 1.042 pu, respectively. The optimization package CVX.sup.1 is employed to solve relevant optimization problems in MATLAB. In all the conducted numerical tests, the rank of matrices V and {V.sup.a} was always 1, meaning that globally optimal power flow solutions were obtained for given inverter setpoints.

(88) The available active powers {P.sub.h.sup.avcustom character are computed using the System Advisor Model (SAM).sup.2 of the National Renewable Energy Laboratory (NREL); specifically, the typical meteorological year (TMY) data for Minneapolis, Minn., during the month of July are used. All 12 houses feature fixed roof-top PV systems, with a dc-ac derating coefficient of 0.77. The dc ratings of the houses are as follows: 5.52 kW for houses H.sub.1, H.sub.9, H.sub.10; 5.70 kW for H.sub.2, H.sub.6, H.sub.8, H.sub.11; and, 8.00 kW for the remaining five houses. The active powers {P.sub.h.sup.av} generated by the inverters with dc ratings of 5.52 kW, 5.70 kW, and 8.00 kW are plotted in FIG. 6(a). It is assumed that the PV inverters are oversized by 10% of the resultant ac rating. The minimum power factor for the inverters is set to 0.85.

(89) The residential load profile is obtained from the Open Energy Info database and the base load experienced in downtown Saint Paul, Minn., during the month of July is used for this test case. To generate 12 different load profiles, the base active power profile is perturbed using a Gaussian random variable with zero mean and standard deviation 200 W; the resultant active loads {P.sub.l,h} are plotted in FIG. 6(b). To compute the reactive loads {Q.sub.l,h}, a power factor of 0.9 is presumed.

(90) Assume that the objective of the utility company is to minimize the power losses in the network; that is, upon defining the symmetric matrix L.sub.mn:=custom character{y.sub.mn}(e.sub.me.sub.n)(e.sub.me.sub.n).sup.T per distribution line (m, n), function C.sub.utility(V, p.sub.c) is set to C.sub.utility (V, p.sub.c)=Tr(LV), with L:=.sub.(m,n)L.sub.mn. At the customer side, function R.sub.h (P.sub.c,h) is set to R.sub.h(P.sub.c,h)=0.1P.sub.c,h. The impact of varying the parameter is illustrated in FIG. 7, where the solution of the centralized OID problem (4) is reported for different values of the parameter . Specifically, FIG. 7(a) illustrates the active power curtailed from each inverter during the course of the day when =0.8, whereas the result in FIG. 7(b) were obtained by setting =0. It is clearly seen that in the second case all inverters are controlled; in fact, they all curtail active power from 8:00 to 18:00. When =0.8, the OID seeks a trade off between achievable objective and number of controlled inverters. It is clearly seen that the number of participating inverters grows with increasing solar irradiation, with a maximum of 7 inverters operating away from the business-as-usual point at 13:00.

(91) The convergence of the first example implementation (Algorithm 1) is showcased for =0.8, C.sub.utility(V, p.sub.c)=Tr(LV), and R.sub.h(P.sub.c,h)=0.1P.sub.c,h, and by utilizing the solar irradiation conditions at 12:00. FIGS. 8A, 8B are graphs illustrating convergence of the first example implementation of the DOID techniques for: (a) values of {P.sub.c,h[i]custom character dashed lines) and {P.sub.c,h [i]custom character as a function of the ADMM iteration index i. (b) Consensus error|P.sub.c,h[i]P.sub.c,h[i]|, for all houses hcustom character as a function of i. In particular, FIG. 8A depicts the trajectories of the iterates {P.sub.c,h[i]custom character (dashed lines) and {P.sub.c,h[i]custom character (solid lines) for all the houses H.sub.1-H.sub.12. The results match the ones in FIG. 7A; in fact, at convergence (i.e., for iterations i20), only inverters at houses H.sub.7-H.sub.12 are controlled, and the active power curtailment set-points are in agreement. This result is expected, since problems (4) and (5) are equivalent; the only difference is that (4) affords only in centralized solution, whereas (5) is in a form that is suitable for the application of the ADMM to derive distributed solution schemes. Finally, the trajectories of the set-point consensus error |P.sub.c,h[i]-P.sub.c,h[i]|, as a function of the ADMM iteration index i are depicted in FIG. 8B. It can be clearly seen that the algorithm converges fast to a set-point that is convenient for both utility and customers. Similar trajectories were obtained for the reactive power setpoints.

(92) FIG. 9 represents the discrepancies between local voltages on the line (8; 11); specifically, the trajectories of the voltage errors |V.sub.8.sup.1[i]V.sub.8.sup.2[i]| and |V.sub.11.sup.1[i]V.sub.11.sup.2[i]| are reported as a function of the ADMM iteration index i. The results indicate that the two CEMs consent on the voltage of the branch that connects the two clusters. The bumpy trend is typical of the ADMM. Similar trajectories were obtained for the inverter setpoints.

(93) FIG. 10 is a flowchart illustrating example operation and message exchange for a control device of a power utility (or cluster) and a PI controller for a customer in accordance with the techniques described herein. The devices may, for example, be implemented as a server, cloud-based processing system or other device having a processor or other operating environment for implementing the techniques described herein. In other words, the flowchart of FIG. 5 provides a high level overview of the detailed example implementations of Table 1 and Table 2. For purposes of explanation, FIG. 9 will be described with respect to control device 100 and controllers 110 of FIG. 4.

(94) Initially, control device 100 for the utility and controllers 110 for the photovoltaic inverter (PI) at the customer sites are programmed with respective models having cost constraints, as described herein, for computing set points for the real and reactive power to be produced by photovoltaic inverters installed at respective customer sites and connected to a utility by a power distribution network (300, 320). In particular, control device 110 for the power utility is programmed to compute the setpoints based on estimated voltages for the distribution network and by applying a minimization operation to utility-specific costs, such as power losses in the network and voltage deviations. Each PV controller is programmed with a model for computing the setpoints for the real and reactive power by applying a minimization operation to customer-specific costs, such as costs to the individual customer in the event the respective PV is required to curtail power.

(95) Control device 110 of the power utility (or cluster) and controllers 100 for the customer sites engage in a message exchange to iteratively and jointly converge to an optimal setpoints for the overall PV system. For example, control device 110 for the power utility applies the model to determine initial active and reactive set points for each PV and outputs messages to each controller so as to convey the set points (302, 304). In addition, each controller located at the customer sites measures the actual active an reactive power currently being produced by the PV and outputs messages to the control device so as to convey the actual measurements (322, 324).

(96) Responsive to responsive to receiving the messages from the customer sites, control device 110 for the power utility updates one or more coefficients (dual variables) in the OID model based on the difference between the current set points it computed for the reactive power and the reactive power and the reactive power and reactive power currently being produced by the photovoltaic inverters (306). Control device 110 applies the model to compute updated set points based on the updated coefficients and sends the updated set points to each of the PV controllers (308, 304).

(97) At each customer site, the respective controller receives the messages from the control devices specifying the updated set points for the active and reactive power to be produced by the photovoltaic inverter installed at the respective customer site (as determined by the power utility) and computes local set points based on a difference between the received set points and the measured reactive power and reactive power currently being produced by the photovoltaic inverters. At this time, the controller updates coefficients (dual variables) of its local model, computes the local set points by performing a minimization function over its programmed, customer-specific costs and controls the respective photovoltaic inverter in accordance with the local set points for the reactive power and the reactive power (326, 328).

(98) Control device 110 and the PV controllers at each customer site repeat this message exchange and distributed computation of set points until the set points for the real power and the reactive power as computed by the power utility and the set points for the respective real power and reactive power as computed by the inverter controller at each of the customer sites converge within a threshold difference (310, 330). For the technique described herein where the power distribution network is partitioned into clusters, the message exchange process described above continues until the set points computed by the power utility/aggregator converge to a first threshold difference from the set points computed by the customer controllers, and the difference between matrices specifying voltages of power lines connecting neighboring clusters also converges to a second threshold difference. Each of the threshold differences may be user specified.

(99) FIG. 11 shows a detailed example of a computing device that may be configured to implement some embodiments in accordance with the current disclosure. For example, device 500 may be a workstation, a computing center, a cluster of servers or other example embodiments of a computing environment capable of executing the techniques described herein. The example device of FIG. 10 may, for example, implement any portion or combination of the techniques described herein as a utility control device, a cluster energy manager or a controller deployed at a customer site. In this example, a computer 500 includes a hardware-based processor 510 that may be incorporated into a controller or any device to execute program instructions or software, causing the computer to perform various methods or tasks, such as performing the techniques described herein.

(100) Processor 510 may be a general purpose processor, a digital signal processor (DSP), a core processor within an Application Specific Integrated Circuit (ASIC) and the like. Processor 510 is coupled via bus 520 to a memory 530, which is used to store information such as program instructions and other data while the computer is in operation. A storage device 540, such as a hard disk drive, nonvolatile memory, or other non-transient storage device stores information such as program instructions, data files of the multidimensional data and the reduced data set, and other information. As another example, computer 500 may provide an operating environment for execution of one or more virtual machines that, in turn, provide an execution environment for software for implementing the techniques described herein.

(101) The computer also includes various input-output elements 550, including parallel or serial ports, USB, Firewire or IEEE 1394, Ethernet, and other such ports to connect the computer to external device such a printer, video camera, surveillance equipment or the like. Other input-output elements include wireless communication interfaces such as Bluetooth, Wi-Fi, and cellular data networks.

(102) The computer itself may be a traditional personal computer, a rack-mount or business computer or server, or any other type of computerized system. The computer in a further example may include fewer than all elements listed above, such as a thin client or mobile device having only some of the shown elements. In another example, the computer is distributed among multiple computer systems, such as a distributed server that has many computers working together to provide various functions.

(103) The techniques described herein may be implemented in hardware, software, firmware, or any combination thereof. Various features described as modules, units or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices or other hardware devices. In some cases, various features of electronic circuitry may be implemented as one or more integrated circuit devices, such as an integrated circuit chip or chipset.

(104) If implemented in hardware, this disclosure may be directed to an apparatus such a processor or an integrated circuit device, such as an integrated circuit chip or chipset. Alternatively or additionally, if implemented in software or firmware, the techniques may be realized at least in part by a computer readable data storage medium comprising instructions that, when executed, cause one or more processors to perform one or more of the methods described above. For example, the computer-readable data storage medium or device may store such instructions for execution by a processor. Any combination of one or more computer-readable medium(s) may be utilized.

(105) A computer-readable storage medium (device) may form part of a computer program product, which may include packaging materials. A computer-readable storage medium (device) may comprise a computer data storage medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage media, and the like. In general, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. Additional examples of computer readable medium include computer-readable storage devices, computer-readable memory, and tangible computer-readable medium. In some examples, an article of manufacture may comprise one or more computer-readable storage media.

(106) In some examples, the computer-readable storage media may comprise non-transitory media. The term non-transitory may indicate that the storage medium is not embodied in a carrier wave or a propagated signal. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in RAM or cache).

(107) The code or instructions may be software and/or firmware executed by processing circuitry including one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term processor, as used herein may refer to any of the foregoing structure or any other processing circuitry suitable for implementation of the techniques described herein. In addition, in some aspects, functionality described in this disclosure may be provided within software modules or hardware modules. A suite of decentralized approaches for computing optimal real and reactive power setpoints for residential photovoltaic (PV) inverters were developed. The described decentralized optimal inverter dispatch strategy offers a comprehensive framework to share computational burden and optimization objectives across the distribution network, while highlighting future business models that will enable customers to actively participate in distribution-system markets.

(108) Various embodiments of the invention have been described. These and other embodiments are within the scope of the following claims.