Unleash the full potential of your business in the digital world


Algoritmo de programación.

James Huang | 2021.08.13

Estamos completando la solución para nuestro cliente y descubrimos un problema común que no se ha optimizado en el mundo digital. En la vida real, donde se programan varios recursos (nombramientos, salas y equipo), cada "Servicio" puede consumir diferentes espacios de tiempo y, por lo tanto, cada cita se programa para un nombramiento y también puede tomar una sala y/o equipo(s). En un enfoque tradicional, el calendario se basa en los clientes finales y las citas se programan a lo largo del tiempo, llenando lentamente el calendario.

Creemos que NO es la manera óptima de llevar a cabo la operación. El enfoque óptimo consiste en determinar los horarios de disponibilidad "óptimos" que el cliente final puede elegir al reservar una cita.

Es fácil determinar todos los horarios disponibles a partir del algoritmo: es la superposición de la disponibilidad para los destinatarios/salas/equipos solicitados. Sin embargo, queremos evitar tener huecos de 5/10/15 minutos en la agenda que no se puedan llenar más tarde. (Imagina que la gente compra un asiento en el cine a propósito para obtener un hueco entre otros horarios).

Comenzamos con una solución que solo tiene en cuenta la disponibilidad de un recurso (usuarios). Primero, determina el mínimo común múltiplo (MCM) de las duraciones de las citas que el usuario puede realizar. Luego, genera intervalos de disponibilidad en el tiempo total disponible para ese usuario, utilizando el MCM como tamaño de paso. Esto parece mejor que ofrecer todas las opciones de disponibilidad en cada intervalo de 5 minutos, aunque no es ideal. (Por ejemplo, si el MCM es alto, se ofrecerán pocas opciones). Además, no tiene en cuenta los otros recursos (salas / equipos).

Otro enfoque que creemos que puede funcionar bien para la planificación incremental es implementar una estrategia de precios. Si el cliente final toma un recurso que deja un vacío y ese vacío puede quedar sin vender como resultado, se agrega una parte del precio del vacío al costo del recurso. En el límite, al 100% del costo del vacío, no tendrá ninguna pérdida como resultado de ninguna planificación.

Y luego miramos hacia dentro. El problema del hacer el cambio. y pronóstico acercamiento. 

Los valores de monedas pueden ser modelados por un conjunto de n distintos valores enteros positivos (números enteros), ordenados en orden creciente como w1 a través de wn. El problema es: dado un monto W, también un entero positivo, encontrar un conjunto de enteros no negativos (positivos o cero) {x1, x2, ..., xn}, con cada xj representando con qué frecuencia se usa la moneda con valor wj, lo que minimiza el número total de monedas f(W)...

Y nos dimos cuenta de por qué no hay un motor de reserva avanzado ampliamente disponible en el mercado. Simplemente porque la manera de "optimizar" puede ser diferente según el cliente y se necesita una comprensión sólida de qué problemas / cuestiones le gustaría resolver.

Gracias de nuevo a EastWood Health por esta interesante oportunidad de permitirnos aprender.


Algoritmo de programación.
MERCURY TECHNOLOGY SOLUTION, James Huang 13 agosto, 2021
Compartir
Impacto de COVID-19 en bienes raíces comerciales