En la jerga de optimización, se le llama función objetivo a la función que se desea optimizar alguno o algunos de sus argumentos. En este ejemplo la función objetivo a minimizar será:
La solución del problema de minimización consiste en encontrar los valores del vector x para los cuales la salida de la función objetivo sea mínima. En la práctica la función objetivo está sujeta a restricciones por lo que este ejemplo no será la excepción:
Restricción 1. El producto de todas las variables debe ser mayor o igual a 25.
Restricción 2. La suma de los cuadrados de las variables debe ser igual a 40.
Finalmente hay que considerar los intervalos que acotan a cada una de las variables:
Para escribir el programa de Python usando el submódulo optimize de SciPy necesitamos saber lo siguiente. La función minimize() tomará, para este ejemplo, estos argumentos:
func. Una función que debe definirse con un único argumento vectorial y retornando un único escalar.
method. La lista de métodos de minimización disponibles aparecen en la documentación. Es importante saber que los únicos métodos que permiten optimización con restricciones son ''COBYLA", "SLSQP" y "trust-constr".
bounds. Lista de tuplas con las cotas para cada variable.
constraints. Lista de diccionarios donde cada uno tiene la esctructura:
- 'type': Tipo de restricción. 'eq' para igualdad o 'ineq' para desigualdad
- 'func': Nombre de la función que describe la desigualdad (debe crearse)
2 comentarios:
Ok, pues quisiera entender qué es, pero muy apenas y sé medio entender el html, así que ni para cuando.
Bienvenido, este lugar es dónde aviento mis notas técnicas, dramas y demás. Todo va a la misma canasta jaja. Yo te conozco, ¿no eras del grupo de bloggers de Guerrero, el Bieno, el eterno candidato...? O al menos ellos te enlazaban.
Publicar un comentario