Scalable Electric Vehicle Fleet Charging Optimization
Jose~Rivera % Christoph~Goebel
~\IEEEmembership{Member
~IEEE
....lastname \thanks{...
The fast charging of Electric Vehicles (EVs) in distribution networks requires real-time EV charging control to avoid the overloading of grid components. Recent studies have proposed congestion control protocols, which result from distributed optimization solutions of the Network Utility Maximization (NUM) problem. While the NUM formulation allows the definition of distributed computations with closed form solutions, its simple model does not account for many of the feeders operational constraints. This puts the resulting control algorithms effectiveness into question. In this paper, we investigate the impact of implementing such algorithms for congestion control in low voltage feeders. We review the latest NUM based algorithms for real-time EV charging control, and evaluate their behavior and impact on the comprehensive IEEE European Low Voltage Test Feeder. Our results show that the EV NUM problem can effectively capture the relevant operational constraints, as long as ampacity violations are the main bottleneck. Moreover, the results demonstrate an advantage of the primal NUM solution over the more conventional dual NUM solution in preventing a system overload. % In this paper, we investigate the impact of using Electric Vehicle NUM for congestion control in low voltage feeders. We review % allows the simple formulation of distributed algorithms, that prevent the overloading of the grid's capacity and, at the same time, maximize the use of the available infrastructure, % the is able to . In this paper, real-time Electric Vehicle charging control is modeled as a Network Utility Maximization (NUM) problem. The NUM problem allows the simple formulation of distributed algorithms, that prevent the overloading of the grid's capacity and, at the same time, maximize the use of the available infrastructure. We consolidate our previous results on the subject and provide a comprehensive evaluation of the dual and primal distributed solution algorithms using the IEEE European Low Voltage Test Feeder. We compare the performance and scalability of both algorithms in a static and dynamic setting. Our results demonstrate that a NUM formulation captures the relevant distribution grid characteristics to design effective real-time EV charging controllers. Furthermore, the comparison of both solution algorithms reveals that the primal algorithm with its anytime property, better suits the real-time requirements of EV charging control.
EVNUM_arxiv.tex

%
\documentclass[journal]{IEEEtran}
%\documentclass[draft]{IEEEtran}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   MY AD ONS
%\usepackage{appendix}
\usepackage[bookmarks=true,colorlinks=true,       % false: boxed links; true: colored links
    linkcolor=black,          % color of internal links
    citecolor=black,        % color of links to bibliography
    filecolor=black,      % color of file links
    urlcolor=black           % color of external links
]{hyperref}


\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{multirow}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%
% If IEEEtran.cls has not been installed into the LaTeX system files,
% manually specify the path to it like:
% \documentclass[journal]{../sty/IEEEtran}





% Some very useful LaTeX packages include:
% (uncomment the ones you want to load)


%%%%%%%%%%%%%%%%%%%%My PACKAGES

% \usepackage[bookmarks=true,colorlinks=true,       % false: boxed links; true: colored links
%     linkcolor=black,          % color of internal links
%     citecolor=black,        % color of links to bibliography
%     filecolor=black,      % color of file links
%     urlcolor=black           % color of external links
% ]{hyperref}
% 

\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{multirow}

\usepackage{caption}
\usepackage{subcaption}


\usepackage{mathptmx} % assumes new font selection scheme installed
\usepackage{times} % assumes new font selection scheme installed
\usepackage{amsmath} % assumes amsmath package installed
\usepackage{amssymb}  % assumes amsmath package installed


% % % % % Mathematical writting
\usepackage[ruled,vlined]{algorithm2e}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsthm}

\newtheorem{asume}{Assumption} % state assumption under therems or lemmas work
\newtheorem{theorem}{Theorem} % Main result
\newtheorem{Problem}{Problem}
\newtheorem{lemma}{Lemma} % Less important rsult to proof
\newtheorem{corollary}{Corollary} % Fallows from theorem or lemma, only for important things
\newtheorem{definition}{Definition} % Define ssome concepts
\newtheorem{conjecture}{Conjecture} % A statement the author has been unable to proof or disprove. However with strong evidence


% Package for algorithms
%\usepackage[ruled,lined,algonl]{algorithm2e}

%\usepackage[ruled,lined,linesnumbered, noend]{algorithm2e}
%\usepackage[lined,algonl,boxed]{algorithm2e}
\newcommand{\BReak}{\State \textbf{break} }
%\usepackage{amsfonts}
%\usepackage{amsmath}
%\usepackage{multirow}



% % % % Scaling math
\newcommand\scalemath[2]{\scalebox{#1}{\mbox{\ensuremath{\displaystyle #2}}}}


% *** MISC UTILITY PACKAGES ***
%
%\usepackage{ifpdf}
% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional
% compilation based on whether the output is pdf or dvi.
% usage:
% \ifpdf
%   % pdf code
% \else
%   % dvi code
% \fi
% The latest version of ifpdf.sty can be obtained from:
% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
% Also, note that IEEEtran.cls V1.7 and later provides a builtin
% \ifCLASSINFOpdf conditional that works the same way.
% When switching from latex to pdflatex and vice-versa, the compiler may
% have to be run twice to clear warning/error messages.






% *** CITATION PACKAGES ***
%
\usepackage{cite}
% cite.sty was written by Donald Arseneau
% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package
% \cite{} output to follow that of IEEE. Loading the cite package will
% result in citation numbers being automatically sorted and properly
% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using
% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's
% \cite will automatically add leading space, if needed. Use cite.sty's
% noadjust option (cite.sty V3.8 and later) if you want to turn this off
% such as if a citation ever needs to be enclosed in parenthesis.
% cite.sty is already installed on most LaTeX systems. Be sure and use
% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does
% not currently provide for hyperlinked citations.
% The latest version can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/
% The documentation is contained in the cite.sty file itself.






% *** GRAPHICS RELATED PACKAGES ***
%
\ifCLASSINFOpdf
   \usepackage[pdftex]{graphicx}
  % declare the path(s) where your graphic files are
  % \graphicspath{{../pdf/}{../jpeg/}}
  % and their extensions so you won't have to specify these with
  % every instance of \includegraphics
  % \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
\else
  % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
  % will default to the driver specified in the system graphics.cfg if no
  % driver is specified.
   \usepackage[dvips]{graphicx}
  % declare the path(s) where your graphic files are
  % \graphicspath{{../eps/}}
  % and their extensions so you won't have to specify these with
  % every instance of \includegraphics
  % \DeclareGraphicsExtensions{.eps}
\fi
% graphicx was written by David Carlisle and Sebastian Rahtz. It is
% required if you want graphics, photos, etc. graphicx.sty is already
% installed on most LaTeX systems. The latest version and documentation
% can be obtained at: 
% http://www.ctan.org/tex-archive/macros/latex/required/graphics/
% Another good source of documentation is "Using Imported Graphics in
% LaTeX2e" by Keith Reckdahl which can be found at:
% http://www.ctan.org/tex-archive/info/epslatex/
%
%



% to submit to, of course. )
\usepackage{todonotes}


% correct bad hyphenation here
\hyphenation{distirbuted-optimization}


\begin{document}
%
% paper title
% can use linebreaks \\ within to get better formatting as desired
% Do not put math or special symbols in the title.

\title{On the Effects of Distributed Electric Vehicle Network Utility Maximization in Low Voltage Feeders}
%\title{Scalable Electric Vehicle Fleet Charging Optimization}
% another option: Distributed Convex Optimization for Electric Vehicle Aggregators
%%

% author names and IEEE memberships
% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break
% a structure at a ~ so this keeps an author's name from being broken across
% two lines.
% use \thanks{} to gain access to the first footnote area
% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks
% was not built to handle multiple paragraphs
%

\author{Jose~Rivera
       % Christoph~Goebel,~\IEEEmembership{Member,~IEEE,}% <-this % stops a space
        ~and~Hans-Arno~Jacobsen
\thanks{Jose Rivera, and Hans-Arno Jacobsen are with Technical University Munich, D-85748, Munich, Germany. (\texttt{j.rivera@tum.de, jacobsen@in.tum.de})}
}
% <-this % stops a space
%\thanks{Manuscript received April 19, 2005; revised December 27, 2012.}}


% note the % following the last \IEEEmembership and also \thanks - 
% these prevent an unwanted space from occurring between the last author name
% and the end of the author line. i.e., if you had this:
% 
% \author{....lastname \thanks{...} \thanks{...} }
%                     ^------------^------------^----Do not want these spaces!
%
% a space would be appended to the last name and could cause every name on that
% line to be shifted left slightly. This is one of those "LaTeX things". For
% instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get
% "AB" then you have to do: "\textbf{A}\textbf{B}"
% \thanks is no different in this regard, so shield the last } of each \thanks
% that ends a line with a % and do not let a space in before the next \thanks.
% Spaces after \IEEEmembership other than the last one are OK (and needed) as
% you are supposed to have spaces between the names. For what it is worth,
% this is a minor point as most people would not even notice if the said evil
% space somehow managed to creep in.



% The paper headers
% \markboth{Prepared for IEEE Transactions on Smart Grid}%
% {Rivera \MakeLowercase{\textit{et al.}}: On the Effects of Distributed Electric Vehicle Network Utility Maximization in Low Voltage Feeders}
% The only time the second header will appear is for the odd numbered pages
% after the title page when using the twoside option.
% 
% *** Note that you probably will NOT want to include the author's ***
% *** name in the headers of peer review papers.                   ***
% You can use \ifCLASSOPTIONpeerreview for conditional compilation here if
% you desire.




% If you want to put a publisher's ID mark on the page you can do it like
% this:
%\IEEEpubid{0000--0000/00\$00.00~\copyright~2012 IEEE}
% Remember, if you use this you must call \IEEEpubidadjcol in the second
% column for its text to clear the IEEEpubid mark.



% use for special paper notices
%\IEEEspecialpapernotice{(Invited Paper)}




% make the title area
\maketitle

% As a general rule, do not put math, special symbols or citations
% in the abstract or keywords.
\begin{abstract}
The fast charging of Electric Vehicles (EVs) in distribution networks requires real-time EV charging control to avoid the overloading of grid components. Recent studies have proposed congestion control protocols, which result from distributed optimization solutions of the Network Utility Maximization (NUM) problem. While the NUM formulation allows the definition of distributed computations with closed form solutions, its simple model does not account for many of the feeders operational constraints. This puts the resulting control algorithms effectiveness into question. In this paper, we investigate the impact of implementing such algorithms for congestion control in low voltage feeders. We review the latest NUM based algorithms for real-time EV charging control, and evaluate their behavior and impact on the comprehensive IEEE European Low Voltage Test Feeder. Our results show that the EV NUM problem can effectively capture the relevant operational constraints, as long as ampacity violations are the main bottleneck. Moreover, the results demonstrate an advantage of the primal NUM solution over the more conventional dual NUM solution in preventing a system overload.

