Problema del Vendedor de Periódicos

Información del problema

tiposDia <- c("Excelente", "Bueno", "Malo")
probabilidadTipo <- c(0.35, 0.45, 0.2)
demandas <- c(40, 50, 60, 70, 80, 90, 100)
probabilidadesExcelente <- c(0.03, 0.05, 0.15, 0.2, 0.35, 0.15, 0.07)
probabilidadesBueno <- c(0.1, 0.18, 0.4, 0.2, 0.08, 0.04, 0)
probabilidadesMalo <- c(0.44, 0.22, 0.16, 0.12, 0.06, 0, 0)
set.seed(25)
diatipo <- numeric(20)
demanda<- numeric(20)
resultado<-NULL
resultadoFinal<-NULL
##Ciclo por pedido
for (pedido in c(40,50,60,70,80,90,100)){
  utilidad <- 0
  ##Ciclo por día
  for (dia in 1:20) {
    ##Se toma el tipo de venta por día como una variable que cambia día con día.
    diatipo[dia]<- sample(tiposDia, size=1, replace = TRUE, prob=probabilidadTipo)
    
    if(diatipo[dia]=="Excelente"){
      demanda[dia] <- sample(demandas, size=1, replace = TRUE, prob=probabilidadesExcelente)
    }
    else if(diatipo[dia]=="Bueno"){
      demanda[dia] <- sample(demandas, size=1, replace = TRUE, prob=probabilidadesBueno)
    }
    else if(diatipo[dia]=="Malo"){
      demanda[dia] <- sample(demandas, size=1, replace = TRUE, prob=probabilidadesMalo)
    }
    if(demanda[dia]<pedido)
    { 
      ganancias <- (demanda[dia]*0.5)- (pedido*0.33)  + ((pedido-demanda[dia])*0.05)
    } 
    else if (demanda[dia]==pedido)
    {
      ganancias <- (demanda[dia]*0.5)-(pedido*0.33)
    }
    else if (demanda[dia]>pedido){
      ganancias <- (pedido*(0.5-0.33))-((demanda[dia]-pedido)*(0.5-0.33))
    }
    utilidad<-utilidad+ganancias
    nuevo <- data.frame(Dia=dia,Compra=pedido,Clientes=demanda[dia],Utilidad=ganancias)
    ##Data frame con los resultados de la simulación
    resultado <- rbind(resultado, nuevo) 
  } 
  utilidad <- utilidad/ 20
  promedioGananciasPedido <- data.frame (Compra=pedido,Utilidad=utilidad)
  ##Data frame con el promedio de ganancias por cada pedido
  resultadoFinal <- rbind(resultadoFinal, promedioGananciasPedido) 
} 
View(print(resultado))
boxplot(formula = Utilidad ~ Compra, data =  resultado,main = "Utilidad x Demanda", 
        xlab = "Demanda", ylab = "Utilidad",
       col = c("orange", "yellow", "grey", "green", "blue", "red", "brown"))

Warning in gzfile(file, "wb") :
  cannot open compressed file 'C:/Users/Oscar Padilla/Desktop/Galileo/Postgrado en Investigacion de Operaciones/TRIMESTRE VII/Modelacion y Simulacion I/Laboratorio # 2/.Rproj.user/shared/notebooks/F4F4F36-Laboratorio # 2/1/F28451AFB616D64E/cke6ghesi9jss_t/2d174fb2996e452e824c8f853150203b.snapshot', probable reason 'No such file or directory'
