07c0h
Usuario (Argentina)
A veces me pregunto qué hace la gente normal cuando no está haciendo algo en concreto. Por vaya uno a saber qué fusible quemado dentro de mi cabeza, mi cerebro parece que no tiene la capacidad de apagarse por un rato. Esto tiene la contra de que soy incapaz de entablar una conversación casual (escena típica: alguien me pregunta “¿cómo estás?” y yo dedico 10 minutos a responderle en detalle), pero tiene a cambio la ventaja de que tiendo a analizar cosas que el resto de la gente pasa por alto. Eso nos trae al artículo de hoy: qué caja elegir en un supermercado. Supongamos un supermercado común y corriente. Ya hemos comprado todo lo que necesitamos, tenemos todo lo de la lista (y cinco a diez cosas más que se nos antojaron en el momento), y nos encontramos con que es sábado al mediodía y es un mundo de gente. Ahora bien, el algoritmo “típico” consiste en elegir la cola más corta, encomendarse a todos los santos conocidos, y rogar que la persona de adelante tenga saldo en la tarjeta, que la cajera no tenga que pedir autorización y/o que Godzilla no destruya la sede de los cajeros Link en Japón, haciendo que a uno le rechacen la tarjeta y tenga que empezar a dejar cosas en la cinta porque las monedas del bolsillo no le alcanzan. Aunque intuitivo, este algoritmo tiene un par de defectos no tan obvios, que hoy aprenderemos a corregir en unos pocos pasos. Lo primero que tenemos que tener en cuenta son las siguientes observaciones (cuesta un poco al principio, pero con el tiempo se hace al vuelo): * Contar personas en una caja es una mala medición, simplemente porque mucha gente va acompañada al super. Dicho de otra manera, lo que a nosotros nos interesa contar son grupos familiares, es decir, la cantidad de carritos y/o canastos que hay en la fila. Una familia numerosa con un solo carrito puede ocupar el mismo lugar que tres personas solas. * Lo segundo a tener en cuenta es el tiempo que se pierde entre persona y persona. Dado que procesar a cada persona toma tiempo (hay que calcular el total, informárselo al cliente, cobrarle, sacar el vuelto, pedirle vuelto al cajero de al lado, llamar a la supervisora, etc), a veces nos va a convenir más ponernos atrás de una persona con un carrito lleno antes que dos personas (o incluso tres) con canastos a medio llenar. ¿Por qué? Porque el tipo que vacía un carrito lo hace a una velocidad constante, mientras que una cola con distintos clientes tiene altas y bajas (más lo último que lo primero). Esto nos lleva a… * Si la caja cobra impuestos, el tiempo de atención a una persona casi se duplica. El pago de impuestos es algo engorroso y que siempre tiene demora (desde “cobrame esto aparte” hasta “tengo estos 14 impuestos, mas estos tres de mi vecina que tenés que cobrarme con esta otra plata”), lo cual hace que tarde más el cambio de cliente a cliente y, por ende, hace más lenta la fila. Con esto en mente, podemos explicar por ejemplo la paradoja de la “caja rápida” (o sea, que es igual de rápida que las demás): si bien la gente lleva pocos productos, cuando el joven de adelante paga con tarjeta de débito, el hombre del medio paga con un billete de $100 y la anciana del carrito paga con monedas de 10 centavos, la caja se hace lenta por el tiempo que toma cobrarle a cada uno, mientras que la caja común con el tipo con el carrito lleno termina más rápido. Teniendo esto en mente, y si realmente nos interesa terminar con el trámite de la caja lo antes posible (queda la posibilidad de que usted vaya al supermercado como una especie de evento social, en cuyo caso puede olvidar todo lo que leyó hasta ahora), el algoritmo más sencillo sería el siguiente: 1. Tomar un conjunto de cajas, y elegir una entre ellas. Esto es intuitivo, nadie va a ir corriendo a lo largo de las 30 cajas del super una y otra vez, cargado de compras, sólo para elegir la más rápida, pero no está de más mencionarlo (esto es un algoritmo, después de todo, hay que ser exhaustivo). 2. Para cada una de esas cajas, calculamos el número de grupos para cada uno. A cada uno vamos a clasificarlo en rápido, normal o lento. Los jóvenes solos tienden a marchar rápido, mientras que las personas mayores con muchas compras tienden a demorar un poco más. Los que llevan impuestos son los peores, al igual que (obviamente) los que llevan dos carros repletos. 3. Ahora ya podemos clasificar cada caja de forma bastante simple. Básicamente, dos rápidos equivalen a un mediano, y dos medianos equivalen a un lento. Entonces, si tenemos cajas “lento-lento”, “rápido-rápido-rápido” y “lento-rápido”, nos conviene la segunda. Este algoritmo es una aproximación sencilla, pero efectiva (vayan a pararse a un supermercado un par de horas y después me cuentan). Si quieren ponerse en detalle, pueden agregar también el tiempo que demora el cajero (aquí estamos asumiendo cajeros uniformes, pero en la realidad siempre hay cajeros más rápidos que otros), la probabilidad de que haya que pedir autorización y/o se clave la caja, y otras tantas variables. Obviamente, esto es un desarrollo en etapa beta, así que les informaré sobre futuros desarrollos. Finalmente, quisiera agradecer públicamente a un par de Hipermercados de la ciudad por su aporte a esta investigación, sin cuyas cajas de demora eterna no habría encarado este problema en un principio, pero por vaya uno a saber cuáles razones prefirieron permanecer en el anonimato. Fuente: una de las tantas tonterías que publiqué alguna vez en mi blog, 7c0h.com.ar. La verdad es que no me da la cara para recomendarle a nadie que lo visite, pero por otra parte hay más de un post en Taringa con cosas mías sin citarme, así que supongo que de vez en cuando algo decente hay...