% The block diagram code is probably more verbose than necessary
\begin{tikzpicture}[auto, node distance=2cm]
    \node[problem] (sp) {\problem{SP}};
	\node[solution, right of=sp] (r-sp) {T/N};
	\node[left of=sp] (i-sp) {$A, n$};
	
    \node[problem, below of=sp] (por) {\problem{POR}};
	\node[solution, right of=por] (r-por) {T/N};
	\node[left of=por] (i-por) {$W, sz, d$};
	
	\draw[->, alpha, left] (i-sp) -- node[right] {$f$} (i-por);
	
	\draw[->] (sp) -- (r-sp);
	\draw[->] (por) -- (r-por);
	
	\draw[->] (i-sp) -- (sp);
	\draw[->] (i-por) -- (por);
	
	\draw[Implies-Implies, double distance=2pt] (r-sp) -- (r-por);
\end{tikzpicture}
