Está en la página 1de 6

Trabajo Grupal

Simulación Matemática
Pregunta
Un comerciante compra perió dicos a 0.33 (treinta y tres centavos) c/u y los vende a 0.5
(cincuenta centavos) c/u. Los perió dicos que no se venden al final del día se venden como
desecho a $0.05 (cinco centavos) c/u. Estos tres precios (de compra, de venta y de desecho)
podrían variar. El comerciante solo puede adquirir los perió dicos en paquetes de 10 para
luego revenderlos por unidades. Los perió dicos tienen en su titular 3 tipos de noticias:
Buenas, Regulares o Malas, pero no es posible predecir qué tipo de titular vendrá cada día
en los perió dicos. Sin embargo, el tipo de titular es importante, puesto que la demanda de
perió dicos depende de ello, por ejemplo, se ha comprobado que cuando el titular es bueno
se venden má s ejemplares que cuando es malo. El comerciante de perió dicos se dedica a
recoger la informació n del tipo de titular durante un añ o completo (365 días), y encuentra
que, 128 días las noticias eran Buenas, 164 días las noticias fueron Regulares y 73 días las
noticias eran Malas. Ademá s, cada día, él recogió informació n sobre la cantidad de
perió dicos demandados de acuerdo al tipo de titular, esta informació n se resume en la
siguiente tabla de frecuencias: Sería de mucha utilidad que el comerciante supiera la
cantidad ó ptima de perió dicos que debe adquirir para revenderlos de tal forma que su
ganancia sea la mayor posible, esto debido a que es muy comú n que se presenten alguna de
las siguientes dos situaciones que implican pérdida:
• Hay días en los que el comerciante compra má s perió dicos de los que vende (o son
demandados). Note que en este caso el comerciante pierde 0.33 − 0.05 = 0.28 centavos
por cada perió dico no vendido. Recuerde que los 0.05 centavos corresponden al precio
en el que se venden los perió dicos como desecho, a este precio lo llamaremos
‘salvamento por la venta de papeles de desecho’.

• Hay días en los que el vendendor compra menos perió dicos de los demandados. Note
que en este caso también existe pérdida (que aunque no se mira, siempre se la debe
considerar), la cual llamaremos ‘Lucro cesante por exceso de demanda’. Dado que los
ingresos por ventas son de 0.50 centavos por perió dico y el costo para el comerciante
es de 0.33 centavos por perió dico, el lucro cesante por exceso de demanda es de 0.17
centavos por cada perió dico demandado que no se pudo suministrar.

La ganancia diaria viene dada por la siguiente relació n:


Ganancia = ingresos por ventas - coste de los periódicos - lucro cesante por exceso de
demanda + salvamento por la venta de papeles de desecho
Ya que no existen las probabilidades teó ricas, en adelante se asumirá que las respectivas
frecuencias relativas obtenidas a partir de la tabla de frecuencias presentada
anteriormente son vá lidas para realizar cualquier tipo de proceso de simulació n. Esto no es
nada alejado de la realidad puesto que como usted bien sabe la frecuencia relativa es el
mejor estimador de la probabilidad teó rica
a) Cree una funció n que simule la ganacia diaria por venta de perió dicos y que arroje
como resultado la ganacia promedio del total de días simulados (el nú mero de días
simulados será el nú mero de simulaciones que se considere).
simulacion <- function(nSim,periodicos,c.compra,
c.venta,c.desecho,cesante){
titular <- c("Buena","Regular","Mala")
p.titular <- c(0.35,0.45,0.20)
demanda <- c(40,50,60,70,80,90,100)
d.buena <- c(0.01,0.02,0.05,0.07,0.12,0.05,0.02)
d.regular <- c(0.04,0.08,0.18,0.09,0.04,0.02,0.00)
d.mala <- c(0.09,0.04,0.03,0.02,0.01,0.00,0.00)
t <- sample(titular,nSim,replace = T,prob = p.titular)
d <- c()
for (i in 1:nSim) {
d[i] <- switch (t[i],
"Buena" = sample(demanda,size = 1,prob =d.buena),
"Regular" = sample(demanda,size = 1,prob =d.regular),
"Mala" = sample(demanda,size = 1,prob =d.mala))}

ingreso_ventas <- ifelse(d>=periodicos,yes = periodicos*c.venta,no =


d*c.venta)
costo <- periodicos*c.compra
lucro_cesante <- ifelse(d>periodicos,yes = ((d-periodicos)*cesante),no = 0)
salvamento <- ifelse(periodicos>d,yes = ((periodicos-d)*c.desecho),no = 0)
ganancia <- ingreso_ventas-costo-lucro_cesante+salvamento
round(mean(ganancia),2)
}