% In this paper, we investigate the impact of using Electric Vehicle NUM for congestion control in low voltage feeders. We review  


% allows the simple formulation of distributed algorithms, that prevent the overloading of the grid's capacity and, at the same time, maximize the use of the available infrastructure,


% the is able to . In this paper, real-time Electric Vehicle charging control is modeled as a Network Utility Maximization (NUM) problem. The NUM problem allows the simple formulation of distributed algorithms, that prevent the overloading of the grid's capacity and, at the same time, maximize the use of the available infrastructure. We consolidate our previous results on the subject and provide a comprehensive evaluation of the dual and primal distributed solution algorithms using the IEEE European Low Voltage Test Feeder. We compare the performance and scalability of both algorithms in a static and dynamic setting. Our results demonstrate that a NUM formulation captures the relevant distribution grid characteristics to design effective real-time EV charging controllers. Furthermore, the comparison of both solution algorithms reveals that the primal algorithm with its anytime property, better suits the real-time requirements of EV charging control.
\end{abstract}

% Note that keywords are not normally used for peerreview papers.
\begin{IEEEkeywords}
Distributed optimization, electric vehicles, distribution grid modeling, smart grid. 
\end{IEEEkeywords}






% For peer review papers, you can put extra information on the cover
% page as needed:
% \ifCLASSOPTIONpeerreview
% \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
% \fi
%
% For peerreview papers, this IEEEtran command inserts a page break and
% creates the second title. It will be ignored for other modes.
\IEEEpeerreviewmaketitle



% \section*{Nomenclature}
% \addcontentsline{toc}{section}{Nomenclature}
% \begin{IEEEdescription}[\IEEEusemathlabelsep\IEEEsetlabelwidth{$V_1,V_2,V_3$}]
% \item[$V_1,V_2,V_3$] Three-phase PWM output line voltages.
% \item[$\theta$] Rotor angle (in ``electrical degrees'').
% \item[$\omega$] Rotor (electrical) speed, corresponding to the time derivative of $\theta$.
% \end{IEEEdescription}
% 
% 

\section{Introduction} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INTRODUCTION
% no \IEEEPARstart


\IEEEPARstart{T}{he} Electric Vehicle (EV) numbers are expected to increase significantly in the coming years \cite{EVintegration}.
If EVs become prevalent, their charging will cause a huge load increase, which, without control, could destabilize distribution grids \cite{EVChargingProblem, putrus2009impact,richardson2010impact,gomez2003impact}.
The reason for this is that the power consumption of an EV charger can be up to 5-10 times the average power consumption of a common household \cite{schroeder2012economics, botsford2009fast}. 
The added load of charging a large number of EVs would exceed the capacity that the distribution grid was designed to support, i.e., 20-30\% above peak load \cite{willis2004power}. One solution to this problem is to upgrade the distribution grid in order to handle the load increase. This, however, comes at a high cost and would slow down EV adoption. A more efficient solution is to use Information and Communication Technology (ICT) to control EV charging. The challenge of this approach results from the large number of EVs and their unknown spatial distribution. 
Furthermore, the distribution grid's state is highly dynamic and, if renewable energy is present, difficult to predict.  
 Thus, there is growing interest in developing a distributed system for the control of EV charging, that can adapt quickly to the fast dynamics of the grid, allows for local decision making of the individual devices, and globally optimizes the operation of the entire system \cite{EnergyInformatics}.\\

This article considers the use of Network Utility Maximization (NUM) distributed optimization algorithms for \mbox{real-time} EV charging control. In our scenario it is assumed that EVs want to charge as fast as possible. Hence, the goal is to maximize the EVs charging rate while preventing an overload of the grid and a subsequent blackout. A blackout can only be avoided, if we are able to react within milliseconds, to prevent the triggering of protection devices (usually around 200 ms after an overload). The NUM formulation allows the definition of highly efficient distributed control algorithms. Nontheless, its simple network constraints do not include many of the physical and operational constraints of distribution networks. Therefore, a comprehensive evaluation of the effects that the implementation of such algorithms would have on a realistic low voltage feeder is required. \\
The use of the NUM formulation for real-time EV charging control was first proposed in \cite{ardakanian2012realtime, Ardakanian2013a}, where the dual decomposition approach is used to obtain a distributed optimization algorithm. However, evaluations in \cite{ardakanian2014real} showed that the dual solution algorithm suffers from stability and scalability issues. To address these issues, we proposed a novel solution based on primal decomposition and analyzed its dynamic behavior for real-time EV charging control in \cite{JoseRiveraCDC14,RiveraEenergy}. Nevertheless, an evaluation of the scalability of both dual and primal solutions is missing, as well as a comprehensive comparisson of both algorithms. Moreover, since the NUM formulation does not consider grid constraints, such as maximal voltage variations, a much needed evaluation of the impact of both algorithms on a realistic low voltage feeder is required. In this article, we extend our original work and provide a comprehensive comparison of the primal and dual EV NUM solution algorithms.  We focus on evaluating the scalability and reliability of both algorithms in static and dynamic scenarios. Most importantly, we evaluate the effect of implementing both algorithms for real-time EV charging control using comprehensive 3-phase power flow simulations on the IEEE European Low Voltage Test Feeder.  

This paper complements existing research in the area of real-time EV charging control in the following ways:
\begin{enumerate}
 \item We provide a coherent exposition of the EV NUM dual and primal decomposition approaches and outline their key characteristics with respect to actual deployment.
 \item We provide a comprehensive evaluation of the scalability and reliability of the different EV NUM solution algorithms for the IEEE European Low Voltage Test Feeder.
 \item We demonstrate with theoretical analysis and comprehensive experiments that the primal algorithm outperforms the dual algorithm in scalability and reliability. 
 \item We show that the NUM formulation can effectively be used to formulate EV charging control algorithms in low voltage feeders where ampacity constraints are the main bottleneck.
\end{enumerate}

The rest of the paper is organized as follows: In Section~\ref{section:ProblemFormulation}, we formulate the EV NUM problem. 
The primal and dual decomposition solutions are introduced in Section~\ref{sec:solution}. 
Our scalability and reliability evaluations based on the IEEE European Low Voltage Test Feeder are presented in Section~\ref{sec:evaluation} and a short discussion on the EV NUM formulation and the algorithms' applicability is carried out in Section \ref{sec:discussion}.  
Finally, Section~\ref{conclusion} provides our conclusions.

\section{Related Work}
The main challenge of real-time EV charging is the short time available to deliver a control response. 
The time range to avoid a fault in the distribution grid is usually in the hundreds of milliseconds \cite{willis2004power}. 
Some approaches to avoid the violation of grid constraints by controlling EV charging under real-time requirements have been proposed in the literature. 
In \cite{turitsyn2010robust}, an EV charging desynchronization approach to prevent too many charging EVs from overloading the grid is proposed. 
Similarly, in \cite{studli2012aimd}, an AIMD\footnote{The additive-increase/multiplicative-decrease (AIMD) algorithm is a feedback control algorithm best known for its use in TCP Congestion Avoidance.}-like control approach is proposed to avoid grid overloading. Although both approaches prevent grid overloading, they do not guarantee an optimal use of the available infrastructure. Hence, the power infrastructure is underutilized and the EVs' charging speed is reduced. In contrast to these approaches, we focus on the optimal use of the available infrastructure. We consider the use of optimization-based approaches and propose distributed optimization algorithms to cope with the real-time requirements.\\

Several studies have used distributed optimization techniques to design scalable EV charging control algorithms: 
In \cite{Gan.2012}, the valley filling problem is solved using a distributed subgradient approach. 
The authors of \cite{Mercurio2013} use the Alternating Direction Method of Multipliers (ADMM) for the load balancing of EVs at charging stations. 
In \cite{Ma2014}, the authors compare the use of several distributed optimization algorithms for the valley filling problem. 
We proposed a general framework that supports several EV aggregator control objectives in \cite{JoseRivera,RiveraEVADMM}. 
Nevertheless, all of the mentioned approaches are multiperiod optimizations, which in order to provide EV congestion control would require very accurate predictions of the EVs' location, charging requirements and the state of the grid. Such predictions are extremely challenging for a single low voltage feeder and can be highly inaccurate for individual EVs. An alternative, is to consider the solution of a single period optimization problem based on the current state of the system. The lack of prediction, however, requires very fast control responses to cope with the highly dynamic state changes of the power grid. This makes real-time EV charging a challenging time critical application. \\
A promising approach comes from the related problem of congestion control in communication networks and its implementation for real-time EV charging control is shown in \cite{Ardakanian2013a}, where the EV charging problem is formulated as a NUM, and dual decomposition is used to solve the problem. The NUM formulation defines an instantaneous problem. Hence, no prediction is required. Moreover, thanks to the simplicity of the NUM formulation the resulting algorithm is highly efficient. However, the proposed dual decomposition solution suffers from scalability problems, as the method can become unstable or in some situations may not adapt quickly enough to the grid dynamics \cite{ardakanian2014real}. To improve scalability and stability, we proposed a novel primal algorithm for the general NUM problem in \cite{JoseRiveraCDC14} and provided mathematical proof for its convergence to the optimal result under static conditions. Later in \cite{RiveraEenergy}, we derived a primal decomposition based real-time EV charging control algorithm and analyzed its behavior under dynamic conditions. Nevertheless, an analysis that compares the scalability of both algorithms and also evaluates their impact when implemented in a realistic distribution grid setting was missing. In this paper, we consolidate our previous work and contribute a comprehensive comparison of the dual and primal EV NUM  distributed optimization algorithms. We use the comprehensive IEEE European Low Voltage Test Feeder and conduct experiments on the behavior, scalability, and grid impact of both algorithms. This realistic distribution grid analysis is a significantly larger and more representative use case compared to the state-of-the-art. Since the NUM formulation does not consider losses and voltage constraints, the evaluation presented in this paper represents a vital contribution to NUM based real-time EV charging control.

%It gradually increases the EV charging rate until an overloaded device is detected, then the charging rates are shortly reduced, before being increased again.
\section{EV Network Utility Maximization (NUM)} 
\label{section:ProblemFormulation}

%\subsection{Problem Formulation}
We formulate the real-time EV charging control problem as a Network Utility Maximization (NUM) problem (cf.~\cite{Kelly98}), where the objective is to maximize the utility of the network users while respecting the users' and the network's constraints. In our application, the users are the EV chargers and the network constraints are set by the maximal available loading of the grid devices.
In contrast to the standard NUM problem, our formulation has a maximal bound on the users' rate that represents the maximum charging rate of the EVs.

