Distribution Center Modeling Simulation

Making adjustments to a system during simulation phase is not only easier but also helps to avoid big expenses once the system has been fully implemented. Especially for new systems where there might not be any data to work with, simulation can produce initial data to better evaluate the process and perform reiterative adjustments. In this project, a fictitious e-commerce warehouse was used to evaluate one important property of systems: Queues. Systems will usually be composed of multiple interconnect components that react on the previous component, process the object or data, and pass it along to the next component. The flow of information/objects needs to be carefully orchestrated and balanced to avoid the system collapsing. If there is just one slow component, it can cause the system to overflow/explode. If the system is operating very fast, then it can result in underutilized components leading to unnecessary costs. 

 

Introduction

A distribution center is a warehouse which stocks products and specializes in redistributing them to retailers, wholesalers, or directly to consumers. As consumers shift their shopping habits to online shopping, demand for distribution centers has grown. Distribution centers work as a transit point for product transport in the entire logistics network system. It is of great significance to reduce the operating costs of logistics enterprises and improve the service level and efficiency of logistics enterprises [1]. As competition becomes more aggressive in e-commerce, companies have sought methods to increase volume while reducing costs and delivery wait times from their warehouse. Likewise storage and internal distribution of products becomes more complex to manage when facilities grow in size.

In order to maximize storage area, reduce internal transportation times, and increase utilization, distribution centers are expanding automation. This consists of replacing highly repetitive tasks performed by humans with robots. Warehouse managers utilize robots to repetitively move goods long distances in order to free workers for value-added jobs [2]. Such tasks include visual recognition and manual assortment, tasks that currently are challenging for robots to perform.

This project aims to model and simulate a distribution center that employs both robots and humans to process customer orders using Rockwell's Arena Simulation Software. The goal is to reduce transportation time by using robots that will fetch and transport items, and maximize human utilization with sorting and packing in order to fulfill customer orders within the same day. Due to the software’s student license limitations, the model has been scaled down and simplified in order to fit within the given constraints (maximum 150 entities/orders).

Problem Statement

Blue Crate, a fictitious e-commerce company, sells multiple items online and ships products from its distribution center to the customer’s address using a third party courier. The company has struggled to keep up with e-commerce competitors, such as Amazon, since customers are demanding faster delivery for their ordered goods. Blue Crate cannot control how long it takes the courier company to deliver the package to customers, but it can improve how long it takes to package an order and delivery it to the courier company. Currently, the distribution center is mostly operated by workers and on average it takes 3 days to process an order. This is attributed due to time lost by workers walking around trying to fetch items and creating backlog in peak times. If the distribution center can process the order within the same day, then the courier company can ship the package the next day. In order to reduce processing time, the CTO of Blue Crate has order to automate the transportation processes in the warehouse.

Operation

Blue Crate’s Distribution Center is housed in a 500,000 square feet warehouse (500 x 1000). The warehouse is divided in 5 zones: Receiving Zone, Inventory Zone, Storage Zone (with a robot operated subzone and a human operated subzone), Packing Zone, and Delivery Zone. Figure 1 shows a physical representation of the facility and is not shown to scale. There is a network of conveyors and streets that connect the flow of goods in-and-out of the storage zone.

Figure 1: Distribution Center Layout

The model only focuses on Storage, Packing and Delivery Zone. The other two zones have been left out of the simulation and are only shown for completeness.

Within the warehouse, there are multiple resources and machines being operated to process, retrieve and ship all incoming orders. There are 2 Associates, 4 human pickers, 2 robot pickers, 2 loaders, 3 robot carts, 1 forklift and 2 conveyor belts (storage->packing and packing->shipping). Table 1 describes their role in detail.

Name

Type

Zone

Description

Associate

Human

Packing

Process incoming orders and route the requests to storage to be retrieved. Once retrieved, inspect the item and pack it. If the item is wrong, return it personally to storage.

Picker

Human, Robot

Storage

Retrieves the items from the storage and places them in a transport (robocart, conveyor, forklift)

Transporter/

Conveyor

Machine, Robot

Storage, Packing, Delivery

Sends item from Storage to Packer station

Loader

Human

Delivery

Places packages in inside the shipping truck.

Table 1: Resources and their purpose

Customer orders arrive to the warehouse with inter-arrival time distributed as Expo(3). All times are in minutes. The order can by any of three types and historically have shown to be 60% for small items (such as Electronics or Books), 35% for medium items (such as Clothing and Toys) and 5% for large items (such as Home appliances). Orders will enter a queue and wait for an Associate to review the order. Associate service time follows a distribution as Unif(1,2). The Associate will then send a request to retrieve the item from its respective Storage subzone based on the type of order.

If it’s a small request, then a robot-Picker will retrieve the item from the Robot subzone and place it on a robot transporter so it can be taken to the Packing Zone. This process can be fully automated since books and electronics have typical shapes which can be easily retrieved by robots. The rest of the requests (medium and large) are retrieved by a human-Picker from the Human subzone. Items are placed randomly all over the warehouse so item retrieval can vary. Robot-Picker has service time with distribution Expo(7) and human-picker has service time with distribution Expo(20). If it’s a medium item, then the item can be sent over conveyer as they are typically light. It takes 2 minutes for the Picker to prep the item and place it on the conveyor. This consists in placing the item in a special container and inputting information in the system. A large item is typically too large and big so it requires a forklift to transport the item to the packing zone. The picker will need 4 minutes to prep large items.

Once the item arrives at the Packing Zone, an Associate has to first verify the item for accuracy and any damages. This is a quick process with distribution Unif(0.5, 1). If the wrong item was picked, then it has to be returned back to the storage zone by an Associate. Historically only 2% of the requests have this problem and has a service time with distribution Tria(5, 8 , 15). While this process does not add value to the overall process, it is necessary to avoid costs due to customer returning the item. If the item is correct, then the Associate will proceed to package and label the item. This has a service time with distribution Tria(1.5, 2, 4). The package is then placed on a conveyor which leads to the Delivery zone. Loaders will then place the packages on delivery trucks (two types). This has a service time with distribution Tria(3,4,6). Priority packages (which have higher shipping rate), will leave the warehouse right away. While normal packages will leave the warehouse once a batch of 5 has accumulated.

Schedules

Workers at the warehouse have a 9 hour shift per day with a 1 hour break. In order to keep orders flowing at all times, working shifts are split into two. In the first shift, employees work consistently for 4 hours and then take a one hour break. After that, they work for another 4 hours and then end their day at the warehouse. In the second shift, employees work for 3 hours followed by a 30 minute break. They work for another 2 hours and take a second 30 minute break. They work for 3 more hours and then end their day. Below table summarizes how an employee doing any task can be assigned a working schedule.

 

Shift

Daily Schedule

Shift 1

Work: 4 hr

Break: 1 hr

Work: 4 hr

Shift 2

Work: 3 hr

Break: 30 min

Work: 2 hr

Break: 30 min

Work: 3 hr

Table 2: Breakdown of daily schedule based on shifts

Robots have virtually no breaks during the 9 hour shift. They do need occasional maintenance but that has been excluded from the model as it doesn’t run long enough. However, robots and other mechanical parts are subject to failures which will cause downtime.

Transportation

Items need to be transported from the storage zone to the packing zone and from the packing zone to the shipping zone. Due to the size of the warehouse, there are large distances to cover within the facility in order to reach the next processing area. Table 3 shows the average distance and time needed based on the transportation method. These are one way distances, and except conveyors, all vehicles need to return to their point of origin.

 

Transporter

Speed (ft/min)

Distance (ft)

One way

Time (min) Estimated

Robot Cart

160

900

5.625

Forklift

75

900

12.000

Conveyor Storage

150

800

5.333

Conveyor Shipping

50

100

2.000

Table 3: Average distances and estimated transportation times

Costs

There are two types of costs being considered: Operational and New Equipment (robots). Employees are paid \(15 an hour and they are not paid during their break. Each transporter robot costs \)40,000 to purchase. Existing equipment such as forklift and belt conveyors are not considered as part of the cost.

 

Assumptions

The initial problem statement intended to model a real world e-commerce warehouse. However, given the software’s license limitations and the time frame, the problem had to be scaled down and simplified. The model went through several iterations to reduce complexity and optimize areas of interest. Below are the assumptions that were made:

  • Assumption 1: Each order is treated as a separate transaction. For example, if the same customer orders multiple items, they are all treated as separate orders. Each order arrives separately within its inter-arrival time, meaning that orders cannot be placed in bulk.
  • Assumption 2: The model only captures order processing. Receiving and Inventory zone are assumed to be running in parallel and keeping a steady supply of items. If an item were to be out of stock, then the website would not allow the order to be placed in the first place.
  • Assumption 3: Customers can only place orders within the warehouse’s business hours (9-hour shift). Although a website can operate 24 hours, there is not enough flexibility to allocate many orders (Arena only allows max 150 entities). Ideally, workers should already have a number of orders waiting when the warehouse opens. However, these take space and reduce the amount of orders than can be processed in the system. It’s more important to study the orders that are already being served than the orders that are waiting to be served.
  • Assumption 4: Though the warehouse is stocked with infinite supply of items, orders can be transferred (balk) to another warehouse if the warehouse is running at capacity (150 entities).
  • Assumption 5: Carts are autonomously operated and navigate in designated areas with no human supervision. They transport only one item at time, from the storage zone to the shipping zone. Carts do not carry any items towards the storage the zone.
  • Assumption 6: Failures are rare and happen at intervals greater than the period of observation (e.g. once a year). Maintenance is done during the night, when the warehouse is not accepting orders. Therefore both of these factors are not included in the model.
  • Assumption 7: Transportation distances are optimized for cart utilization. Conveyors are used for speed purposes and underutilization is not accounted for.

 

Goal of Study

The model tries to achieve the following three goals:

  • Reduce average warehouse processing time (from order placement to product leaves warehouse) to an average of 3 hours (180 minutes).
  • Have utilization of automated transfer vehicles between 70%-90%.
  • Have utilization of human workers between 60%-80%.

Utilization is primarily important since it is of interest to keep costs down by having the least amount of people doing repetitive tasks. Processing time follows in importance since the package has to be ready for shipment the same day. Queue waiting time comes in last, as there is plenty of leeway for waiting. The only concern would be if the cumulative waiting time is excessively causing a bottle neck in the system.

When it comes to transportation time, the focus is transporting the item as fast as possible to the packing zone due to the size of the warehouse. This can result in underutilization of some resources. As long as robot utilization and speed are in balance with costs, the rest of the equipment can be ignored.

 

Logical Model

A logical model is used as a visual representation of the processes happening at the distribution center. The layout of the facility also contributes to the order and method in which processes get affected. Figure 2 explains the lifecycle of a customer order inside the warehouse.

Figure 2: Logical Model

Initially, and entity will be created and then assigned a type based on chance. The order will then be received and processed by a resource. Based on the type, the order will be fetched by human or robot resource. At this point, the order becomes a physical item that has to be transported. The transport method is also decided based on the entity type. Afterwards, the item has to be inspected. If it passes the test, then it proceeds to packing. If not, it has to be returned, converted to an order and fetched again. This is also decided by chance, which has a low probability of happening. Once the item has been packaged, it has to be transported to a different location where it will be loaded to a truck and shipped. Normal delivery is buffered and only delivered until a minimum threshold is met. There is also a balk option added right during the arrival. This checks the number of entities currently in the entire system and will discard the order it’s reaching the 150 limit. More details on Appendix D.