b) Use la funció n creada en a) para determinar cuá l sería la cantidad ó ptima que el
comerciante debería comprar para obtener la mayor ganacia posible. Use siempre
10000 (diez mil) réplicas de simulació n y una semilla igual a ‘1234’

40 Periodicos
set.seed(1234)
periodicos <- 40
nSim <- 10000
c.compra <- 0.33
c.venta <- 0.50
c.desecho <- 0.05
cesante <- 0.17

periodicos_40 <- simulacion(nSim = nSim,


periodicos = periodicos,
c.compra = c.compra,
c.venta = c.venta,
c.desecho = c.desecho,
cesante = cesante)
periodicos_40

## [1] 2.7

50 Periodicos
set.seed(1234)
periodicos <- 50
nSim <- 10000
c.compra <- 0.33
c.venta <- 0.50
c.desecho <- 0.05
cesante <- 0.17

periodicos_50 <- simulacion(nSim = nSim,


periodicos = periodicos,
c.compra = c.compra,
c.venta = c.venta,
c.desecho = c.desecho,
cesante = cesante)
periodicos_50

## [1] 5.23

60 Periodicos
set.seed(1234)
periodicos <- 60
nSim <- 10000
c.compra <- 0.33
c.venta <- 0.50
c.desecho <- 0.05
cesante <- 0.17

periodicos_60 <- simulacion(nSim = nSim,


periodicos = periodicos,
c.compra = c.compra,
c.venta = c.venta,
c.desecho = c.desecho,
cesante = cesante)
periodicos_60

## [1] 6.85

70 Periodicos
set.seed(1234)
periodicos <- 70
nSim <- 10000
c.compra <- 0.33
c.venta <- 0.50
c.desecho <- 0.05
cesante <- 0.17

periodicos_70 <- simulacion(nSim = nSim,


periodicos = periodicos,
c.compra = c.compra,
c.venta = c.venta,
c.desecho = c.desecho,
cesante = cesante)
periodicos_70

## [1] 6.87

80 Periodicos
set.seed(1234)
periodicos <- 80
nSim <- 10000
c.compra <- 0.33
c.venta <- 0.50
c.desecho <- 0.05
cesante <- 0.17

periodicos_80 <- simulacion(nSim = nSim,


periodicos = periodicos,
c.compra = c.compra,
c.venta = c.venta,
c.desecho = c.desecho,
cesante = cesante)
periodicos_80

## [1] 5.72

90 Periodicos
set.seed(1234)
periodicos <- 90
nSim <- 10000
c.compra <- 0.33
c.venta <- 0.50
c.desecho <- 0.05
cesante <- 0.17

periodicos_90 <- simulacion(nSim = nSim,


periodicos = periodicos,
c.compra = c.compra,
c.venta = c.venta,
c.desecho = c.desecho,
cesante = cesante)
periodicos_90

## [1] 3.51
100 Periodicos
set.seed(1234)
periodicos <- 100
nSim <- 10000
c.compra <- 0.33
c.venta <- 0.50
c.desecho <- 0.05
cesante <- 0.17

periodicos_100 <- simulacion(nSim = nSim,


periodicos = periodicos,
c.compra = c.compra,
c.venta = c.venta,
c.desecho = c.desecho,
cesante = cesante)
periodicos_100

## [1] 0.86

Resultado
resultado <- matrix(c(periodicos_40,
periodicos_50,
periodicos_60,
periodicos_70,
periodicos_80,
periodicos_90,
periodicos_100))
rownames(resultado) <- c(40,50,60,70,80,90,100)
colnames(resultado) <- c("Ganancia Promedio")

resultado

## Ganancia Promedio
## 40 2.70
## 50 5.23
## 60 6.85
## 70 6.87
## 80 5.72
## 90 3.51
## 100 0.86

plot(x = c(40,50,60,70,80,90,100),y = resultado,


xlab = "Cantidad de Periódicos",
ylab = "Ganancia",
main = "Cantidad Optima de Periódicos")
c) Una vez que ya conoce la cantidad ó ptima, use la funció n de simulació n con esta
cantidad ó ptima para saber qué pasaría con la ganancia si ahora nadie quisiera
comprar los papeles como desechos, pero el valor del perió dico subiría a $0.60
(sesenta centavos). Use siempre 10000 (diez mil) réplicas de simulació n y una semilla
igual a ‘1234’
set.seed(1234)
periodicos <- 70
nSim <- 10000
c.compra <- 0.33
c.venta <- 0.60
c.desecho <- 0
cesante <- 0.17

simulacion(nSim = nSim,
periodicos = periodicos,
c.compra = c.compra,
c.venta = c.venta,
c.desecho = c.desecho,
cesante = cesante)

## [1] 12.41

También podría gustarte