Optimisation globale
- Mise à jour2025-07-30
- Temps de lecture : 9 minute(s)
Résout une équation d'optimisation globale avec des contraintes de limite, et des contraintes d'égalité et d'inégalité non linéaires, en utilisant la méthode d'évolution différentielle (DE).

Entrées/Sorties
données de fonction
—
données de fonction contient les données statiques dont la fonction définie par l'utilisateur a besoin à l'exécution.
fonction objectif et de contrainte
—
fonction objectif et de contrainte est une référence au VI qui implémente la fonction non linéaire, la fonction de contrainte d'égalité non linéaire et la fonction de contrainte d'inégalité non linéaire en tant que sorties distinctes. Dans le VI référencé, la sortie de la fonction objectif ne peut pas être vide mais les fonctions de contrainte sont facultatives. De ce fait, la sortie des contraintes d'égalité, la sortie des contraintes d'inégalité ou les deux peuvent être vides. Créez ce VI en vous basant sur le VI modèle de labview\vi.lib\gmath\GlobalOptimization.llb\Global Optimization_Objective Function.vit.
Paramètres initiaux
—
Paramètres initiaux sont les paramètres initiaux du processus d'optimisation. LabVIEW utilise Paramètres initiaux si État initial est vide. Chaque ligne de Paramètres initiaux est un ensemble de paramètres. Le nombre de colonnes de Paramètres initiaux doit être égal à la longueur de Min et de Max de Limites. Si le nombre de lignes de Paramètres initiaux est inférieur à taille de la population, LabVIEW initialise les ensembles de paramètres restants. Si le nombre de lignes de Paramètres initiaux est supérieur à taille de la population, LabVIEW ignore les ensembles de paramètres supplémentaires.
Limites
—
Limites est un cluster qui contient les limites numériques supérieures et inférieures pour les paramètres à optimiser.
État initial
—
État initial contient les valeurs initiales des populations et des indices de Pareto. État initial est généralement l'état final d'une optimisation précédente et permet un démarrage à chaud de l'optimisation. Si État initial comporte des valeurs, LabVIEW ignore Paramètres initiaux.
entrée d'erreur (pas d'erreur)
—
entrée d'erreur décrit les conditions d'erreur qui ont lieu avant l'exécution de ce nœud. Cette entrée fournit la fonctionnalité entrée d'erreur standard.
Paramètres DE
—
Paramètres DE contient des paramètres supplémentaires spécifiques à la méthode d'évolution différentielle (DE).
critère d'arrêt
—
critère d'arrêt représente l'ensemble des conditions qui déclenchent l'arrêt du processus d'optimisation.
nombre d'appels de fonction
—
nombre d'appels de fonction est le nombre d'appels de la fonction objectif dans le processus d'optimisation. Si max. d'appels de fonction est -1, nombre d'appels de fonction est égal à taille de la population * (max. d'itérations + 1).
Minimum
—
Minimum est le minimum global déterminé parmi toutes les possibilités de minimums.
F(Minimum)
—
F(minimum) est la valeur de la fonction objectif au Minimum.
État final
—
État final contient les valeurs finales des populations et des indices de Pareto à la fin du processus d'optimisation.
sortie d'erreur
—
sortie d'erreur contient des informations sur l'erreur. Cette sortie fournit la fonctionnalité sortie d'erreur standard. |
Ce VI résout une équation d'optimisation globale en recherchant la valeur de x qui minimise f(x), en respectant les contraintes suivantes :
| Contraintes de limite | min ≤ x ≤ max |
| Contraintes d'égalité | g(x) = 0 |
| Contraintes d'inégalité | h(x) ≤ 0 |
x est l'ensemble de paramètres à optimiser. f(x) est l'ensemble de fonctions objectif à minimiser. Les contraintes d'égalité et d'inégalité sont optionnelles dans ce problème.
L'évolution différentielle (DE) est une méthode utilisée pour résoudre le problème d'optimisation globale. Elle effectue une approximation de l'optimum global réel en mutant et améliorant par itération les paramètres candidats à partir des paramètres initiaux.
Si l'évaluation de la fonction objectif prend beaucoup de temps, la méthode DE doit appeler la fonction objectif plusieurs fois, en fonction de la taille de la population, à chaque itération de la boucle du processus d'optimisation. Ce VI active les itérations de boucle en parallèle sur la boucle For pour appeler la fonction objectif afin que LabVIEW puisse tirer parti de plusieurs processeurs. Pour pouvoir utiliser les itérations de boucle en parallèle, vous devez :
- Changer le VI qui implémente la fonction objectif en VI réentrant qui partage des clones.
- Ouvrir une référence au VI avec l'option 0x40, comme le montre la figure suivante :

La figure suivante montre comment le VI résout une équation d'optimisation globale.

Exemples
Reportez-vous aux exemples de fichiers inclus avec LabVIEW suivants.
- labview\examples\Mathematics\Optimization\Find Global Min on Surface.vi
- labview\examples\Mathematics\Optimization\Two Circles Optimization.vi
données de fonction
—
fonction objectif et de contrainte
—
Paramètres initiaux
—
Limites
—
Min
—
Population
—
Indices de Pareto
—
entrée d'erreur (pas d'erreur)
—
Paramètres DE
—
taille de la population
—
facteur d'échelle
—
méthode de mappage des limites
—
nombre d'appels de fonction
—
Minimum
—
État final
—
Population
—
Indices de Pareto
—
sortie d'erreur
—