Contenuto principale

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

GlobalOptimSolution

Soluzione di ottimizzazione

Descrizione

Un oggetto GlobalOptimSolution contiene informazioni su un minimo locale, tra cui posizione, valore della funzione obiettivo e punto o punti iniziali che portano al minimo.

GlobalSearch e MultiStart generano un vettore di oggetti GlobalOptimSolution. Il vettore è ordinato in base al valore della funzione obiettivo, dal più basso (migliore) al più alto (peggiore). GlobalSearch e MultiStart combinano soluzioni che coincidono con soluzioni trovate in precedenza entro le tolleranze. Per i dettagli su GlobalSearch, vedere Update Solution Set in When fmincon Runs . Per i dettagli su MultiStart, vedere Create GlobalOptimSolution Object .

Creazione

Quando si esegue run e si richiede l'output solutions, GlobalSearch e MultiStart creano oggetti GlobalOptimSolution come output.

Proprietà

espandi tutto

Condizione di uscita del risolutore locale, restituita come numero intero. In genere, un Exitflag positivo corrisponde a un ottimo locale, mentre un Exitflag zero o negativo corrisponde a una ricerca non riuscita di un minimo locale.

Per il significato esatto di ogni Exitflag, vedere la descrizione di exitflag nella pagina di riferimento della funzione del risolutore locale appropriata:

Tipi di dati: double

Valore della funzione obiettivo, restituito come uno scalare reale. Per i risolutori lsqnonlin e lsqcurvefit, Fval è la somma dei quadrati del residuo.

Tipi di dati: double

Struttura di output restituita dal risolutore locale. Per maggiori dettagli, vedere la descrizione di output nella pagina di riferimento della funzione del risolutore locale appropriata:

Tipi di dati: struct

Soluzione locale, restituita come array con le stesse dimensioni di problem.x0 .

Tipi di dati: double

Punti di partenza che portano alla soluzione corrente, restituiti come matrice di celle. È possibile controllare la distanza tra punti considerati distinti impostando le proprietà FunctionTolerance e XTolerance del risolutore globale.

Tipi di dati: cell

Esempi

comprimi tutto

Utilizzare MultiStart per creare un vettore di oggetti GlobalOptimSolution per un problema con più minimi locali.

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 è un vettore di oggetti GlobalOptimSolution.

disp(allmins)
  1x6 GlobalOptimSolution array with properties:

    X
    Fval
    Exitflag
    Output
    X0

Rappresentare graficamente i valori della funzione obiettivo nelle soluzioni restituite.

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

Per esaminare i punti iniziali che portano alle varie soluzioni, vedere Visualize the Basins of Attraction .

Cronologia versioni

Introdotto in R2010a