Caruso Pizza

7
 1 Caruso’s Pizza 1  Caruso Pizza es una empresa mixta de restaurantes y reparto de pizzas a domicilio. Caruso se especializa en pizzas de muy alta calidad, especialmente pizzas gruesas. Este tipo de pizzas, al tener una masa de mayor grosor, son más propensas a acumular humedad, que si no se libera adecuadamen te moja la pizza y la convierte en una masa blanda de mal aspecto y peor ingestión. Por ello, Caruso ha estado siempre muy preocupado por encontrar una tecnología capaz de situar la pizza en casa del cliente, en las condiciones ideales para ser degustada a satisfacción. El cliente domestico de Caruso, el que pide pizza para que se la lleven a casa, es típicamente una madre de familia que tiene necesidad urgente de alimentar a hijos hambrientos. Por ello, cuando el cliente llama a Caruso pidiendo una pizza, espera que la entrega se produzca en unos 30 minutos. Si se tarda más, es probable que ya no quier a la pizza. Por o tro l ado, 30 minutos es tiempo suficie nte para que la pizza se enfríe, si no se toman precauciones especiales. Y todo el mundo sabe que una pizza fría es prácticamente incomible. En el pasado, esto hacia necesario que la producción de pizzas se hiciera siempre bajo pedido. Esto llevaba a poner el máximo empeño en diseñar un proceso con un plazo de producción inferior a los 10 minutos. La mayoría de otros proveedores de pizza a domicilio tenían sistemas logísticos capaces de entregar pizzas en menos de 20 minutos, normalmente apelando al transporte en motocicletas ligeras cuya velocidad media en medios urbanos era más elevada que la de otros tipos de transporte. En una convención de fabricantes, Caruso atendió una presentación de una empresa que decía haber puesto a punto una tecnología capaz de mantener pizzas en stock, sin que se degradaran en calidad o temperatura. Se trataba de unos hornos de gas, que mantenían la pizza en atmósfera controlada y garantizaban una calidad, como de recién salida del horno, por un tiempo de almacenamiento de alrededor de dos horas. Adicionalmente, la tecnología se había implantado en unidades móviles, camionetas de reparto. Con estas camionetas, una empresa podía producir pizzas y mantenerlas en stock durante dos horas, al mismo tiempo que realizaba el reparto con la propia camioneta. En un horno cabían unas 40 pizzas. La velocidad media de las camionetas en tráfico urbano no superaba los 20 Km/hora, por lo que (al añadirle los tiempos de parada) una camioneta podía cu brir un ár ea de 2 x 2 Km, centrada alrededor del punto de fabricación. Caruso compró cuatro camionetas y empezó el reparto de pizzas gruesas usando esta tecnología. Las camionetas cargaban sus hornos en el centro de producción, con hasta 5 variedades de pizza. A continuación salían hacia las zonas de reparto. Cuando un cliente llamaba al centro de toma de pedidos, el encargado se ponía en contacto con las camionetas, para determinar cuál era la más cercana al domicilio del cliente que tenia pizza del tipo deseado. A continuación daba la orden a la camioneta de entregar el pedido . Si ninguna camioneta tenia pizza del tipo adecuado, el operador trataba de convencer al cliente de que cambiara su pedido. Esto, que se lograba solo en un 30% de los casos, permitía servir el pedido con una pizza ya existente en una camioneta. Si el cliente no cambiaba el tipo de pizza, la camioneta debía volver al centro de producción para recoger pizza del tipo deseado. Esta circunstancia se aprovechaba para recargar los hornos con todos los t ipos de pizza. Si en algún momento una 1  Hart C.W.L. Caruso’s Pizza: reparto Expres (A). Caso P-672. Division de Investigacion del IESE. Barcelona 1988

Transcript of Caruso Pizza

Page 1: Caruso Pizza

5/6/2018 Caruso Pizza - slidepdf.com

http://slidepdf.com/reader/full/caruso-pizza 1/7

 

  1

Caruso’s P izza1 

