Los problemas de optimización en general requieren encontrar mínimos o máximos. Veamos esto con el siguiente problema: queremos construir una oficina con solo 50 mts de perímetro de paredes abarcando el área más grande posible (punto máximo). La oficina solo tiene 3 paredes y una vista al mar.
Resolviendo el problema
Primero debemos encontrar la función a optimizar. En este caso, queremos encontrar el área máxima. De acuerdo al dibujo de arriba, el área está dada por A = x * y, y el perímetro de las tres paredes está dado por p=2x+y=50. Teniendo estos datos, podríamos intentar resolverlo al tanteo. Sin embargo, la mejor forma de resolverlo parecido a un sistema de ecuaciones.
Si tenemos que 2x+y=50, podemos reordenar y nos queda y=50-2x. Entonces sustituímos esta expresión en la fórmula del área para que nos quede solo en función de x. Nos queda: A(x)=x(50-2x)=50x-2x*x.
Ahora toca diferenciar la función del área e igualarla a cero. Quedando así: A’(x) = -4x + 50 = 0. Resolvemos para x, y nos da un punto crítico en x=25/2. Solo nos queda determinar si este es un máximo. Para ello evaluamos en la derivada un punto a la izquierda y a la derecha de 25/2. Es decir:
A'(12)=-4*12+50=2A'(13)=-4*13+50=-2
Como a la izquierda de x la derivada es positiva, y a la derecha es negativa, podemos decir que x=25/2 es un máximo. Solo queda sustituir en y=50-2x. Nos da que y=25. Por lo tanto, las medidas de las paredes de la oficina con la mayor área son x=(25/2)m y y=25m . El área nos da
.
Conclusión
Es importante entender cómo resolver problemas de optimización para saber qué hay detrás de distintos algoritmos de machine learning como el descenso del gradiente. La ventaja que tenemos en la ciencia de datos es que dichos problemas ya están resueltos en código por otros data scientists. Sin embargo, es útil entender de donde vienen dichas soluciones.
Contribución creada con los aportes de Joan Blanco y Ciro Villafraz.
Estimado Enrique, tienes un error en el calculo final. Tú calculas 12.45 y 12.55 sobre f(x) cuando deberías hacerlo sobre la derivada primera: f’(x). Así, A(12.45) ≠ 1/5 pero, A’(12.45)=1/5. Saludos, Adrian.
Hola, si confundió los resultados. El error va más allá de si debió calcularlo en la derivada o no. Esta bien usar la función A para comprobar que si se tiene un máximo.
Es necesario tener en cuenta la optimización buscando una función objetivo, esto significa que, con ayuda de las derivadas y los límites podrémos encontrar el área más óptima para el desarrollo de las "oficinas"
para esto se hace lo siguiente:
Paso 01. entender el área y perimetro del espacio:
A = x * y
P = x + y + x = 2x + y
Paso 02: Tener un área, en este caso de muro, como restricción (50ml de perimetro en este caso)
2x + y = 50
Paso 03: Buscar la función objetivo, en este caso y (es la función que queremos optimizar)
y = 50-2x
Paso 04: Reescribir en terminos de la dependiente
área en terminos de x
A(x) = x(50-2x)
A(x) = -2x² + 50x
Paso 05: optimizar buscando su derivada e igualar a 0 (se iguala porque queremos saber en qué punto la x está en el punto más alto o más bajo)
A'(x) = -4x + 50 = 0
-4x + 50 = 0
x = -50/ -4 = 25/2 (mínima expresión)
Paso 06: Buscar datos a la izquierda y a la derecha
Se busca el valor para el cual la derivada es igual a 0
-4x + 50 = 0
x = 12,5
Luego se evalúa si ese valor (punto crítico) corresponde a un máximo o mínimo con la segunda derivada
A''(x) = -4
Como la segunda derivada es < 0 para cualquier valor de x, todos los puntos críticos que hallemos (en este caso solo hay uno: x= 12,5) van a ser máximos.
Estas evaluando a la derecha y a la izquierda en la función equivocada, esto podria llevar a malinterpretaciones, la función que nos da el signo del punto critico es la derivada, no la función sin derivar
Hay un error al momento de evaluar 12.45 y 12.55, debemos de evaluarlo en la función derivada, ya que el crecimiento o decrecimiento, se hace con respecto a la pendiente, que está representado por la derivada.
Otro buen método para identificar si un punto critico es positivo o negativo, es con la segunda derivada, si calculamos la derivada de A'(x) = 50 -4x
A''(x) = -4 - observamos que es negativo es decir que esta función tiene una concavidad negativa, por lo tanto es un máximo.
esto puede ser un poco confuso pues A'' no mide si es máximo o mínimo, si no que mide la dirección de la concavidad, por lo tanto es un poco contra intuitivo pues un signo (-) es un á y un (+) es un mínimo.
partiendo en pedazos el problema de optimizacion vemos lo siguiente:
Sistema de ecuaciones:
"1-) 2x + y = 50
2-) x * y "
Utilizamos el metodo de sustitucion con la primera ecuacion para satisfacer la 2da ecuacion (Area) que es la que tratamos de maximizar
Sustitucion:
"1-) y = 50 - 2x ==> sustituimos la Y en la 2da ecuacion (x * y)
2-) x * (2x -50) == -2x^2 + 50x"
Decimos que la funcion Area es igual a:
A(x) = -2x^2 + 50x
Derivar:
Derivamos para poder encontrar el maximo o minimo de la funcion Area
"A(x) = -2x^2 + 50x
A’(x) = -4x + 50"
Igualamos a 0
"-4x + 50 = 0 ==> Despejamos la X para hallar el max o min
x = 12.5 ==> max o min"
Identificar si es max o min :
Para esto simplemente debemos usar la ecuacion ANTES de derivar (A(x) = -2x^2 + 50x) y sustituir las X por los limites del maximo o minimo que acabamos de encontrar (12.5) de tal manera que:
por izquierda = A(12.45) = -2(12.45)^2 + 50(12.45) == 1/5
por derecha = A(12.55) = -2(12.55)^2 + 50(12.55) == -1/5
izquierda = 1/5 (positivo) | derecha = -1/5 (negativo)
Entonces x = 12.5 es un MAXIMO
Encontrar la Y:
Sustituimos las X con el valor maximo encontrado(12.5) en la ecuacion que despejamos en el paso de sustitucion (y = 50 - 2x )
y = 50 - 2(12.5)
y = 25
x = 12.5
Lo más útil del ejemplo de la oficina no es el resultado sino el paso previo a derivar. El problema trae dos variables, pero la ecuación del perímetro, 2x+y=50, permite despejar una de ellas, y=50-2x, y reemplazarla en la fórmula del área, de modo que esta queda solo en función de x. Solo entonces tiene sentido derivar e igualar a cero. En presupuesto, por ejemplo, un problema típico es maximizar un resultado con un tope de gasto, y conviene escribir qué se maximiza y qué límite lo condiciona antes de tocar cualquier fórmula.
En el cálculo de máximos y mínimos de una derivada, debes evaluar la razón de cambio en la derivada de la función, no en la función misma. Esto implica verificar el signo de la derivada antes y después del punto crítico (donde la derivada es cero) para determinar si hay un máximo (cambio de positivo a negativo) o un mínimo (cambio de negativo a positivo).