Sie sind auf Seite 1von 6

Automated Multi-Plant Scheduling of Ready-Mixed

Concrete Trucks
Biman D. Hettiarachchi1, H.M.N. Dilum Bandara1, and Nishal A. Samarasekera2
1
Department of Computer Science and Engineering
2
Department of Transport and Logistics Management
University of Moratuwa
Katubedda, Sri Lanka.
1
{biman.16, dilumb}@cse.mrt.ac.lk, 2nishals@uom.lk

Abstract— Ready-Mixed Concrete (RMC) is a perishable ability to meet the deadlines such as ASTM C94. Therefore,
product; hence, specifications such as ASTM C94 recommend the better scheduling patterns and driving behavior of fleets of RMC
delivery of RMC under 1.5 hours to ensure the quality. It is known trucks are vital for enhancing the operational efficiency,
that certain scheduling practices and driving behaviors lead to reducing costs, and preventing fraudulent activities.
operational inefficiencies and poor-quality RMC. We propose a
model to schedule RMC trucks while maximizing both the job The RMC supply process consists of five main steps, namely
coverage and profit, as well as meeting constraints such as ASTM production, loading, delivery, unloading, and vehicle return [2].
C94 and continuous casting. The proposed solution consists of a An RMC batching plant begins the production once a customer
rule checker and a scheduler. Rule checker enforces constraints places an order until then trucks are parked. Loading and
such as deadlines, working hours, travel time. The scheduler uses delivery begin immediately after the production of concrete, as
simulated annealing to assign as many jobs as possible while the production and dispatching of RMC are interrelated due to
maximizing the overall profit. We consider scenarios where trucks the perishable nature of the product. Time to unload at the job
are attached to a given RMC plant, as well as allowed to move site is critical, as concrete should be thrown away if excessive
across plants as per the job requirements Using a workload delays are experienced between the production to unload.
derived from an actual RMC delivery company; we demonstrate Moreover, to maintain the supply chain at an optimum level
that the proposed solution has good coverage of jobs while truck return also needs to be properly timed. These steps urge
maximizing the overall profit. For example, compared to the
the fleet manager to schedule the trucks in an efficient manner,
manual job allocation, proposed solution increases the average job
as an optimized schedule could reduce wastages while
coverage and profit by 13% and 9%, respectively. When trucks
are allowed to move across plants, job coverage and profit increase decreasing the overall operational costs.
to 16% and 14%, respectively. By automatically adjusting the first With the introduction of Global Positioning System (GPS)
unload time by a few 10s of minutes to reduce job conflicts we based vehicle tracking devices and fuel sensors, RMC
further enhanced above numbers by 21% and 13%, respectively. scheduling and delivery has become more automated. Fleet
managers could capture real-time data such as vehicle location,
Keywords—Fleet Management; Ready-mixed Concrete;
speed, travel time, and fuel consumption using the sensors [3].
Scheduling; Simulated Annealing
Such data could be used to analyze the impact of various
scheduling and driver-behavior practices, which could be
I. INTRODUCTION considered in future scheduling decisions. However, it is
Fleet scheduling is a core strategic decision area of the difficult to analyze vast volumes of GPS data generated by
freight industry to optimize the resource allocation of a fleet. multiple RMC trucks over a given period. Moreover, the
Scheduling Ready-Mixed Concrete (RMC) delivery is a problem gets harder as the locations of the RMC trucks vary
complex problem as RMC is a perishable product. For example, depending on the job location, where some jobs require
according to the ASTM C94 specification, quality of the continuous casting while others tend to be one-off.
concrete degrades with time; hence, needs to be delivered within Alternatively, the job-site manager wants to avoid discontinuous
1.5 hours from the time water is added to the concrete mixture casting by requiring several RMC trucks to wait at the
or 300 drum revolutions [1]. Moreover, time bounds defined by construction site. Consequently, the scheduling manager usually
the ASTM C94 specification for RMC also depend on the dispatches RMC trucks based on his/her experience while
properties added into the concrete mix. Whereas job site maintaining conservative time gaps between production to
managers usually want RMC trucks to wait in a queue at the unload, which is known to be inefficient and lead to loss of
construction site to avoid discontinuous casting which potential profit [4]. Therefore, it is imperative to be able to
ultimately creates batch behavior of RMC trucks. optimally schedule RMC trucks and plant operation while
Environmental factors such as time of the day, the impact of satisfying the conflicting goals of job coverage, continuous
peak and off-peak traffic, maximum buffer time allowed by the casting, time bounds like ASTM C94, and profitability.
site, and wash-down time of RMC trucks further affect the