The EV NUM problem considers a distribution network composed of grid devices represented by a set $\mathcal{P} = \{1,\ldots,M\}$ of directed links with a finite capacity given by the vector $c=[c_l]_{l\in\mathcal{P}}$. This capacity is the maximum possible loading, i.e., the maximum loading minus the current load caused by all uncontrollable loads. 
The EV chargers are represented by set $\mathcal{V} = \{1,\ldots,N\}$. 
Our optimization variables are the EV charging rates denoted by the non-negative charging vector $x=[x_i]_{i\in \mathcal{V}}$. 
The maximum charging rate of the EV chargers are represented by the vector $\overline{x}=[\overline{x}_i]_{i\in \mathcal{V}}$. 
The energy flow to each EV charger traverses several grid devices before reaching its destination. 
We define this as the \textit{route} to the EV charger. 
The capacity constraints at the grid devices can be expressed in vector form as $Rx \leq c$, where R is the \textit{routing matrix} of dimension $M \times N$:
%  
\begin{equation}
R_{li}= \left\{ 
  \begin{array}{l l}
    1 & \quad \text{if $l$ is on the route to $i$}\\
    0 & \quad \text{otherwise.}
  \end{array} \right.
\end{equation}

For each EV charger $i$, we consider the utility function $U_i(x_i)=w_i\log(x_i)$, where $w_i > 0$ is a weight parameter that can be used to set priorities, e.g., to allow some EVs to always charge at higher rates than others. The weighted logarithm utility function is used in order to obtain a proportionally fair allocation of the available resources \cite{mo2000fair}, i.e., the logarithmic utility function assures that each EV charger receives at least a minimal amount of charging rate, because if $x_i=0$, then the utility of the EV is $U(0)=-\infty$. With these definitions, the EV NUM problem can be formulated as follows:
%
\begin{Problem} \label{for:problem}
 The EV NUM problem \\
 \begin{equation}
 \begin{array}{ll}
 \underset{x}{\text{minimize}} &\sum_{i=1}^{N}- w_i \log(x_i) \\
 \text{subject to}    &R x \leq c\\
   & 0 \leq x \leq \overline{x}  
  \end{array}
 \end{equation}
\end{Problem}




% Some definitions and probably unecessary complications for IEEE smart grid
% 
% We also adopt the following standard assumption and definition: 
% \begin{asume}\label{asume:utility}
% The utility functions $U_i$ are strictly concave, monotonically non-decreasing and twice continuously differentiable.
% \end{asume} 
% \begin{definition} \label{def:feasible,optimal}
% If $U_i$ is strictly concave, then the EV charging rates $x=[x_1,\ldots,x_N]$ are
% \begin{enumerate}
% \item \textit{feasible}, if they are within the constraint set  $\mathcal{F}:=~\{ R x \leq~c,\ 0 \leq x \leq \overline{x} \}$;
% \item \textit{optimal}, if they solve Problem \ref{for:problem}. Hence, there exists an $x^*$, such that $(y-x^*)^T \nabla U(x^*) \geq0 $ for all $y\in\mathcal{F}$, where $U(x)=\sum_{i=1}^{N}- U_i(x_i)$. Since $U(x)$ is strictly convex on the set $\mathcal{F}$, $x^*$ minimizes $U(x)$ over the set $\mathcal{F}$.
% \end{enumerate}
% \end{definition}




%  
%  
% \subsection{EV Utility Function}
% \todo[inline]{Mention different utility functions and how the charging requirements of the Ev can be integrated into the function.}
% There is  a great body of work regarding the definition of utility functions for the NUM problem []. Many of these works focus on the issue of fairness to the network users. However, there is no a clear definition on what constitutes fairness in the case of electric vehicle charging control. One particular concern in the control of electric vehicle charging is the trade-off between control flexibility to avoid      
% 
% 
% \begin{equation}
%  U_i(x_i)= \begin{cases}
%     w_i\frac{x^{1-\alpha}}{1-\alpha}   & \quad \text{if } \alpha>0\\
%     w_i log(x)  & \quad \text{if } \alpha=1\\
%   \end{cases}
% \end{equation}
% 
% 
% The utility of the EV chargers can constructed based on user behavior model operator cost model, or traffic elasticity model. They can also shape the fairness of resource allocation
% \subsection{Grid constraints}
%  \todo[inline]{Voltage constraint approx. and maximal capacity of lines, based on the current being consumed. }
%  
% The overloading of devices is not the only concern regarding the integration of large EV numbers. In fact, depending on the specific characteristics of each distribution grid other issues might play a more important role. Several studies have pointed out to the fact that large EV numbers lead to violations of voltage operational constraints [citation]. These constraints state that the voltage deviation of each consumer should not exceed 5-10\% of the nominal voltage[citation]. Thus, it is imperative to consider these in our problem.
% 
% The traditional approach to consider voltage operational constraints is to integrate the power flow equations into the constraints of the optimization problem and constraint the voltage  magnitudes for each consumer. If we were to use these approach for the EV NUM, the problem would then becomes very similar to the optimal power flow problem, just that instead of the sum of generator's cost function we would have the negative utility of the EVs. There are several issues with these approach. The most obious one is that since the 
% 
% 
% The voltage drop fro a load connected at the end power line is defined as:
% \begin{equation} \label{for:voltageDrop}
% \varDelta U = I \sqrt{3}l (r \cos(\phi) + x sin(\phi))
% \end{equation}
% 
% In power distribution networks users are connected along the power line. To calculate the maximal power drop for users connected a long the power line we use common assumption used in power distribution network planning: All loads connected along the power line caused the same amount of voltage drop.
% \begin{equation}
%  \varDelta U = I/N \sqrt{3}l/N (r \cos(\phi) + x sin(\phi))
% \end{equation}
% The voltage drop at the end of the line is then:
% \begin{equation}
% \varDelta U = \sum_{k=0}^K k I/K \sqrt{3}l/K (r \cos(\phi) + x sin(\phi))
% \end{equation}
% 
% \begin{equation}
% \varDelta U = \frac{K+1}{K^2}  I \sqrt{3}l (r \cos(\phi) + x sin(\phi)) 
% \end{equation}
% 
% 

% 
% 
% 
% 
% \begin{equation} 
%  \varepsilon = (n+1)(2n)^{-1}
% \end{equation}
% 
% 
% % \begin{equation} 
% %  \varDelta U = \varepsilon I \sqrt{3}l (r \cos(\phi) + x sin(\phi))
% % \end{equation}
% 
% The operational constraints limit the maximal voltage drop in power distribution to 10\% bellow the nominal voltage: $\varDelta U/ U_{n} \leq0.1$. Using the approximation in (\ref{for:voltageDrop}) we define a lower bound on the maximal allowed current as:
% 
% \begin{equation}
%  I \leq \frac{0.1 U_{n}}{\sqrt{3}l (r \cos(\phi) + x sin(\phi))}
% \end{equation}
% 
% 
% 
% 
% Using these result we can approximate the voltage drop along the power grid and define linear voltage operational constraints that can be easily integrated into the NUM formulation of the problem.      
% 
% 

% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %




\section{Distributed EV NUM solution} \label{sec:solution}

In the following we use dual decomposition and primal decomposition to formulate distributed optimization algorithms that solve the EV NUM problem. 

\subsection{Dual decomposition solution}

To formulate the dual decomposition algorithm we first define EV NUM's Lagrangian:
%
\begin{eqnarray}
 L(x,\lambda)=  \sum_{i=1}^N - w_i log(x_i) + \lambda^T (R x - c) , \label{for:lagrangian}
\end{eqnarray}
%
where $\lambda=[\lambda_l]_{l\in\mathcal{P}}$ is the vector of Lagrangian multipliers, also known as dual variables. 
Then, we decompose the optimization problem into two sub-problems, of which the first optimizes the Lagrangian function with respect to the primal variables $x$, and the second one with respect to the dual variables $\lambda$.
The sub-problems are linked via mutual updates of the $x$ and $\lambda$ variables in an iterative process.
The resulting dual algorithm is:
%
\begin{eqnarray}
x^{k+1} &=& \underset{0 \leq x \leq \overline{x} }{\mbox{argmin}}\  L(x,\lambda^k) \label{for:xProblem} \\
\lambda^{k+1} &=& \underset{\lambda \geq 0}{\mbox{argmax}}\  L(x^{k+1},\lambda) \label{for:lambdaProblem},
\end{eqnarray}
%
where $k$ is the iteration index. 
The $0 \leq x \leq \overline{x}$ condition in the $x$-update (\ref{for:xProblem}) results from the original EV NUM problem definition and the $\lambda \geq 0$ condition in the $\lambda$-update (\ref{for:lambdaProblem}) results from the Karush-Kuhn-Tucker (KKT) conditions. 
The $x$-update (\ref{for:xProblem}) has an analytic solution, which can be obtained by setting the partial derivative of (\ref{for:lagrangian}) with respect to $x_i$ to zero, solving for $x_i$, and then projecting this value onto $0\leq x_i\leq \overline{x}_i$. 
The $\lambda$-update has no analytic solution, thus, a gradient projection method to approximate the solution is used. 
The result is a dual decomposition algorithm solving the NUM problem, which can be written for each element of $x$ and $\lambda$ as follows:
%
\begin{eqnarray}
 x_i^{k+1} &=& \min \left\{ \frac{w_i}{R_i^T \lambda^k},  \overline{x}_i \right\}, \label{for:dualxupdate}   \\
\lambda_l^{k+1} &= & \max \left\{ \lambda_l^k + \kappa ( R_l x - c_l),0\right\},  
\end{eqnarray}
% 
where $R_i$ is the $i$-th column and $R_l$ the $l$-th row of routing matrix $R$ and $\kappa \geq 0$ is the step size of the gradient projection method. The dual decomposition solution is summarized in Algorithm \ref{algorithm_dual}. 
The EV NUM dual algorithm only guarantees satisfaction of constraints $Rx<c$ upon convergence.
 
 
%  The dual variables can be interpreted as a vector of prices. Thus, step (\ref{for:lambdaProblem}) is basically a price update.
 





%   \begin{eqnarray}
%   L(x,\lambda)= \underset{i\in \mathcal{V}}{\sum} L_i(x_i,\lambda) = \nonumber \\ \underset{i\in \mathcal{V}}{\sum} \left\{- w_i log(x_i) + \underset{l \in \mathcal{P}_i}{\sum} \{\lambda_l ( x_i - c_l)\right\}.  \label{for:lagrangianEV}
%   \end{eqnarray}
% 
% The dual function of our problem is defined as:
% \begin{equation}
% G(\lambda)=   \underset{i\in \mathcal{V}}{\sum} \left\{ \min_{0\leq x_i\leq \overline{x}_i} \{- w_i log(x_i) + \underset{l \in \mathcal{P}_i}{\sum} \{\lambda_l ( x_i - c_l) \}\right\}.
% \end{equation}
% With the definition of the dual function, the dual problem can be written as:
% \begin{eqnarray}
% \underset{\lambda\geq 0}{\text{maximize}} & G(\lambda).
% \end{eqnarray}
% 
% Since our original problem is convex, strong duality holds \cite{BoydBook}. This means, that the optimal values of the original problem and the dual problem are the same. To recover the optimal result $x^*$ from the dual optimal point $\lambda^*$, we have to solve:
% \begin{equation}
% x^*=  \underset{0\leq x\leq \overline{x}}{\min} L(x,\lambda^*).
% \end{equation} 
% 
% For this we use the gradient method. Since $G$ is differentiable, its gradient, $\nabla G(\lambda)$, is evaluated as follows:
% \begin{equation}
%  \nabla G(\lambda)=~{\sum}_{l \in \mathcal{P}}~\{\lambda_l ( {\sum}_{i \in \mathcal{V}_l} x_i - c_l) \}.
% \end{equation}
% 
% We see in (\ref{for:lagrangian}) and (\ref{for:lagrangianEV}) that $\lambda$ and $x$ are both separable. Therefore, we can split the minimization with respect to $x$ into $N$ separable problems and the maximization with respect to $\lambda$ into $M$ separable problems. The dual ascent algorithm is then given as follows:
%  \begin{eqnarray}
%   x_i(k+1)=&  \underset{0\leq x_i\leq \overline{x}_i}{\min}  L_i(x_i,\lambda(k))  \\
%  \lambda_l(k+1)= & \left[ \lambda_l(k) + \kappa ( \underset{i \in \mathcal{V}_l}{\sum} x_i(k+1) - c_l)  \right]^+,  
%  \end{eqnarray}
% 
% where $k$ is the iteration index, $\kappa \geq 0$ is the step size of the gradient method, and the function $f(a)=[a]^+ = \max\{a,0\}$, is a projection onto the positive orthogonal. 
% The first step (\ref{for:xProblem}) is an $x$ minimization step and the second step (\ref{for:lambdaProblem}) is a dual variable update. The dual variables can be interpreted as a vector of prices. Thus, step (\ref{for:lambdaProblem}) is basically a price update.\\
% 
% The $x$ minimization step (\ref{for:xProblem}) has an analytic solution. The solution is be obtained by setting the partial derivative of (\ref{for:lagrangianEV}) with respect to $x_i$ to zero, solving for $x_i$, and then projecting this value onto $0\leq x_i\leq \overline{x}_i$. For more details on projections see \cite{BoydBook}. With this solution, we write the dual decomposition algorithm for our problem as:
% \\
% 
% 
% For each EV charger, $i=1,\ldots,N$:
%  \begin{eqnarray}
%   x_i(k+1)= \min\left\{\frac{w_i}{\underset{l \in \mathcal{P}_i}{\sum} \lambda_l(k)},  \overline{x}_i \right\}. \label{for:EVincentive} 
%  \end{eqnarray}
%  
% And for each protection device, $l=1,\ldots,M$:
% \begin{equation}
% \lambda_l(k+1)= \max \left\{ \lambda_l(k) + \kappa ( \underset{i \in \mathcal{V}_l}{\sum} x_i - c_l),0  \right\}.  \label{for:Priceintentive}
% \end{equation}


%\vspace{-.5cm}
\begin{algorithm}[h] 
\SetKwInOut{Input}{input}\SetKwInOut{Output}{output}
  \caption{EV NUM dual decomposition algorithm}
  \label{algorithm_dual}
  %\Input{step size $\kappa>0$, initial price $\lambda^0 \geq 0$, convergence parameter $\epsilon_d>0$.}
  $k=0$
%\vspace{0.1cm}
  
  \While{true}{

 %\vspace{0.1cm}
 
\lnlset{InResR1}{1)}EV charger updates charging rate \\
 \For{$i=\{1,\ldots,N\}$}{  
  $x_i^{k+1}= \min \left\{ \frac{w_i}{R_i^T \lambda^k},  \overline{x}_i \right\}$ }


  
\lnlset{InResR2}{2)}Network devices update price\\
 \For{$l=\{1,\ldots,M\}$}{
 $\lambda_l^{k+1}= \max \left\{ \lambda_l^k + \kappa ( R_l x - c_l),0\right\}$}

    
    
%\vspace{0.1cm}   
\lnlset{InResR3}{3)}Check for convergence\\
  	\If{$||\lambda^{k+1} - \lambda^k||_2 \leq \epsilon_{d}$}
  	{	\textbf{break}} 
  	

%\vspace{0.1cm}  	
% \lnlset{InResR4}{4)}Propagate new budgets back to EVs	
  
