Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Optimize

Optimice o resuelva ecuaciones en Live Editor

Descripción

La tarea Optimize le permite optimizar de forma interactiva funciones objetivo lineales y no lineales sujetas a restricciones de varios tipos y resolver sistemas de ecuaciones no lineales. La tarea genera automáticamente código de MATLAB® para su script en vivo.

Con esta tarea, puede:

  • Escoger un solver en función de las características del problema. Si tiene Global Optimization Toolbox, puede utilizar también sus solvers.

  • Especificar la función objetivo y la función de restricción, bien escribiéndolas, bien buscándolas.

  • Especificar las opciones de solver.

  • Ejecutar la optimización.

Para sugerencias sobre cómo utilizar Optimize, consulte Use Solver-Based Optimize Live Editor Task Effectively. En este momento no puede utilizar los solvers fseminf, GlobalSearch o MultiStart con Optimize.

Para obtener más información sobre las tareas de Live Editor, consulte Add Interactive Tasks to a Live Script.

Optimize task in Live Editor

Abrir la tarea

Para añadir la tarea Optimize a un script en vivo del editor de MATLAB, en la pestaña Insert (Insertar) de Live Editor, seleccione Task > Optimize(Tarea > Optimizar).

Insert an Optimize Live Editor task

De forma alternativa, en un bloque de código del script, escriba una palabra clave relevante, como optim o fmincon. Seleccione Optimize a partir del completado de comandos sugerido.

Choosing Optimize from command completion suggestions

Parámetros

Tipo de función objetivo, especificado haciendo clic en el botón con la etiqueta adecuada. La función objetivo seleccionada determina qué solvers están disponibles y cuál se recomienda para el problema (consulte Solver).

Tipos de restricciones, especificados haciendo clic en los botones con la etiqueta adecuada. Puede especificar más de un tipo de restricción. Las restricciones seleccionadas determinan qué solvers están disponibles y cuál se recomienda para el problema (consulte Solver).

Solver de optimización que MATLAB utiliza para resolver el problema, especificado seleccionando un solver a partir de la lista de solvers disponibles. Los solvers disponibles y el solver recomendado dependen de su licencia y del Objective y Constraints seleccionados.

Solvers disponibles

Tipo de restricciónTipo de objetivo
LinealCuadráticoMínimos cuadradosNo linealNo suave
No restringidoLa solución es trivialquadproglsqcurvefit, lsqnonlin, lsqnonneg, lsqlinfgoalattain, fminsearch, fminimax , fminunc, fsolve, fzero, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), particleswarm (Global Optimization Toolbox), simulannealbnd (Global Optimization Toolbox)fminsearch, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), particleswarm (Global Optimization Toolbox), simulannealbnd (Global Optimization Toolbox)
Solo límiteslinprogquadproglsqcurvefit, lsqnonlin, lsqnonneg, lsqlinfgoalattain, fminbnd, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), particleswarm (Global Optimization Toolbox), simulannealbnd (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)fminbnd, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), particleswarm (Global Optimization Toolbox), simulannealbnd (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)
Lineallinprogquadproglsqlin, fminconfgoalattain, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)
Lineal + enterointlinprogga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)
De cono de segundo ordenconeprogfgoalattain, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)fgoalattain, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)fgoalattain, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)
No linealfgoalattain, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)fgoalattain, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)fgoalattain, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)fgoalattain, fmincon, fminimax, ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)
No lineal + enteroga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox)

Ejemplo: fmincon

Sugerencias

  • Para funciones con entradas adicionales, Optimize requiere que escoja la variable de optimización y que especifique qué variables del espacio de trabajo contienen las entradas de datos fijas. Para obtener ejemplos, consulte Place Optimization Variables in One Vector and Data in Other Variables, que contiene tres entradas de función:

    Optimization input = vars, Fixed input y = y, Fixed input w = w.

    Optimize genera código solo después de haber especificado todas las entradas de función.

  • Optimize no puede analizar una función que contenga la entrada varargin o una función que contenga un error.

  • Si selecciona una función objetivo o una función de restricción no lineal de un archivo, Optimize añade la ubicación del archivo a su ruta de MATLAB.

  • Si Optimize tiene un error de análisis o si varias funciones locales tienen el mismo nombre, la lista de funciones locales disponibles está vacía.

Historial de versiones

Introducido en R2020b