Optimization Toolbox

Resuelva problemas de optimización lineal, cuadrática, entera y no lineal

Optimization Toolbox™ proporciona funciones para hallar parámetros que minimicen o maximicen los objetivos y respeten las restricciones. Esta toolbox incluye solvers para la programación lineal (LP), la programación lineal entera mixta (MILP), la programación cuadrática (QP), la programación no lineal (NLP), los mínimos cuadrados lineales con restricciones, los mínimos cuadrados no lineales y las ecuaciones no lineales. Puede definir su problema de optimización con funciones y matrices, o bien especificando expresiones de variables que reflejen la matemática subyacente.

Puede utilizar los solvers de la toolbox para hallar las soluciones óptimas a problemas continuos y discretos, realizar análisis de soluciones de compromiso e incorporar métodos de optimización en algoritmos y aplicaciones. La toolbox le permite realizar tareas de optimización de diseños, incluidos la estimación de parámetros, la selección de componentes y el ajuste de parámetros. Se puede utilizar para hallar las soluciones óptimas en aplicaciones como la optimización de carteras, la asignación de recursos y la planificación y programación de producción.

Comience:

Definición de problemas de optimización

Modele un problema de diseño o de decisión en forma de 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.

Modelado

Convierta la descripción de un problema en una expresión matemática definiendo variables de optimización, un objetivo y restricciones, para que se pueda resolver con técnicas de optimización.

Optimización basada en el problema

Escriba el objetivo y las restricciones en MATLAB mediante expresiones que reflejen su forma matemática. Cree todo esto con variables de optimización, operadores matemáticos, operaciones matriciales y funciones de las variables. Aplique un solver seleccionado automáticamente.

Optimización basada en solver

Escriba el objetivo y las restricciones en MATLAB mediante funciones, cuando se trate de optimización no lineal, o de matrices de coeficientes, cuando sea lineal. Cree todo esto en MATLAB con operaciones matriciales, operadores matemáticos y funciones. Aplique el solver adecuado.

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 las restricciones, de haberlas.

Elección de un solver

Resuelva el problema mediante un solver no lineal, cuadrático, lineal, entero mixto, de mínimos cuadrados o multiobjetivo, en función de los tipos de objetivos y restricciones del problema de optimización. El solver se selecciona automáticamente en el enfoque basado en el problema.

Puntos evaluados durante la optimización de una función no lineal.

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 gráficamente el progreso del solver de optimización.

Revisión y mejora de los resultados

Revise las mediciones de optimalidad y la visualización iterativa para evaluar la solución. Utilice los enlaces de los mensajes de salida para obtener más información. Mejore el rendimiento en los problemas no lineales proporcionando gradientes o utilizando cálculo paralelo para realizar estimaciones de los gradientes.

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

Programación no lineal

Resuelva problemas de optimización que tengan un objetivo no lineal o que estén sujetos a restricciones no lineales.

Solvers

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

Aplicaciones

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

Programación lineal y cuadrática

Resuelva problemas de optimización que tengan objetivos lineales o cuadráticos convexos y estén sujetos a restricciones lineales.

Solvers de programación lineal

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

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

Solvers de programación cuadrática

Aplique algoritmos de punto interior o región de confianza reflexiva para resolver programas cuadráticos.

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, mezclado y planificación de inversiones. Utilice la programación cuadrática en problemas tales como optimización de diseños, optimización de carteras y control de presas hidroeléctricas.

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

Programación lineal entera mixta

Resuelva problemas de optimización que tengan objetivos lineales y estén sujetos a restricciones lineales, con la restricción añadida 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.

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.

El recorrido más corto visitando cada ciudad solo una vez.

Aplicaciones

Modele con variables enteras cuando existan decisiones de tipo encendido/apagado o restricciones lógicas, así como cuando los valores de las variables deban ser enteros. La elaboración de itinerarios, programas, planificaciones, asignaciones y presupuestos de capital son aplicaciones típicas.

Programa para dos generadores con precios de la electricidad variables.

Optimización multiobjetivo

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

Solvers

Formule los problemas bien como de consecución de objetivos o bien como minimax. Utilice la consecución 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.

Resultado de la propagación de las ponderaciones de los objetivos con fgoalattain.

Aplicaciones

Utilice la optimización multiobjetivo cuando se requieran soluciones de compromiso para dos o más objetivos que entren en conflicto. Ejemplos de esto son el peso y la fuerza en el diseño estructural y el riesgo y el retorno en la optimización de carteras.

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 no lineales y sistemas de ecuaciones no lineales sujetos a restricciones de límites. Resuelva problemas de mínimos cuadrados lineales sujetos a restricciones de límites y lineales.

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.

Recuperación de una imagen borrosa resolviendo un problema de 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 adquiridos o resolver un sistema de ecuaciones no lineales, incluso cuando los parámetros estén sujetos a restricciones de límites.

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

Implementación

Cree herramientas de diseño y soporte de decisiones basadas en optimización.

Soporte de MATLAB Compiler

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

App que calcula el programa de generación de energía óptimo.

Funcionalidades más recientes

Generación de código

generación de código C/C++ para solucionar problemas de optimización restringida no lineal con fmincon (requiere MATLAB Coder).

Modelización de optimización

expresión de problemas de mínimos cuadrados no lineales y sistemas de ecuaciones no lineales con variables de optimización en funciones o expresiones racionales.

Solución de optimización

solución de problemas de mínimos cuadrados no lineales y sistemas de ecuaciones no lineales mediante solvers seleccionados automáticamente.

Consulte las notas de la versión para obtener detalles sobre estas características y las funciones correspondientes.

Consiga una prueba gratuita

30 días de exploración a su alcance.

Descargar ahora

¿Listo para comprar?

Solicitar precio y explore los productos relacionados.

¿Es estudiante?

Obtenga el software para estudiantes de MATLAB y Simulink.

Más información