978-1-5386-4522-2/18/$31.00 2018
c IEEE 43
We propose an automated solution to schedule RMC trucks share similar routes are concentrated in these facilities. These
to maximize the job coverage and profit while being considerate scheduling patterns have a certain level of platooning, e.g., in [9]
of constraints such as ASTM C94 specification for travel time, two truck platooning strategies, namely catch-up and slow-down
needs for continuous casting, and environmental factors. Our strategy are identified. In catch-up strategy, a follower truck
solution consists of a rule checker that enforces the constraints increases its speed to catch up with its leading truck. In slow-
and a job scheduler based on Simulated Annealing (SA). SA down strategy, leading truck decreases its speed to allow the
algorithm schedules RMC trucks by considering the trends and following truck to catch up. Furthermore, the speed variation of
patterns observed using the past and present data. Our study trucks in platoons vary with time and distance between trucks.
focuses on multiple plants, trucks, and construction sites However, from a fuel efficiency point of view, neither
whereas related work focuses only on a single-plant condition. platooning strategy is recommended, as fuel consumption
Moreover, we support the case of allowing RMC trucks to freely unnecessarily increase during both slowdowns and speed up.
move across plants based on job requirements (without being
restricted to a home plant), as far as it leads to better job Fuel consumption rate, vehicle speed, and engine RPM were
coverage and profit. Our analysis based on a workload derived analyzed by Verwer et al. [10] to identify the driver behavior of
from a real RMC company revealed that both the job coverage a vehicle fleet. Such understanding can be used to regulate
driving patterns to increase efficiency, reduce excessive idling,
and profit could be maximized, compared to typical manual
scheduling. For example, compared to manual job scheduling, meet time constraints, and prevent fraudulent activities of RMC
the proposed solution increases the average job coverage and delivery. Moreover, Xiao and Konak [11] found that the average
profitability by 13% and 9%, respectively. Both job coverage speed between origin and destination is time-dependent. Hence,
and profit improve by 16% and 14%, respectively when rucks time-of-day should be considered in scheduling.
are allowed to freely move across plants as per job requirements. Combined discrete-event simulation and Genetic
Moreover, it eliminates the error-prone and labor-intensive Algorithms (GA) are applied in HKCONSIM to model and
resource allocation [4] and enables experts in RMC dispatching further optimize the single plant and multi-site RMC plant
rooms to focus more on the exceptions such as truck breakdowns operations [12]. Further, Feng et al. [13] and Liu et al. [2]
or last-minute changes requested by customers. introduced a solution where better optimization could be
The rest of the paper is organized as follows; Section II achieved using GA while focusing on scheduling RMC
discusses related work on RMC scheduling. The problem production across an environment with a single plant and single
formulation is presented in Section III, while Section IV mixer where they further suggested to focus on multiple plant
presents the proposed solution. Section V presents the condition as a crucial research gap to be filled in future. Whereas
performance analysis while summary and future work are our work focusses on multiple plants, trucks, and construction
presented in Section VI. sites. However, as the route and vehicle scheduling problems are
known to be NP-hard, we cannot get an optimal solution within
II. RELATED WORK polynomial time [14], [15], [16], [17]. Therefore, it is essential
to identify suitable heuristic-based solutions that can maximize
Factors affecting RMC truck scheduling have been the customer satisfaction, efficiency, and company profit.
discussed in several related work [4], [5], [6], [7], [8], [9].
According to Bergthaler [5], the planning and scheduling of III. PROBLEM FORMULATION
RMC delivery remain very difficult. As RMC is a perishable
product, the time is considered the main constraint for RMC Let J be the set of jobs, where each job j ę J has a delivery
delivery. An RMC truck scheduling solution that considers the location and time of first unloading, volume, and buffer
travel, casting, mixing, and allowed buffer time, as well as the duration (list of symbols is given in Table I). These jobs are to
required number of RMC deliveries to make dispatching be processed by a set of plants P and set of trucks T, where each
sequence decisions for each RMC truck from a single plant is plant p ę P has a fixed location and load time, and each truck
presented in [4]. Biruk [6] analyzed the dispatching problem by t ę T has a volume and fuel consumption rate with/without
considering the number of available trucks, batching plant load. Moreover, industry specifications such as the ASTM C94
operation time, the time between mixing and placing, and and regulatory requirements such as the maximum number of
maximum breaking in the concreting process. According to [7], driving/working hours per driver per day need to be met. Let fj
factors that affect truck routing and scheduling are starting time, be the fee for job j, which typically depends on the distance
traveling duration, casting duration, concrete mixing duration, between pickup and delivery locations of the job. Cost per a
number of trucks, the capacity of a truck, required volume of volume of concrete is fixed regardless of the job; hence, not
RMC, and buffer time. Moreover, Hill and Böse [8] emphasized considered in our model. Our objective is to cover all jobs J
that the arrival rate to the site and waiting time should be with plants P and trucks T, such that profit is maximized across
considered in scheduling. all the jobs. We use a constraint-based approach to filter out the
possible search space as reducing the search space is important
Bishop et al. [9] discussed three truck-scheduling patterns, to achieve an acceptable solution to NP-hard problems [18].
namely hub-to-hub, trucks find each other on the road, and truck
stop kiosks. In hub-to-hub scheduling, once the freight sorting is Time restriction on delivery (rtime) as per ASTM C94
complete, trucks with similar dispatching activities can be paired specification depends on the properties of the concrete, where it
at the terminal. In the second pattern, trucks can be driving on varies according to the special properties added to concrete
the road and discover other linkable trucks. In the third pattern, during the mixing stage. Therefore, the time constraint for a
private truck stops enable ad-hoc linking, where trucks that truck t can be specified as:

44 International Conference on Service Operations and Logistics, and Informatics (SOLI 2018)
௝ ௝ ୫ୟ୶̴ௗ௔௬
TABLE I. LIST OF SYMBOLS. ൫‫ݐ‬௛௔௨௟̴௧௜௠௘ ൅  ‫ݐ‬௥௘௧௨௥௡̴௧௜௠௘ ൯ ൑  ‫ݐ‬௧௜௠௘ (5)
Symbol Description Given a set of jobs J, trucks T, and batching plants P, our
cj Cost for a job j main objective is to cover as many jobs as possible. This is
cliter Cost per liter required to improve customer satisfaction as majority of the
ctravel Cost of travel for a job j customers are engaged in a long-term business relationship.
cwaitung Cost of waiting for a job j Further, there is a secondary objective to maximize RMC
Traffic impact factor on fuel consumption company’s overall profit while minimizing the cost by
epeak / eoff_peak
during peak/off-peak
espeed max Maximum speed allowed for a truck
allocating the most appropriate truck and batching plant to the
fj Fee for a delivery of job j job within the customer requested time frame. Dead runs, as well
jbuffer Max time between 2 consecutive unloads of j as idling of the trucks and plants should be minimized to
௛௔௨௟
݆ௗ௜௦௧௔௡௖௘ ௥௘௧௨௥௡
/ ݆ௗ௜௦௧௔௡௖௘ Distance to job site while hauling/ returning maximize the profit of the company. Therefore, the objective
jfirst unload Time to unload 1st load for j at construction site function can be formulated as follows:
jid Job ID
jlocation Job location
 ‫׊‬jid ęJ, ‫׊‬pidęP, Max (|j with assigned p|) (6)
jnum truckloads Required number of truckloads for job j
‫ ݔܽܯ‬σ ௝‫א‬۸ ൫݂௝ െ ܿ௝ ൯ (7)
jtotal distance Total distance traveled for job j
௣‫۾א‬
jvolume Required volume of concrete in m3 for job j
pid Plant ID Eq. 6 maximizes the number of jobs with an assigned plant. fj –
plocation Batch plant location cj is the profit for job j which we attempt to maximize in (7).
pload time Time to load mix to a RMC truck at plant p
prange Maximum serving range of plant p IV. PROPOSED SOLUTION
rtime Time restriction on delivery of RMC
௟௢௔ௗ ௡௢̴௟௢௔ௗ Fuel consumption (l/km) of truck t We assume that every evening, the next day’s schedule is
‫ݐ‬௙௨௘௟̴௖௢௡௦ / ‫ݐ‬௙௨௘௟̴௖௢௡௦ determined based on the already confirmed jobs and available
with/without load
௜ௗ௟௜௡௚
‫ݐ‬௙௨௘௟̴௖௢௡௦ Fuel consumption (l/minute) of t while idling plants and trucks [19]. However, there is an ambiguity upon the
job end time due to the delays at the job site and during travel,
thaul time Hauling time
௝ ௝ which depends on traffic and other environmental conditions
‫ݐ‬௛௔௨௟̴௧௜௠௘ / ‫ݐ‬௥௘௧௨௥௡̴௧௜௠௘ Hauling/return time of j-th truck
such as weather and road closures that are hard to predict.
tid Truck ID
tload time / tunload time Loading/ Unloading Time
Moreover, the route is planned to utilize the full truckload to
tmaintenance Maintenance cost factor of truck t avoid wastage and dead runs of trucks. Dynamic scheduling to
୫ୟ୶̴ௗ௔௬
‫ݐ‬௧௜௠௘ Maximum travel time per truck on a given day
overcome last-minute changes is left as future work. Proposed
tunload wait Waiting time (unloading)
solution consists of a rule checker that enforces the constraints
tvolume Maximum volume of truck t in m3 mentioned above and an optimization phase that attempts to
twash_down Wash-down time of truck t cover as many jobs as possible while maximizing the profit.