Caruso Pizza es una empresa mixta de restaurantes y reparto de pizzas a domicilio.Caruso se especializa en pizzas de muy alta calidad, especialmente pizzas gruesas.Este tipo de pizzas, al tener una masa de mayor grosor, son más propensas a

acumular humedad, que si no se libera adecuadamente moja la pizza y la convierte enuna masa blanda de mal aspecto y peor ingestión. Por ello, Caruso ha estado siempremuy preocupado por encontrar una tecnología capaz de situar la pizza en casa delcliente, en las condiciones ideales para ser degustada a satisfacción.

El cliente domestico de Caruso, el que pide pizza para que se la lleven a casa, es

típicamente una madre de familia que tiene necesidad urgente de alimentar a hijoshambrientos. Por ello, cuando el cliente llama a Caruso pidiendo una pizza, espera que

la entrega se produzca en unos 30 minutos. Si se tarda más, es probable que ya noquiera la pizza. Por otro lado, 30 minutos es tiempo suficiente para que la pizza seenfríe, si no se toman precauciones especiales. Y todo el mundo sabe que una pizza

fría es prácticamente incomible. En el pasado, esto hacia necesario que la producciónde pizzas se hiciera siempre bajo pedido. Esto llevaba a poner el máximo empeño endiseñar un proceso con un plazo de producción inferior a los 10 minutos. La mayoríade otros proveedores de pizza a domicilio tenían sistemas logísticos capaces deentregar pizzas en menos de 20 minutos, normalmente apelando al transporte en

motocicletas ligeras cuya velocidad media en medios urbanos era más elevada que lade otros tipos de transporte.

En una convención de fabricantes, Caruso atendió una presentación de una empresa

que decía haber puesto a punto una tecnología capaz de mantener pizzas en stock, sinque se degradaran en calidad o temperatura. Se trataba de unos hornos de gas, que

mantenían la pizza en atmósfera controlada y garantizaban una calidad, como derecién salida del horno, por un tiempo de almacenamiento de alrededor de dos horas.Adicionalmente, la tecnología se había implantado en unidades móviles, camionetas dereparto. Con estas camionetas, una empresa podía producir pizzas y mantenerlas enstock durante dos horas, al mismo tiempo que realizaba el reparto con la propia

camioneta. En un horno cabían unas 40 pizzas. La velocidad media de las camionetasen tráfico urbano no superaba los 20 Km/hora, por lo que (al añadirle los tiempos deparada) una camioneta podía cubrir un área de 2 x 2 Km, centrada alrededor delpunto de fabricación.

Caruso compró cuatro camionetas y empezó el reparto de pizzas gruesas usando esta

tecnología. Las camionetas cargaban sus hornos en el centro de producción, con hasta5 variedades de pizza. A continuación salían hacia las zonas de reparto. Cuando uncliente llamaba al centro de toma de pedidos, el encargado se ponía en contacto conlas camionetas, para determinar cuál era la más cercana al domicilio del cliente quetenia pizza del tipo deseado. A continuación daba la orden a la camioneta de entregar

el pedido . Si ninguna camioneta tenia pizza del tipo adecuado, el operador trataba deconvencer al cliente de que cambiara su pedido. Esto, que se lograba solo en un 30%de los casos, permitía servir el pedido con una pizza ya existente en una camioneta. Siel cliente no cambiaba el tipo de pizza, la camioneta debía volver al centro deproducción para recoger pizza del tipo deseado. Esta circunstancia se aprovechaba

para recargar los hornos con todos los tipos de pizza. Si en algún momento una

1 Hart C.W.L. Caruso’s Pizza: reparto Expres (A) . Caso P-672. Division de Investigacion del IESE.Barcelona 1988

Page 2: Caruso Pizza

5/6/2018 Caruso Pizza - slidepdf.com

http://slidepdf.com/reader/full/caruso-pizza 2/7

 

  2

camioneta tenia pizzas que llevaban dos horas en la misma, la camioneta se dirigía al

centro de producción para cargar pizzas nuevas.

