Optimization Toolbox

 

Optimization Toolbox

Solucione problemas de optimización lineal, cuadrática, cónica, entera y no lineal

Más información:

Definición de problemas de optimización

Modele un problema de diseño o de decisión como un problema de optimización. Configure los parámetros de diseño y las decisiones como variables de optimización. Utilícelas para definir una función objetivo y aplique restricciones para limitar los posibles valores de las variables.

Optimización basada en el problema

Cree objetivos y restricciones con expresiones de variables de optimización. Resuelva problemas de forma más rápida y robusta con la diferenciación automática en las expresiones no lineales. Aplique un solver seleccionado automáticamente. Cree y resuelva el problema de forma interactiva con la tarea Optimize de Live Editor y, después, genere código para compartirlo o usarlo en su aplicación.

Optimización basada en el solver

Escriba restricciones y objetivos no lineales usando funciones; escriba restricciones y objetivos lineales usando matrices de coeficientes. Cree y resuelva el problema de forma interactiva con la tarea Optimize de Live Editor y, después, genere código para compartirlo o usarlo en su aplicación.

Solución de problemas de optimización

Aplique un solver al problema de optimización para encontrar una solución óptima: un conjunto de valores de variables de optimización que produzcan el valor óptimo de la función objetivo, si existe, y cumplan con las restricciones, de haberlas.

Configuración de opciones

Configure las opciones de optimización para ajustar el proceso de optimización; por ejemplo, para elegir el algoritmo de optimización que debe usar el solver, o bien para establecer las condiciones de finalización. Configure las opciones para supervisar y representar el progreso del solver de optimización.

Revisión y mejora de los resultados

Revise los mensajes de salida, las medidas de optimalidad y la visualización iterativa para evaluar la solución. Mejore el rendimiento en los problemas no lineales utilizando diferenciación automática, proporcionando gradientes o utilizando el cálculo paralelo para estimar los gradientes.

Supervisión del progreso de un solver con la visualización iterativa

Supervisión del progreso de un solver con la visualización iterativa.

Programación no lineal

Resuelva problemas de optimización sujetos a restricciones no lineales o con un objetivo no lineal.

Solvers

Aplique algoritmos cuasi-Newton, de región de confianza o simplex de Nelder-Mead para resolver problemas sin restricciones. Aplique algoritmos de punto interior, programación cuadrática secuencial (SQP) o región de confianza reflexiva para resolver problemas con restricciones.

Aplicaciones

Utilice la optimización no lineal para estimar y ajustar parámetros, encontrar los diseños óptimos, calcular las trayectorias óptimas, crear carteras robustas y para otras aplicaciones en las que exista una relación no lineal entre las variables.

Programación lineal, cuadrática y cónica

Resuelva problemas de optimización convexos con objetivos lineales o cuadráticos y con restricciones lineales o cónicas de segundo orden.

Solvers de programación lineal

Aplique algoritmos de simplex dual o punto interior para resolver problemas lineales.

Solución óptima

Región factible y solución óptima de un programa lineal.

Solvers de programación cuadrática y cónica de segundo orden

Aplique algoritmos de punto interior, de conjunto activo o región de confianza reflexiva para resolver programas cuadráticos. Aplique métodos de punto interior para resolver programas cónicos de segundo orden.

Solución óptima

Región factible y solución óptima de un programa cuadrático.

Aplicaciones

Utilice la programación lineal en problemas tales como asignación de recursos, planificación de la producción, optimización de mezcla y planificación de inversiones.

Plan de operación de una central hidroeléctrica

Estrategia de control óptima hallada con programación cuadrática.

Programación lineal entera mixta

Resuelva problemas de optimización con objetivos lineales sujetos a restricciones lineales, con la restricción adicional de que algunas o todas las variables deben tener valores enteros.

Solvers

Resuelva problemas de programación lineal entera mixta mediante el algoritmo de ramificación y acotación, que incluye preprocesamiento, heurística para generar puntos factibles y planos de corte.

Solución óptima

Aplicación del algoritmo de ramificación y acotación. 

Algoritmos basados en programación lineal entera mixta

Utilice el solver de programación lineal entera mixta para crear algoritmos con fines especiales.

Solución al problema vendedor ambulante en 200 ciudades

Recorrido más corto visitando cada ciudad una sola vez.

Aplicaciones

Modele con variables enteras cuando existan decisiones binarias o restricciones lógicas, así como cuando los valores de las variables deban ser enteros. Ejemplos de aplicaciones tipicas: elaboración de itinerarios, programas, planificaciones, asignaciones y presupuestos de capital.

Planificación óptima de los generadores

Planificación de dos generadores con diferentes precios de electricidad.

Optimización multiobjetivo

Resuelva problemas de optimización que tengan varias funciones objetivo sujetas a un conjunto de restricciones.

Solvers

Formule problemas como minimax o de logro de objetivos. Utilice el logro de objetivos cuando existan valores objetivo ponderados opcionalmente para cada uno de los objetivos. Utilice minimax para minimizar el valor en el peor caso de un conjunto de funciones objetivo.

Gráfica de Pareto

Frente de Pareto calculado con la función fgoalattain.

Aplicaciones

Utilice la optimización multiobjetivo cuando se requieran tradeoffs para objetivos en conflicto. Por ejemplo, el peso y la fuerza en el diseño estructural, y el riesgo y la rentabilidad en la optimización de carteras.

Diseño de filtro FIR

Respuesta de magnitud para los coeficientes iniciales y optimizados del filtro.

Resolución de mínimos cuadrados y ecuaciones

Resuelva problemas de mínimos cuadrados lineales y no lineales, y sistemas de ecuaciones no lineales, sujetos a restricciones de límites, lineales y no lineales.

Ajuste de datos no lineales

Comparación de los enfoques local y global.

Aplicaciones de mínimos cuadrados lineales

Utilice solvers de mínimos cuadrados lineales para ajustar un modelo lineal a datos adquiridos o resolver un sistema de ecuaciones lineales, incluso cuando los parámetros estén sujetos a restricciones de límites y lineales.

Imagen fuera de foco

Recuperación de una imagen fuera de foco con mínimos cuadrados lineales.

Aplicaciones de mínimos cuadrados no lineales

Utilice solvers de mínimos cuadrados no lineales para ajustar un modelo no lineal a datos capturados o resolver un sistema de ecuaciones no lineales, incluso cuando los parámetros estén sujetos a restricciones de límites, lineales y no lineales.

Ajuste de una ruta circular al sistema de Lorenz.

Ajuste de una ruta circular al sistema de ecuaciones diferenciales ordinarias de Lorenz.

Despliegue

Cree herramientas de diseño y toma de decisiones basadas en optimización, integre con sistemas empresariales y despliegue algoritmos de optimización en sistemas embebidos.

Soporte de MATLAB Compiler

Utilice MATLAB Compiler y MATLAB Compiler SDK para desplegar modelos de optimización de MATLAB como ejecutables autónomos, apps web, librerías C/C++ compartidas, ensamblados Microsoft® .NET, clases de Java® y paquetes de Python®.

App Unit Commitment

App que calcula la planificación de generación de energía óptima.

Generación de código

Genere código C o C++ portátil y legible para solucionar problemas de optimización con MATLAB Coder. Compile el código generado para cualquier hardware, incluidos sistemas embebidos.

Informe de MATLAB Coder

Informe de MATLAB Coder para una función de optimización de trayectoria.