Este artículo describe cómo el autor utilizó la optimización numérica para planificar la rutina semanal de su greyhound, Bebop. El problema, denominado ingeniosamente "The Traveling Salesdog Problem" (El Problema del Viajero de Ventas Canino), busca encontrar el mejor equilibrio entre variedad de actividades para enriquecer la vida de Bebop, minimizar la distancia recorrida (especialmente en superficies duras) y evitar la repetición de actividades.
El autor, con un enfoque en la optimización, modeló el problema utilizando Julia y su biblioteca JuMP. JuMP permite expresar el problema de optimización de manera muy similar a la formulación matemática, facilitando la transición del modelo mental al código ejecutable. El proyecto, disponible en GitHub, consta de un script de optimización (schedule.jl) y un archivo CSV (activities.csv) que define las actividades disponibles, su distancia desde casa y si cuentan con un área para correr sin correa.
El modelo considera nueve actividades posibles, asignando una puntuación a cada una en función de su distancia y la disponibilidad de un área para correr. La optimización se basa en variables binarias (x) que indican si una actividad se realiza en un día y a qué hora, y otra variable (used_activity) que rastrea cuántas actividades únicas se realizan a la semana. Se establecen restricciones para asegurar una estructura diaria (una caminata por la mañana y una por la noche), un límite de distancia diaria y la inclusión de al menos una actividad con área para correr. Además, se impone una restricción de novedad, evitando actividades repetidas en días consecutivos.
El objetivo final es maximizar la variedad de actividades, priorizar aquellas con áreas para correr y minimizar la distancia total recorrida. El autor utiliza pesos (weights) para ajustar la importancia relativa de cada uno de estos factores. El resultado no es una solución perfecta, sino una herramienta para comparar la rutina actual de Bebop con la solución óptima, identificando posibles mejoras y asegurando que se respeten las restricciones establecidas. El autor enfatiza que el objetivo principal es la mejora continua de la rutina de Bebop, más que encontrar una solución teóricamente perfecta.
