Eric Fowler
Jack Riley
Manpower Loading Using ArcInfo and ArcView Introduction IntroductionThis paper covers the issue of manpower loading using ArcInfos Network Module and ArcViews Network Analyst. Manpower loading is used to efficiently allocate resources to a customer. Territory regions and routes are created with ArcInfo and ArcView. Supply, demand and road impedance are used to designate the territories. In our case the supply number is a mechanics hours per year and the demand is time at the customer site plus travel time. We will discuss the processes we go through to complete a manpower loading project.About JCI
One of the services Johnson Controls provides customers is handling all facility maintenance/building operations, inside and outside of a building. This is also called integrated facilities management. Johnson Controls implements energy conservation and utility management programs, as well as manages mechanics, building engineers and subcontractors. In order to determine the number of mechanics needed to service several thousand buildings, for a single customer, estimates are made based on size of the building. Previously Johnson Controls would estimate the number of mechanics needed based on a managers estimating capability. This ability to estimate the number of work hours was not in question. However, a lot of guessing went into determining how much time would be spent travelling, as well as guessing how large of a geographic area a mechanic can cover per week or per month.
Our group
Our group gets requests to aid in determining the number of mechanics needed to service a multi-site contract. To determine the number needed we take into account the demand at the facility (hours working at the facility), amount of supply available (mechanics yearly hours), and the road network including impedance.
Parameter Definition Phase
To determine the parameters we need to understand exactly what our customer wants to do, and they need to know how we can help them. A lot of time is spent educating our customers since they are not aware of what locate/allocate can do for them. Most of our projects start with a manager just wanting to see only a map of the customer locations. However, we find out what their business needs are and explain how much time we can save on the mechanic number determination, as well as provide more accuracy. The basic parameters are: demand, supply, candidate locations (if any), maximum distance, etc.
-Demand
The "demand" time that will be deducted from supply is a combination of travel time to each facility and time spent at each facility performing maintenance. Time is the best since it allows us to compare apples to apples, since the mechanics supply, driving, and work at a facility can all be measured with time. However, some managers use square footage to set thresholds for the maximum number a mechanic can work. For example, a limit of 140,000 square feet, or 40 facilities per mechanic is sometimes used. Unfortunately this supply maximum cannot be used with travel time and time at a facility. After several iterations and various customers, we have come up with a process to convert square footage to time. Preventative maintenance time can be calculated to is 2 hours for a facility under 40,000 sqft and 4 hours for facilities greater than 40,000. In some cases square footage is not available, so the manager decides on a certain number of hours per facility, maybe three. If more than one visit needs to be made to the facilities per year than the model is run with one visit assumption and the resulting number is multiplied by the total visits for the year. Multiplying the time at each facility by the number of visits is another possibility, however, then the travel time would not be correct and exaggerating the impedance is not realistic.
The travel time is calculated by the software from the road network lengths and impedance on the road.
-Supply
To determine the supply number per mechanic, we figured the total number of hours in a year, 2,080 (52 weeks times 40 hours). Next we deducted vacation time, holidays, and sick time, leaving 1,880 (2,080 minus 80 minus 80 minus 40). After deducting meeting times, each mechanic has 1,800 hours of supply for the project. For this example we also set aside 200 hours for "dynamic" or emergency calls, leaving 1,600 hours for allocation to the preventative maintenance work at the facilities. The final supply time is 1,600.
-Candidates
The options for the supply center, or candidate locations, are:
1) Set by customer (certain facilities will be the home base for the mechanics).
2) Let the software select the center, use all demand points as candidates.
3) Use demand points that meet a minimum threshold, e.g. square footage, as the candidates.
Sometimes it is necessary to break the project into smaller, more manageable, areas. On one project we split the US into 3 regions so we could supply the information to 3 different regional managers, as well as make the locate/allocate process more manageable. The three regions were in the Northeast, Great Lakes and Northwest. Several states were eliminated from the analysis, since they only had a few facilities and it was decided that they would be serviced by sub-contractors. The distance was too great to include in a technicians territory. Another parameter we can set is the maximum drive time any technician travels, for example, 200 miles.
Once the parameters are determined the data needs to be collected. At the minimum this includes: streets or highways, and the demand sites from the customer.
Geocode the demand sites.
Extract streets/highways to use in analysis. It is a good idea to select out only the area that the demand covers, since locate/allocate takes into account the entire road network extent.
Add impedance to the streets if necessary. To get impedance in minutes from a MPH field and length in feet the following formula can be used: impedance = (60 X (Length / 5280)) / speedlimit.
Run the Near command to get demand on to the NAT (nodes). The demand is summarized at the node level (frequency command), and supply, candidate and cover-id items are added to the summarized file. This file is joined to the street_cover.NAT
Get inputs
The following data items are needed to run locate/allocate:
Run Locate/Allocate with the mindistance model which gives an out allocated file, and an out centers file.
Next Allocate is run by just selecting the outcen cover# as a keyfile. This limits the model to look at the supply maximum (1,600). Locateallocate does not look at the supply available, only the demand and the network travel timel.
Analysis
View results in ArcView
Bring in tables (outall, outcen)
Join to street cover node, join to original demand.
Create routes
Each of the "routes" that were created by locate/allocate are selected out into different themes in ArcView. If there is a preference by the manager of where to start the route that is plugged in as the starting point, otherwise Network Analyst determines the best order. These routes, and their directions are printed out, the ID for the facility is placed on the map next to the point in order to follow the directions more easily. In one project we output the maps to an image so Access could be brought up for a quick visual of a mechanics location.
The Final Analysis/Report includes:
1) A
summary of the routes "territories" created. That is, the number of territories to service an area (or the whole US). For each territory (mechanic) the following information is included: total number of customer facilities served, total demand served (hours), total square feet, total time spend travelling, and the total time spent for that mechanic (travel time plus PM time).2)
A detail list of every customer facility, which mechanic is assigned to it, and how many minutes from the mechanic to the facility.3)
A map showing the geographic extent of each territory.A map of each route
Driving directions for each route
Sample of output summary used to determine number of mechanics to hire
Route ID | SUPPLY Available (Minutes) |
Total Facilities Assigned |
Total Demand Assigned (minutes) |
Total Travel Time (minutes) |
Capacity Percentage |
650 |
12,000 |
10 |
10,800 |
190.1 |
91.58% |
342 |
12,000 |
18 |
10,440 |
523.1 |
91.36% |
636 |
12,000 |
17 |
9,360 |
271.9 |
80.27% |
273 |
12,000 |
14 |
10,080 |
392.4 |
87.27% |
713 |
12,000 |
35 |
13,440 |
743.2 |
118.19% |
664 |
12,000 |
23 |
11,160 |
497.7 |
97.15% |
587 |
12,000 |
11 |
10,800 |
232.4 |
91.94% |
894 |
12,000 |
22 |
11,160 |
631.4 |
98.26% |
753 |
12,000 |
20 |
11,520 |
632.6 |
101.27% |
247 |
12,000 |
9 |
10,080 |
300.4 |
86.50% |
360 |
12,000 |
10 |
11,520 |
368.2 |
99.07% |
Totals |
132,000 |
189 |
120,360 |
4783.1 |
94.81% |
Totals (hours) |
2,200 |
2,006 |
79.7 |
It was difficult sell to the managers to use our capabilities. The ultimate customer was very impressed, but some of the operations managers had a set way of approaching the service and delivery. We had to show how much was being saved in drive time and in some cases, fewer mechanics were needed then were originally thought. However, our staffing solution is not a magic bullet. There needs to be several iterations and a very cooperative proposal/operations group that is willing to go through iterations, and provide the details necessary to make it work.
Another hurdle we had to overcome was that some of the managers wanted to use a maximum threshold per mechanic of square footage. This does not provide a mechanism to add to drive time to subtract from a mechanics supply. For example, set a maximum for a mechanic at 150,000 sq ft or 50 facilities. That doesnt work out with the time spent traveling and the time the mechanic has available. The demand and supply must be the same, including the drive time, in order to subtract apples from apples.
Eric Fowler, GIS Specialist, Johnson Controls. Email: eric.fowler@jci.com
Jack Riley, GIS Specialist, Johnson Controls. Email: John.D.Riley@jci.com
Routes created from Locate/Allocate
Individual Route (directions provided with each map).