Error in gzfile(file, "wb") : cannot open the connection
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIFByb2JsZW1hIGRlbCBWZW5kZWRvciBkZSBQZXJpw7NkaWNvcw0KDQojIyMjIEluZm9ybWFjacOzbiBkZWwgcHJvYmxlbWENCmBgYHtyfQ0KdGlwb3NEaWEgPC0gYygiRXhjZWxlbnRlIiwgIkJ1ZW5vIiwgIk1hbG8iKQ0KcHJvYmFiaWxpZGFkVGlwbyA8LSBjKDAuMzUsIDAuNDUsIDAuMikNCmRlbWFuZGFzIDwtIGMoNDAsIDUwLCA2MCwgNzAsIDgwLCA5MCwgMTAwKQ0KcHJvYmFiaWxpZGFkZXNFeGNlbGVudGUgPC0gYygwLjAzLCAwLjA1LCAwLjE1LCAwLjIsIDAuMzUsIDAuMTUsIDAuMDcpDQpwcm9iYWJpbGlkYWRlc0J1ZW5vIDwtIGMoMC4xLCAwLjE4LCAwLjQsIDAuMiwgMC4wOCwgMC4wNCwgMCkNCnByb2JhYmlsaWRhZGVzTWFsbyA8LSBjKDAuNDQsIDAuMjIsIDAuMTYsIDAuMTIsIDAuMDYsIDAsIDApDQpzZXQuc2VlZCgyNSkNCmRpYXRpcG8gPC0gbnVtZXJpYygyMCkNCmRlbWFuZGE8LSBudW1lcmljKDIwKQ0KcmVzdWx0YWRvPC1OVUxMDQpyZXN1bHRhZG9GaW5hbDwtTlVMTA0KYGBgDQoNCg0KDQpgYGB7cn0NCiMjQ2ljbG8gcG9yIHBlZGlkbw0KZm9yIChwZWRpZG8gaW4gYyg0MCw1MCw2MCw3MCw4MCw5MCwxMDApKXsNCiAgdXRpbGlkYWQgPC0gMA0KICAjI0NpY2xvIHBvciBkw61hDQogIGZvciAoZGlhIGluIDE6MjApIHsNCiAgICAjI1NlIHRvbWEgZWwgdGlwbyBkZSB2ZW50YSBwb3IgZMOtYSBjb21vIHVuYSB2YXJpYWJsZSBxdWUgY2FtYmlhIGTDrWEgY29uIGTDrWEuDQogICAgZGlhdGlwb1tkaWFdPC0gc2FtcGxlKHRpcG9zRGlhLCBzaXplPTEsIHJlcGxhY2UgPSBUUlVFLCBwcm9iPXByb2JhYmlsaWRhZFRpcG8pDQogICAgDQogICAgaWYoZGlhdGlwb1tkaWFdPT0iRXhjZWxlbnRlIil7DQogICAgICBkZW1hbmRhW2RpYV0gPC0gc2FtcGxlKGRlbWFuZGFzLCBzaXplPTEsIHJlcGxhY2UgPSBUUlVFLCBwcm9iPXByb2JhYmlsaWRhZGVzRXhjZWxlbnRlKQ0KICAgIH0NCiAgICBlbHNlIGlmKGRpYXRpcG9bZGlhXT09IkJ1ZW5vIil7DQogICAgICBkZW1hbmRhW2RpYV0gPC0gc2FtcGxlKGRlbWFuZGFzLCBzaXplPTEsIHJlcGxhY2UgPSBUUlVFLCBwcm9iPXByb2JhYmlsaWRhZGVzQnVlbm8pDQogICAgfQ0KICAgIGVsc2UgaWYoZGlhdGlwb1tkaWFdPT0iTWFsbyIpew0KICAgICAgZGVtYW5kYVtkaWFdIDwtIHNhbXBsZShkZW1hbmRhcywgc2l6ZT0xLCByZXBsYWNlID0gVFJVRSwgcHJvYj1wcm9iYWJpbGlkYWRlc01hbG8pDQogICAgfQ0KICAgIGlmKGRlbWFuZGFbZGlhXTxwZWRpZG8pDQogICAgeyANCiAgICAgIGdhbmFuY2lhcyA8LSAoZGVtYW5kYVtkaWFdKjAuNSktIChwZWRpZG8qMC4zMykgICsgKChwZWRpZG8tZGVtYW5kYVtkaWFdKSowLjA1KQ0KICAgIH0gDQogICAgZWxzZSBpZiAoZGVtYW5kYVtkaWFdPT1wZWRpZG8pDQogICAgew0KICAgICAgZ2FuYW5jaWFzIDwtIChkZW1hbmRhW2RpYV0qMC41KS0ocGVkaWRvKjAuMzMpDQogICAgfQ0KICAgIGVsc2UgaWYgKGRlbWFuZGFbZGlhXT5wZWRpZG8pew0KICAgICAgZ2FuYW5jaWFzIDwtIChwZWRpZG8qKDAuNS0wLjMzKSktKChkZW1hbmRhW2RpYV0tcGVkaWRvKSooMC41LTAuMzMpKQ0KICAgIH0NCiAgICB1dGlsaWRhZDwtdXRpbGlkYWQrZ2FuYW5jaWFzDQogICAgbnVldm8gPC0gZGF0YS5mcmFtZShEaWE9ZGlhLENvbXByYT1wZWRpZG8sQ2xpZW50ZXM9ZGVtYW5kYVtkaWFdLFV0aWxpZGFkPWdhbmFuY2lhcykNCiAgICAjI0RhdGEgZnJhbWUgY29uIGxvcyByZXN1bHRhZG9zIGRlIGxhIHNpbXVsYWNpw7NuDQogICAgcmVzdWx0YWRvIDwtIHJiaW5kKHJlc3VsdGFkbywgbnVldm8pIA0KICB9IA0KICB1dGlsaWRhZCA8LSB1dGlsaWRhZC8gMjANCiAgcHJvbWVkaW9HYW5hbmNpYXNQZWRpZG8gPC0gZGF0YS5mcmFtZSAoQ29tcHJhPXBlZGlkbyxVdGlsaWRhZD11dGlsaWRhZCkNCiAgIyNEYXRhIGZyYW1lIGNvbiBlbCBwcm9tZWRpbyBkZSBnYW5hbmNpYXMgcG9yIGNhZGEgcGVkaWRvDQogIHJlc3VsdGFkb0ZpbmFsIDwtIHJiaW5kKHJlc3VsdGFkb0ZpbmFsLCBwcm9tZWRpb0dhbmFuY2lhc1BlZGlkbykgDQp9IA0KYGBgDQoNCg0KYGBge3J9DQpWaWV3KHByaW50KHJlc3VsdGFkbykpDQpgYGANCg0KDQoNCmBgYHtyfQ0KYm94cGxvdChmb3JtdWxhID0gVXRpbGlkYWQgfiBDb21wcmEsIGRhdGEgPSAgcmVzdWx0YWRvLG1haW4gPSAiRGVtYW5kYSB4IFV0aWxpZGFkIiwgDQogICAgICAgIHhsYWIgPSAiRGVtYW5kYSIsIHlsYWIgPSAiVXRpbGlkYWQiLA0KICAgICAgIGNvbCA9IGMoIm9yYW5nZSIsICJ5ZWxsb3ciLCAiZ3JleSIsICJncmVlbiIsICJibHVlIiwgInJlZCIsICJicm93biIpKQ0KYGBgDQoNCg==