Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

optimoptions

Cree opciones de optimización

Descripción

ejemplo

options = optimoptions(SolverName) Devuelve un conjunto de opciones predeterminadas para el solucionador.SolverName

ejemplo

options = optimoptions(SolverName,Name,Value) Devuelve opciones con los parámetros con nombre alterados con los valores especificados.

ejemplo

options = optimoptions(oldoptions,Name,Value) Devuelve una copia de los parámetros con nombre modificados con los valores especificados.oldoptions

ejemplo

options = optimoptions(SolverName,oldoptions) Devuelve las opciones predeterminadas para el solucionador y copia las opciones aplicables en.SolverNameoldoptionsOpciones

ejemplo

options = optimoptions(prob) Devuelve un conjunto de opciones predeterminadas para el problema de optimización.prob

options = optimoptions(prob,Name,Value) Devuelve opciones con los parámetros con nombre alterados con los valores especificados.

Ejemplos

contraer todo

Cree opciones predeterminadas para el solucionador.fmincon

options = optimoptions('fmincon')
options =    fmincon options:     Options used by current Algorithm ('interior-point'):    (Other available algorithms: 'active-set', 'sqp', 'sqp-legacy', 'trust-region-reflective')     Set properties:      No options set.     Default properties:                     Algorithm: 'interior-point'                CheckGradients: 0           ConstraintTolerance: 1.0000e-06                       Display: 'final'      FiniteDifferenceStepSize: 'sqrt(eps)'          FiniteDifferenceType: 'forward'          HessianApproximation: 'bfgs'                    HessianFcn: []            HessianMultiplyFcn: []                   HonorBounds: 1        MaxFunctionEvaluations: 3000                 MaxIterations: 1000                ObjectiveLimit: -1.0000e+20           OptimalityTolerance: 1.0000e-06                     OutputFcn: []                       PlotFcn: []                  ScaleProblem: 0     SpecifyConstraintGradient: 0      SpecifyObjectiveGradient: 0                 StepTolerance: 1.0000e-10           SubproblemAlgorithm: 'factorization'                      TypicalX: 'ones(numberOfVariables,1)'                   UseParallel: 0     Show options not used by current Algorithm ('interior-point')  

Cree opciones no predeterminadas para el solucionador.fmincon

options = optimoptions(@fmincon,'Algorithm','sqp','MaxIterations',1500)
options =    fmincon options:     Options used by current Algorithm ('sqp'):    (Other available algorithms: 'active-set', 'interior-point', 'sqp-legacy', 'trust-region-reflective')     Set properties:                     Algorithm: 'sqp'                 MaxIterations: 1500     Default properties:                CheckGradients: 0           ConstraintTolerance: 1.0000e-06                       Display: 'final'      FiniteDifferenceStepSize: 'sqrt(eps)'          FiniteDifferenceType: 'forward'        MaxFunctionEvaluations: '100*numberOfVariables'                ObjectiveLimit: -1.0000e+20           OptimalityTolerance: 1.0000e-06                     OutputFcn: []                       PlotFcn: []                  ScaleProblem: 0     SpecifyConstraintGradient: 0      SpecifyObjectiveGradient: 0                 StepTolerance: 1.0000e-06                      TypicalX: 'ones(numberOfVariables,1)'                   UseParallel: 0     Show options not used by current Algorithm ('sqp')  

Actualizar las opciones existentes con nuevos valores.

Cree opciones para el solucionador.lsqnonlin

oldoptions = optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt',...     'MaxFunctionEvaluations',1500)
oldoptions =    lsqnonlin options:     Options used by current Algorithm ('levenberg-marquardt'):    (Other available algorithms: 'trust-region-reflective')     Set properties:                    Algorithm: 'levenberg-marquardt'       MaxFunctionEvaluations: 1500     Default properties:               CheckGradients: 0                      Display: 'final'     FiniteDifferenceStepSize: 'sqrt(eps)'         FiniteDifferenceType: 'forward'            FunctionTolerance: 1.0000e-06                MaxIterations: 400                    OutputFcn: []                      PlotFcn: []     SpecifyObjectiveGradient: 0                StepTolerance: 1.0000e-06                     TypicalX: 'ones(numberOfVariables,1)'                  UseParallel: 0     Show options not used by current Algorithm ('levenberg-marquardt')  