The logical model does not represent the complete Arena model, as there are many other modules needed perform the desired simulation. Rather it is used to assess the initial estimates as well as a map to navigate the more complicated Arena Model. The full model is shown and explained in Appendix D.

 

Verification and Sensitivity

One of the goals is to have all our human resources and robots within the target utilization range. Table 4 shows a comparison between the statistical output from Appendix E and the estimated values calculated in Appendix C. The values were extracted from the first replication and can vary based on the replication instance being used. In general, all aspects of the study are within acceptable ranges given that simulation will consider other factors which are hard to calculate. Transporters in particular resulted difficult to estimate since Arena seems to take several factors other than distance into consideration.

One point to note is that conveyors are severely underutilized. This was a sacrifice taken in order to fit as many orders on robot carts while keeping distances realistic. Making full use of the conveyor by reducing the speed and increasing cell size would have achieved more utilization but would have also caused the model to reach 150 entities faster. Therefore they are not considered as part of the study and were added only for completeness. In reality, there can be many active items and packages moving around the warehouse. Such big volume and activity would definitely justify having conveyors.

Process

Statistical Output

Estimated Values

% Error

Comments

Associate S1

0.831

0.814

2.09%

Low % error. Utilization exceeds the range of the goal.

Associate S2

0.832

0.814

2.21%

Low % error. Utilization exceeds the range of the goal.

Picker S1

0.709

0.667

6.30%

Acceptable % error. Utilization within the range of the goal.

Picker S2

0.723

0.667

8.40%

High % error. Utilization within the range of the goal.

Loader S1

0.727

0.721

0.83%

Negligible % error. Utilization within the range of the goal.

Loader S2

0.724

0.721

0.42%

Negligible % error. Utilization within the range of the goal.

robotPicker

0.706

0.700

0.86%

Acceptable % error. Utilization slightly low but within the range of the goal.

roboCart

0.803

0.749

7.21%

High % error. Utilization within the range of the goal.

Forklift

0.511

0.400

27.75%

High % error. Utilization is low, but not part of the goal.

Pack Conveyor

0.013

0.007

85.71%

High % error. Utilization is low, but not part of the goal.

Ship Conveyor

0.001

0.001

0.00%

High % error. Utilization is low, but not part of the goal.

Table 4: Verification of utilization results

 

Since the focus is on maximizing robot utilization, there was some experimentation done to choose the best number of units. Table 5 shows the results obtained by using 3, 4, 5 robot carts to transport small items from the warehouse to the packing area. Appendix A describes how the simulation length was derived and Appendix E contains the statistical output of these three instances.

Performance Measure

3 Robots

4 Robots

 

5 Robots

 

Acceptable Range

Comment

time waiting for robot Cart

4.872

.594

.120

<5 min

5 robots is best

# of items in line for robot Cart

.999

.121

.024

<1 order

5 robots is best

Utilization

.803

.600

.478

70%-90%

3 carts wins

WIP (small order)

18.439

15.334

15.418

<20 order

4 carts wins

Total Processing Time (average all three orders)

105.97

90.658

91.431

<2 hrs

4 carts wins

Cost

\(120K

\)160K

\(200K

<\)187.2K

3 carts wins

Table 5: Evaluation of different robot transporters allocation

Going for 3 robot transporters is the best choice due to having 80% utilization, and the lowest investment cost. Overall processing time is also important, but having to wait around 15 more minutes is a reasonable compromise to take. As long as the goal of processing all order remains under 3 hours, we can sacrifice a few minutes around the system. In most cases, the higher the utilization the longer requests/items will have to wait to be serviced. On the other hand, the faster the request/order is serviced, the lower utilization will be.

Robot pickers also had an impact in the overall processing time. A test was also conducted to see the impacts of changing the processing times. Robots need time to process images, the more time allowed the better decision they can make. Increasing the time would cause fewer errors but would also significantly increase waiting times. Therefore it was chosen to stay with faster processing and have humans mediate for errors. Table 6 summarizes the simulation results.

One important discovery found during long simulation lengths is that there are periods were the system will peak beyond 150 orders. A table with a summary of the results can be found in Appendix F. Though the system was designed to operate below the 150 mark, there are certain unknown conditions that will still push the system to its limit. In order to avoid Arena hit the limit error, a balking section was added to so that the system could continue operating to debug the issue. It turns out that having the highest utilization is not always the ideal choice. Therefore the decision was taken use a service time that keeps the utilization of robot picker at a marginal 70%.

Performance Measure

Expo(7) Service Time

Expo(8)

Service Time

Expo(9)

Service Time

Acceptable Range

Comment

time waiting for robot

8.29

14.68

57.86

<15 min

Expo(7) wins

# of items in line for robot

1.70

2.92

11.88

<5 order

Expo(7) wins

Utilization

.70

.81

.91

70%-90%

Expo(9) wins indirectly

WIP (small order)

18.43

17.16

31.25

<15 orders

Expo(9) wins

Total Processing Time (average all three orders)

105.97

97.37

145.01

<2 hrs

By far, faster processing is preferred

Table 6: Evaluation of different process times for robot pickers

Finally, costs were also computed in order to validate the investment. Table 7 summarizes the overall costs of robots for the system. The first year, robots will cost more because of the initial investment. After that, the price would go down and still deliver a higher utilization than human workers, whereas human labor will continue to cost the full price each year. Usually every five years equipment will need to be upgraded, which is plenty of time to recover the investment.

Resource

Number

Hourly Cost

Hrs/week

Yearly Cost

Total Yearly Cost

Human

6

\(15

8

\)31.2K

\(187.2K (recurring)

 

 

 

 

 

 

Robot Picker

2

-

9

\)40K

\(80K (one time)

Robot Transporter

3

-

9

\)40k

\(120K (one time)

Robot Total

5

-

-

-

\)200K

Table 7: Cost comparison

Summary of Results

The focus of the study was to reduce the time an order spends in the warehouse. The model considered optimizing both the human and machine components. Table 8 summarizes the results obtained in the statistical output (Appendix E) along with their expectations.

Process

Measure

Observed

Expected Range

Reason

Comment

Process Order

