\begin{tikzpicture}[>=latex,line join=bevel,] \pgfsetlinewidth{1bp} %% \pgfsetcolor{black} % Edge: a -> b \draw [->] (82.074bp,38.164bp) .. controls (89.035bp,40.153bp) and (96.564bp,42.304bp) .. (113.82bp,47.233bp); % Edge: aa -> b \draw [->] (93.314bp,77.212bp) .. controls (96.975bp,76.131bp) and (100.7bp,75.032bp) .. (114.15bp,71.061bp); % Edge: c -> d \draw [->] (273bp,67.942bp) .. controls (273bp,65.452bp) and (273bp,62.962bp) .. (273bp,50.234bp); % Edge: b -> c \draw [->] (196.27bp,70.892bp) .. controls (203.48bp,72.969bp) and (211.08bp,75.158bp) .. (228.34bp,80.131bp); % Edge: d -> b \draw [->] (222.2bp,39.636bp) .. controls (216.93bp,41.157bp) and (211.56bp,42.703bp) .. (196.27bp,47.108bp); % Node: aa \begin{scope} \definecolor{strokecol}{rgb}{0.0,0.0,0.0}; \pgfsetstrokecolor{strokecol} \draw (50bp,90bp) ellipse (50bp and 25bp); \draw (50bp,90bp) 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,29bp) ellipse (37bp and 18bp); \draw (50bp,29bp) node {generate $G_i$}; \end{scope} % Node: c \begin{scope} \definecolor{strokecol}{rgb}{0.0,0.0,0.0}; \pgfsetstrokecolor{strokecol} \draw (273bp,93bp) ellipse (51bp and 25bp); \draw (273bp,93bp) node {$\begin{array}{c}\text{compute}\\ \text{new columns }c_i\\ = \text{best path}(G_i)\end{array}$}; \end{scope} % Node: b \begin{scope} \definecolor{strokecol}{rgb}{0.0,0.0,0.0}; \pgfsetstrokecolor{strokecol} \draw (155bp,59bp) ellipse (46bp and 25bp); \draw (155bp,59bp) 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 (273bp,25bp) ellipse (62bp and 25bp); \draw (273bp,25bp) node {$\begin{array}{c}\text{solve }LRMP \\ \text{and compute optimal}\\ \text{dual variables }\mu_h, u_i\end{array}$}; \end{scope} % \end{tikzpicture}