Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Optimización no lineal
Profesor: Integrantes:
Rodolfo Quijada * Rommy Fernández
* Estefany Rivas
* Johan Vargas
Caracas, 05 de julio de 2019
Antes de comenzar a resolver los ejercicios propuestos en esta ocasión, vale la pena
detenerse antes para describir brevemente los mecanismos utilizados para la obtención
de estos resultados.
En cuanto a los solvers, que son paquetes diseñados para brindar el soporte
algorítmico para la resolución de problemas de Optimización y en vista de la gran
variedad de estos, decidimos utilizar uno de los más conocidos en cuanto a
Programación No Lineal se refiere: IPOPT (Interior Point OPTimizer); la cual es una
librería de Software para la Optimización No Lineal de sistemas continuos a gran
escala.
Luego de Creado el Modelo, que representará el ámbito donde tendrá lugar nuestro
ejercicio, procedemos a crear las variables que formarán parte de nuestro modelo, en
este caso necesitamos 2 variables (X 1 y X2), por lo cual procedemos a su creación, de
la siguiente manera:
Como se muestra, se crean 2 variables que llamamos X[1] y X[2], cuyo dominio se
encuentra en el campo de los números reales. Ahora bien, ya teniendo las variables
necesarias podemos proceder a formular la Función Objetivo, la cual representamos a
continuación:
#Función Objetivo:
modelo.OBJ = Objective(expr = modelo.x[1] - exp(-modelo.x[2]), sense = maximize)
Como podemos ver, ésta se define por el método Objective() y recibe 2 parámetros: La
expresión a optimizar (Es decir, la función objetivo, denotada por expr) y el objetivo (es
decir, si se quiere maximizar o minimizar la función, representado por sense).
Estas son definidas por medio del método Constraint() que puede recibir varios
parámetros; en este caso usamos la expresión que queremos restringir para hallar la
solución deseada.
Ahora procedemos a configurar la obtención de los valores finales de las variables X[1]
y X[2], debido a que de lo contrario no se nos mostrarán, esto lo hacemos con la
función mostrada más abajo; luego definimos el solver a utilizar y llamamos a la
resolución de nuestro problema de optimización:
Ejercicio 3:
Como bien podemos visualizar, una vez más el solver nos dice que nuestro modelo
tiene solución y que se ha obtenido la solución óptima:
Estos ejercicios nos dejan muy claro lo potentes que son estas herramientas en la
resolución de modelos de Programación: tanto Lineal como No Lineal, además de otros
tipos más que no hemos estudiado hasta ahora pero que son igual de importantes.