\documentclass{book}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usepackage{xepersian}
\settextfont[Scale=1]{XB Zar}
\setdigitfont[Scale=1]{PGaramond}
\PersianMathsDigits
\setlatintextfont[Scale=1]{Times New Roman}
\begin{document}
\pagestyle{empty}
\begin{center}
\tikzstyle{decision} = [diamond, draw, fill=blue!20, 
    text width=3em, text badly centered, node distance=2cm, inner sep=0pt]
\tikzstyle{block} = [rectangle, draw, fill=blue!10, 
    text width=15em, text centered, rounded corners,  node distance=1.8cm, minimum height=1em]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{cloud} = [draw, ellipse,fill=red!20, node distance=2cm,
    minimum height=1em]
   
\begin{tikzpicture}[node distance = 1cm, auto]
    % Place nodes
    \node [block] (A) {\rl{بهترین کران بالای جاری را $\infty$ قرار دهید}};
    \node [block, below of=A] (B) {\rl{مسئله کاملا ساده شده را حل می‌کنیم}};
    \node [block, below of=B] (C) {\rl{ انتخاب یک متغیر شاخه وکران و  $N$ را به روز کنید}};
    \node [decision, below of=C] (E) {$N=0$};
    \node [cloud, right of=E] (F) {\rl{توقف}};
    \node [block, below of=E] (G) {\rl{گره  $i$ ام را انتخاب کنید و $N=N\setminus \{i\}$}};
    \node [block, below of=G] (H) {\rl{حل مسئله  $mp-LP$ }};
    \node [block, below of=H] (J) {\rl{مقایسه توابع هدف}};
%    \node [block, below of=J] (K) {\rl{فضای نامعین $\Xi_i$ را کنار می‌گذاریم بطوریکه:  
%         ۱- مسئله (۳) نشدنی باشد 
%             ۲- جواب صحیح پیدا شود 
%                  ۳- جواب از بهترین کران بالا بزرگتر باشد}};
    \node [decision, below of=J] (L) {$P^\prime=0$};
    \node [block, below of=L] (M) {\rl{ایجاد تخمین بالا و پایین}};
    \node [block, below of=M] (N) {\rl{ترک فضای نامعین           ۱- مسئله نشدنی باشد        ۲-جواب از بهترین کران بالا بزرگتر باشد }};
    \node [block, right of=N] (P) {\rl{ فضای $\Xi$  را ترک می‌کنیم         ۱- مسئله نشدنی باشد            ۲- جواب صحیح پیدا شود                 ۳- جواب از بهترین کران بالا بزرگتر باشد}};   
    \node [decision, below of=N] (Q) {\rl{جواب صحیح}};
    \node [block, right of=Q] (R) {\rl{استفاده از تخمین بالا و پایین بطوریکه شامل دسته‌ای از جواب‌ها باشد}};
    \node [decision, below of=Q] (S) {$\Xi_i=\emptyset$};
     %Draw edges
    \path [line] (A) -- (B);
    \path [line] (B) -- (C);
    \path [line] (C) -- (E);
    \path [line] (E) -- node {\rl{نه}} (F);
    \path [line] (E) -- (G);
    \path [line] (G) -- (H);
    \path [line] (H) -- (J);
    \path [line] (J) -- (L);
%    \path [line] (K) -- (L);
    \path [line] (L) -- node{{\rl{نه}}} (M);
    \path [line] (M) -- (N);
    \path [line] (N) -- (Q);
    \path [line] (Q) -- node{{\rl{نه}}} (S);
    \path [line] (L) -| node{{\rl{بله}}} (P);
     \path [line] (P) |- node{} (S);
     \path [line] (Q) -| node{{\rl{بله}}} (R);
     \path [line] (R) |- (S);
    \path[line] (S.south) -- ++(-5,0) |- node[pos=.21]{{\rl{نه}}}  (C);
     \path[line] (S) -- ++(-4,0) |- node[pos=.25]{{\rl{بله}}}  (G);
\end{tikzpicture}
\end{center}
\end{document}