Je me demande quel est l'algorithme le plus connu, en termes de notation Big- , pour résoudre la programmation linéaire en nombres entiers?
Je sais que le problème est complet, donc je ne m'attends à rien de polynomial. Et je sais qu'il y a beaucoup d'heuristiques et autres qui sont utilisées dans des applications pratiques comme CPLEX, mais je suis plus intéressé par la complexité formelle du pire des cas d'un algorithme exact.
Certains problèmes complétés par ont des algorithmes dans le temps O ( b n p ( n ) ) où et est un polynôme. La couverture Vertex, le set indépendant et le 3SAT entrent dans cette catégorie, mais pas le général-SAT et le TSP (à notre connaissance).
De telles déclarations peuvent-elles être faites à propos de la programmation entière ou de sous-instances particulières?
Si quelqu'un a une référence pour le problème connexe de l'arithmétique sans quantificateur libre, je serais très intéressé par cela aussi.
Réponses:
D'après ce que je peux dire en cherchant, le sondage définitif semble être:
Aardal, Karen, Robert Weismantel et Laurence A. Wolsey. "Approches non standard de la programmation entière." Mathématiques appliquées discrètes 123.1 (2002): 5-74.
En particulier, la section 2.1 discute de la programmation entière en dimension bornée et présente des algorithmes dus à différents auteurs. En effet, l'enquête répertorie de nombreuses références et discute de quelques implémentations pratiques.
Pour un nombre fixe de variables, la programmation linéaire entière est résolue en temps polynomial par l'algorithme de Lenstra.
la source