Global Optimization Toolbox

 

Global Optimization Toolbox

Résoudre les problèmes d'optimisation à maxima ou minima multiples et non lisses

En savoir plus:

Résolution de problèmes d'optimisation

Choisissez un solveur, définissez votre problème d'optimisation et configurez
des options pour le comportement des algorithmes, les tolérances, les critères d'arrêt, les visualisations et les personnalisations.

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élération grâce au calcul parallèle

Accélération grâce au 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.

Fonction de traçage personnalisée pour une recherche de formes

Fonction de visualisation personnalisée pour une recherche de formes.

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.

Résultats des solveurs Recherche globale et Multistart

Résultats des solveurs GlobalSearch et MultiStart.

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.

Optimisation de substitution

Recherchez des minima globaux dans des problèmes avec des fonctions objectif chronophages. Le solveur établit une approximation par rapport à la fonction qui peut être rapidement évaluée et minimisée.

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.

Traçage intégré des points d'échantillon, des points adaptatifs et des meilleurs points

Visualisation intégrée des points d'échantillon, des points adaptatifs et des meilleurs points.

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.

Escalade du mont Washington dans les White Mountains

Escalade du mont Washington dans les White Mountains.

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.

Tracés intégrés pour la valeur de la fonction et les évaluations

Visualisations intégres pour la valeur de la fonction et les évaluations.

Algorithme génétique

Recherchez des minima globaux en imitant les principes de l'évolution biologique et en modifiant de façon répétée une population de points individuels avec des règles copiant les combinaisons de gènes dans la reproduction biologique.

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.

Fonction avec plusieurs minima locaux

Fonction avec plusieurs minima locaux.

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.

Solution au problème du voyageur de commerce

Solution au problème du voyageur de commerce.

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.

Affichage de cinq trajectoires par particule

Affichage de cinq trajectoires par particule.

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.

Optimisation à l'aide d'un essaim particulaire

Fonctions de visualisation intégrées.

Personnalisation

Apportez votre propre fonction de création de l'essaim particulaire. Appliquez un second outil d'optimisation pour affiner les solutions.

Options de l'essaim particulaire

Essaim particulaire sur une fonction stochastique.

Recuit simulé

Recherchez des minima globaux à l'aide d'un algorithme de recherche probabiliste qui reproduit le processus physique du recuit, dans lequel un matériau est chauffé, puis la température réduite lentement pour diminuer les défauts, minimisant ainsi l'énergie du système.

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.

Fonction avec plusieurs minima locaux

Fonction avec plusieurs minima locaux.

Sélectionnez les options

Choisissez entre des options concernant des algorithmes adaptatifs de simulation de recuit, de recuit de Boltzmann ou de recuit rapide.

Options de recuit simulé

Visualisation de recuit simulé.

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.

Planification multiprocesseurs

Planification multiprocesseurs.

Optimisation multiobjectifs

Identifiez le front de Pareto (l'ensemble des solutions non dominées) concernant les problèmes avec plusieurs objectifs et des contraintes liées, linéaires ou non linéaires. Utilisez soit le solveur de recherche de formes, soit le solveur d'algorithme génétique.

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.

Surface de Pareto des trois objectifs

Surface de Pareto des trois objectifs.

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.

Front Pareto de deux objectifs

Front Pareto de deux objectifs.