De nombreux problèmes de mathématiques et d’informatique appliquées se ramènent à l’optimisation (maximisation ou minimisation) d’une certaine fonction : que ce soit dans la vie quotidienne (recherche de plus court chemin, création d’emploi du temps pour les écoles, affectation des étudiants aux universités et aux matières...), ou encore dans les processus économiques et industriels (conception d’équipement économes en énergie comme ceux des turbines, des voitures ou des éoliennes ; disposition et horaires d’un réseau de transports ; découverte de traitements médicaux appropriés à des maladies complexes ; etc...). La plupart de ces problèmes sont trop complexes pour admettre une solution analytique, c’est à dire que leur trouver une solution optimale est souvent impossible en un temps raisonnable. De plus, ils nécessitent souvent de prendre un grand nombre de décisions simultanées, donc une évaluation exhaustive de toutes les combinaisons possibles n’est pas envisageable : par exemple, planifier ’sport’ pour la classe 1 le lundi matin a une influence sur la disponibilité de la salle de gymnastique et sur les professeurs de sport de toutes les classes de cette école. On voit qu’une tentative de lister toutes les possibilités donnera lieu à une croissance incontrôlable de la complexité. En pratique, ces problèmes sont résolus par des algorithmes dits meta-heuristiques (ou heuristiques) qui recherchent un optimum en privilégiant la simplicité de calcul à l’exactitude de la solution : plutôt que de chercher une solution optimale, on se contente d’une solution satisfaisante ou pour le moins aussi bonne que possible.

Lire l'article de Carola Doerr sur Images des mathématiques.