Main Content

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:

  • fgoalattainOpciones

  • fminconOpciones

  • fminimaxOpciones

  • fminuncOpciones

  • fseminf options

  • fsolveOpciones

  • (engaOpciones (Global Optimization Toolbox) Global Optimization Toolbox)

  • (engamultiobjOpciones (Global Optimization Toolbox) Global Optimization Toolbox)

  • intlinprogOpciones

  • linprogOpciones

  • lsqcurvefitOpciones

  • lsqlinOpciones

  • lsqnonlinOpciones

  • (enparetosearchOpciones (Global Optimization Toolbox) Global Optimization Toolbox)

  • (enparticleswarmOpciones (Global Optimization Toolbox) Global Optimization Toolbox)

  • (enpatternsearchOpciones (Global Optimization Toolbox) Global Optimization Toolbox)

  • quadprog options

  • (ensimulannealbndOpciones (Global Optimization Toolbox) Global Optimization Toolbox)

  • (ensurrogateoptOpciones (Global Optimization Toolbox) Global Optimization Toolbox)

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