Aumente a 2000.MaxFunctionEvaluations

options = optimoptions(oldoptions,'MaxFunctionEvaluations',2000)
options =    lsqnonlin options:     Options used by current Algorithm ('levenberg-marquardt'):    (Other available algorithms: 'trust-region-reflective')     Set properties:                    Algorithm: 'levenberg-marquardt'       MaxFunctionEvaluations: 2000     Default properties:               CheckGradients: 0                      Display: 'final'     FiniteDifferenceStepSize: 'sqrt(eps)'         FiniteDifferenceType: 'forward'            FunctionTolerance: 1.0000e-06                MaxIterations: 400                    OutputFcn: []                      PlotFcn: []     SpecifyObjectiveGradient: 0                StepTolerance: 1.0000e-06                     TypicalX: 'ones(numberOfVariables,1)'                  UseParallel: 0     Show options not used by current Algorithm ('levenberg-marquardt')  

Actualizar las opciones existentes con nuevos valores mediante la notación de puntos.

Cree opciones para el solucionador.lsqnonlin

options = optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt',...     'MaxFunctionEvaluations',1500)
options =    lsqnonlin options:     Options used by current Algorithm ('levenberg-marquardt'):    (Other available algorithms: 'trust-region-reflective')     Set properties:                    Algorithm: 'levenberg-marquardt'       MaxFunctionEvaluations: 1500     Default properties:               CheckGradients: 0                      Display: 'final'     FiniteDifferenceStepSize: 'sqrt(eps)'         FiniteDifferenceType: 'forward'            FunctionTolerance: 1.0000e-06                MaxIterations: 400                    OutputFcn: []                      PlotFcn: []     SpecifyObjectiveGradient: 0                StepTolerance: 1.0000e-06                     TypicalX: 'ones(numberOfVariables,1)'                  UseParallel: 0     Show options not used by current Algorithm ('levenberg-marquardt')  

Aumente a 2000 usando la notación de puntos.MaxFunctionEvaluations

options.MaxFunctionEvaluations = 2000
options =    lsqnonlin options:     Options used by current Algorithm ('levenberg-marquardt'):    (Other available algorithms: 'trust-region-reflective')     Set properties:                    Algorithm: 'levenberg-marquardt'       MaxFunctionEvaluations: 2000     Default properties:               CheckGradients: 0                      Display: 'final'     FiniteDifferenceStepSize: 'sqrt(eps)'         FiniteDifferenceType: 'forward'            FunctionTolerance: 1.0000e-06                MaxIterations: 400                    OutputFcn: []                      PlotFcn: []     SpecifyObjectiveGradient: 0                StepTolerance: 1.0000e-06                     TypicalX: 'ones(numberOfVariables,1)'                  UseParallel: 0     Show options not used by current Algorithm ('levenberg-marquardt')  

Transfiera las opciones no predeterminadas del solucionador a las opciones del solucionador.fminconfminunc

Cree opciones no predeterminadas para el solucionador.fmincon

oldoptions = optimoptions(@fmincon,'Algorithm','sqp','MaxIterations',1500)
oldoptions =    fmincon options:     Options used by current Algorithm ('sqp'):    (Other available algorithms: 'active-set', 'interior-point', 'sqp-legacy', 'trust-region-reflective')     Set properties:                     Algorithm: 'sqp'                 MaxIterations: 1500     Default properties:                CheckGradients: 0           ConstraintTolerance: 1.0000e-06                       Display: 'final'      FiniteDifferenceStepSize: 'sqrt(eps)'          FiniteDifferenceType: 'forward'        MaxFunctionEvaluations: '100*numberOfVariables'                ObjectiveLimit: -1.0000e+20           OptimalityTolerance: 1.0000e-06                     OutputFcn: []                       PlotFcn: []                  ScaleProblem: 0     SpecifyConstraintGradient: 0      SpecifyObjectiveGradient: 0                 StepTolerance: 1.0000e-06                      TypicalX: 'ones(numberOfVariables,1)'                   UseParallel: 0     Show options not used by current Algorithm ('sqp')  