Tras unos meses de operar el nuevo sistema, Caruso empezó a notar un aumentonotable en el volumen de desperdicios. Al mismo tiempo, no parecía que los clientesestuvieran muy contentos con el servicio de la empresa. A Caruso le preocupabanvarios aspectos

• ¿Cuál era el origen del aumento de los desperdicios?

• ¿Cuántos tipos de pizza podía distribuir con los camiones?• ¿Cuánto le costaba mover las pizzas por toda la ciudad, con respecto a la

técnica tradicional de la motocicleta?• ¿Qué área podía cubrirse de una forma razonable?

• ¿Valía la pena usar el sistema de las camionetas?

1 . U n m o d e l o p a r a Ca r u s o  

Para contestar las preguntas planteadas, Caruso preparo una simulación usando PSPS,

que presentaremos en esta sección. Empezaremos por la sección System de unaprimera versión simplificada, indicando las funciones necesarias para la implantación.

Cuadro 1. Modelo “Caruso”. Sección System.

System  {--Inicio y lectura de datos--} 

GENERATE 0,1;

COMPUTE Leedatos;

TERMINATE 0;

{--Generar demanda y buscar camion--} 

GENERATE Exponential(tDemanda),on;

{--Determinar el punto de demanda y la disponibilidad de tipo de pizza

fresca en el camion. Si no hay camion con pizza adecuada ir a reponer--} 

COMPUTE CargaAtributosDemandayCamion, IraCasoSegunDisponibilidad;

{--si no se puede hallar un camion disponible en maxespera dejarlo--} 

ENTER at[camion],1,fifo,maxEspera,OutOfStock;

ADVANCE Erlang(at[distancia],2);

entrega: COMPUTE zz = RealizaEntrega(at[camion],at[tipo]);

DEBUG step do stop;

TABULATE 1,cl-at[hora];

LEAVE at[camion],1;

COMPUTE zz = CalculaEstadisticas;

TERMINATE 1;

{--cada camion se representa por una facility. Las demandas son transacciones--} 

reponer: ENTER at[camion],1,fifo,maxespera,outofstock;{--ir a casa, cargar y volver--} 

ADVANCE Erlang(at[distancia],2);

DEBUG Mapa do COMPUTE Fdrawcont(6,GCLRALL);

COMPUTE camiones[at[camion],horasalida] = cargapizzas(at[camion]),

entrega;

{--perdidas por impaciencia--} 

outofstock:TERMINATE 1;

perdido: TERMINATE 1;

{--Informar de resultados en una tabla--} 

DEBUG Tablas do GENERATE Tiempo,1;

DEBUG Tablas do COMPUTE zz = resultados;

DEBUG Tablas do TERMINATE 0;

Endsystem;  

Page 3: Caruso Pizza

5/6/2018 Caruso Pizza - slidepdf.com

http://slidepdf.com/reader/full/caruso-pizza 3/7

 

  3

El modelo genera pedidos con una distribución entre pedidos exponencial, de

parámetro tDemanda (un dato). A continuación, la función CargaAtributosDemanda  

carga en los atributos de la transacción las características del pedido, las coordenadas

(x, y) del punto en que se origina la demanda, la hora a la que se produce y el tipo depizza pedido. La función FindCamion trata de encontrar un camión que cumpla con los

requisitos establecidos en el caso. Si lo encuentra, devuelve su número, que se guardaen un atributo de la transacción, para usarlo luego. Si no lo logra, puede ser por dosrazones. Primero, puede haber un camión que incluso yendo al deposito a cargar,llegue a tiempo de servir al cliente en el tiempo deseado. Si lo hay, se devuelve el

número del camión en negativo, para indicar que tiene que ir primero a casa arepostar pizzas. O puede ser que no haya camión a una distancia factible, en cuyocaso se da por perdido el pedido.

Si hay que ir al centro, el camión se pone en movimiento (el bloque ENTER bloquea el

camión elegido), espera el tiempo de transito, y una vez pasado este, recarga elcamión mediante la función Cargapizzas. Si en el proceso de recarga de un tipo de

