Quelle est la limite supérieure de l'algorithme simplex pour la recherche d'une solution à un programme linéaire?
Comment pourrais-je trouver une preuve pour un tel cas? Il semble que le pire des cas soit si chaque sommet doit être visité, c’est-à-dire . Cependant, dans la pratique, l’algorithme simplex sera exécuté beaucoup plus rapidement que cela pour des problèmes plus courants.
Comment puis-je raisonner sur la complexité moyenne d'un problème résolu par cette méthode?
Toute information ou référence est grandement appréciée!
Réponses:
L'algorithme simplex visite effectivement tous les sommets dans le pire des cas ( Klee & Minty 1972 ), ce qui s'avère être vrai pour toute règle de pivot déterministe. Cependant, dans un document historique utilisant une analyse lissée, Spielman et Teng (2001) ont montré que lorsque les entrées de l’algorithme sont légèrement perturbées de manière aléatoire, la durée de fonctionnement attendue de l’algorithme simplex est polynomiale pour toutes les entrées. la méthode du simplex résoudra efficacement tous les problèmes, qu'il s'agisse d'un problème «proche», qui couvre pratiquement tous les programmes linéaires du monde réel que vous souhaitez résoudre. Par la suite, Kelner et Spielman (2006) ont présenté2n Un algorithme simplex temps aléatoire polynomial qui fonctionne vraiment sur toutes les entrées, même les mauvaises pour l'algorithme simplex d'origine.
la source
Comme Lev dit, dans le pire des cas , les visites de l' algorithme tous les2ré sommets où ré est le nombre de variables. Cependant, les performances de l'algorithme simplex peuvent également dépendre fortement de la règle de pivot spécifique utilisée. Autant que je sache, la question de savoir s'il existe une règle de pivot déterministe spécifique avec un temps d'exécution sous-exponentiel dans le cas le plus défavorable reste une question ouverte. De nombreux candidats ont été écartés par des résultats inférieurs. Récemment, Friedmann, Hansen et Zwick ont également montré les premières limites inférieures non polynomiales pour certaines règles de pivot aléatoires naturelles avec quelques corrections apportées ultérieurement .
Cependant, au résultat de l'analyse lissée mentionné par Lev: Suite à la présentation de l'analyse lissée par Spielman et Tengs, Vershynin a encore amélioré ses limites en 2006. Il a montré que la durée de fonctionnement attendue sur des instances légèrement perturbées n'est que poly-logarithmique contraintesn , au lieu de n86 .
la source
Pour obtenir des informations sur l'analyse des cas pires et moyens de la méthode simplex, vous devez lire "Analyse lissée: Pourquoi l'algorithme simplex prend généralement le temps polynomial". par Spielman et Teng.
la source
La section 8.6, Optimisation combinatoire de Papadimitriou & Steiglitz, explique pourquoi simplex ne fonctionne pas en temps polynomial, plutôt que pourquoi elle est exponentielle. Elle montre que Simplex n'est pas un algorithme à temps polynomial.
la source
Quelqu'un peut-il suggérer d'autres moyens de construire des problèmes difficiles pour la méthode simplex, lents mais non liés à la mémoire?
Ajouté: Les carrés latins appelés matrices de 3d-permutation semblent avoir beaucoup de sommets - combien?
La théorie et la pratique sont plus proches théoriquement que pratiques.
la source
L' algorithme Simplex d' origine peut diverger; il passe sur certaines instances. Par conséquent, aucune liaison générale. D'autres réponses vous apportent des réponses pour les diverses modifications de l'algorithme Simplex.
la source