A. Rule Checker
 tid ę, pload_time + thaul_time + tunload_time İ rtime (1)
In NP-hard problems, search space reduction is essential to
The speed of a truck (espeed_max) should not exceed the speed limit achieve an acceptable solution, which is achieved through the
set by regulators (this is an environmental parameter which is rule checker. Therefore, given a set of jobs, trucks, and plants,
set by the business environment that RMC delivery operates). we developed a rule checker to first evaluates the constraints
Therefore, a plant cannot serve jobs that are too far away to given in Sec. III and then to identify a potential list of plants and
reach on time. Thus, range constraint for a plant p can be trucks for a given job. All the distances from the location of the
defined as follows: job to available plant (within the range) are taken from Google
prange = espeed_max × rtime (2) Distance API [20] to achieve more reliable and accurate
estimates. Timings were calculated using the distance taken
from Google Distance API and maximum allowable speed for
Selecting a plant for a job depends on the maximum range of the special-purpose vehicles.
plant. Therefore, job area constraint can be defined as follows:
As seen in Fig. 1, when a new job is to be assigned, all plants
௛௔௨௟
݆ௗ௜௦௧௔௡௖௘ İ prange (3) and trucks are evaluated. Rule checker runs through the
constraints from top to bottom and filters the eligible set of
If one job is allocated to a plant, another job with overlapping plants and trucks gradually. When it goes through a constraint,
job duration cannot be allocated to the same plant. Hence, it simultaneously outputs the possible set of plants and trucks for
following job duration constraint needs to be satisfied: all jobs. During the initial steps, rule checker proceeds with

݆௝௢௕̴ௗ௨௥௔௧௜௢௡

്  ݆௝௢௕̴ௗ௨௥௔௧௜௢௡ ǡ ‫݆ ് ݅׊‬ (4) constraints such as time, range, and job area. It then checks
whether the jobs are clashing to ensure job duration constraint.
Driver of a truck should take adequate rest to maintain road Jobs are randomly selected to enhance the search space to get all
safety and to reduce fatigue. Therefore, while assigning a new possible combinations and continuously checked to ensure start
job following travel time constraint need to be followed: and end time of jobs do not overlap. In the final step, rule
checker runs through the travel time constraint.
൫σ௡ିଵ ௜ ௜
௜ୀଵ ൫‫ݐ‬௛௔௨௟̴௧௜௠௘ ൅ ‫ݐ‬௥௘௧௨௥௡̴௧௜௠௘ ൯൯ ൅

International Conference on Service Operations and Logistics, and Informatics (SOLI 2018) 45
New Job j
fj = jtotal_distance × cunit_distance (11)
jtotal_distance =݆௡௨௠̴௧௥௨௖௞௟௢௔ௗ௦ × (݆݄ܽ‫݈ݑ‬ ௥௘௧௨௥௡
݀݅‫ ݁ܿ݊ܽݐݏ‬+ ݆ௗ௜௦௧௔௡௖௘ ) (12)
݄ܽ‫݈ݑ‬ ௝ೡ೚೗ೠ೘೐ 
‫׊‬pid‫ܲ א‬, ݆݀݅‫݁ܿ݊ܽݐݏ‬ ൑ ‫  ݁݃݊ܽݎ݌‬՜ Pset_1
|݆௡௨௠̴௧௥௨௖௞௟௢௔ௗ௦ | = (13)
௧ೡ೚೗ೠ೘೐

Initially, we consider that a job is fully served by a single