pizza, se encuentra que la edad de alguno de los tipos en el camión supera un tiempodado, antigüedad, también se sustituye este tipo de pizza, eliminando todas las

unidades del mismo. El camión sale, para dirigirse a la ubicación del pedido,presumiblemente la casa del cliente. La impaciencia en el ENTER hace que si el camiónque se ha hallado, pero no queda disponible en un tiempo maxespera, el proceso seabandone y el pedido se pierda.

Cuando se ha encontrado un camión con la pizza adecuada, el pedido bloquea alcamión mediante un bloque ENTER. De esta forma el camión puede dirigirse a casa delcliente (bloque WAITFOR) y entregar el pedido. Los tiempos de transito se muestreande una distribución Erlang(x,2) para que tengan algo menos de variabilidad que en

el caso exponencial.

Una vez completada la lógica fundamental podemos pasar a escribir las funciones queimplantan el detalle. El lector observará que la implantación que hemos hecho noreproduce totalmente la realidad. Esto es parte del espíritu de la metodología, llegar a

un primer modelo lo más rápidamente posible. Ahora deberá empezar el proceso derefinamiento, que dejamos al lector como ejercicio. Aun con sus limitaciones el modelotiene un poder explicativo importante, que explotaremos en las sección siguiente.

Aquí tiene el lector las funciones que implementan los detalles.

Cuadro 2. Modelo “Caruso”. Sección Macros.Macros

{--usamos la distancia l1(manhattan distance)--} 

distance :function(x0,y0,x1,y1) return abs(x0-x1)+abs(y0-y1);

{--halla un camion disponible, que tiene pizza del tipo deseado y más cerca de la

demanda. Incluye la posibilidad de ir a repostar para los que no tienen la pizza

adecuada Si ninguno la tiene manda a repostar al más cercano. Devuelve el numero de

camion (positivo) si hay un camion que tiene la pizza, y el mismo numero pero negativo

si hay que ir a repostar --} 

findcamion : function (tipopizza,timedist)

Locals xx,i,hay,k,zz,acasa;

begin

xx = 9999999,

k = 0,

acasa = False,

for i = 1 to numfurgo do

if fc[i] == 0 then beginpunto = &camiones[i,1],

stockpizza = &camiones[i,stocks],

Page 4: Caruso Pizza

5/6/2018 Caruso Pizza - slidepdf.com

http://slidepdf.com/reader/full/caruso-pizza 4/7

 

  4

tiempoPizza = &camiones[i,tiempos],

hay = (stockPizza[tipopizza] > 0) and ((cl-tiempoPizza[tipopizza]) <=

duracion),

if hay then zz =

distance(at[posx],at[posy],punto[posx],punto[posy])/velocidad

else zz = (distance(at[posx],at[posy],0,0)+distance(0,0,punto[posx],punto[posy]))/velocidad + tcarga,

if (zz < xx) then begin

xx = zz,

k = i,

acasa = (not hay)

end

end,

^(timedist)= xx,

if acasa then k = -k,

return k

end;

CargaAtributosDemandayCamion: function()

begin

at[hora] = at[1],

at[tipo] = Random(1,numpizzas+1),at[posx] = Uniform(-xmax,xmax),

at[posy] = Uniform(-ymax,ymax),

at[camion] = findcamion(at[tipo],&at[distancia]),

return True

end;

IraCasoSegunDisponibilidad:function()

begin

if at[camion]>0 then return cb+1

else if at[camion] == 0 then return perdido

else begin

at[camion] = - at[camion], return reponer

end

end;

cargapizzas :function(num)

Locals j,zz;

begin{--preparacion de las variables--} 

stockpizza = &camiones[num,stocks],

tiempoPizza = &camiones[num,tiempos],{--mirar todos los tipos de pizza. Si su antigüedad es superior a antigüedad 

reponerlos. Lo mismo si su nivel ha bajado por debajo de smin --} 