%   \For{$l=\{1,\ldots,M\}$}{
%   \If(\tcp*[f]{projection}){$R_l b^{k+1} > c_l$  }{\vspace{0.1cm}
% $b^{k+1} =  b^{k+1} +  (c_l - R_l b^{k+1})R_l^T/||R_l||_2^2$}
%   }
%   %	\vspace{0.1cm}
  	{$k=k+1$}
  	
  	}
  	
\end{algorithm}

\subsubsection{Convergence}  
\label{sec:convergence_dual}

The convergence criteria for dual decomposition is given by the following condition: 
%
\begin{equation}
||\lambda^{k+1} - \lambda^k||_2 \leq \epsilon_{d},
\end{equation}
%
where $\epsilon_{d}>0$ is the convergence parameter.
According to \cite{Ardakanian2013a} the convergence of the algorithm is guaranteed if
%
\begin{equation}
 0 < \kappa \leq \frac{2}{\overline{x}_{max} \overline{L} \overline{N} }, \label{for:incentiveConvergence}
\end{equation}
%
where $\overline{x}_{max} = \max{\overline{x_i}}$ is the maximum charging rate across all EV chargers, $\overline{L}=\max_i \sum_l R_{li}$ is the maximum number of constrained network devices being used by any EV charger, and $\overline{N}=\max_l R_{li}$ is equivalent to the maximum number of EV chargers using any network device. 
The condition in Eq. \ref{for:incentiveConvergence} defines a theoretical upper bound for the step size value. 
Beyond this value, stability is not guaranteed, and the algorithm could become unstable with oscillating EV charging rates.
% 
% The evaluations in \cite{Ardakanian2013a} showed that a higher value of $\kappa$ leads to faster convergence. However, as the value of $\kappa$ needs to be smaller the higher the number of EV chargers is and the larger the grid is. Hence, the larger the system, the longer the algorithm takes to converge. 


\subsubsection{Interpretation} 

The dual decomposition algorithm can be seen as an incentive-based control approach. 
In Algorithm \ref{algorithm_dual}, the dual variables $\lambda$ can be regarded as prices that the network devices define to users for the use of the available resources. 
These prices in turn influence the charging rate of the EVs. 
Hence, the algorithm iteratively modifies prices based on the users response and converges towards an optimal price that maximizes the EVs' utility without violating grid constraints. 

\subsection{Primal decomposition solution}

We now consider a primal decomposition solution algorithm. 
The advantage of this approach is that it results in an algorithm that has the anytime property, i.e., the results on each iteration are feasible. 
To formulate a primal decomposition solution, we first modify the original problem to include an upper bound for each EV charger, which we call budget.
With $b=[b_i]_{i\in \mathcal{V}}$ as the vector of the EV chargers' budgets, we introduce a new set of primal variables and reformulate the problem as follows:
%
\begin{Problem} \label{for:problemBudgets}
EV NUM with budgets
\begin{equation}
\begin{array}{ll}
\underset{x,b}{\mbox{minimize}} & \sum_{i=1}^{N} -w_ilog(x_i)  \\
\text{subject to}     &       x \leq b \\
      &   R  b \leq c \\
      & 0 \leq x \leq\ \overline{x}  \\
      \end{array}
\end{equation}
\end{Problem}

In \cite{JoseRiveraCDC14} we provided a mathematical proof, which confirms that the solution of the EV NUM problem with budgets is equivalent to the solution of the original EV NUM problem. 
Hence, we can implement primal decomposition on the EV NUM problem with budgets to obtain a distributed primal algorithm that solves the original EV NUM problem. 
We define the Lagrangian of Problem \ref{for:problemBudgets} as follows:
%
\begin{equation}
 L(x,b,\mu) = \sum_{i=1}^{N} -w_ilog(x_i)  + \mu (x-b), \label{for:primal_lagrangian}
\end{equation}
%
where $\mu=[\mu_i]_{i\in \mathcal{V}}$ is the vector of the Lagrangian variables. 
The primal decomposition results in a formulation consisting of two sub-problems. 
The first one optimizes over a set of the primal variables $x$, the second one over the other set of the primal variables $b$.
The resulting primal algorithm is as follows:
%
\begin{eqnarray}
 (x^{k+1}, \mu^{k+1}) &=& \underset{\mu \geq 0}{ \mbox{argmax} }\ \underset{0 \leq x \leq\ \overline{x}}{\mbox{argmin}}\  L(x,b^k,\mu) \label{for:xproblem_primal} \\
 b^{k+1} &=& \underset{R  b \leq c}{\mbox{argmin}}\ L(x^{k+1},b,\mu^{k+1}) \label{for:bproblem_primal}
\end{eqnarray}

In the $x$-update in Eq. \ref{for:xproblem_primal}, the  $\mu \geq 0$ conditions result from the KKT conditions of the dual variables, and the $0 \leq x \leq\ \overline{x}$ conditions result from the original EV NUM problem. 
In the $b$-update provided in Eq. \ref{for:bproblem_primal}, the $R  b \leq c$ conditions result from the EV NUM problem with budgets.  
% 
% 
% Using the EV charging NUM formulation in Problem \ref{for:problemBudgets}, we derive a distributed algorithm by applying primal decomposition between the charging rates and the budgets. Further, we optimize the budgets in the master problem by using a gradient sequential projections method. 