Transfiera las opciones aplicables al solucionador.fminunc

options = optimoptions(@fminunc,oldoptions)
options =    fminunc options:     Options used by current Algorithm ('quasi-newton'):    (Other available algorithms: 'trust-region')     Set properties:               CheckGradients: 0         FiniteDifferenceType: 'forward'                MaxIterations: 1500          OptimalityTolerance: 1.0000e-06                      PlotFcn: []     SpecifyObjectiveGradient: 0                StepTolerance: 1.0000e-06     Default properties:                    Algorithm: 'quasi-newton'                      Display: 'final'     FiniteDifferenceStepSize: 'sqrt(eps)'       MaxFunctionEvaluations: '100*numberOfVariables'               ObjectiveLimit: -1.0000e+20                    OutputFcn: []                     TypicalX: 'ones(numberOfVariables,1)'     Show options not used by current Algorithm ('quasi-newton')  

Cree un problema de optimización y busque el solucionador y las opciones predeterminadas.

rng default x = optimvar('x',3,'LowerBound',0); expr = x'*(eye(3) + randn(3))*x - randn(1,3)*x; prob = optimproblem('Objective',expr); options = optimoptions(prob)
options =    quadprog options:     Options used by current Algorithm ('interior-point-convex'):    (Other available algorithms: 'trust-region-reflective')     Set properties:      No options set.     Default properties:               Algorithm: 'interior-point-convex'     ConstraintTolerance: 1.0000e-08                 Display: 'final'            LinearSolver: 'auto'           MaxIterations: 200     OptimalityTolerance: 1.0000e-08           StepTolerance: 1.0000e-12     Show options not used by current Algorithm ('interior-point-convex')  

El solucionador predeterminado es.quadprog

Configure las opciones para utilizar la visualización iterativa. Encuentre la solución.

options.Display = 'iter'; sol = solve(prob,'Options',options);
Your Hessian is not symmetric. Resetting H=(H+H')/2.   Iter            Fval  Primal Infeas    Dual Infeas  Complementarity       0    2.018911e+00   0.000000e+00   2.757660e+00     6.535839e-01       1   -2.170204e+00   0.000000e+00   8.881784e-16     2.586177e-01       2   -3.405808e+00   0.000000e+00   8.881784e-16     2.244054e-03       3   -3.438788e+00   0.000000e+00   3.356690e-16     7.261144e-09    Minimum found that satisfies the constraints.  Optimization completed because the objective function is non-decreasing in  feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance. 
sol.x
ans = 3×1

    1.6035
    0.0000
    0.8029

Argumentos de entrada

contraer todo

Nombre del solucionador, especificado como un controlador de carácter, cadena o vector de caracteres.

Ejemplo: 'fmincon'

Ejemplo: @fmincon

Tipos de datos: char | function_handle | string

Opciones, especificadas como un objeto Options. La función crea objetos de opciones.optimoptions

Ejemplo: oldoptions = optimoptions(@fminunc)

Problema de optimización, especificado como un objeto.OptimizationProblem Cree utilizando el.probFlujo de trabajo basado en problemas

Las sintaxis que utiliza permiten ver cuál es el solucionador predeterminado para su problema y modificar el algoritmo u otras opciones.prob

Ejemplo: , donde se encuentra una expresión de optimizaciónprob = optimproblem('Objective',myobj)myobj

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: establece opciones para tener una visualización iterativa y tener una de.optimoptions(@fmincon,'Display','iter','FunctionTolerance',1e-10)fminconFunctionTolerance1e-10

Para los pares de nombre-valor relevantes, consulte la tabla de opciones para el solucionador:

Argumentos de salida

contraer todo

Objeto Options, devuelto como las opciones para el solucionador.SolverName

Funcionalidad alternativa

Aplicación

Puede establecer y modificar las opciones mediante la aplicación Optimization ().optimtool Ver.Importación y exportación de su trabajo

Nota

La aplicación Optimization advierte que se eliminará en una versión futura.

Introducido en R2013a