݅ ݆
‫׊‬jid‫ܬ א‬,݆݆‫ܾ݋‬ ̴݀‫ ݊݋݅ݐܽݎݑ̴݀ ܾ݋݆݆  ് ݊݋݅ݐܽݎݑ‬ǡ ‫ ݆ ് ݅׊‬՜ Jset_1 plant and all the trucks will return to the respective plant after
unloading. Later we allow trucks to freely move across plans as
per the job requirements. We also support the option of either
‫׊‬tid‫ ͳ̴ ݐ݁ݏܲ  א‬, advancing or delaying a job by a certain time window to reduce
σ݊െͳ ݅
݅ൌͳ ሺ‫݁݉݅ݐ̴ ݈ݑ݄ܽݐ‬
݅
൅  ‫݊ݎݑݐ݁ݎݐ‬ ̴‫ ݁݉݅ݐ‬ሻ
݆ ݆ ƒš༌
൅  ൫‫ ݁݉݅ݐ̴ ݈ݑ݄ܽݐ‬൅  ‫ ݁݉݅ݐ̴ ݊ݎݑݐ݁ݎݐ‬൯ ൑  ‫݁݉݅ݐݐ‬
̴݀ܽ‫ݕ‬
՜ Tset_1 conflicts between the overlapping job durations. In such cases,
only one job can be covered even if the two jobs overlap by only
a few tens of minutes. Rather than completely rejecting one of
‫׊‬pid‫ ͳ̴ ݐ݁ݏܲ  א‬, tid‫ ͳ̴ ݐ݁ݏܶ  א‬, jid‫ ͳ̴ ݐ݁ݏܬ  א‬, Max (݂݆ െ  ‫) ݆ܥ‬ the jobs, it may be possible to contact the client and renegotiate
the delivery time. This is in fact practiced in the industry and
Fig. 1. Rule checker. advancing or delaying the jfirst_unload by an hour is not uncommon.
Therefore, we checked the possibility of adjusting jfirst_unload by a
given time window to check whether the job coverage and profit
B. Job Scheduler could further increase.
Once a candidate list of plants and trucks are identified for a SA is a probabilistic, single-solution-based search method
job , we use the Simulated Annealing (SA) algorithm to schedule inspired by annealing process where a solid is slowly cooled
a plant and a truck for a job while satisfying the objective until its structure reaches a minimum energy configuration [24].
function in Eq. 6 and 7. Moreover, as the solution needs to be SA has its own technique to avoid converging to local optimums
built to support many constraints and the data may be chaotic which is a commonly known disadvantage of other optimization
and noisy, SA is a better fit for RMC scheduling because it is algorithms. SA avoids local optimums by accepting worst
known to be a robust technique that can deal with such solutions at higher temperatures by setting its acceptance
conditions [21]. SA algorithm was chosen for optimization as it probability to a higher value. Initial temperature, a rule for
is used in global optimization problems [22], provides a accepting a worse solution (i.e., lower profit solution), the
reasonably optimized solution within a reasonable time [23], and cooling rate which is the rate of the temperature decrement, and
it can be optimized according to the context and application [21]. a stop criterion are the key parameters of the algorithm [25]. This
Furthermore, SA is quite versatile, as it does not rely on any avoids the local minima as our search space is large. As our
restrictive properties of the model. primary objective is to maximize the job coverage and then to
The identified job, plant, and truck combinations (jid, pid, tid) optimize the cost matrix to maximize the overall profit, we
are then run through simulated annealing algorithm to find an prioritize to cover all possible jobs while maximizing the overall
optimal schedule while maximizing the job coverage and overall profit of the RMC company. As SA algorithm target global
profit. SA algorithm picks a job randomly and then allocates a optimization, we even allow jobs with negative profit to gain
plant based on its availability. Because our goal is to maximize maximum job coverage. However, in practice, it was noted that
both job coverage and profit, SA will check different plant no jobs with negative profit were scheduled by the SA-based
combinations for a single job as the availability of that plant will scheduler.
change for other jobs once it is assigned to a job which V. PERFORMANCE ANALYSIS
ultimately affects the overall profit and job coverage. For
example, once a job is assigned, the plant is not eligible for We used a dataset with 158 jobs with 735 truckloads during
another job that has an overlapping job duration. Moreover, this the week, against a set of 5 plants and 47 trucks. This synthetic
will depend on the job picking sequence as it is randomized dataset was created based on properties extracted from a dataset
when inputting to the SA algorithm. Therefore, different job-to- of a real RMC delivery company in Sri Lanka. This includes the
plant combinations are compared again and again through rule distribution of job locations, delivery times (some jobs span
checker, while assigning new jobs to plants using the SA across the week) and other constraints. Fig. 2 illustrates the job
algorithm. Cost for a job cj is calculated based on the job and plant locations of our dataset. We considered 6:00am to
distance, estimated total job time, fuel consumption, and 6:00pm as peak time (epeak) and rest as off-peak time (eoff_peak).
environmental factors experienced by the job as follows: Truck maintenance cost (tmaintenance) is considered while
calculating the cost of the job and we used a constant value
cj = (ctravel + cwaiting) × cliter (8) tmaintenance = 1.1. After unloading the concrete, RMC truck needs
௛௔௨௟ ௟௢௔ௗ to go through a quick wash to remove residual inside the drum
ctravel =(((݆ௗ௜௦௧௔௡௖௘ / ‫ݐ‬௙௨௘௟̴௖௢௡௦ ) × epeak / eoff_peak ) +
of the truck. This is also modeled as a constant where twash_down
௥௘௧௨௥௡ ௡௢̴௟௢௔ௗ
(( ݆ௗ௜௦௧௔௡௖௘ / ‫ݐ‬௙௨௘௟̴௖௢௡௦ ) × epeak / eoff_peak)) × tmaintenance (9) = 8 min.
௨௡௟௢௔ௗ ௜ௗ௟௜௡௚
cwaiting = ((‫ݐ‬௪௔௜௧̴௧௜௠௘ + twash_down) / ‫ݐ‬௙௨௘௟̴௖௢௡௦ ) × tmaintenance (10) The alteration process of the SA algorithm depends on the
cooling strategy such as linear or exponential, cooling rate, and
Fee for a job fj is calculated based on the estimated total job
the energy of the system [26]. Therefore, different combinations
distance and is calculated as follows:

46 International Conference on Service Operations and Logistics, and Informatics (SOLI 2018)
only when the time window is r 60 min. Whereas on Sunday
neither the job coverage nor profit improve (except for r 60 min
window) with increasing time windows. Moreover, Sunday
result also reveals that similar job coverage could produce
different profits confirming that the profit can be maximized
while creating a schedule with different job combinations.
Profit can also be maximized with a lower job coverage, e.g.,
on Saturday. This situation is not ideal for an RMC company in
the long-run as a few lost jobs today, even with better profit per
job, could lead to long-term customer churn. Therefore, in cases
where adjusting jfirst_unload is useful, scheduling manager may
negotiate with the client to adjust the time of first unloading of
the relevant job(s).
However, sometimes by trying to accept one job by
changing jfirst_unload of the same job or another job could lead to
a sub-optimal solution, as more profitable jobs could be missed
(a) (b)
in the future allocations as the plants and trucks may already be
Fig. 2. Distribution of (a) Plant and (b) Job locations. assigned within the SA algorithm. Consequently, this could
reduce the overall job coverage and/or profit. For example, on
were tested on datasets with an initial temperature of 104, Thursday r 45 min time window reduces both the coverage and
cooling rate of 0.003, and the algorithm will run until profit. This is an artifact of our design as it is willing to accept
temperature > 1. We ran the simulation three times with same sub-optimal move with the hope for better coverage.
dataset, and same configurations while varying the random seed.
TABLE II. MANUAL VS PROPOSED JOB SCHEDULING PERFORMANCE.
In the RMC business, time of unloading is crucial once the
concreting process starts. Job buffer time allows trucks to arrive Manual Job Proposed Job Scheduler
with a slight delay, but it is very limited as the concrete gets cold Scheduling Fized Plant Free to Movc
Day of the
joints if the next truck is delayed more than the allowed buffer Week Profit Job Profit Job Profit Job
time. However, time of first unloading on most jobs are not strict
(x10) Coverage (x10) Coverage (x10) Coverage
and can be advanced or delayed up to an hour or so, as far as the
RMC company negotiates with the client. This enables Monday 721 82% 791 86% 812 90%
flexibility in optimally assigning jobs to get the maximum job Tuesday 729 75% 754 90% 789 94%
coverage while maximizing profit. Wednesday 736 81% 736 90% 785 92%
Thursday 567 83% 685 100% 710 100%
We compared the results with manual job scheduling. We Friday 881 78% 885 91% 903 94%
considered a case of a human expert first sorting the jobs for Saturday 803 73% 924 88% 965 91%
each day according to the ascending order of jfirst_unload. Then a Sunday 910 75% 1034 93% 1138 95%
job is allocated to the plant that gives the maximum profit for TABLE III. PROPOSED JOB ALLOCATION RESULTS WITH A VARYING TIME
the job. We assume each day’s schedule is planned on the WINDOW. (FIXED PLANT SCENARIO)
previous evening. Time Window (Min) 0 ±15 ±30 ±45 ±60
Monday
Table II shows the results of the proposed solution and
Job Coverage 86% 91% 86% 91% 95%
manual job allocation by a human expert. On all days job
coverage of the proposed automated scheduling solution is Profit (x10) 791 830 808 814 864
either the same or better, while profit is always higher. For Tuesday
example, job coverage on Thursday was increased from 83% to Job Coverage 90% 100% 95% 100% 100%
100% with a 21% increase in profit. In summary, the proposed Profit (x10) 754 721 744 717 865
SA-based solution increased the average job coverage and profit Wednesday
of the company for each day of the considered week by 13% and Job Coverage 90% 100% 90% 90% 90%
9%, respectively for the fixed plant scenario. When the need of Profit (x10) 736 750 724 765 733
allocating trucks only from the home plant is relaxed both job Thursday
coverage and profit increased by 16% and 14%, respectively. Job Coverage 100% 94% 100% 89% 94%
Profit (x10) 685 642 687 633 637
In Table III we consider the case of allowing jfirst_unload to be Friday
changed by a pre-defined time window in the fixed-plant Job Coverage 91% 87% 87% 96% 91%
scenario. We considered time windows of 15, 30, 45, and 60 Profit (x10) 885 852 873 852 858
minutes, where any job can be either advanced or delayed within Saturday
the time window, as far as it leads to better job coverage. Table Job Coverage 88% 88% 85% 92% 88%
III shows that the introduction of a time window could further Profit (x10) 924 889 891 897 978
improve the job coverage and profit, in many cases. For Sunday
example, on Tuesday having any sort of flexibility in changing Job Coverage 93% 93% 93% 86% 93%
jfirst_unload enable higher job coverage. However, profit increases Profit (x10) 1034 990 1027 970 1060

