Best Software for 2025 is now live!

"How can I solve non-linear optimization with Gurobi Optimizer?"

In the case that I have a non-linear optimization, is there any way to solve it using the Gurobi Solver?
2 comentarios
Parece que no has iniciado sesión.
Los usuarios deben estar conectados para responder preguntas
Iniciar Sesión
Gurobi Optimizer
Respuesta Oficial
Gurobi Optimizer
GO
Gurobi Expert
0
Estas fueron algunas ideas excelentes en su momento sobre cómo manejar problemas no lineales en Gurobi. Además de esto, las versiones recientes de Gurobi han mostrado mejoras significativas en el rendimiento para problemas cuadráticos, particularmente problemas cuadráticos mixtos enteros (MIQP, MIQCP y MIQCP no convexos) y la versión 11.0 puede manejar muchos tipos de relaciones no lineales. La capacidad de usar aproximaciones lineales por tramos sigue presente y las sugerencias para la linealización y descomposición aquí siguen siendo muy útiles. Depende del usuario experimentar y decidir su preferencia basada en el equilibrio entre la precisión de modelar directamente con funciones no lineales y el rendimiento de la aproximación. Aquí hay un blog de Gurobi sobre su capacidad no lineal: https://www.gurobi.com/resources/nonlinear-solving-unlocking-new-levels-of-accuracy/
Parece que no has iniciado sesión.
Los usuarios deben estar conectados para escribir comentarios
Iniciar Sesión
Responder
Prashidha K.
PK
Optimisation Engineer at HIVERY
0
Gurobi está diseñado principalmente para resolver programas lineales de enteros mixtos. Gurobi admite la programación cuadrática hasta cierto punto con un rendimiento bastante bueno. Puedes formularlo de la misma manera que formulas un problema lineal. Sin embargo, si tu problema va más allá de cuadrático, entonces necesitarás convertir tu problema en una forma lineal. Hay varias maneras de hacer esto. Puedes introducir variables y restricciones adicionales para reformular las partes no lineales de manera lineal. Para algunas operaciones no lineales como valores absolutos, mínimo, máximo, etc., puedes usar 'Funciones de Ayuda de Restricciones Generales' disponibles en Gurobi que las linealizarán en segundo plano. Otra opción es usar métodos de descomposición (por ejemplo, Descomposición de Bender) donde divides el modelo no lineal en un problema maestro y subproblemas de tal manera que ambos sean lineales. Esto se puede hacer tratando las variables del problema maestro como constantes en el subproblema y viceversa. Luego resuelves el problema maestro y los subproblemas de manera iterativa actualizando las variables o agregando nuevas restricciones del subproblema al maestro como cortes de Bender.
Parece que no has iniciado sesión.
Los usuarios deben estar conectados para escribir comentarios
Iniciar Sesión
Responder