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.
Commande optimaleLa théorie de la commande optimale permet de déterminer la commande d'un système qui minimise (ou maximise) un critère de performance, éventuellement sous des contraintes pouvant porter sur la commande ou sur l'état du système. Cette théorie est une généralisation du calcul des variations. Elle comporte deux volets : le principe du maximum (ou du minimum, suivant la manière dont on définit l'hamiltonien) dû à Lev Pontriaguine et à ses collaborateurs de l'institut de mathématiques Steklov , et l'équation de Hamilton-Jacobi-Bellman, généralisation de l'équation de Hamilton-Jacobi, et conséquence directe de la programmation dynamique initiée aux États-Unis par Richard Bellman.
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.
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.
Interprocedural optimizationInterprocedural optimization (IPO) is a collection of compiler techniques used in computer programming to improve performance in programs containing many frequently used functions of small or medium length. IPO differs from other compiler optimizations by analyzing the entire program as opposed to a single function or block of code. IPO seeks to reduce or eliminate duplicate calculations and inefficient use of memory and to simplify iterative sequences such as loops.
Programmation par contraintesLa programmation par contraintes (PPC, ou CP pour constraint programming en anglais) est un paradigme de programmation apparu dans les années 1970 et 1980 permettant de résoudre des problèmes combinatoires de grande taille tels que les problèmes de planification et d'ordonnancement. En programmation par contraintes, on sépare la partie modélisation à l'aide de problèmes de satisfaction de contraintes (ou CSP pour Constraint Satisfaction Problem), de la partie résolution dont la particularité réside dans l'utilisation active des contraintes du problème pour réduire la taille de l'espace des solutions à parcourir (on parle de propagation de contraintes).
Palier lisseUn palier lisse assure le guidage en rotation par glissement. Il est dépourvu d'éléments interposés, contrairement au roulement, dont le guidage est assuré par un ou plusieurs éléments roulants. Le terme anglais bearing désigne les deux types donc la confusion n'est pas rare dans les documents traduits. vignette|Exemple de palier lisse. Surface d'un arbre ou dans un alésage, ou pièce intercalée entre eux, permettant un glissement relatif l'un par rapport à l'autre avec un minimum d'usure et de frottement.
Optimisation multiobjectifL'optimisation multiobjectif (appelée aussi Programmation multi-objective ou optimisation multi-critère) est une branche de l'optimisation mathématique traitant spécifiquement des problèmes d'optimisation ayant plusieurs fonctions objectifs. Elle se distingue de l'optimisation multidisciplinaire par le fait que les objectifs à optimiser portent ici sur un seul problème. Les problèmes multiobjectifs ont un intérêt grandissant dans l'industrie où les responsables sont contraints de tenter d'optimiser des objectifs contradictoires.
Contrainte (mathématiques)En mathématiques, une contrainte est une condition que doit satisfaire la solution d'un problème d'optimisation. On distingue deux types de contraintes : les contraintes d'égalité et les contraintes en inégalité. L'ensemble des solutions satisfaisant toutes les contraintes est appelé l'ensemble admissible. On considère un problème d'optimisation classique : avec et et désigne le vecteur . Dans cet exemple, la première ligne montre la fonction à minimiser (appelée fonction objectif ou fonction-coût) mais aussi l'ensemble où la solution doit être recherché, ici C.
Optimizing compilerIn computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power consumption (the last three being popular for portable computers). Compiler optimization is generally implemented using a sequence of optimizing transformations, algorithms which take a program and transform it to produce a semantically equivalent output program that uses fewer resources or executes faster.
Fluid bearingFluid bearings are bearings in which the load is supported by a thin layer of rapidly moving pressurized liquid or gas between the bearing surfaces. Since there is no contact between the moving parts, there is no sliding friction, allowing fluid bearings to have lower friction, wear and vibration than many other types of bearings. Thus, it is possible for some fluid bearings to have near-zero wear if operated correctly. They can be broadly classified into two types: fluid dynamic bearings (also known as hydrodynamic bearings) and hydrostatic bearings.
Roulement mécaniqueEn mécanique, un roulement est un dispositif destiné à guider un assemblage en rotation, c'est-à-dire à permettre à une pièce de tourner par rapport à une autre selon un axe de rotation défini. Le roulement est donc un palier. Par rapport aux paliers lisses, le roulement permet d'avoir une très faible résistance au pivotement tout en supportant des efforts importants. Nous pouvons en trouver dans les machines à café, les skateboards, les trottinettes, les voitures... Le premier roulement mécanique connu date du .
Constraint satisfactionIn artificial intelligence and operations research, constraint satisfaction is the process of finding a solution through a set of constraints that impose conditions that the variables must satisfy. A solution is therefore a set of values for the variables that satisfies all constraints—that is, a point in the feasible region. The techniques used in constraint satisfaction depend on the kind of constraints being considered.
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.
Optimization problemIn mathematics, computer science and economics, an optimization problem is the problem of finding the best solution from all feasible solutions. Optimization problems can be divided into two categories, depending on whether the variables are continuous or discrete: An optimization problem with discrete variables is known as a discrete optimization, in which an object such as an integer, permutation or graph must be found from a countable set.
Thrust bearingA thrust bearing is a particular type of rotary bearing. Like other bearings they permanently rotate between parts, but they are designed to support a predominantly axial load. Thrust bearings come in several varieties. Thrust ball bearings, composed of bearing balls supported in a ring, can be used in low thrust applications where there is little axial load. Cylindrical thrust roller bearings consist of small cylindrical rollers arranged flat with their axes pointing to the axis of the bearing.
Object code optimizerAn object code optimizer, sometimes also known as a post pass optimizer or, for small sections of code, peephole optimizer, forms part of a software compiler. It takes the output from the source language compile step - the object code or - and tries to replace identifiable sections of the code with replacement code that is more algorithmically efficient (usually improved speed). The earliest "COBOL Optimizer" was developed by Capex Corporation in the mid 1970s for COBOL.
Palier (mécanique)vignette|210x210px|Représentation 3D d'un palier lisse. Les paliers sont des organes utilisés en construction mécanique pour supporter et guider, en rotation, des arbres de transmission. Suivant l’usage désiré, ces paliers peuvent être : lisses, où les arbres qui reposent sur des coussinets sont soumis au frottement de glissement entre les surfaces en contact ; à roulement, où le contact s’effectue par l’intermédiaire de billes, d'aiguilles ou de rouleaux contenus dans des cages.
Constraint logic programmingConstraint logic programming is a form of constraint programming, in which logic programming is extended to include concepts from constraint satisfaction. A constraint logic program is a logic program that contains constraints in the body of clauses. An example of a clause including a constraint is . In this clause, is a constraint; A(X,Y), B(X), and C(Y) are literals as in regular logic programming. This clause states one condition under which the statement A(X,Y) holds: X+Y is greater than zero and both B(X) and C(Y) are true.
Distillationthumb|200px|Une colonne à distiller au musée Stella Matutina de Saint-Leu, à La Réunion. La distillation est un procédé de séparation de mélange de substances liquides dont les températures d'ébullition sont différentes. Elle permet de séparer les constituants d'un mélange homogène. Sous l'effet de la chaleur ou d'une faible pression (loi des gaz parfaits), les substances se vaporisent successivement, et la vapeur obtenue est liquéfiée pour donner le distillat.