% 
% 
% \begin{asume} \label{asume:tree}
% For this work we consider only networks with a tree topology, i.e., networks with a radial structure.
% \end{asume}
%  We choose this structure since it is the most common structure for power distribution networks.\\
% 
% Problem \ref{for:problemBudgets} can be represented as the sum of individual EV charger problems, which are coupled by the budget variables:
% \begin{eqnarray}
% \underset{b}{\min} & {\sum}_{i=1}^N  \left\{ \underset{\mu_i \geq 0}{\max} \underset{x_i}{\ \min} \{- U_i(x_i) + \mu_i (x_i - b_i) \} \right\} \label{for:costBudget2} \\
% \text{subject to}     & 0 \leq x \leq\ \overline{x} \label{for:constraintEVBudget2} \\
% 		      &   R  b \leq c,  \label{for:constraintProtectionBudget2}  
% \end{eqnarray}
% where $\mu_i$ is the Lagrangian variable from constraint $x_i \leq b_i$. The requirement $\mu_i \geq 0$, comes from the Karush Kuhn Tucker (KKT) conditions (cf. \cite{BoydBook}).\\ 
% We can separate this problem into a set of \textit{subproblems} for each EV charger that optimizes over the local variables $x_i$ and a \textit{master problem} that optimizes over the budgets $b$. The subproblem for each EV charger $i$ is then defined as follows:
% \begin{equation}
% \begin{array}{ll}
%  \underset{\mu_i \geq 0\ }{\max} \underset{0 \leq x_i \leq\ \overline{x}_i}{\ \min} & \{ -U_i(x_i) + \mu_i (x_i - b_i) \}. \label{for:subproblemBudget}\\
% % \text{subject to}     & 0 \leq x_i \leq\ \overline{x}_i, \quad \forall i \in \mathcal{V}
%  \end{array}
% \end{equation}
% Let $\phi_i(b_i)$ denote the optimal value of the EV charger $i$ subproblem. 
% Then, we define the master problem as:
% 
% \begin{equation}
% \begin{array}{ll}
% \underset{b}{\min} & {\sum}_{i=1}^N \phi_i(b_i)  \label{for:masterProblemBudget}  \\
% \text{subject to}     &   R  b \leq c,  
% \end{array}
% \end{equation}
% where $\phi_i(b_i)= -\mu_i b_i $.\\
% In primal decomposition, the original problem is solved by solving the master problem with an iterative method. Each iteration requires solving the subproblems (\ref{for:subproblemBudget}) in order to evaluate the master problem (\ref{for:masterProblemBudget}) (cf. \cite{LectureBoyd}). \\

The x-update in Eq. \ref{for:xproblem_primal} has an analytic solution, which can be written for each of its elements as
%
\begin{eqnarray}
x_i^{k+1}&=&\min\{ b_i^k,\overline{x}_i\}, \label{for:EVupdate1}\\
 \mu_i^{k+1}&=&\left\{ 
  \begin{array}{l l}
    0 & \quad \text{if $x_i^{k+1}=\overline{x}$}\\
    \frac{w_i}{x_i^{k+1}} & \quad \text{otherwise}.
  \end{array} \right.\label{for:EVmarginalBenefit}
\end{eqnarray}
% 
The $b$-update provided by Eq. \ref{for:bproblem_primal} can be solved using a gradient projection method as explained in \cite{BertsekasDCBook}. 
However, this approach would require the current available loading $c_l$ of all network devices to be sent to a central location in each iteration. 
In a large distribution grid, this would cause significant communication overhead. 
Therefore, we use the \textit{sequential projections method} described in \cite{LectureBoyd} together with gradient descent, which results in a \textit{gradient sequential projection method}. 
In our approach, we first update the budgets using the gradient descent method and thereafter sequentially project the updated budgets onto the constraint of each network device. 
The sequential projections method for the $b$-update can be written as follows:
%
\begin{equation}
b^{k+1}= \mathbf{P}_{\mathcal{C}_M} \{\ldots \mathbf{P}_{\mathcal{C}_2} \{ \mathbf{P}_{\mathcal{C}_1} \{  b^k + \gamma \mu^{k+1}  \}\}\ldots\}, \label{for:procedure}
\end{equation}
%
where $\gamma>0$ is the gradient step size, $\mathbf{P}$ is a projection operator, and $\mathcal{C}_l$ is the constraint set defined as:
%
\begin{equation}
\mathcal{C}_l=\{ b |\  R_l  b \leq c_l \}, \label{for:procedure2}
\end{equation}
%
where $R_l$ is the $l$-th row of the routing matrix $R$.

% Equation~(\ref{for:procedure}) describes a sequential procedure that loops over all constrained network devices, $l \in \{1,\ldots,M\}$. For simplicity we consider only networks with tree topology and define the tree root as $l=1$. The starting value of the budgets at the tree root is the gradient update, i.e.:
% \begin{equation}
% b^{k+1}= b^k + \gamma \mu^{k+1}. \label{for:EVgradientUpdate}
% \end{equation}
% Then, the problem to solve for each protection device is:
% \begin{equation}
% b^{k+1}= \mathbf{P}_{\mathcal{C}_l} \{ b^{k+1} \}.
% \end{equation}
%or expressed as an optimization problem:
%\begin{equation}
%\begin{array}{ll}
%  \min_{b^l} &||b^l - b^{l-1}  ||_2^2\\
%\text{s.t.}&   b^l \in \mathcal{C}_l
%\end{array}
%\end{equation}

The projections defined in Eq. \ref{for:procedure} are all projections onto a halfplane, which have an analytic solution \cite{BoydBook}. 
Hence, in (\ref{for:procedure}) each constrained network device $l=1,\ldots,M$, modifies the budgets as follows:
%
\begin{equation}
b^{k+1}= \left\{ 
  \begin{array}{ll}
    b^{k+1}, & \text{if $R_l b^{k+1} \leq c_l$}\\
    b^{k+1} +  (c_l - R_l b^{k+1})R_l^T/||R_l||_2^2 ,  & \text{otherwise}.
  \end{array} \right. \label{for:protectionProjection}  
\end{equation}

The resulting primal decomposition solution is summarized in Algorithm \ref{algorithm_primal}. 
The EV NUM primal algorithm guarantees that the resulting charging rates for EVs are feasible on each iteration, i.e., $Rx<c$ for all $k$.

%\vspace{-.5cm}
\begin{algorithm}[t] 
\SetKwInOut{Input}{input}\SetKwInOut{Output}{output}
  \caption{EV NUM primal decomposition algorithm}
  \label{algorithm_primal}
 % \Input{step size $\gamma>0$, initial budgets $b^0>0$, convergence parameter $\epsilon_p>0$.}
  $k=0$
%\vspace{0.1cm}
  
  \While{true}{

 %\vspace{0.1cm}
 
\lnlset{InResR1}{1)}EV charger updates charging rate \\
 \For{$i=\{1,\ldots,N\}$}{  
  $x_i^{k+1}= \min\{ b_i^k,\overline{x}_i\}$ 


  \eIf{$x_i^{k+1}=\overline{x}_i$}
  {$\mu_i^{k+1}= 0$}
  { $\mu_i^{k+1}=\frac{w_i}{x_i^{k+1}}$}
}  

%  \mu_i^{k+1}&=&\left\{ 
%      \begin{array}{l l}
%        0 & \quad \text{if $x_i^{k+1}=\overline{x}$}\\
%        \nabla U_i(x_i^{k+1}) & \quad \text{otherwise}
%      \end{array} \right.
%  \vspace{0.1cm}
\lnlset{InResR2}{2)}Network devices update budgets\\
 $b^{k+1}= b^k + \gamma \mu^{k+1}$

    
    
%\vspace{0.1cm}   
\lnlset{InResR3}{3)}Check for convergence\\
  	\If{$||b^{k+1} - b^k||_2 \leq \epsilon_p$}
  	{	\textbf{break}} 
  	

%\vspace{0.1cm}  	
\lnlset{InResR4}{4)}Budgets are projected to network constraints	
  
  \For{$l=\{1,\ldots,M\}$}{
  \If{$R_l b^{k+1} > c_l$  }{\vspace{0.1cm}
$b^{k+1} =  b^{k+1} +  (c_l - R_l b^{k+1})R_l^T/||R_l||_2^2$}
  }
  %	\vspace{0.1cm}
  	{$k=k+1$}
  	
  	}
  	
\end{algorithm}


% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %

\subsubsection{Convergence}
\label{sec:convergence_primal} 

The convergence criteria for the EV NUM primal algorithm is given by the following threshold condition:
%
\begin{equation}
 ||b^{k+1} - b^k||_2 \leq \epsilon_p,
\end{equation}
%
where $\epsilon_p>0$ is the convergence threshold.

In \cite{JoseRiveraCDC14} we provide a mathematical proof for the converge of the algorithm to within a distance of $K^2\gamma/2$ from the optimal solution, where $K$ is the Lipschitz constant of the value function of the b-update problem in Eq. \ref{for:bproblem_primal} and $\gamma$ is the algorithm step size. 
This result reveals that the algorithm's stability does not depend on step size.

\subsubsection{Interpretation} 
\label{sec:interpretation_primal} 

The primal decomposition algorithm can be seen as a budget-based control approach. 
In Algorithm \ref{algorithm_primal}, the network devices define budgets $b$ as upper bounds for the charging rate of the EVs. 
The EVs in turn report their marginal benefits $\mu$ to a single centralized location that updates the budgets. 
The primal algorithm updates the budgets based on the users' marginal benefit and also sequentially projects the updated budgets onto the network devices contraints in order to gurantee fesibility. 
This iterative process converges to the optimal budget values that maximize the EVs' utility without violating the grid constraints. 
The primal distributed solution guarantees that the constraints of the EV NUM problem are feasible on each iteration, such that the produced control values can be used on each iteration without the risk of overloading the system.

% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %

\section{Evaluation} 
\label{sec:evaluation}

