Se definen las variables con sus respectivas probabilidades y los vectores donde se acumularan los datos finales
Se comienza a realizar un ciclo for por cada uno de los pedidos que pueden realizarse en ciclos de 20 días:
##Ciclo por pedido
for (x in c(40,50,60,70,80,90,100)){
earn <- 0
##Ciclo por día
for (d in 1:20) {
diatipo[d]<- sample(tipo, size=1, replace = TRUE, prob=ptipo) ##Se toma el tipo de venta por día como una variable que cambia día con día.
if(diatipo[d]=="Excelente"){dem[d] <- sample(demand, size=1, replace = TRUE, prob=dexcel)}
else if(diatipo[d]=="Bueno"){dem[d] <- sample(demand, size=1, replace = TRUE, prob=dbueno)}
else if(diatipo[d]=="Malo"){dem[d] <- sample(demand, size=1, replace = TRUE, prob=dmalo)}
if(dem[d]<x)
{
ganancias <- (dem[d]*0.5)- (x*0.33) + ((x-dem[d])*0.05)
}
else if (dem[d]==x)
{
ganancias <- (dem[d]*0.5)-(x*0.33)
}
else if (dem[d]>x){
ganancias <- (x*(0.5-0.33)) - ((dem[d]-x)*(0.5-0.33))
}
earn<-earn+ganancias
nuevo <- data.frame (dia=d,Compra=x,Clientes=dem[d],Ganancia=ganancias)
result <- rbind(result, nuevo) ##Data frame con los resultados de la simulación
}
earn <- earn/ 20
a <- data.frame (Compra=x,Ganancia=earn)
Resultado_Final <- rbind(Resultado_Final, a) ##Data frame con el promedio de ganancias por cada pedido
}
View(print(result))
## dia Compra Clientes Ganancia
## 1 1 40 50 5.1
## 2 2 40 80 0.0
## 3 3 40 90 -1.7
## 4 4 40 80 0.0
## 5 5 40 60 3.4
## 6 6 40 60 3.4
## 7 7 40 50 5.1
## 8 8 40 80 0.0
## 9 9 40 60 3.4
## 10 10 40 60 3.4
## 11 11 40 70 1.7
## 12 12 40 60 3.4
## 13 13 40 60 3.4
## 14 14 40 70 1.7
## 15 15 40 80 0.0
## 16 16 40 40 6.8
## 17 17 40 60 3.4
## 18 18 40 40 6.8
## 19 19 40 40 6.8
## 20 20 40 60 3.4
## 21 1 50 80 3.4
## 22 2 50 60 6.8
## 23 3 50 80 3.4
## 24 4 50 60 6.8
## 25 5 50 50 8.5
## 26 6 50 50 8.5
## 27 7 50 50 8.5
## 28 8 50 80 3.4
## 29 9 50 70 5.1
## 30 10 50 60 6.8
## 31 11 50 60 6.8
## 32 12 50 50 8.5
## 33 13 50 60 6.8
## 34 14 50 100 0.0
## 35 15 50 80 3.4
## 36 16 50 40 4.0
## 37 17 50 50 8.5
## 38 18 50 70 5.1
## 39 19 50 40 4.0
## 40 20 50 60 6.8
## 41 1 60 80 6.8
## 42 2 60 80 6.8
## 43 3 60 60 10.2
## 44 4 60 60 10.2
## 45 5 60 90 5.1
## 46 6 60 80 6.8
## 47 7 60 90 5.1
## 48 8 60 60 10.2
## 49 9 60 100 3.4
## 50 10 60 60 10.2
## 51 11 60 70 8.5
## 52 12 60 70 8.5
## 53 13 60 70 8.5
## 54 14 60 70 8.5
## 55 15 60 50 5.7
## 56 16 60 60 10.2
## 57 17 60 60 10.2
## 58 18 60 60 10.2
## 59 19 60 60 10.2
## 60 20 60 60 10.2
## 61 1 70 60 7.4
## 62 2 70 80 10.2
## 63 3 70 100 6.8
## 64 4 70 40 -1.6
## 65 5 70 50 2.9
## 66 6 70 50 2.9
## 67 7 70 40 -1.6
## 68 8 70 40 -1.6
## 69 9 70 60 7.4
## 70 10 70 70 11.9
## 71 11 70 80 10.2
## 72 12 70 60 7.4
## 73 13 70 70 11.9
## 74 14 70 50 2.9
## 75 15 70 50 2.9
## 76 16 70 70 11.9
## 77 17 70 80 10.2
## 78 18 70 50 2.9
## 79 19 70 80 10.2
## 80 20 70 90 8.5
## 81 1 80 60 4.6
## 82 2 80 70 9.1
## 83 3 80 40 -4.4
## 84 4 80 60 4.6
## 85 5 80 90 11.9
## 86 6 80 80 13.6
## 87 7 80 100 10.2
## 88 8 80 50 0.1
## 89 9 80 80 13.6
## 90 10 80 60 4.6
## 91 11 80 40 -4.4
## 92 12 80 40 -4.4
## 93 13 80 70 9.1
## 94 14 80 50 0.1
## 95 15 80 60 4.6
## 96 16 80 40 -4.4
## 97 17 80 60 4.6
## 98 18 80 50 0.1
## 99 19 80 80 13.6
## 100 20 80 40 -4.4
## 101 1 90 60 1.8
## 102 2 90 60 1.8
## 103 3 90 40 -7.2
## 104 4 90 60 1.8
## 105 5 90 80 10.8
## 106 6 90 90 15.3
## 107 7 90 40 -7.2
## 108 8 90 100 13.6
## 109 9 90 60 1.8
## 110 10 90 60 1.8
## 111 11 90 90 15.3
## 112 12 90 100 13.6
## 113 13 90 80 10.8
## 114 14 90 80 10.8
## 115 15 90 50 -2.7
## 116 16 90 60 1.8
## 117 17 90 50 -2.7
## 118 18 90 40 -7.2
## 119 19 90 40 -7.2
## 120 20 90 60 1.8
## 121 1 100 60 -1.0
## 122 2 100 60 -1.0
## 123 3 100 60 -1.0
## 124 4 100 70 3.5
## 125 5 100 40 -10.0
## 126 6 100 70 3.5
## 127 7 100 40 -10.0
## 128 8 100 80 8.0
## 129 9 100 40 -10.0
## 130 10 100 70 3.5
## 131 11 100 60 -1.0
## 132 12 100 90 12.5
## 133 13 100 50 -5.5
## 134 14 100 90 12.5
## 135 15 100 100 17.0
## 136 16 100 70 3.5
## 137 17 100 50 -5.5
## 138 18 100 80 8.0
## 139 19 100 70 3.5
## 140 20 100 50 -5.5
View(print(Resultado_Final))
## Compra Ganancia
## 1 40 2.975
## 2 50 5.755
## 3 60 8.275
## 4 70 6.185
## 5 80 4.120
## 6 90 3.430
## 7 100 1.250
plot(Resultado_Final)

CONCLUSION
La mejor opción de compra de periódicos es la opción de 60 unidades, porque en promedio genera una mejor ganancia, con un promedio de 8.30 dólares.
La peor opción de compra es la de 100 unidaes, debido a que en promedio genera una ganancia de 1.25 dólares y es la menor de todas las opciones.