Optimisation convexevignette|320x320px|Optimisation convexe dans un espace en deux dimensions dans un espace contraint L'optimisation convexe est une sous-discipline de l'optimisation mathématique, dans laquelle le critère à minimiser est convexe et l'ensemble admissible est convexe. Ces problèmes sont plus simples à analyser et à résoudre que les problèmes d'optimisation non convexes, bien qu'ils puissent être NP-difficile (c'est le cas de l'optimisation copositive). La théorie permettant d'analyser ces problèmes ne requiert pas la différentiabilité des fonctions.
Fonction convexevignette|upright=1.5|droite|Fonction convexe. En mathématiques, une fonction réelle d'une variable réelle est dite convexe : si quels que soient deux points et du graphe de la fonction, le segment est entièrement situé au-dessus du graphe, c’est-à-dire que la courbe représentative de la fonction se situe toujours en dessous de ses cordes ; ou si l'épigraphe de la fonction (l'ensemble des points qui sont au-dessus de son graphe) est un ensemble convexe ; ou si vu d'en dessous, le graphe de la fonction est en bosse.
Algorithme du gradientLalgorithme du gradient, aussi appelé algorithme de descente de gradient, désigne un algorithme d'optimisation différentiable. Il est par conséquent destiné à minimiser une fonction réelle différentiable définie sur un espace euclidien (par exemple, , l'espace des n-uplets de nombres réels, muni d'un produit scalaire) ou, plus généralement, sur un espace hilbertien. L'algorithme est itératif et procède donc par améliorations successives. Au point courant, un déplacement est effectué dans la direction opposée au gradient, de manière à faire décroître la fonction.
Fonction concaveEn mathématiques, une fonction f est dite concave lorsque la fonction opposée –f est convexe. Le fait que l'on préfère commencer par définir la notion de fonction convexe et d'en déduire celle de fonction concave trouve son origine dans le fait que l'on définit aisément la notion d'ensemble convexe, alors que celle d'« ensemble concave » est moins naturelle. On définit alors les fonctions convexes comme celles ayant un épigraphe convexe (les fonctions concaves ont un hypographe convexe).
Ensemble convexeUn objet géométrique est dit convexe lorsque, chaque fois qu'on y prend deux points et , le segment qui les joint y est entièrement contenu. Ainsi un cube plein, un disque ou une boule sont convexes, mais un objet creux ou bosselé ne l'est pas. On suppose travailler dans un contexte où le segment reliant deux points quelconques et a un sens (par exemple dans un espace affine sur R — en particulier dans un espace affine sur C — ou dans un ).
Optimisation (mathématiques)L'optimisation est une branche des mathématiques cherchant à modéliser, à analyser et à résoudre analytiquement ou numériquement les problèmes qui consistent à minimiser ou maximiser une fonction sur un ensemble. L’optimisation joue un rôle important en recherche opérationnelle (domaine à la frontière entre l'informatique, les mathématiques et l'économie), dans les mathématiques appliquées (fondamentales pour l'industrie et l'ingénierie), en analyse et en analyse numérique, en statistique pour l’estimation du maximum de vraisemblance d’une distribution, pour la recherche de stratégies dans le cadre de la théorie des jeux, ou encore en théorie du contrôle et de la commande.
Méthode du gradient conjuguévignette|Illustration de la méthode du gradient conjugué. En analyse numérique, la méthode du gradient conjugué est un algorithme pour résoudre des systèmes d'équations linéaires dont la matrice est symétrique définie positive. Cette méthode, imaginée en 1950 simultanément par Cornelius Lanczos, Eduard Stiefel et Magnus Hestenes, est une méthode itérative qui converge en un nombre fini d'itérations (au plus égal à la dimension du système linéaire).
Logarithmically concave functionIn convex analysis, a non-negative function f : Rn → R+ is logarithmically concave (or log-concave for short) if its domain is a convex set, and if it satisfies the inequality for all x,y ∈ dom f and 0 < θ < 1. If f is strictly positive, this is equivalent to saying that the logarithm of the function, log ∘ f, is concave; that is, for all x,y ∈ dom f and 0 < θ < 1. Examples of log-concave functions are the 0-1 indicator functions of convex sets (which requires the more flexible definition), and the Gaussian function.
Optimisation combinatoireL’optimisation combinatoire, (sous-ensemble à nombre de solutions finies de l'optimisation discrète), est une branche de l'optimisation en mathématiques appliquées et en informatique, également liée à la recherche opérationnelle, l'algorithmique et la théorie de la complexité. Dans sa forme la plus générale, un problème d'optimisation combinatoire (sous-ensemble à nombre de solutions finies de l'optimisation discrète) consiste à trouver dans un ensemble discret un parmi les meilleurs sous-ensembles (ou solutions) réalisables, la notion de meilleure solution étant définie par une fonction objectif.
Algorithme de rechercheEn informatique, un algorithme de recherche est un type d'algorithme qui, pour un domaine, un problème de ce domaine et des critères donnés, retourne en résultat un ensemble de solutions répondant au problème. Supposons que l'ensemble de ses entrées soit divisible en sous-ensemble, par rapport à un critère donné, qui peut être, par exemple, une relation d'ordre. De façon générale, un tel algorithme vérifie un certain nombre de ces entrées et retourne en sortie une ou plusieurs des entrées visées.
Optimisation de codeEn programmation informatique, l'optimisation de code est la pratique consistant à améliorer l'efficacité du code informatique d'un programme ou d'une bibliothèque logicielle. Ces améliorations permettent généralement au programme résultant de s'exécuter plus rapidement, de prendre moins de place en mémoire, de limiter sa consommation de ressources (par exemple les fichiers), ou de consommer moins d'énergie électrique. La règle numéro un de l'optimisation est qu'elle ne doit intervenir qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles.
Algorithmethumb|Algorithme de découpe d'un polygone quelconque en triangles (triangulation). Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que le fonctionnement des ordinateurs, la cryptographie, le routage d'informations, la planification et l'utilisation optimale des ressources, le , le traitement de textes, la bio-informatique L' algorithme peut être mis en forme de façon graphique dans un algorigramme ou organigramme de programmation.
Dualité (optimisation)En théorie de l'optimisation, la dualité ou principe de dualité désigne le principe selon lequel les problèmes d'optimisation peuvent être vus de deux perspectives, le problème primal ou le problème dual, et la solution du problème dual donne une borne inférieure à la solution du problème (de minimisation) primal. Cependant, en général les valeurs optimales des problèmes primal et dual ne sont pas forcément égales : cette différence est appelée saut de dualité. Pour les problèmes en optimisation convexe, ce saut est nul sous contraintes.
Rayon de convergenceLe rayon de convergence d'une série entière est le nombre réel positif ou +∞ égal à la borne supérieure de l'ensemble des modules des nombres complexes où la série converge (au sens classique de la convergence simple): Si R est le rayon de convergence d'une série entière, alors la série est absolument convergente sur le disque ouvert D(0, R) de centre 0 et de rayon R. Ce disque est appelé disque de convergence. Cette convergence absolue entraine ce qui est parfois qualifié de convergence inconditionnelle : la valeur de la somme en tout point de ce disque ne dépend pas de l'ordre des termes.
Fonction quasi-convexeEn mathématiques, une fonction quasi-convexe est une fonction à valeurs réelles, définie sur un ensemble convexe d'un espace vectoriel réel, telle que l' de tout ensemble de la forme est convexe ou encore telle que, sur tout segment, la plus grande valeur de la fonction est atteinte à l'une des extrémités. L'opposée d'une fonction quasi-convexe est dite quasi-concave. Toute fonction convexe est quasi-convexe mais la réciproque est fausse : par exemple, toute fonction monotone sur un intervalle réel est quasi-linéaire, c'est-à-dire à la fois quasi-convexe et quasi-concave.
Algorithme génétiqueLes algorithmes génétiques appartiennent à la famille des algorithmes évolutionnistes. Leur but est d'obtenir une solution approchée à un problème d'optimisation, lorsqu'il n'existe pas de méthode exacte (ou que la solution est inconnue) pour le résoudre en un temps raisonnable. Les algorithmes génétiques utilisent la notion de sélection naturelle et l'appliquent à une population de solutions potentielles au problème donné.
Algorithme de triUn algorithme de tri est, en informatique ou en mathématiques, un algorithme qui permet d'organiser une collection d'objets selon une relation d'ordre déterminée. Les objets à trier sont des éléments d'un ensemble muni d'un ordre total. Il est par exemple fréquent de trier des entiers selon la relation d'ordre usuelle « est inférieur ou égal à ». Les algorithmes de tri sont utilisés dans de très nombreuses situations. Ils sont en particulier utiles à de nombreux algorithmes plus complexes dont certains algorithmes de recherche, comme la recherche dichotomique.
Algorithme probabilisteEn algorithmique, un algorithme probabiliste, ou algorithme randomisé, est un algorithme qui utilise une source de hasard. Plus précisément le déroulement de l’algorithme fait appel à des données tirées au hasard. Par exemple à un certain point de l’exécution, on tire un bit 0 ou 1, selon la loi uniforme et si le résultat est 0, on fait une certaine action A et si c'est 1, on fait une autre action. On peut aussi tirer un nombre réel dans l'intervalle [0,1] ou un entier dans un intervalle [i..j].
Peephole optimizationPeephole optimization is an optimization technique performed on a small set of compiler-generated instructions; the small set is known as the peephole or window. Peephole optimization involves changing the small set of instructions to an equivalent set that has better performance.
Calcul stochastiqueLe calcul est l’étude des phénomènes aléatoires dépendant du temps. À ce titre, c'est une extension de la théorie des probabilités. Ne pas confondre avec la technique des calculateurs stochastiques. Le domaine d’application du calcul stochastique comprend la mécanique quantique, le traitement du signal, la chimie, les mathématiques financières, la météorologie et même la musique. Un processus aléatoire est une famille de variables aléatoires indexée par un sous-ensemble de ou , souvent assimilé au temps (voir aussi Processus stochastique).