We have conducted three experiments to evaluate the dual and primal EV NUM solution algorithms. 
The first experiment evaluates the scalability and convergence of both algorithms under static conditions.
The second experiment looks at the behavior of both algorithms under dynamic conditions.
Finally, the third experiment shows the impact that both algorithms have on the voltages and currents of a distribution grid. 
The source code and data of all our experiments can be found online \footnote{\href{https://github.com/chepeadan/EVNUM}{github.com/chepeadan/EVNUM}}.

All our experiments are based on the IEEE European Low Voltage Test Feeder \cite{EULVgrid}. 
Our evaluation grid, shown in Fig. \ref{fig:grid}, is a three-phase radial distribution feeder at the voltage level of 416 V (phase-to-phase) with a total of 906 buses, 905 lines, and 55 loads. 
All relevant data for our experiments are available on the test case data, with the exception of the lines' ampacity. 
Thus, we define the ampacity based on empirical data of similar standard test networks \cite{IEEERadialTestFeeders}. 
The ampacity values used in our evaluations are summarized in Table \ref{table:ampacity}.
We assume that each load has one EV charger with a maximal charging capacity of 20 kW (3-phase). 
We also assume that the EVs start arriving at 5 p.m. according to a Poisson distribution with arrival rate of 1 per minute. 
Furthermore, the EVs are assumed to be fully discharged upon arrival and wishing to be fully charged to their maximal capacity of 24 kWh.

To formulate the EV NUM optimization problem, we assume constant voltages. 
Hence, our optimization variables $x$ are the currents that the EV chargers draw from the network. 
The maximum available capacity of the network devices $c$ is defined by the lines' ampacity minus the current drawn by the loads. 
The maximum charging rate $\overline{x}$ is given by the maximum charging current of the EV chargers. 
Without loss of generality, we assume that all EVs have the same importance, i.e., $w_i = 1$.

To make use of the EV NUM formulation, one needs to assume a constant voltage, because if voltage is constant, then the main network constraints are the line ampacity limits, which are linear and can be expressed with the NUM formulation $Rx< c$, see also \cite{JoseRiveraCDC14,RiveraEenergy,ardakanian2012realtime,Ardakanian2013a,ardakanian2014real}. While omitting voltage constraints is risky, as our evaluations will show, the NUM model offers a good approximation, when ampacity violations happen before voltage violations. In such cases, the NUM formulation offers a good trade-off between model accuracy and the required simplicity to design distributed algorithms that can respond in the millisecond time scale. 
% 
% The justification for designing a control algorithm which considers constant voltages, is that grid voltage is supposed to be controlled by the utility and not by the energy consumers. Utilities are supposed to guarantee that the voltage for consumers does not deviate more than $\pm$ 10 \% from its nominal value. There are several efficient and cost effective solutions to voltage control, like using tap charger or phase shifting transformers. We consider that the idea of utilities relying on EVs to control voltage is unlikely. However, when it comes to ampacity violations, the utility can not control this effect without affecting the consumer. Amapacity violations might occur if EVs use fast charging. The problem is critical, since users might install fast charging solutions in their homes without informing utilities. In such a scenario, the utilities need a congestion control mechanism to avoid the overloading of the grid.  As we will later see, the NUM formulation offers a good trade-off between model accuracy and the required simplicity to design distributed algorithms that respond in the millisecond time scale. 

\begin{figure}[t!]
\centering
\vspace{-0.25cm}
\includegraphics[width=.9\columnwidth]{grid.eps}
\vspace{-0.25cm}
\caption{IEEE European Low Voltage Test Feeder.}
\label{fig:grid}
\end{figure}


\begin{table}[t]
\centering
\caption{Power line ampacity used in evaluation.}\vspace{.25cm}
\label{table:ampacity}
\begin{tabular}{|l|c|} \hline
\textbf{Line code name}  & \textbf{Ampacity (A)} \\ \hline
2c\_.007			& 56 \\ \hline
2c\_.0225		& 83 \\ \hline
2c\_16			& 83 \\ \hline
35\_SAC\_XSC		& 110 \\ \hline
4c\_.06			& 210 \\ \hline
4c\_.1			& 560 \\ \hline
4c\_.35			& 210 \\ \hline
4c\_185			& 405 \\ \hline
4c\_70			& 560 \\ \hline
4c\_95\_SAC\_XC		& 180\\ \hline
\end{tabular}
\end{table}

\subsection{Static evaluation} 
\label{sec:static_evaluation}

We evaluate the convergence of the dual and primal EV NUM algorithm for different step size values and consider the scalability behavior of both algorithms for different numbers of EVs and varying grid size. 
The static evaluation is characterized by constant optimization parameters, i.e., the parameters of the EV NUM problem don't change over time. 
The static case is the result of the fixed loads having a constant value, which leads to a constant maximal available loading of the devices $c$. 
Without loss of generality, we assume that the network is single phase for the static experiments. 
Hence, the size parameters for our EV NUM problem are $N=55$ and $M=905$. 
A centralized solution of the EV NUM problem is used as a reference for the optimal result.

% The theoretical effect of the step size on the convergence behavior was discussed in Section \ref{sec:convergence_dual} for the dual algorithm and in Section \ref{sec:convergence_primal} for the primal algorithm. 

The convergence experiment results for the dual algorithm in Fig \ref{fig:dual_convergence} show that the dual algorithm becomes unstable when the step size is too large ($\kappa = 0.0001$). 
To avoid instability, a theoretical upper bound for the step size value was defined in Section \ref{sec:convergence_dual}, which guarantees dual algorithm convergence ($\kappa = 3.619e-8$). 
Nonetheless, the theoretical upper bound is usually too conservative and a stable and faster step size can be used, e.g., $\kappa = 1e-05$.

The convergence results for the primal algorithm in Fig. \ref{fig:primal_convergence} show that the primal algorithm does not become unstable and converges within an increasing distance to the optimum with increasing step size. 
Hence, our experimental results for the primal algorithm confirm the theoretical behavior discussed in Section \ref{sec:convergence_primal} and demonstrate that the primal algorithm does not suffer from the instability issues of the dual algorithm.

To compare the scalability of both algorithms, we look at their convergence behavior as the EV NUM problem size parameters vary and measure the number of iterations required to reach 95\% convergence. 
First, we modify $N$ from 10 to 50 in increments of 10, which is equivalent to changing the number of EVs in the network. 
Then, we modify $M$ from 100 to 900 in increments of 100, which is equivalent to modifying the size of the network. The results in Fig \ref{fig:dual_convergence_N} and Fig \ref{fig:dual_convergence_M} reveal that the dual algorithm is highly sensitive to changes in the number of EVs and grid size. In contrast, the results for the primal algorithm in Fig. \ref{fig:primal_convergence_N} and Fig. \ref{fig:primal_convergence_M} show that its convergence behavior remains almost constant for changes in the problem size parameters. Hence, our experiments reveal that the primal algorithm is less sensitive to variations in problem size and therefore offers significant scalability advantages over the dual algorithm. Moreover, unlike the primal algorithm, the dual algorithm does not guarantee feasible control values on each iteration, which increases the chance of a blackout. While the computation time of both algorithms can be neglected (close form solutions), both require communication on each iteration. If we assume a maximal communication delay of 20 ms per iteration and a minimal protection tripping time of 200 ms, then to guarantee a feasible control values, the dual algorithm would need to converge in less than 10 iterations, which is well bellow the actual number of iterations required by the dual algorithm in our results.  


 \begin{figure*}[!t]
  \centering
\begin{subfigure}{.49\textwidth}
  \centering
  \includegraphics[width=\linewidth]{convergence_dual_BIG.eps}
  \caption{Different step size}
  \label{fig:dual_convergence}
\end{subfigure}%
\begin{subfigure}{.24\textwidth}
  \centering
  \includegraphics[width=1\linewidth]{convergence_dual_N.eps}
  \caption{Different number of EVs}
  \label{fig:dual_convergence_N}
\end{subfigure}
\begin{subfigure}{.24\textwidth}
  \centering
  \includegraphics[width=1\linewidth]{convergence_dual_M.eps}
  \caption{Different grid size}
  \label{fig:dual_convergence_M}
\end{subfigure}
\caption{EV NUM dual algorithm static behavior (each iteration $\sim$ 20 ms)}
\label{fig:static_dual}
\end{figure*}

 \begin{figure*}[!t]
  \centering
\begin{subfigure}{.49\textwidth}
  \centering
  \includegraphics[width=\linewidth]{convergence_primal_BIG.eps}
  \caption{Different step size}
  \label{fig:primal_convergence}
\end{subfigure}%
\begin{subfigure}{.24\textwidth}
  \centering
  \includegraphics[width=1\linewidth]{convergence_primal_N.eps}
  \caption{Different number of EVs}
  \label{fig:primal_convergence_N}
\end{subfigure}
\begin{subfigure}{.24\textwidth}
  \centering
  \includegraphics[width=1\linewidth]{convergence_primal_M.eps}
  \caption{Different grid size}
  \label{fig:primal_convergence_M}
\end{subfigure}
\caption{EV NUM primal algorithm static behavior (each iteration $\sim$ 20 ms)}
\label{fig:static_primal}
\end{figure*}

\subsection{Dynamic evaluation} 
\label{sec:dynamic_evaluation}

In the dynamic evaluation, we consider the load dynamics, which cause the maximal available network load $c$ to change over time. 
We make use of the load shapes included in the IEEE European Low Voltage Test Feeder data, which are time series with a one-minute time resolution over 24 hours. 
The dual and primal algorithm are implemented in one-minute resolution, i.e., on each iteration of the algorithms the maximal available load of the devices $c$ change. 
We use a step size of 0.00001 for the dual algorithm and 1 for the primal algorithm. 
The problem size parameters for our three-phase evaluation network are $N=55$ and $M=3 \cdot 905$.

% If we consider that the load dynamics change every minute, then the one-minute time duration between control values represents the maximal time interval for the control algorithms to avoid grid overloading.

Fig. \ref{fig:dynamic_NUM} shows the results of the EV NUM optimization with the dual and the primal algorithm for the main power line. 
The result for the dual algorithm in Fig. \ref{fig:dual_result} shows that the maximum load condition of the line is violated as soon as EVs start to arrive. 
This result is expected, since the dual algorithm does not offer any guarantees that the network constraints $Rx<c$ will be fulfilled during runtime. 
To avoid overloading of the devices, the dual algorithm needs to be given enough time to come close to convergence. 
Hence, the dual control algorithm would need to be implemented at a higher frequency.

The result for the primal algorithm in Fig. \ref{fig:primal_result} shows the desired behavior for real-time EV control: 
The algorithm makes maximum use of the network without overloading it. 
As explained in Section \ref{sec:interpretation_primal}, the primal algorithm has the anytime property, which guarantees that the constraints of the EV NUM problem are fulfilled on each iteration. 
The anytime property gives the primal algorithm an advantage over the dual algorithm, because we don't need to provide the algorithm with enough iterations in order to guarantee control values that respect the network constraints. 
Hence, the primal algorithm can be implemented at a lower frequency than the dual algorithm. 

 \begin{figure*}[!t]
  \centering
\begin{subfigure}{.48\textwidth}
  \centering
  \includegraphics[width=\linewidth]{dual_result.eps}
  \caption{Dual algorithm result for the main power line}
  \label{fig:dual_result}
\end{subfigure}
\begin{subfigure}{.48\textwidth}
  \centering
  \includegraphics[width=1\linewidth]{primal_result.eps}
  \caption{Primal algorithm result for the main power line}
  \label{fig:primal_result}
\end{subfigure}
\caption{EV NUM dynamic behavior.}
\label{fig:dynamic_NUM}
\end{figure*}


\subsection{Effects on a distribution network} 
\label{sec:evaluation_effect}

To evaluate the effects of EV charging on the IEEE European Low Voltage Test Feeder, we conduct simulations using GridLab-D~\cite{chassin2008gridlab}. 
First, we evaluate the effect of charging the EVs without control for different charging rates. 
The results in Fig. \ref{fig:no_control} reveal that our evaluation grid can support the charging of EVs with a maximum charging power of 4 kW without any charging control. 
However, for a charging power of 7 kW, we start to see ampacity and voltage violations. 
With a charging power of 20 kW, we also see violations of the transformer's maximal loading. 
Hence, real-time EV charging control is required to allow higher charging powers than 4 kW and make better use of the grid's capacity without violating its constraints.
This experiment also revealed that for this particular feeder ampacity violations happen before voltage violations as the charging power of the EVs increases. 

We evaluated the impact of the EV NUM dual and primal algorithms on the grid by running simulations using the load results of our dynamic evaluation in Section \ref{sec:dynamic_evaluation}. 
Fig. \ref{fig:control} demonstrates that the dual algorithm violates the network constraints, whereas the primal algorithm is able to guarantee charging rates that remain within the network constraints. 
Our GridLab-D simulation results match the behavior obtained in Section \ref{sec:dynamic_evaluation} with the EV NUM formulation. 
Hence, our experiments show that the EV NUM problem can capture the relevant constraints to design an effective real-time EV control algorithm for distribution grids, where the ampacity violations are the limiting factor. 
Moreover, this result clearly demonstrates the effectiveness of the primal algorithm for real-time EV charging control.

%To show the effects of both algorithms we use the resulting load of our dynamic experiement  he network we use the results of the 


%To determine the impact on the grid we use the results of the dynamic experimetn simulate the results of the blabla on the blabla using GridLab-D \cite{chassin2008gridlab}.


 \begin{figure*}[!t]
  \centering
\begin{subfigure}{.49\textwidth}
  \centering
\includegraphics[width=\linewidth]{transformer_no_control.eps}
\includegraphics[width=\linewidth]{voltage_no_control.eps}
\includegraphics[width=\linewidth]{current_no_control.eps}
  \caption{No control (voltages and currents at peak time).}
  \label{fig:no_control}
\end{subfigure}
\begin{subfigure}{.49\textwidth}
  \centering
\includegraphics[width=\columnwidth]{transformer_control.eps}
\includegraphics[width=\columnwidth]{voltage_control.eps}
\includegraphics[width=\columnwidth]{current_control.eps}
  \caption{EV NUM control (voltages and currents at peak time).}
  \label{fig:control}
\end{subfigure}
\caption{EV charging effects on the IEEE European Low Voltage Test Feeder.}
\label{fig:dynamic}
\end{figure*}
% 



\section{Discussion} 
\label{sec:discussion}

%We make use of the classical NUM problem to formulate distributed algorithms for real-time EV charging control. In the following, we discuss isssues sorounding the use of the NUM problem to model real-time EV charging  and offer some considerations regarding  the evaluation results of the dual vs primal EV NUM algorithms .

\subsection{EV NUM  for real-time EV charging control}

The EV NUM problem formulation offers a simplified model for the real-time EV charging problem. 
The goal of using EV NUM is to capture the simplest form of the real-time EV charging problem that still encompasses the relevant features required to design a distributed control algorithm. 
Several arguments can be made for the use of a more comprehensive model. However, more complex formulations do not allow the formulation of efficient distributed algorithms, that can cope with the real-time requirements. Another argument in favor of the simple EV NUM model is that more complex models need more network data. When it comes to massive application of the control algorithm, it is not certain that accurate network data of the distribution grids is available. In fact, the accuracy and even the availability of accurate distribution network models is known to be an issue \cite{EsriBook}. % ADD LATER,Rivera2015
Therefore, we consider that the EV NUM problem formulation can be an alternative to more complex models with higher computational demands and that require highly accurate network data.
% 
% Nonetheless, we have to emphasize that the EV NUM formulation is only an approximation and careful testing of the resulting algorithm is required before an implementation. 
% Our evaluation in Section \ref{sec:evaluation} provides evidence that EV NUM can approximate the relevant problem constraints for grids where ampacity violations are the main bottleneck, which turns out to be the case in many distribution networks, due to relatively short line lengths \cite{willis2004power}. 

% , e.g., the inclusion of a three-phase power flow as part of the constraints to allow the consideration of voltages

\subsection{Dual vs primal EV NUM}
% The dual and primal EV NUM solution algorithms presented in Section \ref{sec:solution} can be used to implement a distributed control between the EV chargers and intelligent electronic field devices as described in \cite{RiveraEenergy}. 

Our evaluations have shown that the primal algorithm has an advantage over the dual algorithm regarding both scalability and reliability. 
The scalability advantage results from the stability issues of the dual algorithm. 
Our static evaluations in Section \ref{sec:static_evaluation} confirm that the dual algorithm's stability depends on the step size. 
As explained in Section \ref{sec:convergence_dual}, the theoretical maximum stable step size is inversely proportional to the number of EVs and the size of the distribution grid. 
Hence, as the size of the problem increases, the step size must be reduced to guarantee stability, which in turn increases the number of iterations required to reach convergence. 
The primal algorithm does not need to reduce its step size as the problem size increases and therefore scales better to larger problems. 
Regarding the reliability advantage, our dynamic evaluations of Section \ref{sec:dynamic_evaluation} show that the dual algorithm requires a higher update frequency than the primal algorithm to avoid the violation of grid constraints. 
The reliability advantage of the primal algorithm comes from its anytime property, which guarantees that the problem constraints are satisfied on each iteration.

Nevertheless, the dual algorithm might be the preferred option when the problem size is relatively small and minor violations of the grid constraints are permitted. 
The experiments in Section \ref{sec:evaluation_effect} clearly show that the dual algorithm allows the EVs to charge faster at the cost of grid constraint violations. 
% However, if the emphasis is on guaranteeing the grid's constraints to avoid faults or device deterioration, the primal algorithm would be the preferred solution.

% Finally, the GridLab-D based evaluations in Section \ref{sec:evaluation_effect} demonstrated that the EV NUM formulation offers a valid approximation for ampacity limitations faced in distribution networks by fast charging EVs. Therefore, EV NUM can effectively be used to formulate EV charging control algorithms. The impact of both algorithms was as expected, where the dual algorithm allowed faster EV charging at the cost of minor constraint violations and the primal algorithm allowed the EVs to make maximal use of the infrastructure without violating any operational constraints.\\


\section{Conclusions} 
\label{conclusion}

% In this paper we formulated and evaluated distributed algorithms for real-time EV charging control in distribution networks. We modeled the problem as an EV NUM and used the dual and primal decomposition to obtain two distributed optimization algorithms. The goal was to obtain a scalable algorithm that allows EVs to make maximal use of the infrastructure without violating its operational constraints. We derived a dual and primal EV NUM solution algorithm, discussed their theoretical convergence behavior and explained their interpretation. The evaluations were conducted on the IEEE European Low Voltage Test Feeder. The two solution algorithms were evaluated and compared in a static and dynamic setting; and their impact on the grid was asses through simulations in GridLab-D.\\
% 

% This paper proposes methods to consider voltage drops and line losses into the NUM formulation. Previous work had neglected this. The NUM formulation has been widely studied and by providing. Thus, by including the important constraints for real-time EV charging  the formulations of distributed algorithms 

This paper proposes the use of the NUM formulation to formally design real-time EV charging control protocols, compares the resulting dual and primal distributed solution algorithms and provides a comprehensive evaluation of their impact when implemented on the IEEE European Low Voltage Test Feeder. 
Our experimental evaluation demonstrates the effectiveness of the NUM formulation to model networks where the ampacity constraints are the main bottleneck. Our results also show that the primal algorithm outperforms the dual algorithm regarding scalability and reliability. 
% We believe that these results are promising and plan to pursue further studies on the implementation of the proposed approach.

%However, if the  minor grid constraint violations are allowed and the size of the problem is small, then the dual algorithm could be prefered as it allows faster charging for the EVs.     

% 


% 
% 
% as an EV NUM problem and derive two distributed solution algorithms.    
% 
% To provide scalable solution to real-time EV charging 
% 
% a distributed anytime algorithm to solve the EV charging NUM problem. The goal in the latter is to maximize the utility of EV chargers while guaranteeing that the constraints of the grid are satisfied. The fast dynamics found in power systems make this a time critical application, where results must be provided within milliseconds. Our algorithm addresses this requirement with its anytime property, i.e., the results produced on each iteration are feasible and each iteration moves closer to the optimal solution. We showed that the proposed algorithm converges to the optimal result under certain assumptions for synchronous and asynchronous execution. We also evaluated our algorithm against the standard distributed solution of the NUM problem, dual decomposition. Our experiments confirmed that our distributed anytime algorithm delivers feasible values on all iterations. We also saw that our algorithm is more reliable in terms of parameterization and is able to offer faster results than dual decomposition. Moreover, a comparison between synchronous and asynchronous execution of our approach revealed that our algorithm is able to work asynchronously and under certain conditions without loss in performance. With this result, EV charging control can be implemented in milliseconds instead of minutes, which makes the system more robust to fast dynamic changes.\\

% Future work will focus on relaxing the assumptions made in this paper and a more comprehensive analysis of our algorithm for asynchronous execution will be conducted. Since NUM problems can be found in many fields, we believe the applications of our approach will expand beyond EV charging. 





%\appendices




% 
% 

% an exchange problem. \\
% 
% The conclusion goes here.
% 
% - General framework
% - allows many implementations
% -in 3.3 hours
% - case studies results: best scenario is minimal energy charging, v2G does not make a difference if the goals of the individual EVs are too high..
% 

% conference papers do not normally have an appendix


% use section* for acknowledgement
% \section*{Acknowledgment}
% 
% 
% The authors would like to thank Chirstoph Goebel of the Department 
% 




% trigger a \newpage just before the given reference
% number - used to balance the columns on the last page
% adjust value as needed - may need to be readjusted if
% the document is modified later
%\IEEEtriggeratref{8}
% The "triggered" command can be changed if desired:
%\IEEEtriggercmd{\enlargethispage{-5in}}

% references section

% can use a bibliography generated by BibTeX as a .bbl file
% BibTeX documentation can be easily obtained at:
% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/
% The IEEEtran BibTeX style support page is at:
% http://www.michaelshell.org/tex/ieeetran/bibtex/
%\bibliographystyle{IEEEtran}
% argument is your BibTeX string definitions and bibliography database(s)
%\bibliography{IEEEabrv,../bib/paper}
%
% <OR> manually copy in the resultant .bbl file
% set second argument of \begin to the number of references
% (used to reserve space for the reference number labels box)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		BIBLIOGRAPHY
% \bibliography{bibliography}
% \bibliographystyle{abbrv}

\bibliographystyle{IEEEtran}
\bibliography{litCDC2014_extension}
%\bibliographystyle{ieeetr}

% 
% \begin{IEEEbiography}
% [{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{pics/visa.eps}}]{Jose Rivera}
% received the B. S. and the Dipl.-Ing. degree in electrical engineering and information technology with a specialization in control and power systems from the Technical University Munich (TUM), Germany, in 2010 and 2012 respectively. Until his graduation, he interned at Siemens Corporate Technologies. He was also a visiting student at the Massachusetts Institute of Technology (MIT) in the Laboratory for Information and Decision Systems (LIDS). Currently, he is a pursuing his Ph.D. at TUM. His research interests include distributed systems, distributed optimization and data analytics for power systems.
% \end{IEEEbiography}

% % if you will not have a photo at all:
% \begin{IEEEbiography}{Philipp Wolfrum}
%  TBD
% \end{IEEEbiography}

% insert where needed to balance the two columns on the last page with
% biographies
%\newpage
% 
% \begin{IEEEbiography}{Sandra Hirche}
% TBD
% \end{IEEEbiography}
% 
% 
%  \begin{IEEEbiography}{Christoph Goebel}
% TBD
% \end{IEEEbiography}
% 
% 
% \begin{IEEEbiography}{Hans-Arno Jacobsen}
% TBD
% \end{IEEEbiography}

% You can push biographies down or up by placing
% a \vfill before or after them. The appropriate
% use of \vfill depends on what kind of text is
% on the last page and whether or not the columns
% are being equalized.

%\vfill

% Can be used to pull up biographies so that the bottom of the last one
% is flush with the other column.
%\enlargethispage{-5in}



% that's all folks
\end{document}



EVNUM_arxiv.bbl
% Generated by IEEEtran.bst, version: 1.14 (2015/08/26)
\begin{thebibliography}{10}
\providecommand{\url}[1]{#1}
\csname url@samestyle\endcsname
\providecommand{\newblock}{\relax}
\providecommand{\bibinfo}[2]{#2}
\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
\providecommand{\BIBentryALTinterwordstretchfactor}{4}
\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
  \fontdimen4\font\relax}
\providecommand{\BIBforeignlanguage}[2]{{%
\expandafter\ifx\csname l@#1\endcsname\relax
\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
\typeout{** loaded for the language `#1'. Using the pattern for}%
\typeout{** the default language instead.}%
\else
\language=\csname l@#1\endcsname
\fi
#2}}
\providecommand{\BIBdecl}{\relax}
\BIBdecl

\bibitem{EVintegration}
M.~Bradley and Associates, ``{Electric vehicle grid integration in the U.S.,
  Europe, and China},'' M.J Bradley and Associates, Tech. Rep., 2013.

\bibitem{EVChargingProblem}
\BIBentryALTinterwordspacing
C.~Sullivan. (2009, August) {Will Electric Cars Wreck the Grid?} Scientific
  American. [Online]. Available:
  \url{http://scientificamerican.com/article/will-electric-cars-wreck-the-grid}
\BIBentrySTDinterwordspacing

\bibitem{putrus2009impact}
G.~Putrus, P.~Suwanapingkarl, D.~Johnston, E.~Bentley, and M.~Narayana,
  ``{Impact of electric vehicles on power distribution networks},'' in
  \emph{{Vehicle Power and Propulsion Conference, 2009. VPPC'09. IEEE}}.\hskip
  1em plus 0.5em minus 0.4em\relax IEEE, 2009, pp. 827--831.

\bibitem{richardson2010impact}
P.~Richardson, D.~Flynn, and A.~Keane, ``{Impact assessment of varying
  penetrations of electric vehicles on low voltage distribution systems},'' in
  \emph{{Power and Energy Society General Meeting, 2010 IEEE}}.

\bibitem{gomez2003impact}
J.~C. Gomez and M.~M. Morcos, ``{Impact of EV battery chargers on the power
  quality of distribution systems},'' \emph{Power Delivery, IEEE Transactions
  on}, vol.~18, no.~3, pp. 975--981, 2003.

\bibitem{schroeder2012economics}
A.~Schroeder and T.~Traber, ``{The economics of fast charging infrastructure
  for electric vehicles},'' \emph{Energy Policy}, vol.~43, pp. 136--144, 2012.

\bibitem{botsford2009fast}
C.~Botsford and A.~Szczepanek, ``{Fast charging vs. slow charging: Pros and
  cons for the new age of electric vehicles},'' in \emph{{International Battery
  Hybrid Fuel Cell Electric Vehicle Symposium}}, 2009.

\bibitem{willis2004power}
H.~L. Willis, \emph{{Power distribution planning reference book}}.\hskip 1em
  plus 0.5em minus 0.4em\relax CRC press, 2004.

\bibitem{EnergyInformatics}
C.~Goebel, H.-A. Jacobsen, V.~Razo, C.~Doblander, J.~Rivera \emph{et~al.},
  ``\BIBforeignlanguage{English}{{Energy Informatics}},''
  \emph{\BIBforeignlanguage{English}{Business \& Information Systems
  Engineering}}, 2013.

\bibitem{ardakanian2012realtime}
O.~Ardakanian, C.~Rosenberg, and S.~Keshav, ``{Real-time distributed congestion
  control for electrical vehicle charging},'' \emph{ACM SIGMETRICS Performance
  Evaluation Review}, vol.~40, no.~3, pp. 38--42, 2012.

\bibitem{Ardakanian2013a}
------, ``{Distributed control of electric vehicle charging},'' in
  \emph{{Proceedings of the fourth International Conference on Future Energy
  Systems}}, 2013.

\bibitem{ardakanian2014real}
O.~Ardakanian, S.~Keshav, and C.~Rosenberg, ``{Real-Time Distributed Control
  for Smart Electric Vehicle Chargers: From a Static to a Dynamic Study},''
  \emph{IEEE Transactions on Smart Grid}, vol.~5, no.~5, pp. 2295--2305, Sept
  2014.

\bibitem{JoseRiveraCDC14}
J.~Rivera and H.-A. Jacobsen, ``{A distributed anytime algorithm for network
  utility maximization with application to real-time EV charging control},'' in
  \emph{{Decision and Control (CDC), 2014 IEEE 53rd Annual Conference on}}, Dec
  2014, pp. 947--952.

\bibitem{RiveraEenergy}
J.~Rivera, C.~Goebel, and H.-A. Jacobsen, ``{A distributed anytime algorithm
  for real-time EV charging congestion control},'' in \emph{{Proceedings of the
  2015 ACM Sixth International Conference on Future Energy Systems}}, ser.
  {e-Energy '15}.

\bibitem{turitsyn2010robust}
K.~Turitsyn, N.~Sinitsyn, S.~Backhaus, and M.~Chertkov, ``{Robust
  broadcast-communication control of electric vehicle charging},'' in
  \emph{{Smart Grid Communications (SmartGridComm), 2010 First IEEE
  International Conference on}}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE,
  2010, pp. 203--207.

\bibitem{studli2012aimd}
``{AIMD-like algorithms for charging electric and plug-in hybrid vehicles},''
  in \emph{{Electric Vehicle Conference (IEVC), 2012 IEEE International}}.

\bibitem{Gan.2012}
L.~Gan, U.~Topcu, and S.~H. Low, ``{Optimal decentralized protocol for electric
  vehicle charging},'' \emph{IEEE Trans. Power Systems}, vol.~PP, no.~99, pp.
  1--12, 2012.

\bibitem{Mercurio2013}
A.~Mercurio, A.~{Di Giorgio}, and F.~Purificato, ``{Optimal fully electric
  vehicle load balancing with an ADMM algorithm in smart grids},'' in
  \emph{{Control \& Automation (MED), 2013 21st Mediterranean Conference
  on}}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2013, pp. 119--124.

\bibitem{Ma2014}
W.-J. Ma, V.~Gupta, and U.~Topcu, ``{On distributed charging control of
  electric vehicles with power network capacity constraints},'' in
  \emph{{American Control Conference (ACC), 2014}}.\hskip 1em plus 0.5em minus
  0.4em\relax IEEE, 2014, pp. 4306--4311.

\bibitem{JoseRivera}
J.~Rivera, P.~Wolfrum, S.~Hirche, C.~C. Goebel, and H.-A. Jacobsen,
  ``{Alternating direction method of multipliers for decentralized electric
  vehicle charging control},'' in \emph{{52nd IEEE Conference on Decision and
  Control (CDC)}}, 2013, p.~6.

\bibitem{RiveraEVADMM}
J.~Rivera, C.~Goebel, and H.~A. Jacobsen, ``{Distributed convex optimization
  for electric vehicle aggregators},'' \emph{IEEE Transactions on Smart Grid},
  vol.~PP, no.~99, pp. 1--12, 2016.

\bibitem{Kelly98}
F.~Kelly, A.~Maulloo, and D.~Tan, ``{Rate control in communication networks:
  Shadow prices, proportional fairness and stability},'' in \emph{{Journal of
  the Operational Research Society}}, vol.~49, 1998.

\bibitem{mo2000fair}
J.~Mo and J.~Walrand, ``{Fair end-to-end window-based congestion control},''
  \emph{IEEE/ACM Transactions on Networking (ToN)}, vol.~8, no.~5, pp.
  556--567, 2000.

\bibitem{BertsekasDCBook}
D.~P. Bertsekas and J.~N. Tsitsiklis, \emph{{Parallel and Distributed
  Computation: Numerical Methods}}.\hskip 1em plus 0.5em minus 0.4em\relax
  Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1989.

\bibitem{LectureBoyd}
S.~Boyd, L.~Xiao, A.~Mutapic, J.~Dattorro, and J.~Mattingley, ``{Subgradient
  methods, decomposition methods, alternating projections},'' {Notes for
  EE364b, Stanford University}, 2007.

\bibitem{BoydBook}
S.~P. Boyd and L.~Vandenberghe, \emph{{Convex Optimization}}.\hskip 1em plus
  0.5em minus 0.4em\relax Cambridge University Press, 2004.

\bibitem{EULVgrid}
{IEEE}, ``{IEEE Radial Distribution Test Feeders},'' Online:
  \href{https://ewh.ieee.org/soc/pes/dsacom/testfeeders/}{https://ewh.ieee.org/soc/pes/dsacom/testfeeders/},
  accessed: 15.02.2016.

\bibitem{IEEERadialTestFeeders}
W.~Kersting, ``{Radial distribution test feeders},'' in \emph{{Power
  Engineering Society Winter Meeting}}, vol.~2, 2001.

\bibitem{chassin2008gridlab}
D.~P. Chassin, K.~Schneider, and C.~Gerkensmeyer, ``{GridLAB-D: An open-source
  power systems modeling and simulation environment},'' in \emph{{2008 IEEE/PES
  Transmission and Distribution Conference and Exposition}}, 2008.

\bibitem{EsriBook}
B.~Meehan, \emph{{Modeling Electric Distribution with GIS}}.\hskip 1em plus
  0.5em minus 0.4em\relax Esri Press, 2013.

\end{thebibliography}
