Optimize
Descripción
La tarea Optimize permite escoger entre dos formas de optimizar problemas interactivamente o de resolver sistemas de ecuaciones no lineales:
Basada en problemas (recomendado): cree variables y expresiones de optimización simbólicas para representar la función objetivo y las restricciones o ecuaciones.
Basada en solvers: represente la función objetivo y las restricciones o ecuaciones con código estándar de MATLAB®.
La tarea genera automáticamente código de MATLAB para su script en vivo.
Con la versión basada en problemas de esta tarea, puede:
Especificar arreglos de variables de optimización, incluyendo sus límites y valores iniciales.
Especificar el tipo de problema: minimización, maximización, factibilidad o resolución de ecuaciones.
Especificar la función objetivo y la función de restricción, bien escribiendo expresiones, bien buscando funciones.
Opcionalmente, elegir un solver y especificar opciones no predeterminadas.
Ejecutar la optimización.
Con la versión basada en solvers de 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 comenzar a utilizar Optimize, consulte Introducción a la tarea Optimize basada en solvers de Live Editor y Introducción a la tarea Optimize basada en problemas de Live Editor. Para obtener sugerencias sobre cómo utilizar Optimize, consulte Use Solver-Based Optimize Live Editor Task Effectively o Usar la tarea basada en problemas Optimize de Live Editor de forma efectiva. 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.
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).
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.
Después de insertar la tarea, seleccione Problem-based (recommended) o Solver-based.
Ejemplos
- Introducción a la tarea Optimize basada en solvers de Live Editor
- Introducción a la tarea Optimize basada en problemas de Live Editor
- Problema no lineal restringido utilizando la tarea Optimize de Live Editor o el solver
- Factibilidad utilizando la tarea Optimize basada en problemas de Live Editor
- Optimize Live Editor Task with fmincon Solver
- Optimize Live Editor Task with lsqlin Solver
- Optimize Using the GPS Algorithm (Global Optimization Toolbox)
- Minimize Function with Many Local Minima (Global Optimization Toolbox)
- Pareto Front for Two Objectives (Global Optimization Toolbox)
- Usar la tarea basada en problemas Optimize de Live Editor de forma efectiva
- Use Solver-Based Optimize Live Editor Task Effectively
- Configuración de problema de optimización basada en solvers
- Cómo utilizar la tarea Optimize basada en solvers de Live Editor
- Cómo utilizar la tarea Optimize basada en problemas de Live Editor
Parámetros
Limitaciones
En este momento, Optimize tiene las siguientes restricciones para optimización multiobjetivo.
Debe especificar las funciones objetivo mediante una función única con varias salidas. Dicho de otro modo, la función objetivo debe obtener como salida un vector de valores, una entrada para cada objetivo.
Todas las funciones objetivo deben utilizar el mismo sentido, minimización para la tarea basada en solvers y, bien una minimización, bien una maximización para la tarea basada en problemas.
Sugerencias
Para funciones con entradas adicionales, las tareas Optimize basadas en solvers y basadas en problemas tienen requisitos algo diferentes.
Basada en solvers: elija la variable de optimización y especifique qué variables del área 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:
Optimize genera código solo después de haber especificado todas las entradas de función.
Basada en problemas: especifique un nombre de variable de optimización o variable del área de trabajo para cada entrada de función. Si un nombre de argumento de entrada en la signatura de la función coincide con un nombre de variable de optimización o variable del área de trabajo existente, Optimize selecciona automáticamente ese nombre.
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 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 R2020bConsulte también
Funciones
fmincon
|intlinprog
|surrogateopt
(Global Optimization Toolbox) |patternsearch
(Global Optimization Toolbox)