for j = 1 to numpizzas do begin

if (cl-tiempoPizza[j]) > antiguedad then begin

desperdicio = desperdicio + stockpizza[j],

stockpizza[j] = 0

end,

if stockpizza[j] <= smin[j] then begin

totalCargado = totalCargado + smax[j]-stockpizza[j],

stockpizza[j] = smax[j]

end,

tiempopizza[j] = clend,

numcargas = numcargas + 1,

DEBUG mapa do zz = FDrawXY(6,num,0,0),

DEBUG dibuja do if (totalCargado > 0) then

zz = Fdrawxy(1,1,cl,desperdicio/totalCargado),

DEBUG dibuja do zz = FdrawXY(2,1,cl,cl/numcargas),

return cl

end;

realizaEntrega:function(cami,tip)

Locals z;

begin

punto = &camiones[cami,1],

stockpizza = &camiones[cami,stocks],punto[posx] = at[posx],

punto[posy] = at[posy],

DEBUG mapa do z = FDrawXY(6,cami,punto[posx],punto[posy]),

Page 5: Caruso Pizza

5/6/2018 Caruso Pizza - slidepdf.com

http://slidepdf.com/reader/full/caruso-pizza 5/7

 

  5

distTotal = at[distancia],

stockpizza[tip] = stockPizza[tip]-1,

entregas = entregas + 1,

return True

end;

CalculaEstadisticas:function ()

Locals zz;

begin

DEBUG dibuja do zz = FdrawXY(5,1,cl,

statvar(&distTotal,SAVERAGE)*velocidad),

if (cl-at[hora]) > tservicio then begin

numretrasos = 1,

retraso = cl-at[hora]-tservicio,

DEBUG dibuja do zz = FdrawXY(3,1,cl, statvar(&retraso,SAVERAGE)),

DEBUG dibuja do zz = FdrawXY(4,1,cl, statvar(&numretrasos,SAVERAGE))

end else numretrasos = 0,

Return True

end;

Resultados

Veamos los resultados de este modelo y que nos dicen con respecto a los problemasde Caruso. Iniciamos el análisis básico considerando un solo tipo de pizza, y un stockde 10 pizzas en el horno del camión.

Figura 2. Resultados de la simulación

En esta simulación la demanda es de un pedido cada tres minutos. Suponemos quecada pedido es por una sola pizza.

Page 6: Caruso Pizza

5/6/2018 Caruso Pizza - slidepdf.com

http://slidepdf.com/reader/full/caruso-pizza 6/7

 

  6

Figura 3. Tabla de Procesadores.

El porcentaje de pedidos retrasados es de un 6%. Si suponemos que son aceptadospor el cliente, esto no perjudica la productividad, la rentabilidad del negocio. Pero si lohace, y gravemente, con la competitividad, la percepción que tiene el cliente delservicio de la empresa.

La demanda total de pizza por hora es en promedio 60/3 = 20 unidades y por tanto de20/4 = 5 pizzas por camión. Si se cargan en promedio 10 pizzas, y una pizza dura enpromedio dos horas, habrá que vender 5 pizzas por hora en promedio para no tenerque tirar pizzas Y este valor coincide exactamente con la demanda. Por tanto elsistema esta perfectamente equilibrado en cuanto a capacidad de producción. Si se

opera perfectamente, no debería haber desperdicio alguno. Pero esto supone que todala demanda se atiende, es decir que no se pierden pedidos por problemas de plazo deentrega.

Contar los pedidos que se pierden no es fácil sin la simulación. Por tanto acudamos a

los resultados. Según la cuenta de los bloques TERMINATE, durante los 5000 minutosde tiempo de simulación se han entregado 1116 pizzas. Se han cargado 1370 (segúnla variable TotalCargado) Por tanto se han tenido que tirar 1370-1272= 98 pizzas, o

un desperdicio de 98/1370 = 7%

Pero veamos que sucede si se cargan dos tipos de pizza. Supongamos que la demandase reparte igualmente entre ambos tipos. Dividamos también la carga en dos partesiguales, 5 pizzas de cada tipo.

