Les algorithmes d'optimisation sont des processus itératifs que génèrent une séquence de valeurs xn+1 à partir d'un point de départ x0.
Un algorithme est convergent quand pour n'importe quel point de départ, la séquence arrive à la solution (maximum ou minimum).
Le principe d'optimisation est l'application du principe ALARA, énoncé par la CIPR 60 en 1990 : « maintenir le niveau des expositions individuelles et le nombre de personnes exposées aussi bas qu'il est raisonnablement possible compte tenu des considérations économiques et sociales ».
Un algorithme est dit optimal si sa complexité est la complexité minimale parmi tous les algorithmes de sa classe.
Nous nous intéresserons quasi exclusivement à la complexité en temps des algorithmes.