set.seed(1234)
Simulation_Length=365
Current_Stock=1000
Lead_Time=0
pedido=FALSE
dias<-seq(1,365)
sales=c()
demands=c()
Stock=c()
LeadT=c()
pedidos=c()
noSales=0
for(dia in dias){
demand=as.integer(rnorm(1,30,5))
if(Current_Stock<=100 & pedido==FALSE){
Lead_Time=0
pedido=TRUE
}
if(Lead_Time==3 & pedido==TRUE){
Current_Stock=Current_Stock+1000
pedido=FALSE
Lead_Time=0
}
sale=0
if(Current_Stock>=demand){
sale=demand
}
if(Current_Stock<demand){
sale=Current_Stock
}
if(demand>sale){
noSales=noSales+(demand-sale)
}
Stock=c(Stock,Current_Stock)
Current_Stock=Current_Stock-sale
demands=c(demands,demand)
sales=c(sales,sale)
LeadT=c(LeadT,Lead_Time)
pedidos=c(pedidos,pedido)
if(pedido==TRUE){
Lead_Time=Lead_Time+1
}
}
df<-data.frame(dia=dias,Lead_Time=LeadT,Stock=Stock,demand=demands,sales=sales,pedidos=pedidos)
print(paste("No vendidos=",noSales))
## [1] "No vendidos= 91"
df
## dia Lead_Time Stock demand sales pedidos
## 1 1 0 1000 23 23 FALSE
## 2 2 0 977 31 31 FALSE
## 3 3 0 946 35 35 FALSE
## 4 4 0 911 18 18 FALSE
## 5 5 0 893 32 32 FALSE
## 6 6 0 861 32 32 FALSE
## 7 7 0 829 27 27 FALSE
## 8 8 0 802 27 27 FALSE
## 9 9 0 775 27 27 FALSE
## 10 10 0 748 25 25 FALSE
## 11 11 0 723 27 27 FALSE
## 12 12 0 696 25 25 FALSE
## 13 13 0 671 26 26 FALSE
## 14 14 0 645 30 30 FALSE
## 15 15 0 615 34 34 FALSE
## 16 16 0 581 29 29 FALSE
## 17 17 0 552 27 27 FALSE
## 18 18 0 525 25 25 FALSE
## 19 19 0 500 25 25 FALSE
## 20 20 0 475 42 42 FALSE
## 21 21 0 433 30 30 FALSE
## 22 22 0 403 27 27 FALSE
## 23 23 0 376 27 27 FALSE
## 24 24 0 349 32 32 FALSE
## 25 25 0 317 26 26 FALSE
## 26 26 0 291 22 22 FALSE
## 27 27 0 269 32 32 FALSE
## 28 28 0 237 24 24 FALSE
## 29 29 0 213 29 29 FALSE
## 30 30 0 184 25 25 FALSE
## 31 31 0 159 35 35 FALSE
## 32 32 0 124 27 27 FALSE
## 33 33 0 97 26 26 TRUE
## 34 34 1 71 27 27 TRUE
## 35 35 2 44 21 21 TRUE
## 36 36 0 1023 24 24 FALSE
## 37 37 0 999 19 19 FALSE
## 38 38 0 980 23 23 FALSE
## 39 39 0 957 28 28 FALSE
## 40 40 0 929 27 27 FALSE
## 41 41 0 902 37 37 FALSE
## 42 42 0 865 24 24 FALSE
## 43 43 0 841 25 25 FALSE
## 44 44 0 816 28 28 FALSE
## 45 45 0 788 25 25 FALSE
## 46 46 0 763 25 25 FALSE
## 47 47 0 738 24 24 FALSE
## 48 48 0 714 23 23 FALSE
## 49 49 0 691 27 27 FALSE
## 50 50 0 664 27 27 FALSE
## 51 51 0 637 20 20 FALSE
## 52 52 0 617 27 27 FALSE
## 53 53 0 590 24 24 FALSE
## 54 54 0 566 24 24 FALSE
## 55 55 0 542 29 29 FALSE
## 56 56 0 513 32 32 FALSE
## 57 57 0 481 38 38 FALSE
## 58 58 0 443 26 26 FALSE
## 59 59 0 417 38 38 FALSE
## 60 60 0 379 24 24 FALSE
## 61 61 0 355 33 33 FALSE
## 62 62 0 322 42 42 FALSE
## 63 63 0 280 29 29 FALSE
## 64 64 0 251 26 26 FALSE
## 65 65 0 225 29 29 FALSE
## 66 66 0 196 38 38 FALSE
## 67 67 0 158 24 24 FALSE
## 68 68 0 134 36 36 FALSE
## 69 69 0 98 36 36 TRUE
## 70 70 1 62 31 31 TRUE
## 71 71 2 31 30 30 TRUE
## 72 72 0 1001 27 27 FALSE
## 73 73 0 974 28 28 FALSE
## 74 74 0 946 33 33 FALSE
## 75 75 0 913 40 40 FALSE
## 76 76 0 873 29 29 FALSE
## 77 77 0 844 23 23 FALSE
## 78 78 0 821 26 26 FALSE
## 79 79 0 795 31 31 FALSE
## 80 80 0 764 28 28 FALSE
## 81 81 0 736 29 29 FALSE
## 82 82 0 707 29 29 FALSE
## 83 83 0 678 23 23 FALSE
## 84 84 0 655 29 29 FALSE
## 85 85 0 626 34 34 FALSE
## 86 86 0 592 33 33 FALSE
## 87 87 0 559 32 32 FALSE
## 88 88 0 527 27 27 FALSE
## 89 89 0 500 29 29 FALSE
## 90 90 0 471 24 24 FALSE
## 91 91 0 447 29 29 FALSE
## 92 92 0 418 31 31 FALSE
## 93 93 0 387 38 38 FALSE
## 94 94 0 349 35 35 FALSE
## 95 95 0 314 27 27 FALSE
## 96 96 0 287 31 31 FALSE
## 97 97 0 256 24 24 FALSE
## 98 98 0 232 34 34 FALSE
## 99 99 0 198 34 34 FALSE
## 100 100 0 164 40 40 FALSE
## 101 101 0 124 32 32 FALSE
## 102 102 0 92 27 27 TRUE
## 103 103 1 65 30 30 TRUE
## 104 104 2 35 27 27 TRUE
## 105 105 0 1008 25 25 FALSE
## 106 106 0 983 30 30 FALSE
## 107 107 0 953 25 25 FALSE
## 108 108 0 928 30 30 FALSE
## 109 109 0 898 31 31 FALSE
## 110 110 0 867 29 29 FALSE
## 111 111 0 838 29 29 FALSE
## 112 112 0 809 26 26 FALSE
## 113 113 0 783 24 24 FALSE
## 114 114 0 759 34 34 FALSE
## 115 115 0 725 30 30 FALSE
## 116 116 0 695 34 34 FALSE
## 117 117 0 661 23 23 FALSE
## 118 118 0 638 30 30 FALSE
## 119 119 0 608 33 33 FALSE
## 120 120 0 575 29 29 FALSE
## 121 121 0 546 29 29 FALSE
## 122 122 0 517 26 26 FALSE
## 123 123 0 491 40 40 FALSE
## 124 124 0 451 33 33 FALSE
## 125 125 0 418 39 39 FALSE
## 126 126 0 379 30 30 FALSE
## 127 127 0 349 26 26 FALSE
## 128 128 0 323 22 22 FALSE
## 129 129 0 301 26 26 FALSE
## 130 130 0 275 31 31 FALSE
## 131 131 0 244 35 35 FALSE
## 132 132 0 209 31 31 FALSE
## 133 133 0 178 24 24 FALSE
## 134 134 0 154 33 33 FALSE
## 135 135 0 121 21 21 FALSE
## 136 136 0 100 28 28 TRUE
## 137 137 1 72 28 28 TRUE
## 138 138 2 44 20 20 TRUE
## 139 139 0 1024 34 34 FALSE
## 140 140 0 990 26 26 FALSE
## 141 141 0 964 28 28 FALSE
## 142 142 0 936 36 36 FALSE
## 143 143 0 900 33 33 FALSE
## 144 144 0 867 29 29 FALSE
## 145 145 0 838 32 32 FALSE
## 146 146 0 806 31 31 FALSE
## 147 147 0 775 38 38 FALSE
## 148 148 0 737 31 31 FALSE
## 149 149 0 706 32 32 FALSE
## 150 150 0 674 31 31 FALSE
## 151 151 0 643 28 28 FALSE
## 152 152 0 615 30 30 FALSE
## 153 153 0 585 38 38 FALSE
## 154 154 0 547 25 25 FALSE
## 155 155 0 522 30 30 FALSE
## 156 156 0 492 36 36 FALSE
## 157 157 0 456 28 28 FALSE
## 158 158 0 428 24 24 FALSE
## 159 159 0 404 25 25 FALSE
## 160 160 0 379 28 28 FALSE
## 161 161 0 351 25 25 FALSE
## 162 162 0 326 28 28 FALSE
## 163 163 0 298 27 27 FALSE
## 164 164 0 271 29 29 FALSE
## 165 165 0 242 32 32 FALSE
## 166 166 0 210 33 33 FALSE
## 167 167 0 177 38 38 FALSE
## 168 168 0 139 29 29 FALSE
## 169 169 0 110 28 28 FALSE
## 170 170 0 82 37 37 TRUE
## 171 171 1 45 38 38 TRUE
## 172 172 2 7 30 7 TRUE
## 173 173 0 1000 28 28 FALSE
## 174 174 0 972 20 20 FALSE
## 175 175 0 952 37 37 FALSE
## 176 176 0 915 25 25 FALSE
## 177 177 0 890 24 24 FALSE
## 178 178 0 866 45 45 FALSE
## 179 179 0 821 31 31 FALSE
## 180 180 0 790 29 29 FALSE
## 181 181 0 761 16 16 FALSE
## 182 182 0 745 29 29 FALSE
## 183 183 0 716 34 34 FALSE
## 184 184 0 682 32 32 FALSE
## 185 185 0 650 34 34 FALSE
## 186 186 0 616 39 39 FALSE
## 187 187 0 577 35 35 FALSE
## 188 188 0 542 27 27 FALSE
## 189 189 0 515 33 33 FALSE
## 190 190 0 482 29 29 FALSE
## 191 191 0 453 27 27 FALSE
## 192 192 0 426 15 15 FALSE
## 193 193 0 411 26 26 FALSE
## 194 194 0 385 32 32 FALSE
## 195 195 0 353 40 40 FALSE
## 196 196 0 313 32 32 FALSE
## 197 197 0 281 33 33 FALSE
## 198 198 0 248 25 25 FALSE
## 199 199 0 223 30 30 FALSE
## 200 200 0 193 19 19 FALSE
## 201 201 0 174 32 32 FALSE
## 202 202 0 142 33 33 FALSE
## 203 203 0 109 30 30 FALSE
## 204 204 0 79 33 33 TRUE
## 205 205 1 46 31 31 TRUE
## 206 206 2 15 33 15 TRUE
## 207 207 0 1000 39 39 FALSE
## 208 208 0 961 35 35 FALSE
## 209 209 0 926 30 30 FALSE
## 210 210 0 896 24 24 FALSE
## 211 211 0 872 32 32 FALSE
## 212 212 0 840 27 27 FALSE
## 213 213 0 813 37 37 FALSE
## 214 214 0 776 21 21 FALSE
## 215 215 0 755 27 27 FALSE
## 216 216 0 728 32 32 FALSE
## 217 217 0 696 29 29 FALSE
## 218 218 0 667 26 26 FALSE
## 219 219 0 641 28 28 FALSE
## 220 220 0 613 33 33 FALSE
## 221 221 0 580 34 34 FALSE
## 222 222 0 546 33 33 FALSE
## 223 223 0 513 41 41 FALSE
## 224 224 0 472 35 35 FALSE
## 225 225 0 437 31 31 FALSE
## 226 226 0 406 26 26 FALSE
## 227 227 0 380 44 44 FALSE
## 228 228 0 336 33 33 FALSE
## 229 229 0 303 26 26 FALSE
## 230 230 0 277 30 30 FALSE
## 231 231 0 247 28 28 FALSE
## 232 232 0 219 28 28 FALSE
## 233 233 0 191 25 25 FALSE
## 234 234 0 166 30 30 FALSE
## 235 235 0 136 31 31 FALSE
## 236 236 0 105 24 24 FALSE
## 237 237 0 81 13 13 TRUE
## 238 238 1 68 28 28 TRUE
## 239 239 2 40 30 30 TRUE
## 240 240 0 1010 32 32 FALSE
## 241 241 0 978 30 30 FALSE
## 242 242 0 948 32 32 FALSE
## 243 243 0 916 24 24 FALSE
## 244 244 0 892 33 33 FALSE
## 245 245 0 859 33 33 FALSE
## 246 246 0 826 31 31 FALSE
## 247 247 0 795 36 36 FALSE
## 248 248 0 759 32 32 FALSE
## 249 249 0 727 31 31 FALSE
## 250 250 0 696 31 31 FALSE
## 251 251 0 665 32 32 FALSE
## 252 252 0 633 35 35 FALSE
## 253 253 0 598 32 32 FALSE
## 254 254 0 566 33 33 FALSE
## 255 255 0 533 24 24 FALSE
## 256 256 0 509 28 28 FALSE
## 257 257 0 481 37 37 FALSE
## 258 258 0 444 23 23 FALSE
## 259 259 0 421 31 31 FALSE
## 260 260 0 390 32 32 FALSE
## 261 261 0 358 34 34 FALSE
## 262 262 0 324 28 28 FALSE
## 263 263 0 296 30 30 FALSE
## 264 264 0 266 21 21 FALSE
## 265 265 0 245 31 31 FALSE
## 266 266 0 214 26 26 FALSE
## 267 267 0 188 28 28 FALSE
## 268 268 0 160 24 24 FALSE
## 269 269 0 136 31 31 FALSE
## 270 270 0 105 33 33 FALSE
## 271 271 0 72 28 28 TRUE
## 272 272 1 44 39 39 TRUE
## 273 273 2 5 33 5 TRUE
## 274 274 0 1000 34 34 FALSE
## 275 275 0 966 40 40 FALSE
## 276 276 0 926 26 26 FALSE
## 277 277 0 900 34 34 FALSE
## 278 278 0 866 34 34 FALSE
## 279 279 0 832 29 29 FALSE
## 280 280 0 803 31 31 FALSE
## 281 281 0 772 24 24 FALSE
## 282 282 0 748 32 32 FALSE
## 283 283 0 716 26 26 FALSE
## 284 284 0 690 34 34 FALSE
## 285 285 0 656 25 25 FALSE
## 286 286 0 631 31 31 FALSE
## 287 287 0 600 25 25 FALSE
## 288 288 0 575 28 28 FALSE
## 289 289 0 547 22 22 FALSE
## 290 290 0 525 30 30 FALSE
## 291 291 0 495 34 34 FALSE
## 292 292 0 461 30 30 FALSE
## 293 293 0 431 21 21 FALSE
## 294 294 0 410 26 26 FALSE
## 295 295 0 384 38 38 FALSE
## 296 296 0 346 39 39 FALSE
## 297 297 0 307 24 24 FALSE
## 298 298 0 283 28 28 FALSE
## 299 299 0 255 31 31 FALSE
## 300 300 0 224 31 31 FALSE
## 301 301 0 193 27 27 FALSE
## 302 302 0 166 25 25 FALSE
## 303 303 0 141 29 29 FALSE
## 304 304 0 112 35 35 FALSE
## 305 305 0 77 30 30 TRUE
## 306 306 1 47 26 26 TRUE
## 307 307 2 21 27 21 TRUE
## 308 308 0 1000 38 38 FALSE
## 309 309 0 962 27 27 FALSE
## 310 310 0 935 33 33 FALSE
## 311 311 0 902 37 37 FALSE
## 312 312 0 865 32 32 FALSE
## 313 313 0 833 27 27 FALSE
## 314 314 0 806 29 29 FALSE
## 315 315 0 777 27 27 FALSE
## 316 316 0 750 36 36 FALSE
## 317 317 0 714 29 29 FALSE
## 318 318 0 685 37 37 FALSE
## 319 319 0 648 27 27 FALSE
## 320 320 0 621 26 26 FALSE
## 321 321 0 595 30 30 FALSE
## 322 322 0 565 30 30 FALSE
## 323 323 0 535 27 27 FALSE
## 324 324 0 508 22 22 FALSE
## 325 325 0 486 30 30 FALSE
## 326 326 0 456 26 26 FALSE
## 327 327 0 430 35 35 FALSE
## 328 328 0 395 25 25 FALSE
## 329 329 0 370 35 35 FALSE
## 330 330 0 335 26 26 FALSE
## 331 331 0 309 31 31 FALSE
## 332 332 0 278 34 34 FALSE
## 333 333 0 244 27 27 FALSE
## 334 334 0 217 32 32 FALSE
## 335 335 0 185 29 29 FALSE
## 336 336 0 156 24 24 FALSE
## 337 337 0 132 28 28 FALSE
## 338 338 0 104 38 38 FALSE
## 339 339 0 66 28 28 TRUE
## 340 340 1 38 25 25 TRUE
## 341 341 2 13 29 13 TRUE
## 342 342 0 1000 31 31 FALSE
## 343 343 0 969 34 34 FALSE
## 344 344 0 935 35 35 FALSE
## 345 345 0 900 30 30 FALSE
## 346 346 0 870 35 35 FALSE
## 347 347 0 835 26 26 FALSE
## 348 348 0 809 18 18 FALSE
## 349 349 0 791 27 27 FALSE
## 350 350 0 764 27 27 FALSE
## 351 351 0 737 18 18 FALSE
## 352 352 0 719 32 32 FALSE
## 353 353 0 687 26 26 FALSE
## 354 354 0 661 28 28 FALSE
## 355 355 0 633 22 22 FALSE
## 356 356 0 611 32 32 FALSE
## 357 357 0 579 39 39 FALSE
## 358 358 0 540 25 25 FALSE
## 359 359 0 515 29 29 FALSE
## 360 360 0 486 39 39 FALSE
## 361 361 0 447 34 34 FALSE
## 362 362 0 413 39 39 FALSE
## 363 363 0 374 29 29 FALSE
## 364 364 0 345 29 29 FALSE
## 365 365 0 316 27 27 FALSE
s=cumsum(df$sales)
d=cumsum(df$demand)
plot(dias,d-s,type="l",main="Artículos no Vendidos")