Figura 4. Resultados de la simulación

Aunque el tiempo entre visitas al centro de producción parece ser aproximadamente elmismo, el porcentaje de desperdicio ha crecido, y ahora es del 15%. Y si añadimos un

nuevo tipo de pizza, con un total de 3 tipos, el porcentaje de desperdicios se eleva aun 23%. Este fenómeno se origina en la división de la demanda lo que, al obligar arepartir el stock de seguridad, hace que no se alcancen los mismos niveles de

protección que consigue el stock total con la demanda consolidada. Al crecer elnúmero de productos, crece el número de roturas de stock, y por tanto crecería el

Page 7: Caruso Pizza

5/6/2018 Caruso Pizza - slidepdf.com

http://slidepdf.com/reader/full/caruso-pizza 7/7

 

  7

número de veces que el camión debería ir a repostar. Sin embargo, como el

porcentaje de roturas que encuentran al camión a más de una distancia, dependepoco del número de tipos de pizza, ahora se rechazaran más pedidos, por no poderservirse en el tiempo deseado.

La operación del sistema será de parecida eficiencia, o incluso mejor. Con tres

productos, los camiones tienen un tiempo entre recargas de unos 35 minutos, dandoun intervalo entre visitas al centro de un camión de 140 minutos. El porcentaje deentregas retrasadas disminuye desde el 4.2% al 3%. La dirección podría pensar quetodo va mejor. Y esto es así, en apariencia, porque el filtro del tiempo de servicio hacedesaparecer más pedidos en origen, y por tanto el sistema esta menos cargado. La

venta disminuye pero la dirección puede concluir que esto es achacable al mercado,especialmente si no queda constancia de los pedidos que no se pueden atender por unmal tiempo de respuesta. También disminuye la ocupación del camión desde el 56%con un tipo, al 54% con tres tipos.

¿Qué se puede hacer?. ¿Aumentar la velocidad de los camiones? ¿Arreglara estoalgo?. ¿Y cómo se puede hacer ?. El lector puede explorar el sistema analizandoposibilidades.

Aunque los refinamientos le darán una mejor perspectiva, verá que el diagnostico

general ya esta perfectamente establecido. El sistema esta mal planteado. Obliga atener stocks de seguridad perecederos en un almacén móvil, la camioneta. Elfenómeno de la división de demanda, al que nos hemos referido más arriba, se agravapor estas dos circunstancias. Caruso cayo en la trampa tecnológica, usando unatecnología poco adaptada a su proceso productivo y de servicio. Posiblemente debe

replantearse el problema desde el principio: ¿Cómo atender a los clientes enflexibilidad (la pizza que quieran) y en rapidez?. Producir a medida, Just In Time,

parece ser la única alternativa viable.

El potencial de desastre de la situación de Caruso es grande, pero difícil de ver sin un

análisis del tipo que hemos hecho. Esta es otra ventaja de las simulación en laempresa: Ayudar en el diagnostico de los motivos, en casos complicados. En Caruso,la dirección solo se ha alarmado por el aumento de los desperdicios y la disminuciónde los beneficios, sin entender el problema. Con la simulación hemos logradoentenderlo. Lo de menos son los números concretos, y hasta la precisión del modelo.

¿En estas condiciones, vale la pena refinar el modelo?. Creemos que no. Que ladiferencia serán unos puntos en los porcentajes, pero probablemente no un mejorentendimiento de la naturaleza del problema. Y refinarlo toma tiempo de diseño, de

programación y de análisis. En nuestra experiencia el balance se inclina siempre haciamodelos sencillos y rápidos de preparar y entender2.

2 Una vez vimos un modelo de una factoría tan detallado, que simulaba a velocidad menor que el sistemareal. Se tardaba una hora en simular media hora de proceso de la factoría. Costaba tanto entenderlo que seterminó abandonando, ante la imposibilidad de saber lo que hacia. Sus propios creadores renunciaron acomprenderlo…