Global Optimization Toolbox propose des fonctions permettant de rechercher des solutions globales pour les problèmes contenant plusieurs minima ou maxima. Les solveurs contenus dans cette toolbox sont les suivants : substitution, recherche de formes, algorithme génétique, essaims particulaires, recuit simulé, MultiStart et GlobalSearch. Ces solveurs permettent de résoudre les problèmes d'optimisation dans les cas où la fonction objectif ou la fonction de contrainte est continue, discontinue, stochastique, ne possède pas de dérivées ou comprend des simulations ou des fonctions boîte noire. Dans le cas de problèmes à objectifs multiples, vous pouvez identifier un front de Pareto à l'aide de solveurs d'algorithme génétique et de recherche de formes.
Vous pouvez améliorer l'efficacité d'un solveur en ajustant des options et, pour les solveurs applicables, en personnalisant des fonctions de création, de mise à jour et de recherche. Vous pouvez utiliser des types de données personnalisés avec les solveurs d'algorithme génétique et de recuit simulé en vue de représenter des problèmes qu'il est difficile d'exprimer au moyen de types de données standards. L'option de fonction hybride vous permet d'améliorer votre solution en appliquant un second solveur à la suite du premier.
En savoir plus:
Modéliser et choisir des approches d'optimisation
Transformez la description d'un problème sous forme mathématique pour pouvoir le résoudre en utilisant des techniques d'optimisation. Choisissez l'approche basée sur les problèmes pour écrire des objectifs et des contraintes avec des expressions de variables d'optimisation. Appliquez ensuite un solveur sélectionné automatiquement. Vous pouvez également choisir l'approche basée sur les solveurs pour définir les objectifs et les contraintes en utilisant des fonctions et des matrices de coefficients.
Spécifiez un solveur et un problème
Utilisez la tâche Optimize dans Live Editor avec une approche basée sur les problèmes ou sur les solveurs pour vous aider à choisir un solveur approprié au type de problème rencontré.
Définissez des options communes
Définissez les critères d'arrêt applicables au solveur sélectionné. Définissez des tolérances pour l'optimalité et les contraintes. Bénéficiez d'une accélération avec le calcul parallèle.
Accédez aux résultats intermédiaires
Utilisez des fonctions de visualisation pour obtenir un retour d'information direct sur la progression de l'optimisation. Écrivez vos propres fonctions ou utilisez celles fournies. Utilisez la fonction de sortie pour créer vos propres critères d'arrêt, écrire les résultats dans des fichiers ou écrire vos propres applications pour exécuter les solveurs.
GlobalSearch et MultiStart
Appliquez des solveurs basés sur les gradients pour rechercher des minima locaux à partir de plusieurs points de démarrage dans le cadre de la recherche de minima globaux. D'autres minima locaux ou globaux sont renvoyés. Résolvez des problèmes contraints et non contraints lisses.
Comparez les solveurs
Utilisez GlobalSearch pour générer plusieurs points de démarrage et filtrez-les avant d'exécuter le solveur non linéaire, ce qui donne généralement des solutions de meilleure qualité. MultiStart vous permet de choisir des solveurs locaux et divers moyens de créer des points de démarrage.
Sélectionnez les options du solveur GlobalSearch
Spécifiez le nombre de points d'essai et affinez la recherche.
Sélectionnez les options du solveur MultiStart
Spécifiez le solveur non linéaire. Choisissez une méthode pour générer des points de démarrage ou utilisez un ensemble de points défini par l'utilisateur. Bénéficiez d'une accélération avec le calcul parallèle. |
Spécifiez le problème
Appliquez ce processus aux problèmes avec contraintes liées finies. La fonction objectif ne nécessite pas d'être dérivable ou continue.
Sélectionnez les options
Fournissez un ensemble de points initiaux et de valeurs objectives optionnelles pour élaborer le remplacement initial. Définissez le nombre de points à utiliser pour le remplacement ainsi qu'une distance d'échantillon minimale. Bénéficiez d'une accélération avec le calcul parallèle.
Recherche de formes
Partez du point actuel et ajoutez un ensemble de vecteurs pour obtenir de nouveaux points d'essai. Évaluez la fonction objectif sur les points d'essai et utilisez cette information pour mettre à jour le point actuel. Répétez l'opération jusqu'à ce que le point actuel corresponde à un optimum.
Spécifiez le problème
Appliquez ce processus aux problèmes non contraints ou présentant des contraintes liées, linéaires ou non linéaires. Les fonctions objectif et de contrainte ne nécessitent pas d'être dérivables ou continues. |
Sélectionnez les options
Sélectionnez l'une des différentes options de l'algorithme pour obtenir la solution la plus efficace. Sélectionnez des fonctions de tracé pour observer l'optimisation. Accélérez l'optimisation avec le calcul parallèle.
Spécifiez le problème
Appliquez ce processus aux problèmes non contraints ou présentant des contraintes liées, linéaires, non linéaires ou entières. Les fonctions objectif et de contrainte ne nécessitent pas d'être dérivables ou continues.
Sélectionnez les options
Choisissez entre plusieurs options en termes de création, fitness scaling, de sélection, de croisement et de mutation. Spécifiez la taille de la population, le nombre d'élites parmi les enfants et la fraction de croisement. Bénéficiez d'une accélération avec le calcul parallèle.
Personnalisation
Apportez vos propres fonctions de création, de sélection et de mutation. Utilisez des types de données personnalisés pour énoncer plus facilement votre problème. Appliquez un second outil d'optimisation pour affiner les solutions.
Essaims particulaires
Recherchez des minima globaux au moyen d'un algorithme inspiré du comportement des essaims d'insectes. Chaque particule se déplace avec une vitesse et une direction influencées par le meilleur emplacement qu'elle a trouvé jusqu'alors et par le meilleur emplacement trouvé par l'essaim.
Spécifiez le problème
Appliquez ce processus aux problèmes non contraints ou aux problèmes avec contraintes liées. La fonction objectif ne nécessite pas d'être dérivable ou continue.
Sélectionnez les options
Ajustez le calcul de la vitesse en définissant l'inertie et les pondérations d'ajustement aussi bien des individus que du groupe social. Définissez la taille du voisinage. Bénéficiez d'une accélération avec le calcul parallèle.
Personnalisation
Apportez votre propre fonction de création de l'essaim particulaire. Appliquez un second outil d'optimisation pour affiner les solutions. |
Spécifiez le problème
Appliquez ce processus aux problèmes non contraints ou aux problèmes avec contraintes liées. La fonction objectif ne nécessite pas d'être dérivable ou continue.
Sélectionnez les options
Choisissez entre des options concernant des algorithmes adaptatifs de simulation de recuit, de recuit de Boltzmann ou de recuit rapide. |
Personnalisation
Créez des fonctions pour définir le processus de recuit, les critères d'acceptation et le planning des températures. Utilisez des types de données personnalisés pour énoncer plus facilement votre problème. Appliquez un second outil d'optimisation pour affiner les solutions.
Comparez les solveurs
Utilisez l'algorithme de recherche de formes multiobjectifs pour générer un front de Pareto avec moins d'évaluations de fonctions qu'avec l'algorithme génétique multiobjectifs. L'algorithme génétique peut générer des points plus largement espacés.
Sélectionnez les options de recherche de formes
Fournissez un ensemble de points initiaux. Spécifiez la taille voulue de l'ensemble de Pareto, la fraction de vote minimum et la tolérance de modification de volume. Exécutez automatiquement le tracé 2D et 3D des fronts de Pareto. Bénéficiez d'une accélération avec le calcul parallèle. |
Définissez les options de l'algorithme génétique
Spécifiez la fraction des individus à conserveur sur le front de Pareto de premier plan. Exécutez automatiquement le tracé 2D des fronts de Pareto. Bénéficiez d'une accélération avec le calcul parallèle. |