L'Optimisation Combinatoire consiste à trouver la meilleure solution parmi un nombre fini (mais souvent très grand) de choix.
C'est une branche de la « Programmation Mathématique » qui recouvre les méthodes qui servent à déterminer l'optimum d'une fonction sous des contraintes données.