algorithm2e 包行未以 forall 循环结尾

algorithm2e 包行未以 forall 循环结尾

我的代码如下,我检查了类似的问题,但找不到答案。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[]{algorithm2e}
\begin{document}

\begin{algorithm}
\SetAlgoLined
\KwData{Haftalık satışlar}
\KwResult{ $p$, $q$ ve $m$ parametrelerinin tahmini}
Başlangıç\;
Rastgele $N$ adet $(p,q,m)$ üçlüsü (başlangıç noktası) oluştur.\\ 
\ForAll{Başlangıç noktaları}
{
 \vspace{1mm}\\
  deneme $\leftarrow 1$\;
  uygunluk\textsubscript{1}  $\leftarrow$ calcFitness(p,q,m)\;
 \vspace{1mm}\\
 \While{$n$ $<$ iterasyonSınırı \hspace{1mm}\&\hspace{1mm}$deneme$ $<$ $k$}{
     \While{p $!=$ ChangeP(p,uygunluk\textsubscript{1})}{
          $p^\prime \leftarrow$ ChangeP(p,uygunluk\textsubscript{1})\;
          $p \leftarrow p^\prime$\;
          $uygunluk_1  \leftarrow calcFitness(p,q,m)$\;
     }
     \While{q $!=$ ChangeQ(q,uygunluk\textsubscript{1})}{
          $q^\prime \leftarrow$ ChangeQ(q,uygunluk\textsubscript{1})\;
          $q \leftarrow q^\prime$\;
          $uygunluk_1  \leftarrow calcFitness(p,q,m)$\;
     }
     \While{m != ChangeM(m,uygunluk\textsubscript{1})}{
          $m^\prime \leftarrow$ ChangeM(m,uygunluk\textsubscript{1})\;
          $m \leftarrow m^\prime$\;
          uygunluk\textsubscript{1} \leftarrow $calcFitness(p,q,m)$\;
     }
  $n \leftarrow n+1$\;
  uygunluk\textsubscript{2} $\leftarrow$ $calcFitness(p,q,m)$\;
  uygunluk\textsubscript{2} çözüm havuzuna ekle \\
 \If{uygunluk\textsubscript{1} = uygunluk\textsubscript{2}}{
      deneme $\leftarrow$ deneme$+1$\;
 }
 }
 \If{ uygunluk\textsubscript{2} $\leq$ havuzda mevcut en küçük uygunluk değeri}{
      $p^\star \leftarrow p$\;
      $q^\star \leftarrow q$\;
      $m^\star \leftarrow m$\;
 }
}


\textbf{return} p\textsuperscript{$\star$}, q\textsuperscript{$\star$} ve m\textsuperscript{$\star$}
\end{algorithm}


\end{document}

答案1

非常感谢大家的反馈,我根据你们的指示解决了这个问题。祝好,

\begin{algorithm}
    \SetAlgoLined
     \KwData{Haftalık satışlar}
     \KwResult{$p$, $q$ ve $m$ parametrelerinin tahmini}
     Başlangıç\;
      Rastgele $N$ adet $(p,q,m)$ üçlüsü (başlangıç noktası) oluştur.\\ 
    \BlankLine
    \ForAll{Başlangıç noktaları}{
        $deneme \leftarrow 1$\;
         uygunluk\textsubscript{1}  $\leftarrow$ calcFitness(p,q,m)\;
        \While{$n$ $<$ iterasyonSınırı \hspace{1mm}\&\hspace{1mm}$deneme$ $<$ $k$}{
            \While{p $!=$ ChangeP(p,uygunluk\textsubscript{1})}{
                 $p^\prime \leftarrow$ ChangeP(p,uygunluk\textsubscript{1})\;
                 $p \leftarrow p^\prime$\;
                 $uygunluk_1  \leftarrow calcFitness(p,q,m)$\;
            }
            \While{q $!=$ ChangeQ(q,uygunluk\textsubscript{1})}{
                 $q^\prime \leftarrow$ ChangeQ(q,uygunluk\textsubscript{1})\;
                 $q \leftarrow q^\prime$\;
                 $uygunluk_1  \leftarrow calcFitness(p,q,m)$\;
            }
            \While{m != ChangeM(m,uygunluk\textsubscript{1})}{
                 $m^\prime \leftarrow$ ChangeM(m,uygunluk\textsubscript{1})\;
                 $m \leftarrow m^\prime$\;
                 uygunluk\textsubscript{1} $\leftarrow calcFitness(p,q,m)$\;
            }
         $n \leftarrow n+1$\;
         uygunluk\textsubscript{2} $\leftarrow$ $calcFitness(p,q,m)$\;
         uygunluk\textsubscript{2} çözüm havuzuna ekle \\
        \If{uygunluk\textsubscript{1} = uygunluk\textsubscript{2}}{
             $deneme \leftarrow deneme+1$\;
        }
        }
        \If{ uygunluk\textsubscript{2} $\leq$ havuzda mevcut en küçük uygunluk değeri}{
             $p^\star \leftarrow p$\;
             $q^\star \leftarrow q$\;
             $m^\star \leftarrow m$\;
        }
    }

    \textbf{return} p\textsuperscript{$\star$}, q\textsuperscript{$\star$} ve m\textsuperscript{$\star$}\;


    \end{algorithm}

相关内容