Lq(#)

4.693

< 5

Common line

Good

Lq(max)

31

< 30

Break time accumulation

Acceptable

Wq(mins)

14.011

< 5.68 min

Combined service time

High

Wq(max)

78.451

< 88.04

5.68*31/2

Good

Util1 Assoc.

.831

0.60-0.80

Shared Human resource

Acceptable

Util2 Assoc.

.832

0.60-0.80

Shared Human resource

Acceptable

 

 

 

 

 

 

Robot Picker

Lq(#)

1.701

< 5

Common line

Good

Lq(max)

28

< 5

Common line

High

Wq(mins)

8.294

<7 min

Service Time

Acceptable

Wq(max)

96.914

<98 min

7*28/2=98

Good

Util Robot

.706

0.70-0.90

Machine

Good

 

 

 

 

 

 

Human Picker

Lq(#)

3.345

< 5

Common line

Good

Lq(max)

31

< 30

Break time accumulation

Acceptable

Wq(mins)

24.450

<20 min

Service time

Acceptable

Wq(max)

197.88

<155 min

20*31/4

High

Util1 Picker

.709

0.60-0.80

Human Resource

Good

Util2 Picker

.723

0.60-0.80

Human Resource

Good

 

 

 

 

 

 

Inspect Item

Lq(#)

4.682

< 5

Common line

Good

Lq(max)

26

< 30

Break time accumulation

Good

Wq(mins)

13.704

< 5.68 min

Combined service time

High

Wq(max)

79.143

<73.84 min

5.68*26/2

High

Util1 Assoc.

.831

0.60-0.80

Shared Human resource

Acceptable

Util2 Assoc.

.832

0.60-0.80

Shared Human resource

Acceptable

 

 

 

 

 

 

Return to Storage

Lq(#)

.100

< 1

%2 occurrence

Good

Lq(max)

3

< 1

%2 occurrence

High

Wq(mins)

14.252

<11.83 min

Combined service time

High

Wq(max)

69.980

<17.74 min

11.83*3/2

High

Util1 Assoc.

.831

0.60-0.80

Shared Human resource

Acceptable

Util2 Assoc.

.832

0.60-0.80

Shared Human resource

Acceptable

 

 

 

 

 

 

Pack Item

Lq(#)

4.280

< 5

Common line

Good

Lq(max)

25

< 30

Break time accumulation

Good

Wq(mins)

12.790

< 2.5 min

Service time

High

Wq(max)

78.677

<31.25 min

2.5*25/2

High

Util1 Assoc.

.831

0.60-0.80

Shared Human resource

Acceptable

Util2 Assoc.

.832

0.60-0.80

Shared Human resource

Acceptable

 

 

 

 

 

 

Load Truck

Lq(#)

.748

< 5

Common line

Good

Lq(max)

10

< 30

Break time accumulation

Good

Wq(mins)

2.235

4.33 min

Service Time

Good

Wq(max)

44.024

21.65 min

4.33*10/2

High

Util1 Ldr.

.727

0.60-0.80

Human Resource

Good

Util2 Ldr.

.724

0.60-0.80

Human Resource

Good

 

 

 

 

 

 

Robot Transport from Storage

Lq(#)

1.701

< 5

Common line

Good

Lq(max)

28

< 5

Common line

High

Wq(mins)

8.294  

<5.6(2) min

Transport Time

Good

Wq(max)

96.914

<104.9 min

5.62(2)*28/3

Good

Util cart

.803

0.70-0.90

Machine

Good

 

 

 

 

 

 

Forklift Transport from Storage

Lq(#)

.271

< 5

Common line

Good

Lq(max)

10

< 30

Break time accumulation

Good

Wq(mins)

15.892

<12(2) min

Transport Time

Good

Wq(max)

294.92

240

12(2)*10/1

High

Util forklift

.511

0.60-0.80

Human Driver

Low

 

 

 

 

 

 

Conveyor from Storage

Lq(#)

.041   

< 5

Common line

Good

Lq(max)

4

< 5

Common line

Good

Wq(mins)

.348

<5.3 min

Service Time

Good

Wq(max)

7.595

<21.2 min

5.3*4

Good

Util convey

.001

0.60-0.80

Machine

Low

 

 

 

 

 

 

Conveyor from

Packing

Lq(#)

.033

< 5

Common line

Good

Lq(max)

2

< 5

Common line

Good

Wq(mins)

.101

<2 min

Service Time

Good

Wq(max)

1.122

<10 min

5*2

Good

Util convey

.013

0.60-0.80

Machine

Low

 

 

 

 

 

 

Total Ship Normal Time

105.97

<3 hr

Goal of study

Good

Total Ship Normal (max)

783.80

<4 hr

Peak times

High

Total Ship Rush Time

97.041

<3 hr

Goal of study

Good

Total Ship Rush (max)

486.37

<4 hr

Peak times

High

 

 

 

 

 

Small Order Total Time

91.674

<3 hr

Goal of study

Good

Small Order Total (max)

486.37

<4 hr

Peak times

High

Med. Order Total Time

119.44

<3 hr

Goal of study

Good

Med. Order Total (max)

510.60

<4 hr

Peak times

High

Large Order Total Time

148.28

<3 hr

Goal of study

Good

Large Order Total (max)

783.80

<4 hr

Peak times

High

Table 8: Summary of average times, queues and utilization

Explanation of Values

  • Lq (number waiting in line): A queue is always expected since there will always be a steady inflow of orders. There are several factors that contribute to queue lines such as shared resources for multiple processes and the distance from the storage zone. For most processes, the average queue line has been set to 5.
  • Lq (max): Workers need to take breaks and during this time work will accumulate. Though schedules are designed to keep work steady during the 9 hours day, there two hours in which service will drop by half. On the other hand, robots don’t get breaks so long lines should not be happening.
  • Wq (time waiting in line): Average service times were used as a comparison point. For dedicated resources, the average service time was set as the limit. For shared resources, all combined average service times were set as the limit. This is because resources can be occupied performing any of the four task. Refer to Appendix C for list of average service times. The range of 5.68 – 11.83 was used (taking into account a 2% probability for “Return to Storage”), were 5.68 = 1.5+9.33(2%)+0.75+2.5 and 11.83 = 1.5+9.33+0.75+2.5.
  • Wq (max): Maximum waiting time is calculated based on Lq(max) ∗ Average service time / number of resources.
  • Utilization: As mentioned in the goal section, the range for human resources is 0.6-0.8 and for machines is 0.7 – 0.9.
  • Comments: “Good” indicates that values are within range. “Acceptable” means that values are marginally out of range. These values should be kept under observation. “High” and “Low” indicates that the values our out of range and should be revised further.

Observations

The first point to notice is the total time maximum value (783 mins). This metric is of importance since it measures the longest time an order spent in the system (end-to-end). Rush time will usually be slightly shorter as there is no batch component. This is an alarming value as it means an order can be queued within the system for over a day. The data was plotted (Moving Average) in Output Analyzer and as seen in Figure 3 the scale of the problem became clearer. “783” minutes (13 hours) is a rare outlier and describes worse possible scenario that could happen. In fact most of the peaks are contained within 300 minutes (5 hours). Several other iterations of the model do not reveal this outlier. Nonetheless, having worse case scenarios being captured within the sample data is a good sign for the study.

Figure 3: Moving Average Plot of Total Shipping Time (normal)

Possible explanations could be an increase of demand due to holiday shopping or special offers. Some level of delay is acceptable, but should be minimized where possible. Separating the data by order type shows that the major time contributors are large orders, which are serviced by forklift. Due to the low volume of expected orders (5%) and low utilization (0.51), only one forklift has been assigned. By adding one more forklift, the max peak times can be pushed from 300 minutes to 200 minutes (3.3 hours). However, this would also push down over all forklift utilization to 0.26. A new forklift can be purchased for \(10,000 and a used one for \)5,000. Given the low utilization, a used forklift may be a better option. Figure 4 and Table 9 show a visual and numerical summary of the impacts of adding one more forklift.

Figure 4: Assessments of Total Shipping Time (normal) with 2 forklifts

 

Forklift Transport from Storage

Lq(#)

.010

Lq(max)

3

Wq(mins)

.577

Wq(max)

30.456

Util forklift

.264

Large Order Total Time

112.55

Large Order Total (max)

394.19

Cost

\(5,000

Table 9: Impacts of suggestion

There are other areas than can be improved such as the waiting time for Associates. Their utilization is a little high because they rotate between four different tasks. When separated, these four tasks actually don’t take much time so they were combined together. This was done to temporary disengage workers from the same repetitive tasks and avoid burnout. The model follows the company’s policy that all work must be done before taking a break, but everyone should still take the complete allotted break time. While this policy may seem fine, this could actually create small gaps where both resources are not working. A simple change in policy such as forcing everyone to stop what they are doing and take their break exactly at the given time can reduce the number of spurious peaks over time. Figure 5 shows how such policy would have an impact on the overall processing time. Enforcing the policy might require special supervision from managers which could add unknown costs and possible repercussions. Appendix D describes the actual technical details of scheduling in the model.

Figure 5: Plot reflecting a Change in Schedule Policy

Alternatively, rather than hiring more resources, training and optimizations to the workplace could be suggested. For example offering training that allows Associates examine items faster for major defects to speed up the time he or she spends in that process. Or upgrading the order processing system with better software could significantly reduce or even eliminate the task. However these approaches will need a more detailed study before making further recommendations.

Conclusions

Overall, the system has shown that adding robotics systems to the warehouse has improved overall processing times. That is, when combining all three types of orders, those that are served by robots (small orders) complete in less time compared to the other two types. Suggestions have been provided on how to further optimize the system. Additionally, further price guidance has been provided in order to balance performance versus cost. As both high utilization and low wait time cannot be achieved, the current system has been designed to provide a balance between both.

High Level Report

After assessing Blue Crate’s problem, it was recommended to automatize some of the warehouse’s processes to reduce overall order processing times. A model has been constructed around the warehouse’s operations, and multiple simulations were performed using Arena Simulation Software in order to find the best performance. The goal was to service orders within 3 hours in order to ship the package the same day. At the same time, utilization of human resources was kept within 60% to 80%, and equipment within 70% to 90%.

Robots were introduced in a special area of the warehouse, primarily to handle small orders (which are compromised of books and electronics). There are two types of robots that perform two different tasks: pick and transport. Due to the price of each unit, an evaluation was conducted which was supported with simulation. It was determine that two pickers and three transporters would fit the utilization range, service time and cost. The total cost to acquire the robots would be \)200K and a return on invest should be seen within the second year.

Other areas of improvement were also found and solutions were also suggested. For example, large orders (such as home appliances) can experience large delays (spanning over a day) during peak times. Transportation of large goods requires a forklift which can cause major delays even though it is being underutilized. By purchasing used equipment for $5,000, worst case waiting time can be slashed by more than 50%. Average processing times will see reduction of 25%. Though these compromise the smaller portion of the total orders placed, it is important to minimize the processing delays as just a few late deliveries can tarnish the reputation of the company.

The above two graph shows the majority of the orders, which are small orders, are processed in the least amount of time. While the other two types take more time to process. Therefore the majority of Blue Crate’s orders should be experiencing faster delivery time and more satisfied customers. A complete report has been attached to this email with all supporting evidence.

 

 

Appendix A: Simulation Length and Transient Period

There are multiple points of interest which were logged using the Statistic Module located in the Advanced Process of Arena. Figure A.1 shows all the records that were extracted and stored in separate files. One of the records of interest is “Total Ship Normal” which records the start-to-end time it takes an order to be processed, packaged and shipped from the time it first arrives. More specifics on this record are explained in Appendix D.

Statistical output can sometimes be exposed to irregular results due to the randomness effect. Rather than modifying the model’s distributions and resources, we want to focus our window of observation by collecting several samples (or replications) and clean any initial noise (transient period).

Figure A.1: Statistical Output

Initially, the model was simulated for 1,000 minutes with 5 replications which yielded 5 samples. The goal is to obtain a 95% confidence interval for the Total Ship Normal Time that has a half width of less than 5% from the sample mean. The ideal simulation length can be derived using the below formula:

Figure A.2 shows the results displayed using Output Analyzer. Table A.1 shows the extracted averages and half widths for better visibility. The first step is to derive the mean (x̅), variance (S2) and standard deviation (S) of the sample (n).

Figure A.2: Confidence Interval displayed in Output Analyzer

 

Replication

Average Complete Time

Half Width

% from Mean

1

75.6

25.9

34.26%

2

71.9

29.4

40.89%

3

75.1

34.5

45.94%

4

93.1

30.1

32.33%

5

118

42.7

36.19%

Table A.1: Sample Averages and Half Widths

The top portion of Table A.2 was computed using Microsoft Excel’s “Data Analysis” module by providing all 5 averages from Table 1 as inputs. From this data and t-table probabilities, Half width (h) and desired half width (h’) were then computed. Formulas that accompany the table follow after. The final chosen simulation was chosen to be 50,000, a little more than double the obtained result.

 

Average

86.74

Variance

374.363

SD

19.348

   

Simulation Length

1000

n

5

CL

95%

a

0.05

a/2

0.025

t(0.025,4)

2.776

h

24.020

   

Percent

5%

h'

4.337

New Length

30675

Table A.2: Statistical Output

As for the transient period, there is not much variance observed at the beginning of the plot as seen in Figure A.3. Some spikes are observed once in a while but they happen sporadically throughout the model which is hard to correlate to transient period. Therefore, there was no warm-up period provided in any of the simulations. Even in the case of adding 1000 minutes of warm-up period, there was no significant change observed. One explanation for these peaks could be due to the change in shifts of workers. During this time, large number of orders will accumulate. If many orders happen to arrive during break time, then the average process time will also increase. It takes some time for workers to reduce the queue back to normal levels. In order to contain these peaks, break times could be further spread out.

Figure A.3: Plot of “Tally Total Ship Normal” as viewed in Output Analyzer

 

Appendix B: Data Processing and Fitting

Incoming orders are what keep the warehouse moving, therefore it is important to understand and predict when the orders will arrive. Based on this information, resources and processes can be adjusted in order to obtain the best utilization and efficiency. Usually data is collected during a period of time and represented in a histogram. A distribution is then fitted over the histogram so that we have a set of probabilities on which our model can draw predictions.

Due to time limitation, data could not be collected that could help derive the ideal inter-arrival rate of warehouse orders. Instead assumptions had to be made and a distribution had to be picked that would best fit the model. The most common type of arrival distribution of customers in a queuing system is random that follow Poisson Process or sometimes is called as Markovian [7]. While there are no physical customers entering the warehouse, customers are virtually placing orders in the website. The inverse of this model (or inter-arrival), that is customers/minutes (orders/minutes), is best represented with an exponential probability distribution.

In real world large scale e-commerce sites, many orders can be placed within seconds. As of 2016, Amazon processes a bit more than 600 orders per second [8]. Of course, this project cannot cover such an enormous inflow and settled for an exponential distribution with a mean of three minutes (Expo(3)) after some experimentation. One part consisted in playing with different numbers and the other consisted in analyzing the probabilities of the distribution to ensure the model could handle it. Figure B.1 shows the histogram and fitted curve of an Exponential distribution.

 

Figure B.1: Histogram of Exponential distribution as seen with Input Analyzer

 

From the distribution summary on Table B.1, we can observe that there is 20% possibility of getting orders as fast as 0.6 minutes. This means that the system should be able to handle small batches of large orders. If the system were to receive many orders within a small time window, then the orders would quickly accumulate and reach the 150 entity Arena limit. This would cause the simulation to fail and no report would be generated. Now, the longer the simulation is allowed to run and the more replications are included, there is a higher chance of catching a window of time that gets these batches and triggering the 150 limit error. So while Expo(3) minutes works fine for the chosen simulation length discussed in Appendix A, a larger length like 500,000 minutes with 20 replications will cause the system to reach 150 entities within ~250,000 minutes at replication 6. A solution to this (for debugging purposes) is discussed in Appendix D.

Distribution Summary

 

Distribution:      Exponential 

Expression:        EXPO(3.03)

Square Error:      0.000074

Chi Square Test

  Number of intervals        = 30

  Degrees of freedom         = 28

  Test Statistic             = 22.1

  Corresponding p-value      > 0.75

          Data Summary

Number of Data Points        = 16666

Min Data Value               = 7.86e-005

Max Data Value               = 26.2

Sample Mean                  = 3.03

Sample Std Dev               = 3

 

          Histogram Summary

Histogram Range              = 0 to 27

Number of Intervals          = 40

 

==================================================================

Int.   No. of               Probability           Cumulative     

No.    Data Pts.   x        Density               Distribution   

------------------------------------------------------------------

                            Data   Function       Data   Function  

   0  3216      0.675      0.193      0.200      0.193      0.200

   1  2705       1.35      0.162      0.160      0.355      0.360

   2  2193       2.03      0.132      0.128      0.487      0.488

   3  1708       2.70      0.102      0.102      0.589      0.590

   4  1390       3.38     0.0834     0.0819      0.673      0.672

   5  1089       4.05     0.0653     0.0656      0.738      0.737

   6   890       4.72     0.0534     0.0525      0.791      0.790

   7   710       5.40     0.0426     0.0420      0.834      0.832

   8   549       6.07     0.0329     0.0336      0.867      0.865

   9   451       6.75     0.0271     0.0269      0.894      0.892

  10   356       7.42     0.0214     0.0215      0.915      0.914

  11   288       8.10     0.0173     0.0172      0.933      0.931

  12   206       8.78     0.0124     0.0138      0.945      0.945

  13   171       9.45     0.0103     0.0110      0.955      0.956

  14   147       10.1    0.00882    0.00882      0.964      0.965

  15   109       10.8    0.00654    0.00706      0.971      0.972

  16    99       11.5    0.00594    0.00565      0.977      0.977

  17    69       12.2    0.00414    0.00452      0.981      0.982

  18    67       12.8    0.00402    0.00362      0.985      0.986

  19    52       13.5    0.00312    0.00290      0.988      0.988

  20    45       14.2    0.00270    0.00232      0.991      0.991

  21    32       14.9    0.00192    0.00185      0.993      0.993

  22    33       15.5    0.00198    0.00148      0.995      0.994

  23    26       16.2    0.00156    0.00119      0.996      0.995

  24    15       16.9   0.000900   0.000950      0.997      0.996

  25    12       17.6   0.000720   0.000760      0.998      0.997

  26     6       18.2   0.000360   0.000608      0.998      0.998

  27     6       18.9   0.000360   0.000487      0.998      0.998

  28     7       19.6   0.000420   0.000390      0.999      0.998

  29     4       20.3   0.000240   0.000312      0.999      0.999

  30     4       20.9   0.000240   0.000250      0.999      0.999

  31     2       21.6   0.000120   0.000200      0.999      0.999

  32     3       22.3   0.000180   0.000160       1.00      0.999

  33     1       23.0  6.00e-005   0.000128       1.00      0.999

  34     2       23.6   0.000120   0.000102       1.00       1.00

  35     1       24.3  6.00e-005  8.19e-005       1.00       1.00

  36     1       25.0  6.00e-005  6.55e-005       1.00       1.00

  37     0       25.7      0.000  5.24e-005       1.00       1.00

  38     1       26.3  6.00e-005  4.20e-005       1.00       1.00

  39     0       27.0      0.000  3.36e-005       1.00       1.00

Table B.1: Exponential distribution summary

For illustration and personal understanding of the effects of the chosen distribution, below Figure B.2 shows a 50,000 minute simulation in arena. The intervals are somehow consistent, with higher a  frequency gravitating towards the bottom (not very distinguishable) and few low values towards the top.

Figure B.2: Exponential graph over time shown in Arena

 

Appendix C: Verification

Before creating and running the model in Arena, it is optimal to verify whether the initial values are sustainable for the system. Below set of tables contain an estimate of the number we are expecting to see in Arena. These were derived from the logical model shown in Figure 2. There are other factors that are too complex to cover in the estimation and are better left to simulation.

First, the total number of possible orders that will enter the system is calculated.

\[Total Orders = \frac{simulation length}{inter arrival}=\frac{50000}{3}=16666\]

Then, the number of orders per type is calculated based on their historical distribution. Pickers are chosen based on the order type, so this helps to have an overall estimate on how the orders will be routed. These are shown in Table C.1.

Order Type

Example

Historical %

Orders

All

-

-

16666

Small

Electronics

60

10000

Books

Medium

Clothing

35

5833

Toys

Large

Home

5

833

Table C.1: Order type allocation

Following up, each process will have a mean service time which can be calculated. These represent the amount of work needed to complete an activity. All service times are represented by distributions since these are activities that take different amounts of time to complete, randomness being a factor. Table C.2 shows the corresponding mean based on the distribution.

Process

Distribution (min)

Mean (min)

Arrival

Expo(3)

Mean=3

Process Order

Unif(1,2)

Mean=(1+2)/2=1.5

Robot

Expo(7)

Mean=7

Picker

Expo(20)

Mean=20

Inspect

Unif(0.5,1)

Mean=(0.5+1)/2=0.75

Return Storage

Tria(5,8,15)

Mean=(5+8+15)/3=9.33

Pack Item

Tria(1.5,2,4)

Mean=(1.5+2+4)/3=2.5

Load Truck

Tria(3,4,6)

Mean=(3+4+6)/3=4.33

Table C.1: Process average service time estimates

Each resource can be assigned to one or more processes. Table C.2 was derived using the arrival time and process time from Table C.1. For each process there can be one or more resources assigned to complete the task. “Available” represents the full allocated resource that is needed to for the task. “Scheduled” represents the actual time that a resource can dedicate to the task. Time is reduced when workers take break or get injured. In this model, only breaks were considered and are modeled based on Table 2. That is out of a 9 hour period, only 8 hours are utilized. Also, notice that robots do not need to take breaks, so they are scheduled to operate the entire 9 hours.

Process

Resource

Mean (min)

Need

Available, Scheduled

Utilization, Schedule Utilization

Arrival

 

3

 

 

 

Process Order

Associate S1

1.5

1

1, 0.88

 1.5/3*1/2=0.250,0.284

Process Order

Associate S2

1.5

1

1, 0.88

 1.5/3*1/2=0.250,0.284

Return Storage

Associate S1

9.33

1

1, 0.88

 (0.02)  9.33/3*1/2=0.031,0.035

Return Storage

Associate S2

9.33

1

1, 0.88

 (0.02)  9.33/3*1/2=0.031,0.035

Inspect Item

Associate S1

0.75

1

1, 0.88

 0.75/3*1/2=0.125,0.142

Inspect Item

Associate S2

0.75

1

1, 0.88

 0.75/3*1/2=0.125,0.142

Pack Item

Associate S1

2.5

1

1, 0.88

 (0.98)  2.5/3*1/2=0.408,0.464

Pack Item

Associate S2

2.5

1

1, 0.88

 (0.98)  2.5/3*1/2=0.408,0.464

Total

Associate

 

 

 

0.814, 0.925

 

 

 

 

 

 

Pick Item

Robot

7

1

2, 2

 (0.60)7/3*1/2=0.700

 

 

 

 

 

 

Pick Item

Picker S1

20

1

2, 1.76

 (0.40)  20/3*1/4=0.667,0.757

Pick Item

Picker S2

20

1

2, 1.76

 (0.40)  20/3*1/4=0.667,0.757

 

 

 

 

 

 

Load Truck

Loader S1

4.33

1

1, 0.88

 4.33/3*1/2=0.721,0.820

Load Truck

Loader S2

4.33

1

1, 0.88

 4.33/3*1/2=0.721,0.820

Table C.2: Resource Process Estimates

In this case, Associates participate in several tasks as needed, so they are a shared resource and their utilization is the summation of all processes. On the other hand Pickers and Loaders are assigned to a single process so their utilization is calculated from a single process. Due to the double shift there is more than one resource assigned to a process, so utilization can slightly vary between resources in the simulation though they work on the same task.

Calculating utilization for transporters is slightly different. Distance and speed plays are an additional factor that needs to be taken into consideration. Table C.3 was derived using the time values (one way) from Table 3 and the arrival time from Table C.1.

Transporter

Resource

Mean (min)

Need

Available

Utilization

Arrival

 

3

 

 

 

Transport

roboCart

5.62

1

3

 (0.6)((2*5.62))/3*1/3=0.749

Transport

Fork Lift

12.00

1

1

 (0.05)((2*12))/3*1/1=0.400

Convey

Conveyor Packing

5.33

1

800

 (0.35)5.33/3*1/800=0.001

Convey

Conveyor  Shipping

2.00

1

100

 2.00/3*1/100=0.007

Table C.3: Transporter Process Estimates

 

Time

Small

Medium

Large

 

1.5+0.75+2.5+7+4.33

1.5+0.75+2.5+20+4.33

1.5+0.75+2.5+20+4.33

Value Added

16.08

29.08

29.08

 

0.25+0.25+(0.02)9.33+1+1

2+2+(0.02)9.33+1+1

4+2+(0.02)9.33+1+1

Non Value

2.68

6.18

8.18

 

5.62+2.00

5.33+2.00

12.00+2.00

Transport

7.62

7.33

14.00

 

 

 

 

Table C.4: Time needed per Entity/Order

Table C.4 summarizes the total time spent for each type of order. Value added represents the time an order is being served in a process. Non value represents areas that are considered waste. These have been minimized as much as possible. Return to storage has been considered as non value because it’s an area that ideally should not happen. Transport time is the time it takes to move an item from storage zone to packing zone.

Calculation Queue waiting numbers and times resulted more complicated than thought as there are shared resources. These have been left for simulation to come up with the values.

 

Appendix D: Arena Model

Figure D.1 shows the final model used in Arena. Orders arrive through the left and exit through the bottom right part. There are three outputs: one for rush orders, one for normal orders and one for transfer orders to another warehouse (balk). Several modules, attributes and statistics were used in the model.

Figure D.1: Distribution Center Arena Model


Entry

Create module is used to represent arriving orders. To keep the model simple and somewhat predictable, only one create module is used. The model requires 3 different types of entities so four assign modules are used. The decide module “Order Type” will direct the entity to the designated “Assign Small, Medium or Large”. The “Assign Type” module contains the expression with the function DISC() that sets the probability. Figure D.1 shows the designated probabilities and service times based on Figure 2. The function TNOW is used to stamp the initial time which will be used for comparison in other processes.

Figure D.1: Arrival and entity type assignment

Once decision takes place, the entity is assigned a size and corresponding attribute values using additional “Assign” modules. Fetch time will be used by the pickers and Arrive Time is used as the initial time to compare when extracting statistics using “Record” Modules.

Before entering the first process, there is a Decide Module that checks the system can accept any more orders. If there are more than 130 active entities in the system, then the order will exit the system right away and count as balk. This is to avoid Arena’s 150 entities limitation and allows further debugging. For some reason, there will be other entities as well which are not counted in the WIP (Work In Process), so 130 is the top limited found before hitting an error. Below formula was used inside the decision module shown in Figure D.2.

Figure D.2: Balking feature

Processes and Resources

There are seven Process Modules in the model. Six of which employ human workers and the remaining uses robots. Since there are two shifts for every human worker type, the Set Module was used to group both types. There is one Set for every type of worker. When a process needs to allocate resource, it will look at the set and chose a resource in cyclical form. Figure D.4 shows how processes are defined with a distribution and resource allocation. Delay Type can take a direct distribution or an Expression in the form of an attribute.

Figure D.3: Processes and resource allocation

The Schedule module defines the work hours and capacity for each resource. There are two types of schedules as defined in Table 2. The Wait Schedule Rule option will wait until the in-process entities release their units of the resource before starting the actual capacity decrease. The reduced capacity will always be of the specified duration, but the time between these reductions may increase [9]. The assumption is that workers try to finish pending work before going on their break. However, they will still take their allotted break time which can cause a shift in schedules. If strict break times were to be implemented, then the Preempt option would be a better fit. The preempt option attempts to preempt the last unit of the resource seized by taking it away from the controlling entity. If successful and a single unit of capacity is enough, then the capacity reduction starts immediately [9].

Within the Duration table, a value of one or more indicates the capacity available during a given duration. Zero denotes that there is no work being done by a resource, in other words a schedule break. Figure D.4 shows the various modules used to define the schedules of each worker type with their break times.

Figure D.4: Sets, Resources and Schedule definitions

 

Stations and Transportation

Stations serve as the entry and exit point for moving items from one point to another, Figure D.5. They can be implicitly derived when defining an “Enter” and “Exit” module in the Advanced Transfer tab. Depending on the transfer type, the number of transports or segments to allocate are defined as well as the allocation rule. For carts, the smallest distance rule was selected. Once a Transport/Conveyor reaches its destination it has to be released so it can be re-utilized. For carts and forklifts, they are ordered to go immediately back to their home station since they won’t be carrying anything back. This helps to reduce waiting times. Delays were also added at both ends to represent loading and unloading prep-time.

Figure D.5: Stations and their transpiration rules

Robot Carts are simply carts which are assumed to be autonomous. The AGV option was not used in this case. Transporters and Conveyors have a designated speed which was populated as per Table 3. Respective distances were added in the “Distance” and “Segment” modules.

Figure D.6: Stations and their transpiration rules

Exit Points

Once items are packed and loaded on a truck, the items don’t usually leave right away. In the last part of the model two types of shipments are simulated. The priority delivery will cause the item to exit the model right away, meaning the package was shipped right away and constitutes 20 percent of all packages. For all other normal packages, they are placed in a buffer using the “Batch” module which will retain the shipment until 5 packages accumulate. Once 5 entities accumulate they are released at the same time. Since we are interested in counting the individual entities a “Separate” Module is used to obtain individual statistics. Figure D.7 shows the modules used and their parameters.

Priority packages will have a premium added to the overall cost, so individual trucks can be designated to ship the package right away. On the other hand, normal delivery requires that the truck is fully loaded in order to minimize shipping costs. It would be very expensive to ship a half empty truck. The truck in our case was limited to a capacity of 5 packages (size does not matter). This is to best utilize our allotted 150 limited in other areas of the model. In reality, a normal size truck would hold several hundred packages.

Finally, there are other parts within in the module that are of interest. For this “Record” modules were used record the data. As mentioned in Appendix A, these values were individually stored in a file for mode in detail analysis using Output Analyzer.

Figure D.7: Outputs, Records and Batches

 

One area of improvement would be to assign the delivery type in an attribute upon arrival. Based on the priority, some items could be placed ahead of others in order shorten the wait time. Another area of improvement would be to allocate the capacity of the truck based on volume and size of the packages. Packaging could also have different service times based on the size. Due to time limitations, these features were not designed into the model.

 

Appendix E: Statistical Output

3 robots, 160

 

                                      ARENA Simulation Results

                                 Andres Zacarias - License: STUDENT

 

                                  Summary for Replication 1 of 20

 

Project: Distribution Center                                         Run execution date : 4/28/2017

Analyst: Andres Zacarias                                             Model revision date: 4/28/2017

 

Replication ended at time      : 50000.0 Minutes

Base Time Units: Minutes

 

                                           TALLY VARIABLES

 

Identifier                                  Average   Half Width  Minimum    Maximum   Observations

___________________________________________________________________________________________________

 

Tally Total Ship Normal                     105.97     12.114     18.822     783.80      13385   

Tally Ship Rush                             25.903     3.1396     9.2591     91.686       3342   

Tally Normal Trans Time                     13.331     1.7763     9.3332     324.92       6830   

Tally Max WIP                                   --         --         --         --          0

Tally Total Ship Rush                       97.041     11.639     19.263     486.37       3342   

Tally Fetch                                 72.278     (Corr)     8.2575     735.73      16733   

Tally Ship Normal                           33.392     3.2348     9.0807     131.22      13385   

Tally Robot Trans Time                      13.850     1.3723     6.1250     63.205      10254   

Medium Order.VATime                         30.000     .54071     7.2734     188.18       5839   

Medium Order.NVATime                        6.3227     .06063     6.0000     33.877       5839   

Medium Order.WaitTime                       75.665     15.465     .00000     422.90       5839   

Medium Order.TranTime                       7.4593     .02435     7.3329     18.000       5839   

Medium Order.OtherTime                      .00000     .00000     .00000     .00000       5839   

Medium Order.TotalTime                      119.44     15.545     22.388     510.60       5839   

order.VATime                                    --         --         --         --          0

order.NVATime                                   --         --         --         --          0

order.WaitTime                                  --         --         --         --          0

order.TranTime                                  --         --         --         --          0

order.OtherTime                                 --         --         --         --          0

order.TotalTime                                 --         --         --         --          0

Small Order.VATime                          16.122     .14801     7.1860     78.226      10054   

Small Order.NVATime                         2.6862     .02713     2.5000     31.398      10054   

Small Order.WaitTime                        65.131     (Corr)     .00000     396.18      10054   

Small Order.TranTime                        7.7335     .01495     7.6246     24.500      10054   

Small Order.OtherTime                       .00000     .00000     .00000     .00000      10054   

Small Order.TotalTime                       91.674     (Corr)     18.822     486.37      10054   

Large Order.VATime                          29.097     1.6709     7.7677     137.31        834   

Large Order.NVATime                         8.3340     .14938     8.0000     24.945        834   

Large Order.WaitTime                        96.582     20.186     .00000     670.53        834   

Large Order.TranTime                        14.273     .12535     13.999     26.000        834   

Large Order.OtherTime                       .00000     .00000     .00000     .00000        834   

Large Order.TotalTime                       148.28     20.847     37.069     783.80        834   

Leave Pack Shipping.Queue.WaitingTime       .10131     .00425     .00000     1.1223      16733   

Inspect Item.Queue.WaitingTime              13.704     3.0409     .00000     79.143      17084   

Leave Conveyor Storage.Queue.WaitingTime    .34880     .03631     .00000     7.5955       5977   

Leave Forklift Storage.Queue.WaitingTime    15.892     12.579     .00000     294.92        853   

Leave Robot Storage.Queue.WaitingTime       4.8721     1.1939     .00000     51.455      10256   

Robot Picks Item from Storage.Queue.Waitin  8.2945     (Corr)     .00000     96.914      10258   

Process Order.Queue.WaitingTime             14.011     (Corr)     .00000     78.451      16750   

Return to Storage.Queue.WaitingTime         14.252     4.3059     .00000     69.980        351   

Batch Shipping.Queue.WaitingTime            7.3997     .16932     .00000     85.886      13385   

Human Picks Item from Storage.Queue.Waitin  24.450     6.5467     .00000     197.88       6832   

Pack Item.Queue.WaitingTime                 12.790     2.9913     .00000     78.677      16733   

Load Truck.Queue.WaitingTime                2.2355     .22264     .00000     44.024      16732   

 

                                     DISCRETE-CHANGE VARIABLES

 

Identifier                                  Average   Half Width  Minimum    Maximum   Final Value

___________________________________________________________________________________________________

 

NumQ_robPick                                1.7017     (Corr)     .00000     28.000     .00000   

NumQ_robStor                                .99937     .25519     .00000     15.000     .00000   

NumQ_Process                                4.6938     1.1377     .00000     31.000     1.0000   

NumQ_humPick                                3.3453     .93013     .00000     31.000     9.0000   

Medium Order.WIP                            13.953     1.9251     .00000     46.000     9.0000   

order.WIP                                   .00000     (Insuf)    .00000     1.0000     .00000   

Small Order.WIP                             18.439     2.5380     .00000     61.000     12.000   

Large Order.WIP                             2.4762     .49952     .00000     16.000     3.0000   

Associate S2.NumberBusy                     .83205     .01144     .00000     1.0000     1.0000   

Associate S2.NumberScheduled                .88575     .00312     .00000     1.0000     1.0000   

Associate S2.Utilization                    .83205     .01144     .00000     1.0000     1.0000   

Associate S1.NumberBusy                     .83122     .01312     .00000     1.0000     1.0000   

Associate S1.NumberScheduled                .88765     (Insuf)    .00000     1.0000     1.0000   

Associate S1.Utilization                    .83122     .01312     .00000     1.0000     1.0000   

robotPicker.NumberBusy                      1.4121     .03783     .00000     2.0000     2.0000   

robotPicker.NumberScheduled                 2.0000     (Insuf)    2.0000     2.0000     2.0000   

robotPicker.Utilization                     .70606     .01891     .00000     1.0000     1.0000   

Loader S1.NumberBusy                        .72762     (Corr)     .00000     1.0000     1.0000   

Loader S1.NumberScheduled                   .88713     (Insuf)    .00000     1.0000     1.0000   

Loader S1.Utilization                       .72762     (Corr)     .00000     1.0000     1.0000   

Loader S2.NumberBusy                        .72484     .01005     .00000     1.0000     1.0000   

Loader S2.NumberScheduled                   .88557     .00286     .00000     1.0000     1.0000   

Loader S2.Utilization                       .72484     .01005     .00000     1.0000     1.0000   

Picker S1.NumberBusy                        1.3858     .05923     .00000     2.0000     1.0000   

Picker S1.NumberScheduled                   1.6992     (Insuf)    .00000     2.0000     .00000   

Picker S1.Utilization                       .70957     .03053     .00000     1.0000     1.0000   

Picker S2.NumberBusy                        1.3881     .05543     .00000     2.0000     1.0000   

Picker S2.NumberScheduled                   1.6248     .03021     .00000     2.0000     .00000   

Picker S2.Utilization                       .72385     .02772     .00000     1.0000     1.0000   

Leave Pack Shipping.Queue.NumberInQueue     .03391     (Corr)     .00000     2.0000     .00000   

Inspect Item.Queue.NumberInQueue            4.6826     1.1592     .00000     26.000     .00000   

Leave Conveyor Storage.Queue.NumberInQueue  .04170     .00504     .00000     4.0000     .00000   

Leave Forklift Storage.Queue.NumberInQueue  .27113     .21329     .00000     10.000     .00000   

Leave Robot Storage.Queue.NumberInQueue     .99937     .25519     .00000     15.000     .00000   

Robot Picks Item from Storage.Queue.Number  1.7017     (Corr)     .00000     28.000     .00000   

Process Order.Queue.NumberInQueue           4.6938     1.1377     .00000     31.000     1.0000   

Return to Storage.Queue.NumberInQueue       .10006     .03491     .00000     3.0000     .00000   

Batch Shipping.Queue.NumberInQueue          1.9813     .02198     .00000     5.0000     3.0000   

Human Picks Item from Storage.Queue.Number  3.3453     .93013     .00000     31.000     9.0000   

Pack Item.Queue.NumberInQueue               4.2805     1.1060     .00000     25.000     .00000   

Load Truck.Queue.NumberInQueue              .74809     .06798     .00000     10.000     .00000   

roboCart.NumberBusy                         2.4097     .04233     .00000     3.0000     2.0000   

roboCart.NumberScheduled                    3.0000     (Insuf)    3.0000     3.0000     3.0000   

roboCart.Utilization                        .80325     .01411     .00000     1.0000     .66667   

Forklift.NumberBusy                         .51180     .03797     .00000     1.0000     .00000   

Forklift.NumberScheduled                    1.0000     (Insuf)    1.0000     1.0000     1.0000   

Forklift.Utilization                        .51180     .03797     .00000     1.0000     .00000   

Conveyor Shipping.Utilization               .01325     2.0606E-04 .00000     .03960     .00990   

Conveyor Shipping.LengthAccumulated         .66930     .01043     .00000     3.0000     1.0000   

Conveyor Storage.Utilization                .00139     3.5398E-05 .00000     .00624     .00000   

Conveyor Storage.LengthAccumulated          .47816     .01212     .00000     3.0000     .00000   

 

                                             COUNTERS

 

Identifier                                    Count   Limit

_____________________________________________________________

 

countWrong                                      351  Infinite

Count No Capacity                                 0  Infinite

 

                                             OUTPUTS

 

Identifier                                   Value

_____________________________________________________________

 

Medium Order.NumberIn                       6785.0   

Medium Order.NumberOut                      6776.0   

order.NumberIn                              16751.   

order.NumberOut                             16751.   

Small Order.NumberIn                        11664.   

Small Order.NumberOut                       11652.   

Large Order.NumberIn                        979.00   

Large Order.NumberOut                       976.00   

Associate S2.NumberSeized                   25565.   

Associate S2.ScheduledUtilization           .93937   

Associate S1.NumberSeized                   25353.   

Associate S1.ScheduledUtilization           .93643   

robotPicker.NumberSeized                    10258.   

robotPicker.ScheduledUtilization            .70606   

Loader S1.NumberSeized                      8380.0   

Loader S1.ScheduledUtilization              .82020   

Loader S2.NumberSeized                      8352.0   

Loader S2.ScheduledUtilization              .81851   

Picker S1.NumberSeized                      3413.0   

Picker S1.ScheduledUtilization              .81557   

Picker S2.NumberSeized                      3419.0   

Picker S2.ScheduledUtilization              .85436   

System.NumberOut                            16727.   

 

 

4 robots, 160

 

                                      ARENA Simulation Results

                                 Andres Zacarias - License: STUDENT

 

                                  Summary for Replication 1 of 20

 

Project: Distribution Center                                         Run execution date : 4/28/2017

Analyst: Andres Zacarias                                             Model revision date: 4/28/2017

 

Replication ended at time      : 50000.0 Minutes

Base Time Units: Minutes

 

                                           TALLY VARIABLES

 

Identifier                                  Average   Half Width  Minimum    Maximum   Observations

___________________________________________________________________________________________________

 

Tally Total Ship Normal                     90.658     5.5156     19.056     390.28      13125   

Tally Ship Rush                             22.838     1.4584     9.1592     98.807       3326   

Tally Normal Trans Time                     12.723     .50100     9.3333     171.11       6595   

Tally Max WIP                                   --         --         --         --          0

Tally Total Ship Rush                       82.294     4.9668     18.609     366.21       3326   

Tally Fetch                                 59.921     4.6658     8.1035     355.89      16464   

Tally Ship Normal                           30.632     1.4772     8.7421     113.13      13125   

Tally Robot Trans Time                      7.6292     .19263     6.1250     33.769      10220   

Medium Order.VATime                         30.074     .60321     7.3334     212.50       5644   

Medium Order.NVATime                        6.2662     .05696     6.0000     28.604       5644   

Medium Order.WaitTime                       61.178     7.5355     .00000     316.18       5644   

Medium Order.TranTime                       7.4382     .02254     7.3329     18.000       5644   

Medium Order.OtherTime                      .00000     .00000     .00000     .00000       5644   

Medium Order.TotalTime                      104.95     7.9028     23.208     390.28       5644   

order.VATime                                    --         --         --         --          0

order.NVATime                                   --         --         --         --          0

order.WaitTime                                  --         --         --         --          0

order.TranTime                                  --         --         --         --          0

order.OtherTime                                 --         --         --         --          0

order.TotalTime                                 --         --         --         --          0

Small Order.VATime                          16.313     .15050     7.2384     102.92       9997   

Small Order.NVATime                         2.7051     .03003     2.5000     22.627       9997   

Small Order.WaitTime                        49.812     5.8147     .00000     240.48       9997    

Small Order.TranTime                        7.7448     .01694     7.6246     18.875       9997   

Small Order.OtherTime                       .00000     .00000     .00000     .00000       9997   

Small Order.TotalTime                       76.575     5.7990     18.609     284.64       9997   

Large Order.VATime                          30.974     1.5561     6.9921     296.32        810   

Large Order.NVATime                         8.3582     .18286     8.0000     25.946        810   

Large Order.WaitTime                        76.869     8.7373     .00000     247.53        810   

Large Order.TranTime                        14.281     .14328     13.999     26.000        810   

Large Order.OtherTime                       .00000     .00000     .00000     .00000        810   

Large Order.TotalTime                       130.48     8.3460     33.871     366.21        810   

Leave Pack Shipping.Queue.WaitingTime       .10409     .00386     .00000     1.1001      16458   

Inspect Item.Queue.WaitingTime              10.497     1.3675     .00000     78.988      16809   

Leave Conveyor Storage.Queue.WaitingTime    .31385     .03063     .00000     6.2019       5766   

Leave Forklift Storage.Queue.WaitingTime    11.495     2.7205     .00000     141.11        830   

Leave Robot Storage.Queue.WaitingTime       .59483     .10803     .00000     22.019      10222   

Robot Picks Item from Storage.Queue.Waitin  8.3031     1.1978     .00000     96.393      10224   

Process Order.Queue.WaitingTime             10.871     1.8040     .00000     78.529      16497   

Return to Storage.Queue.WaitingTime         9.2000     1.6435     .00000     53.586        344   

Batch Shipping.Queue.WaitingTime            7.6171     .15142     .00000     85.248      13125   

Human Picks Item from Storage.Queue.Waitin  20.184     5.2392     .00000     145.37       6600   

Pack Item.Queue.WaitingTime                 9.7201     1.8681     .00000     80.529      16459   

Load Truck.Queue.WaitingTime                2.3259     .23655     .00000     38.414      16454   

 

                                     DISCRETE-CHANGE VARIABLES

 

Identifier                                  Average   Half Width  Minimum    Maximum   Final Value

___________________________________________________________________________________________________

 

NumQ_robPick                                1.7027     .24816     .00000     22.000     11.000   

NumQ_robStor                                .12161     .01915     .00000     8.0000     .00000   

NumQ_Process                                3.5876     .50474     .00000     33.000     5.0000   

NumQ_humPick                                2.6658     .73374     .00000     24.000     5.0000   

Medium Order.WIP                            11.874     1.1358     .00000     39.000     21.000   

order.WIP                                   .00000     (Insuf)    .00000     1.0000     .00000   

Small Order.WIP                             15.344     1.0974     .00000     57.000     27.000   

Large Order.WIP                             2.1212     .20442     .00000     9.0000     3.0000   

Associate S2.NumberBusy                     .81749     .01166     .00000     1.0000     1.0000   

Associate S2.NumberScheduled                .88577     .00301     .00000     1.0000     1.0000   

Associate S2.Utilization                    .81749     .01166     .00000     1.0000     1.0000   

Associate S1.NumberBusy                     .81674     .01150     .00000     1.0000     1.0000   

Associate S1.NumberScheduled                .88746     (Insuf)    .00000     1.0000     1.0000   

Associate S1.Utilization                    .81674     .01150     .00000     1.0000     1.0000   

robotPicker.NumberBusy                      1.4456     .04372     .00000     2.0000     2.0000   

robotPicker.NumberScheduled                 2.0000     (Insuf)    2.0000     2.0000     2.0000   

robotPicker.Utilization                     .72281     .02186     .00000     1.0000     1.0000   

Loader S1.NumberBusy                        .72100     .01055     .00000     1.0000     1.0000   

Loader S1.NumberScheduled                   .88700     (Insuf)    .00000     1.0000     1.0000   

Loader S1.Utilization                       .72100     .01055     .00000     1.0000     1.0000   

Loader S2.NumberBusy                        .70508     .00941     .00000     1.0000     1.0000   

Loader S2.NumberScheduled                   .88555     .00298     .00000     1.0000     1.0000   

Loader S2.Utilization                       .70508     .00941     .00000     1.0000     1.0000   

Picker S1.NumberBusy                        1.3694     .05079     .00000     2.0000     2.0000   

Picker S1.NumberScheduled                   1.6901     (Insuf)    .00000     2.0000     2.0000   

Picker S1.Utilization                       .70356     .02598     .00000     1.0000     1.0000   

Picker S2.NumberBusy                        1.3605     .04943     .00000     2.0000     2.0000   

Picker S2.NumberScheduled                   1.6238     .02338     .00000     2.0000     2.0000   

Picker S2.Utilization                       .70979     .02562     .00000     1.0000     1.0000   

Leave Pack Shipping.Queue.NumberInQueue     .03426     .00159     .00000     2.0000     1.0000   

Inspect Item.Queue.NumberInQueue            3.5302     .53773     .00000     26.000     6.0000   

Leave Conveyor Storage.Queue.NumberInQueue  .03619     .00324     .00000     4.0000     .00000   

Leave Forklift Storage.Queue.NumberInQueue  .19082     .05131     .00000     5.0000     .00000   

Leave Robot Storage.Queue.NumberInQueue     .12161     .01915     .00000     8.0000     .00000   

Robot Picks Item from Storage.Queue.Number  1.7027     .24816     .00000     22.000     11.000   

Process Order.Queue.NumberInQueue           3.5876     .50474     .00000     33.000     5.0000   

Return to Storage.Queue.NumberInQueue       .06330     .01373     .00000     3.0000     .00000   

Batch Shipping.Queue.NumberInQueue          1.9995     .01834     .00000     5.0000     1.0000   

Human Picks Item from Storage.Queue.Number  2.6658     .73374     .00000     24.000     5.0000   

Pack Item.Queue.NumberInQueue               3.2007     .49953     .00000     26.000     5.0000   

Load Truck.Queue.NumberInQueue              .76543     .09292     .00000     10.000     1.0000   

roboCart.NumberBusy                         2.4018     .04890     .00000     4.0000     3.0000   

roboCart.NumberScheduled                    4.0000     (Insuf)    4.0000     4.0000     4.0000   

roboCart.Utilization                        .60045     .01222     .00000     1.0000     .75000   

Forklift.NumberBusy                         .49800     .02796     .00000     1.0000     .00000   

Forklift.NumberScheduled                    1.0000     (Insuf)    1.0000     1.0000     1.0000   

Forklift.Utilization                        .49800     .02796     .00000     1.0000     .00000   

Conveyor Shipping.Utilization               .01303     1.8484E-04 .00000     .03960     .02970   

Conveyor Shipping.LengthAccumulated         .65827     .00933     .00000     3.0000     2.0000   

Conveyor Storage.Utilization                .00134     3.1556E-05 .00000     .00624     .00125   

Conveyor Storage.LengthAccumulated          .46124     .01085     .00000     3.0000     1.0000   

 

                                             COUNTERS

 

Identifier                                    Count   Limit

_____________________________________________________________

 

countWrong                                      344  Infinite

Count No Capacity                                 0  Infinite

 

                                             OUTPUTS

 

Identifier                                   Value

_____________________________________________________________

 

Medium Order.NumberIn                       6564.0   

Medium Order.NumberOut                      6543.0   

order.NumberIn                              16502.   

order.NumberOut                             16502.   

Small Order.NumberIn                        11611.   

Small Order.NumberOut                       11584.   

Large Order.NumberIn                        952.00   

Large Order.NumberOut                       949.00   

Associate S2.NumberSeized                   25191.   

Associate S2.ScheduledUtilization           .92291   

Associate S1.NumberSeized                   24918.   

Associate S1.ScheduledUtilization           .92031   

robotPicker.NumberSeized                    10224.   

robotPicker.ScheduledUtilization            .72281   

Loader S1.NumberSeized                      8320.0   

Loader S1.ScheduledUtilization              .81285   

Loader S2.NumberSeized                      8134.0   

Loader S2.ScheduledUtilization              .79620   

Picker S1.NumberSeized                      3345.0   

Picker S1.ScheduledUtilization              .81028   

Picker S2.NumberSeized                      3255.0   

Picker S2.ScheduledUtilization              .83787   

System.NumberOut                            16451.   

 

 

5 robots, speed 160

 

                                      ARENA Simulation Results

                                 Andres Zacarias - License: STUDENT

 

                                  Summary for Replication 1 of 20

 

Project: Distribution Center                                         Run execution date : 4/28/2017

Analyst: Andres Zacarias                                             Model revision date: 4/28/2017

 

Replication ended at time      : 50000.0 Minutes

Base Time Units: Minutes

 

                                           TALLY VARIABLES

 

Identifier                                  Average   Half Width  Minimum    Maximum   Observations

___________________________________________________________________________________________________

 

Tally Total Ship Normal                     91.431     7.0802     20.740     425.39      13270   

Tally Ship Rush                             23.913     2.1612     8.8481     78.402       3299   

Tally Normal Trans Time                     12.758     .67661     9.3332     162.46       6744   

Tally Max WIP                                   --         --         --         --          0

Tally Total Ship Rush                       83.072     (Corr)     17.654     292.15       3299   

Tally Fetch                                 59.844     4.7498     7.8760     371.99      16577   

Tally Ship Normal                           31.405     1.8675     8.8763     104.11      13270   

Tally Robot Trans Time                      6.5376     .05180     6.1250     19.064      10185   

Medium Order.VATime                         29.847     .67543     7.3221     191.33       5778   

Medium Order.NVATime                        6.2947     .06889     6.0000     34.841       5778   

Medium Order.WaitTime                       61.971     8.4858     .00000     293.09       5778   

Medium Order.TranTime                       7.4524     .02723     7.3329     18.000       5778   

Medium Order.OtherTime                      .00000     .00000     .00000     .00000       5778   

Medium Order.TotalTime                      105.56     8.5946     22.837     425.39       5778   

order.VATime                                    --         --         --         --          0

order.NVATime                                   --         --         --         --          0

order.WaitTime                                  --         --         --         --          0

order.TranTime                                  --         --         --         --          0

order.OtherTime                                 --         --         --         --          0

order.TotalTime                                 --         --         --         --          0

Small Order.VATime                          16.255     .12551     6.9447     145.76       9974   

Small Order.NVATime                         2.7035     .03153     2.5000     17.405       9974   

Small Order.WaitTime                        50.563     5.4401     .00000     224.88       9974   

Small Order.TranTime                        7.7400     .01673     7.6246     13.250       9974   

Small Order.OtherTime                       .00000     .00000     .00000     .00000       9974   

Small Order.TotalTime                       77.262     5.4786     17.654     266.60       9974   

Large Order.VATime                          28.923     1.5133     7.0915     169.56        817   

Large Order.NVATime                         8.2992     .15535     8.0000     44.053        817   

Large Order.WaitTime                        79.232     8.4717     .37155     246.93        817   

Large Order.TranTime                        14.235     .11823     13.999     38.000        817   

Large Order.OtherTime                       .00000     .00000     .00000     .00000        817   

Large Order.TotalTime                       130.69     9.0765     36.486     371.77        817   

Leave Pack Shipping.Queue.WaitingTime       .10432     .00427     .00000     1.0383      16575   

Inspect Item.Queue.WaitingTime              11.216     1.7211     .00000     63.747      16926   

Leave Conveyor Storage.Queue.WaitingTime    .36729     .04068     .00000     7.3886       5914   

Leave Forklift Storage.Queue.WaitingTime    11.470     3.1664     .00000     132.46        834   

Leave Robot Storage.Queue.WaitingTime       .12012     .01669     .00000     7.3147      10186   

Robot Picks Item from Storage.Queue.Waitin  8.1000     1.2899     .00000     92.592      10186   

Process Order.Queue.WaitingTime             11.414     1.6121     .00000     63.980      16587   

Return to Storage.Queue.WaitingTime         10.956     1.8065     .00000     46.639        349   

Batch Shipping.Queue.WaitingTime            7.5572     .16284     .00000     91.217      13270   

Human Picks Item from Storage.Queue.Waitin  18.612     4.1926     .00000     171.31       6749   

Pack Item.Queue.WaitingTime                 10.518     1.5142     .00000     64.135      16576   

Load Truck.Queue.WaitingTime                2.4063     .27179     .00000     49.006      16572   

 

                                     DISCRETE-CHANGE VARIABLES

 

Identifier                                  Average   Half Width  Minimum    Maximum   Final Value

___________________________________________________________________________________________________

 

NumQ_robPick                                1.6501     .29845     .00000     20.000     .00000   

NumQ_robStor                                .02447     .00380     .00000     4.0000     .00000   

NumQ_Process                                3.7866     .68461     .00000     26.000     1.0000   

NumQ_humPick                                2.5123     .65354     .00000     22.000     .00000   

Medium Order.WIP                            12.206     (Corr)     .00000     34.000     10.000   

order.WIP                                   .00000     (Insuf)    .00000     1.0000     .00000   

Small Order.WIP                             15.418     1.5918     .00000     45.000     8.0000   

Large Order.WIP                             2.1366     .25259     .00000     9.0000     1.0000   

Associate S2.NumberBusy                     .82342     .01245     .00000     1.0000     1.0000   

Associate S2.NumberScheduled                .88528     .00324     .00000     1.0000     1.0000   

Associate S2.Utilization                    .82342     .01245     .00000     1.0000     1.0000   

Associate S1.NumberBusy                     .82095     .01411     .00000     1.0000     1.0000   

Associate S1.NumberScheduled                .88757     (Insuf)    .00000     1.0000     1.0000   

Associate S1.Utilization                    .82095     .01411     .00000     1.0000     1.0000   

robotPicker.NumberBusy                      1.4285     .03295     .00000     2.0000     .00000   

robotPicker.NumberScheduled                 2.0000     (Insuf)    2.0000     2.0000     2.0000   

robotPicker.Utilization                     .71429     .01648     .00000     1.0000     .00000   

Loader S1.NumberBusy                        .71746     .01384     .00000     1.0000     .00000   

Loader S1.NumberScheduled                   .88728     (Insuf)    .00000     1.0000     1.0000   

Loader S1.Utilization                       .71746     .01384     .00000     1.0000     .00000   

Loader S2.NumberBusy                        .71779     .01168     .00000     1.0000     1.0000   

Loader S2.NumberScheduled                   .88502     .00301     .00000     1.0000     1.0000   

Loader S2.Utilization                       .71779     .01168     .00000     1.0000     1.0000   

Picker S1.NumberBusy                        1.3699     .06079     .00000     2.0000     1.0000   

Picker S1.NumberScheduled                   1.7024     (Insuf)    .00000     2.0000     2.0000   

Picker S1.Utilization                       .70117     .03140     .00000     1.0000     .50000   

Picker S2.NumberBusy                        1.3577     .05347     .00000     2.0000     .00000   

Picker S2.NumberScheduled                   1.6346     .03083     .00000     2.0000     2.0000   

Picker S2.Utilization                       .70865     .02804     .00000     1.0000     .00000   

Leave Pack Shipping.Queue.NumberInQueue     .03458     .00185     .00000     2.0000     .00000   

Inspect Item.Queue.NumberInQueue            3.7969     .70883     .00000     24.000     3.0000   

Leave Conveyor Storage.Queue.NumberInQueue  .04344     .00618     .00000     4.0000     .00000   

Leave Forklift Storage.Queue.NumberInQueue  .19133     .05688     .00000     5.0000     .00000   

Leave Robot Storage.Queue.NumberInQueue     .02447     .00380     .00000     4.0000     .00000   

Robot Picks Item from Storage.Queue.Number  1.6501     .29845     .00000     20.000     .00000   

Process Order.Queue.NumberInQueue           3.7866     .68461     .00000     26.000     1.0000   

Return to Storage.Queue.NumberInQueue       .07648     .01788     .00000     3.0000     .00000   

Batch Shipping.Queue.NumberInQueue          2.0057     .02136     .00000     5.0000     2.0000   

Human Picks Item from Storage.Queue.Number  2.5123     .65354     .00000     22.000     .00000   

Pack Item.Queue.NumberInQueue               3.4869     .66806     .00000     24.000     1.0000   

Load Truck.Queue.NumberInQueue              .79756     .09183     .00000     9.0000     .00000   

roboCart.NumberBusy                         2.3933     .05349     .00000     5.0000     3.0000   

roboCart.NumberScheduled                    5.0000     (Insuf)    5.0000     5.0000     5.0000   

roboCart.Utilization                        .47866     .01070     .00000     1.0000     .60000   

Forklift.NumberBusy                         .49999     .02842     .00000     1.0000     1.0000   

Forklift.NumberScheduled                    1.0000     (Insuf)    1.0000     1.0000     1.0000   

Forklift.Utilization                        .49999     .02842     .00000     1.0000     1.0000   

Conveyor Shipping.Utilization               .01313     2.1760E-04 .00000     .03960     .02970   

Conveyor Shipping.LengthAccumulated         .66292     .01098     .00000     3.0000     2.0000   

Conveyor Storage.Utilization                .00138     4.1026E-05 .00000     .00624     .00375   

Conveyor Storage.LengthAccumulated          .47296     .01411     .00000     3.0000     1.0000   

 

                                             COUNTERS

 

Identifier                                    Count   Limit

_____________________________________________________________

 

countWrong                                      349  Infinite

Count No Capacity                                 0  Infinite

 

                                             OUTPUTS

 

Identifier                                   Value

_____________________________________________________________

 

Medium Order.NumberIn                       6705.0   

Medium Order.NumberOut                      6695.0   

order.NumberIn                              16588.   

order.NumberOut                             16588.   

Small Order.NumberIn                        11566.   

Small Order.NumberOut                       11558.   

Large Order.NumberIn                        971.00   

Large Order.NumberOut                       970.00   

Associate S2.NumberSeized                   25297.   

Associate S2.ScheduledUtilization           .93012   

Associate S1.NumberSeized                   25141.   

Associate S1.ScheduledUtilization           .92494   

robotPicker.NumberSeized                    10186.   

robotPicker.ScheduledUtilization            .71429   

Loader S1.NumberSeized                      8286.0   

Loader S1.ScheduledUtilization              .80860    

Loader S2.NumberSeized                      8286.0   

Loader S2.ScheduledUtilization              .81104   

Picker S1.NumberSeized                      3402.0   

Picker S1.ScheduledUtilization              .80466   

Picker S2.NumberSeized                      3347.0   

Picker S2.ScheduledUtilization              .83066   

System.NumberOut                            16569.

 

Appendix F – Further Experimentation

Below table shows the number of instances an order had to be transferred to a separate warehouse due to no capacity in the current warehouse. Simulation length of 500,000 minutes with 20 replications was used. Note that Expo(8) seemed to be an ideal choice at the beginning, but after some adjustments around the model Expo(7) ended being a better choice. Balking is the last resort and should be avoided at all costs. Transferring can invoke additional costs due to the logistics of shipping a product from a different location.

RoboPicker

First Model

Final Model

Replication

Expo(7)

Expo(8)

Expo(9)

Expo(7)

Expo(8)

Expo(9)

1

0

0

22

0

0

24

2

0

0

16

0

16

16

3

0

0

6

0

0

0

4

0

0

0

0

0

36

5

0

0

0

0

0

0

6

10

0

9

0

0

11

7

0

0

2

0

0

68

8

0

0

10

0

0

8

9

0

0

0

0

0

6

10

0

0

24

0

0

0

11

0

0

0

0

0

20

12

22

0

9

0

0

16

13

0

0

17

0

0

19

14

0

0

54

1

0

26

15

0

0

0

0

0

31

16

0

0

0

0

0

8

17

0

0

0

0

0

28

18

0

0

7

0

0

37

19

0

0

27

0

0

6

20

0

0

5

0

0

31

Table F.1: Out of capacity (balk) instances

Perhaps Exponential distribution is not the best suited distribution for the robot picking process. One recommendation would be to gather additional data to see if there is a better distribution that provides more consistency. The initial assumption was that there was going to be a great number of units roaming around which would add more complexity.

 

Appendix G: Problems Faced

Several problems came up will designing and testing the model. Some issues were due to not fully understanding how the software worked; others were with making the problem statement larger than the time could allow working on.

Problem statement

Initially, there were supposed to be 5 orders types and an additional resource named Packers. This was already narrowed down from the 10 types I initially planned. However, tracking all 5 types and doing verification became very time consuming since one little change would require recalculating many values.

Figure G.1: Problem Statement Model

Also, the problem was trying to emulate real world data from readings in [2], [3], [4], [5] & [6]. Such as using actual fast arrival times, warehouse sizes, transportation speeds and human performance. This caused hitting the 150 entity limit very quickly. While the model was simplified and adjusted to avoid hitting the limit, there were the occasional limit hits when running multiple replications with long lengths. Find a balance for meeting the utilization goal also meant countless hours.

The solution was to limit the orders to 3 types, remove Packers and give all tasks to Associates, and slow down the flow of arriving orders as wells as speeds.

Scheduling

Initially a 16 hour day was planned but had to be reduced to 9 due to the way Arena calculated utilization. Since workers would only be working 8 hours a day, that meant the 8 hours were left empty which caused a drop of utilization. Though each worker was capped at 9 hours, there was no way to limit the same in arena. So what should have been calculated as 8/9=0.88, Arena would treat it as 8/16=0.5.

The solution was to limit the shift in to 9 hour days and limit the number of shifts from three to two. This way utilization could be measured on the spot without having to adjust the Statistical Output values.

Figure G.2: Three shifts set as 4,1,4 spread over 16 hours

Batch Simulation VS Animation Simulation

By default, all models will run in animation mode. This is a great way to see how parts inside the system move. However when trying to run multiple replications with long simulation lengths, this process can take quite some time. The greater the animations, the more time it will take to finish running the simulation (even in fast forward mode). Instead “Batch Run” can be used to the skip animation and jump faster to the statistical output in a matter of seconds.

While this feature is convenient, I ran into a problem towards the conclusion of the project. All values in the report are using batch simulation but they don’t populate graphs. To complement the report, animation mode was switched back on. When the report was provided, it showed significant different values than the batch mode for some fields. Below is the first part of the statistical output for replication 1:

Replication ended at time      : 50000.0 Minutes

Base Time Units: Minutes

 

                                           TALLY VARIABLES

 

Identifier                                  Average   Half Width  Minimum    Maximum   Observations

___________________________________________________________________________________________________

 

Tally Total Ship Normal                     101.93     9.9960     18.751     443.22      13440   

Tally Ship Rush                             25.665     2.9694     9.1560     106.46       3388   

Tally Normal Trans Time                     12.525     .79084     9.3332     172.17       6775   

Tally Max WIP                                   --         --         --         --          0

Tally Total Ship Rush                       94.660     9.9109     18.256     451.69       3388   

Tally Fetch                                 68.706     6.3094     7.8959     421.88      16839   

Tally Ship Normal                           33.280     3.0208     9.0774     117.32      13440   

Tally Robot Trans Time                      13.737     .86248     6.1250     60.282      10422   

Medium Order.VATime                         29.335     .50583     7.1053     175.37       5809   

Medium Order.NVATime                        6.2824     (Corr)     6.0000     36.240       5809   

Medium Order.WaitTime                       67.474     9.2067     .00000     301.19       5809   

Medium Order.TranTime                       7.4462     .02459     7.3329     18.000       5809   

Medium Order.OtherTime                      .00000     .00000     .00000     .00000       5809   

Medium Order.TotalTime                      110.53     9.0930     22.510     443.22       5809   

order.VATime                                    --         --         --         --          0

order.NVATime                                   --         --         --         --          0

order.WaitTime                                  --         --         --         --          0

order.TranTime                                  --         --         --         --          0

order.OtherTime                                 --         --         --         --          0

order.TotalTime                                 --         --         --         --          0

Small Order.VATime                          16.199     .13621     7.0475     92.730      10200   

Small Order.NVATime                         2.7048     .03829     2.5000     23.871      10200   

Small Order.WaitTime                        65.194     (Corr)     .00000     282.06      10200   

Small Order.TranTime                        7.7435     .02083     7.6246     18.875      10200   

Small Order.OtherTime                       .00000     .00000     .00000     .00000      10200   

Small Order.TotalTime                       91.842     (Corr)     18.256     336.01      10200   

Large Order.VATime                          29.388     1.5909     8.0732     324.34        819   

Large Order.NVATime                         8.3818     (Corr)     8.0000     27.410        819   

Large Order.WaitTime                        84.399     12.480     .00541     297.54        819   

Large Order.TranTime                        14.293     (Corr)     14.000     26.000        819   

Large Order.OtherTime                       .00000     .00000     .00000     .00000        819   

Large Order.TotalTime                       136.46     12.749     34.145     451.69        819 

 Table G.1: Statistical result with animation

 

Figure G.3: Batch Run screenshot

By enabling batch run as shown in Figure G.3, below statistical output was provided:

Replication ended at time      : 50000.0 Minutes

Base Time Units: Minutes

 

                                           TALLY VARIABLES

 

Identifier                                  Average   Half Width  Minimum    Maximum   Observations

___________________________________________________________________________________________________

 

Tally Total Ship Normal                     105.97     12.114     18.822     783.80      13385   

Tally Ship Rush                             25.903     3.1396     9.2591     91.686       3342   

Tally Normal Trans Time                     13.331     1.7763     9.3332     324.92       6830   

Tally Max WIP                                   --         --         --         --          0

Tally Total Ship Rush                       97.041     11.639     19.263     486.37       3342   

Tally Fetch                                 72.278     (Corr)     8.2575     735.73      16733   

Tally Ship Normal                           33.392     3.2348     9.0807     131.22      13385   

Tally Robot Trans Time                      13.850     1.3723     6.1250     63.205      10254   

Medium Order.VATime                         30.000     .54071     7.2734     188.18       5839   

Medium Order.NVATime                        6.3227     .06063     6.0000     33.877       5839   

Medium Order.WaitTime                       75.665     15.465     .00000     422.90       5839   

Medium Order.TranTime                       7.4593     .02435     7.3329     18.000       5839   

Medium Order.OtherTime                      .00000     .00000     .00000     .00000       5839   

Medium Order.TotalTime                      119.44     15.545     22.388     510.60       5839   

order.VATime                                    --         --         --         --          0

order.NVATime                                   --         --         --         --          0

order.WaitTime                                  --         --         --         --          0

order.TranTime                                  --         --         --         --          0

order.OtherTime                                 --         --         --         --          0

order.TotalTime                                 --         --         --         --          0

Small Order.VATime                          16.122     .14801     7.1860     78.226      10054   

Small Order.NVATime                         2.6862     .02713     2.5000     31.398      10054   

Small Order.WaitTime                        65.131     (Corr)     .00000     396.18      10054    

Small Order.TranTime                        7.7335     .01495     7.6246     24.500      10054   

Small Order.OtherTime                       .00000     .00000     .00000     .00000      10054   

Small Order.TotalTime                       91.674     (Corr)     18.822     486.37      10054   

Large Order.VATime                          29.097     1.6709     7.7677     137.31        834   

Large Order.NVATime                         8.3340     .14938     8.0000     24.945        834   

Large Order.WaitTime                        96.582     20.186     .00000     670.53        834   

Large Order.TranTime                        14.273     .12535     13.999     26.000        834   

Large Order.OtherTime                       .00000     .00000     .00000     .00000        834   

Large Order.TotalTime                       148.28     20.847     37.069     783.80        834 

  Table G.2: Statistical result with batch run

 

“Tally Total Ship Normal” records the maximum total time spent in the system by an entity. Notice how the maximum value decreases from 783 to 443 when Batch Run is disabled. Other values are affected but not as severely as this value. This lead to a lot of confusion since batch run and animation run were alternated throughout the project to debug issues. The solution was to rely only on output analyzer for plotting values.

Appendix H – Illustrations

Below picture shows the Robot picker that retrieves items from the robot subzone and places it on the robot transporter which will deliver it to the Packing Zone.

Figure H1. Illustration of a Robot Picker with a robot transporter [4]

 

 

Sources

 

Rockwell Arena version 15.00.00001 with Student License

[1] L. Lingling and Z. Jiapeng. Logistics distribution center location optimizatio model an example study. MATEC Web of Conferences 100pp. 02026. 2017. . DOI: 10.1051/matecconf/201710002026.

[2] Cutler, T. Large Distribution Centers Automate with Robotic Systems Applications. Automation. July 08, 2013. https://www.automation.com/automation-news/article/large-distribution-centers-automate-with-robotic-systems-applications

[3] Wulfraat, M. Is Kiva Systems a Good Fit for Your Distribution Center? An Unbiased Distribution Consultant Evaluation. MWPVL. February 2012. http://www.mwpvl.com/html/kiva_systems.html

[4] Ackerman, E. Fetch Robotics Introduces Fetch and Freight: Your Warehouse Is Now Automated. IEEE Spectrum. April 29 2015. http://spectrum.ieee.org/automaton/robotics/industrial-robots/fetch-robotics-introduces-fetch-and-freight-your-warehouse-is-now-automated

[5] McFarland, M. Amazon only needs a minute of human labor to ship your next package. CNN Tech. October 6 2016. http://money.cnn.com/2016/10/06/technology/amazon-warehouse-robots/

[6] D’Onfro, J. See what it's like inside Amazon's massive warehouses. Business Insider. Aug 17 2015. http://www.businessinsider.com/what-its-like-in-amazons-massive-warehouses-fulfillment-centers-2014-11/#amazon-calls-its-warehouses-fulfillment-centers-or-fcs-it-also-has-sortation-centers-where-prepped-packages-are-sorted-before-being-shipped-to-individual-post-offices-note-all-the-loading-docks-at-the-fc-below-1

[7] Teknomo, Kardi. 2014. Queuing Theory Tutorial. Revoledu. http://people.revoledu.com/kardi/tutorial/Queuing/Arrival-Distribution.html

[8] Popomaronis ,Tom. Prime Day Gives Amazon Over 600 Reasons Per Second to Celebrate. Inc. JUL 13, 2016. https://www.inc.com/tom-popomaronis/amazon-just-eclipsed-records-selling-over-600-items-per-second.html

[9] Kelton, W.D., Sadowski, R.P, Zupick, N.B. 2015, Simulation with Arena, 6th edn, McGraw-Hill Higher Education, Boston.

Contact Me

  • San Diego, CA
  • +1.6195403520
  • azacaria@outlook.com
JLV Extension