Can you correct my code plz ?
\documentclass{article}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{Algorithme Branch \& Bound}
\label{algorithme_Branch_Bound}
\begin{algorithmic}
\STATE $activeset := \left\{\emptyset\right\};$
\STATE $bestval := NULL;$
\STATE $currentbest:=NULL;$ \\
\While{activeset n'est pas vide}{ \
\STATE choisir un n\oe{}ud de branchement, n\oe{}ud $ k \in activeset $ \;
\STATE retirer le n\oe{}ud de activeset \;
\STATE générer les enfants du n\oe{}ud $k$, enfant $i$, avec $i = 1,...,n_{k}$ \;
\STATE et bornes optimistes correspondant $ob_{i}$ \;
\FOR{$i=1$ vers $n_{k}$}
\IF{$ob_{i}$ pire que bestval}
\STATE tuer l'enfant $i$ \;
\ELSIF{l'enfant est une solution complète}
\STATE $bestval := ob_{i}$ \;
\STATE $currentbest := enfant i$ \;
\STATE $rajouter l'enfant i dans activeset$ \;
\ENDFOR
}
\end{algorithmic}
\end{algorithm}
\end{document}
my problem is here :
\FOR{$i=1$ vers $n_{k}$}
\IF{$ob_{i}$ pire que bestval}
\STATE tuer l'enfant $i$ \;
\ELSIF{l'enfant est une solution complète}
\STATE $bestval := ob_{i}$ \;
\STATE $currentbest := enfant i$ \;
\STATE $rajouter l'enfant i dans activeset$ \;
\ENDFOR
Best Answer
You seem to be mixing the syntax of different algorithm-like packages into one:
\STATE
is fromalgorithmic
;\While
and\For
are fromalgpseudocode
;\;
as a line-ending is typical foralgorithm2e
.Also, even though you specify
you still have to provide an accompanying
\End...
for every programming structure.Here's your example, with some tweaks, that works: