Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

GlobalOptimSolution

Description

Un objet GlobalOptimSolution contient des informations sur un minimum local, notamment l'emplacement, la valeur de la fonction objectif et le ou les points de départ qui mènent au minimum.

GlobalSearch et MultiStart génèrent un vecteur d'objets GlobalOptimSolution. Le vecteur est ordonné par valeur de fonction objectif, de la plus basse (la meilleure) à la plus haute (la pire). GlobalSearch et MultiStart combinent des solutions qui coïncident avec les solutions trouvées précédemment dans les tolérances. Pour plus de détails sur GlobalSearch, voir Update Solution Set dans When fmincon Runs. Pour plus de détails sur MultiStart, voir Create GlobalOptimSolution Object.

Création

Lorsque vous exécutez run et demandez la sortie solutions, GlobalSearch et MultiStart créent des objets GlobalOptimSolution en sortie.

Propriétés

développer tout

Condition de sortie du solveur local, renvoyée sous forme d'entier. Généralement, un Exitflag positif correspond à un optimum local, et un Exitflag nul ou négatif correspond à une recherche infructueuse d'un minimum local.

Pour la signification exacte de chaque Exitflag, consultez la description exitflag dans la page de référence de la fonction de résolution locale appropriée :

Types de données : double

Valeur de la fonction objectif, renvoyée sous forme de scalaire réel. Pour les solveurs lsqnonlin et lsqcurvefit, Fval est la somme des carrés du résidu.

Types de données : double

Structure de sortie renvoyée par le solveur local. Pour plus de détails, consultez la description output dans la page de référence de la fonction de résolution locale appropriée :

Types de données : struct

Solution locale, renvoyée sous forme de tableau avec les mêmes dimensions que problem.x0.

Types de données : double

Points de départ qui mènent à la solution actuelle, renvoyés sous forme de cell array. Contrôlez la distance entre les points considérés comme distincts en définissant les propriétés FunctionTolerance et XTolerance du solveur global.

Types de données : cell

Exemples

réduire tout

Utilisez MultiStart pour créer un vecteur d'objets GlobalOptimSolution pour un problème avec plusieurs minima locaux.

rng default % For reproducibility
ms = MultiStart;
sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3 ...
    + x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4);
problem = createOptimProblem('fmincon','x0',[-1,2],...
    'objective',sixmin,'lb',[-3,-3],'ub',[3,3]);
[xmin,fmin,flag,outpt,allmins] = run(ms,problem,30);
MultiStart completed the runs from all start points. 

All 30 local solver runs converged with a positive local solver exitflag.

allmins est un vecteur d'objets GlobalOptimSolution.

disp(allmins)
  1x6 GlobalOptimSolution array with properties:

    X
    Fval
    Exitflag
    Output
    X0

Tracez les valeurs de la fonction objectif aux solutions renvoyées.

plot(arrayfun(@(x)x.Fval,allmins),'k*')
xlabel('Solution number')
ylabel('Function value')
title('Solution Function Values')

Figure contains an axes object. The axes object with title Solution Function Values, xlabel Solution number, ylabel Function value contains a line object which displays its values using only markers.

Pour examiner les points initiaux qui conduisent aux différentes solutions, voir Visualize the Basins of Attraction.

Historique des versions

Introduit dans R2010a