International Conference on Service Operations and Logistics, and Informatics (SOLI 2018) 47
Nevertheless, it is common for SA-based solutions to run Environment,” University of Vienna, 2010.
multiple times and then pick the most preferred solution. [6] S. Biruk, “Dispatching concrete trucks using simulation method,”
Similarly, our solution can be executed multiple times per each Bud. i Archit., vol. 14, no. 2, pp. 5–10, 2015.
time window, and the solution that maximizes both the coverage [7] Autthapon Sirisuwan; Ladda Tanwanichku, “Optimization of
Scheduling and Dispatching RMC Truck using Genetic Algorithms
and profit can be chosen. For example, if we choose the best for One plant Multi sites Genetic Algorithms for One plant – Multi
cases for each day and time window average job coverage and sites,” in The 6th Regional Symposium on Infrastructure
profit could be further increased to 21% and 13%, respectively Development, 2014, no. March, pp. 1–7.
compared to the manual scheduling. The execution time of SA [8] A. Hill and J. W. Böse, “A decision support system for improved
algorithm increases as the number of jobs increase due to the resource planning and truck routing at logistic nodes,” Inf. Technol.
increased search space. In our R-based implementation, Manag., vol. 18, no. 3, pp. 241–251, 2017.
execution time ranges between 30 to 50 min when a r time [9] R. Bishop, D. Bevly, J. Switkes, and L. Park, “Results of Initial Test
and Evaluation of a Driver - Assistive Truck Platooning Prototype*,”
window is introduced, as it significantly changes the search 2014 IEEE Intell. Veh. Symp., no. Iv, p. 100, 2014.
space. However, this is unlikely to be a practical hindrance, as
[10] S. Verwer, M. De Weerdt, and C. Witteveen, “Learning driving
the execution of each parameter combination can be behavior by timed syntactic pattern recognition,” IJCAI Int. Jt. Conf.
parallelized, and algorithm implementation can be optimized. Artif. Intell., pp. 1529–1534, 2011.
For example, our past experiences show an SA implementation [11] Y. Xiao and A. Konak, “A simulating annealing algorithm to solve
based on more flexible languages such as Java and Python and the green vehicle routing & scheduling problem with hierarchical
could execute under 5 min with similar workloads [27]. objectives and weighted tardiness,” Appl. Soft Comput. J., vol. 34, pp.
372–388, 2015.
VI. SUMMARY AND FUTURE WORK [12] M. Lu and H.-C. Lam, “Optimized Concrete Delivery Scheduling
Using Combined Simulation and Genetic Algorithms,” in
We proposed a rule engine and Simulated Annealing based Proceedings of the 2005 Winter Simulation Conference, 2005, no. 1,
automated solution to schedule RMC trucks. We considered an pp. 202–208.
environment where jobs are scheduled in the previous evening [13] C. W. Feng, T. M. Cheng, and H. T. Wu, “Optimizing the schedule
based on a set of job, plant, truck, and environmental constraints. of dispatching RMC trucks through genetic algorithms,” Autom.
Performance analysis based on a workload derived from a real Constr., vol. 13, no. 3, pp. 327–340, 2004.
RMC delivery company shows that the proposed solution could [14] M. Saeednia and M. Menendez, “A consensus-based algorithm for
truck platooning,” IEEE Trans. Intell. Transp. Syst., vol. 18, no. 2,
assign jobs to plants and trucks while maximizing both the job pp. 404–415, 2017.
coverage and profit. Moreover, by allowing the first unload time [15] G. G. A.A. Bertoss, P.Carraresi, “On some matching problems arising
to of a few jobs be either advanced or delayed by a few 10s of in vehicle scheduling models,” Networks. Vol. 17, vol. 17, no. 3, pp.
minutes, the proposed solution could further improve job 271–281, 1987.
coverage and profit. We further demonstrated that by allowing [16] A. Wren, S. Fores, A. Kwan, R. Kwan, M. Parker, and L. Proll, “A
trucks to feely move across plants we could further improve both flexible system for scheduling drivers,” J. Sched., vol. 6, no. 5, pp.
objectives. We plan to extend the solution to tolerate unexpected 437–455, 2003.
delays in the process, capture last minute delivery requests [17] S. Fores, L. Proll, and A. Wren, “An improved ILP system for driver
arriving within the day, as well as to tolerate unexpected events scheduling,” Comput. Transit Sched., no. 1988, pp. 43–61, 1999.
such as accidents and traffic. Moreover, introducing a priority to [18] M. Maghrebi and C. Sammut, “Using Column Generation for Solving
Large Scale Concrete Dispatching Problems,” Sydney, 2013.
long-term customers to ensure that their jobs are covered with
[19] B. Laurent and J. K. Hao, “Simultaneous vehicle and driver
high certainty are essential for long-term sustainability. scheduling: A case study in a limousine rental company,” Comput.
Ind. Eng., vol. 53, no. 3, pp. 542–558, 2007.
ACKNOWLEDGEMENT
[20] “Google Maps Distance Matrix API | Google Developers.” [Online].
The authors are grateful for Nimbus Venture (Pvt) Ltd. for Available:https://developers.google.com/maps/documentation/dista
providing the dataset for the analysis. This research is supported nce-matrix/. [Accessed: 10-Feb-2018].
in part by the Senate Research Grant of the University of [21] F. Busetti, “Simulated annealing overview,” 2003.
Moratuwa under award number SRC/LT/2016/14. [22] C. Tsallis and D. A. Stariolo, “Generalized Simulated Annealing,” in
Computational Optimization in Engineerings, 1995.
REFERENCES [23] A. P. Adewole, “A Comparative Study of Simulated Annealing and
Genetic Algorithm for Solving the Travelling Salesman Problem,”
[1] M. Lu and H. C. Lam, “Simulation-optimization integrated approach
Int. J. Appl. Inf. Syst., vol. 4, no. 4, pp. 6–12, 2012.
to planning ready mixed concrete production and delivery: Validation
and applications,” Proc. - Winter Simul. Conf., no. 1, pp. 2593–2604, [24] E. H. L. Aarts, J. H. M. Korst, and P. J. M. Van Laarhoven,
2009. “Simulated Annealing,” in Local Search in Combinatorial
Optimization, E. Aarts and J. K. Lenstra, Eds. John Wiley & Sons
[2] Z. Liu, Y. Zhang, and M. Li, “Integrated scheduling of ready-mixed
Ltd., 1997, pp. 91–120.
concrete production and delivery,” Autom. Constr., vol. 48, pp. 31–
43, 2014. [25] S. Anily and A. Federgruen, “Simulated Annealing Methods With
General Acceptance Probabilities.,” J. Appl. Probab., vol. 24, no. 3,
[3] S. Wickramanayake and H. M. N. Dilum Bandara, “Fuel
pp. 657–667, 1987.
consumption prediction of fleet vehicles using Machine Learning: A
comparative study,” 2016 Moratuwa Eng. Res. Conf., pp. 90–95, [26] Y. Nourani and B. Andresen, “A comparison of simulated annealing
2016. cooling strategies,” J. Phys. A. Math. Gen., vol. 31, no. 41, pp. 8373–
8385, 1998.
[4] N. Mayteekrieangkrai and W. Wongthatsanekorn, “Optimized ready
mixed concrete truck scheduling for uncertain factors using bee [27] S. R. Muramudalige and H. M. N. D. Bandara, “Automated Driver
algorithm,” Songklanakarin J. Sci. Technol., vol. 37, no. 2, pp. 221– Scheduling for Vehicle Delivery,” in 3rd International Conference
230, 2015. on Recent Trends in Computer Science and Electronics, 2018, no. 3,
pp. 1–10.
[5] S. Bergthaler, “Delivery of Ready-Mixed Concrete in a Dynamic

48 International Conference on Service Operations and Logistics, and Informatics (SOLI 2018)

Das könnte Ihnen auch gefallen