Introduction
L'algorithme de Karmarkar est un algorithme introduit par Narenda Karmarkar en 1984 pour résoudre les problèmes de programmation linéaire. C'est le premier algorithme réellement efficace qui résout ces problèmes en un temps polynomial. La méthode des ellipsoïdes fonctionne aussi en temps polynomial mais est inefficace en pratique.
En posant n le nombre de variables et L le nombre de bits d'entrée de l'algorithme, l'algorithme de Karmarkar réalise O(n**L) opérations sur O(L) bits à comparer aux O(n**L) opérations pour la méthode des ellipsoïdes. Le temps d'exécution de l'algorithme de Karmarkar est ainsi O(n**LlnLlnlnL) en utilisant l'algorithme de Schönhage-Strassen (voir Comparaison asymptotique).
L'algorithme de Karmakar est une méthode du point intérieur : la solution candidate courante ne suit pas les bornes de l'espace faisable comme dans l'algorithme du simplexe, mais approche par l'intérieur de l'espace faisable et atteint la solution optimale de manière asymptotique.