\begin{tikzpicture}[>=latex,line join=bevel,] \pgfsetlinewidth{1bp} %% \pgfsetcolor{black} % Edge: a -> b \draw [->] (82.074bp,27.164bp) .. controls (89.035bp,29.153bp) and (96.564bp,31.304bp) .. (113.82bp,36.233bp); % Edge: aa -> b \draw [->] (93.314bp,66.212bp) .. controls (96.975bp,65.131bp) and (100.7bp,64.032bp) .. (114.15bp,60.061bp); % Edge: c -> d \draw [->] (271bp,56.764bp) .. controls (271bp,54.301bp) and (271bp,51.838bp) .. (271bp,39.25bp); % Edge: b -> c \draw [->] (197.54bp,58.267bp) .. controls (204.56bp,59.963bp) and (211.91bp,61.737bp) .. (228.86bp,65.828bp); % Edge: d -> b \draw [->] (222.98bp,31.591bp) .. controls (217.84bp,32.832bp) and (212.59bp,34.099bp) .. (197.54bp,37.733bp); % Node: aa \begin{scope} \definecolor{strokecol}{rgb}{0.0,0.0,0.0}; \pgfsetstrokecolor{strokecol} \draw (50bp,79bp) ellipse (50bp and 25bp); \draw (50bp,79bp) node {$\begin{array}{c}\text{generate}\\\text{arbitrary initial}\\ \mu_h, u_i\end{array}$}; \end{scope} % Node: a \begin{scope} \definecolor{strokecol}{rgb}{0.0,0.0,0.0}; \pgfsetstrokecolor{strokecol} \draw (50bp,18bp) ellipse (37bp and 18bp); \draw (50bp,18bp) node {generate $G_i$}; \end{scope} % Node: c \begin{scope} \definecolor{strokecol}{rgb}{0.0,0.0,0.0}; \pgfsetstrokecolor{strokecol} \draw (271bp,76bp) ellipse (49bp and 19bp); \draw (271bp,76bp) node {$\begin{array}{c}\text{compute}\\ \text{new columns }c_i\end{array}$}; \end{scope} % Node: b \begin{scope} \definecolor{strokecol}{rgb}{0.0,0.0,0.0}; \pgfsetstrokecolor{strokecol} \draw (155bp,48bp) ellipse (46bp and 25bp); \draw (155bp,48bp) node {$\begin{array}{c}\text{compute}\\ \text{weights }w_a\\ \text{of arcs }a \in A_i\end{array}$}; \end{scope} % Node: d \begin{scope} \definecolor{strokecol}{rgb}{0.0,0.0,0.0}; \pgfsetstrokecolor{strokecol} \draw (271bp,20bp) ellipse (60bp and 19bp); \draw (271bp,20bp) node {$\begin{array}{c}\text{compute}\\ \text{dual variables }\mu_h, u_i\end{array}$}; \end{scope} % \end{tikzpicture}