Reactive Scheduling of a Distributed Network for the ... - dee @ poliba

4 downloads 283 Views 909KB Size Report
the supplied products, effective solutions must not only optimize the objective function ... The approach does not provide guarantees about the closeness to ..... problem variables. 3) A stochastic search engine based on genetic algorithms.
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

407

Reactive Scheduling of a Distributed Network for the Supply of Perishable Products David Naso, Michele Surico, and Biagio Turchiano, Senior Member, IEEE

Abstract—This paper considers the problem of coordinating the production and distribution activities of a network of independent supply centers. In particular, we focus on the supply of rapidly perishable goods (ready-mixed concrete) that must be delivered to customers in strict time windows. The problem presents three main challenges. First, it includes several interrelated scheduling and routing problems, each affected by nearly prohibitive combinatorial complexity. Second, due to the perishable nature of the supplied products, effective solutions must not only optimize the objective function related to resource utilization and cost minimization, but also tolerate the small and frequent stochastic perturbations (transport delays) of the operating environment. Third, if major perturbations occur, the decision strategy must be able to respond in real time with effective rescheduling interventions restoring the indispensable synchronization of activities in progress, and avoiding extremely undesirable circumstances related to product decay. After providing a detailed mathematical model of the considered problem, this paper proposes a hybrid metaheuristic approach integrating a genetic algorithm with a number of problem-specific constructive heuristics. The effectiveness of the approach is evaluated against other scheduling heuristics on an industrial case study. Note to Practitioners—This research work focuses on a challenging rescheduling problem related to the production and distribution of rapidly perishable goods. The approach presented in the paper aims at achieving a compromise between four fundamental issues (quality of solution, search time, robustness to perturbations, and transparency of the decision algorithm) that cannot be easily obtained with general-purpose solvers proposed to practitioners. The presented algorithm integrates three tools (a mathematical programming model, a genetic algorithm, and a set of constructive heuristics) in a global metaheuristic rescheduling algorithm. The approach does not provide guarantees about the closeness to optimality of the solutions, but gives interesting results on numerical experiments based on two large-scale industrial case studies. Although the presented rescheduling method is tailored for a specific just-in-time supply problem, it may be profitably extended to a number of similar production and distribution problems by redefining the model constraints and objectives, and adapting the reconstructive heuristics accordingly.

NOMENCLATURE A. Indices and Constants

HC

Index Terms—Activity coordination, genetic algorithms (GAs), rescheduling, supply networks. Manuscript received December 19, 2005. This paper was recommended for publication by Associate Editor C. Teo and Editor N. Viswanadham upon evaluation of the reviewers’ comments. D. Naso and B. Turchiano are with the Dipartimento di Elettrotecnica ed Elettronica, Politecnico di Bari, Bari 70125, Italy (e-mail: [email protected]; [email protected]). M. Surico was with the Dipartimento di Elettrotecnica ed Elettronica, Politecnico di Bari, Bari 70125, Italy. He is now with Fidia S.p.A., Bari 70026, Italy (e-mail [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TASE.2006.884672

OC

1545-5955/$25.00 © 2007 IEEE

(Loading) dock-related index. Job-related indices. A job is a fraction of a request deliverable by a single truck. indicates the th fraction of Notation request . Truck-related index. Task-related index. A task of a truck is the cycle of pickup and delivery of a job to its indicates the th destination. Notation task of truck . Production center-related index. Customer request-related indices. Base location of truck (one of the PCs). Loading capacity of a truck. Total number of loading docks in the network. Number of loading docks at the depot . Coefficient indicating the volume (per unit) of truck’s tank that must be left empty for the type of product requested by th customer. Fixed setup time at dock . Fixed unloading setup time at customer . Customer-specified fixed waiting time at the destination site. Daily cost of a hired truck. Number of trucks in the internal fleet of the network. Lifespan of product type requested by customer . Loading rate at dock . Maximum number of tasks for a truck in the working day. Customer-specified maximum size of a delivery allowed to a single truck. Maximum number of jobs composing a request. Number of production centers (PCs) in the network. Size of th job of request . Quantity of product requested by the th customer. Cost increment per unit of outsourced product. Number of requests received for the considered time horizon.

408

RRT

TC

WC XC

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

Rescheduling refinement time—the time necessary to refine and make executable the reschedule of future activities. Cost per kilometer of travel of a truck (independent of truck type, or of the amount of truck load). Unloading rate of customer . Nominal average speed of a truck . Cost per minute of truck waiting time. Cost per minute of overtime work of drivers. Tolerable delay for a single kilometer of truck travel. Length of the route between loading dock and customer . Length of the route between customer and loading dock . Length of the route between two docks and . Customer-specified earliest delivery time for request . Customer-specified latest delivery time for request . Start time of the working shift for truck . End time of the working shift for truck .

B. Variables Number of further trucks hired from external companies. Waiting time of truck before loading the job of its th task. Time of departure of the truck from its base location. Waiting time of truck before unloading the job of its th task. if the th job of request is assigned =1, otherwise to truck as the th task, =0. if the th job of request is produced , otherwise . at the dock if the production of job is ; otherwise, . outsourced, C. Additional Variables Traveling time between the destination of and the source of job , with job . PC where the truck must pick up its first load ). (it may differ from Total number of trucks. Last customer served by truck before its . return to its Loading time span of job . User-defined slack time of truck before loading the job of its th task. Start of the th task for truck .

Start of loading of the th task for truck . End loading and start of outward trip. End outward trip and start of waiting for the unload. End of waiting and start unloading. End unloading and start trip to the next source. End trip toward the source of the next task. User-defined slack time of truck before unloading the job of its th task. Unloading time span of job . Speed of the truck assigned to job . Source to destination traveling time for job . Set of all jobs produced at the dock . I. INTRODUCTION N RECENT YEARS, the production industry has experienced a fast evolution toward the decentralization and distribution of many productive activities. On the one hand, the availability of powerful and inexpensive computer and mobile communication technologies (e.g., Internet, global positioning system) has made it possible to obtain real-time detailed information about distributed activities (e.g., customer orders, production schedules, idle times of resources, and location and status of delivering vehicles). On the other hand, the ever-increasing accessibility of updated information has generated a variety of large-scale automation problems related to the effective supervision and synchronization of logistic and manufacturing activities in inherently turbulent productive environments [31], [32]. In particular, the organization of the activities of a distributed supply network (SN) involves a number of strongly interrelated combinatorial problems on both operational and strategic levels [14]. In some contexts, the activities at the various nodes are tightly coupled by time constraints and/or resource sharing, and it may happen that relatively minor perturbations (e.g., a short delay of one activity) determine unpredictable “avalanche effects” on the subsequent activities of the entire SN.

I

A. Supply of Perishable Goods with Delivery Time Windows The concatenated effects derived from an apparently minor perturbation are the fundamental aspect of the problem addressed in this paper. We consider a network of several independent production centers (PCs), which produce rapidly perishable goods. Some PCs own a fleet of vehicles to deliver the final product to customers’ locations, while other ones explicitly rely on the vehicles of other centers. PCs are motivated to form a strategic consortium in order to: 1) share the vehicle fleet and 2) gain the ability to jointly satisfy market requests whose characteristics (in terms of size, delivery time, or location of the delivery) make no individual PC able to supply entirely. Here, we focus on the production of ready-mixed concrete (RMC) for construction engineering, but note that the RMC supply has many fundamental similarities with other production or distribution problems, such as agro-food manufacturing [5] or hazardous materials distribution [33]), to which the ideas presented in this paper could be profitably extended.

NASO et al.: REACTIVE SCHEDULING OF A DISTRIBUTED NETWORK

Besides the general combinatorial complexity of SN problems, our case presents a number of further difficulties. In particular, since the supplied products are quickly perishable (most types of RMC have a lifespan of about 2 h), they must be delivered to construction sites within strict time windows specified by customers according to their activity plans. So, the RMC must be produced just in time, a few hours before it is irreversibly placed on the construction site. Generally, the customers place their orders in advance (at least one day earlier than the requested delivery), but the SN may occasionally receive an urgent order for the same day. The SN directly delivers the product with its fleet of trucks, so truck routing must also be effectively addressed. Moreover, since most orders are considerably larger than truck capacity, they must be split in a sequence of deliveries which must be properly synchronized. Developing an effective decision and optimization tool is therefore a fundamental step toward the truly integrated automation of this type of SN. The problem calls for innovative methods incorporating the following desirable features. Optimization capability. Operating the supply network for rapidly perishable goods can be basically viewed as a set of interrelated large-scale combinatorial problems, in which the objectives can be formulated in terms of 1) production and transportation cost minimization, 2) maximization of the amount of supplied product, 3) timeliness of the delivery. Clearly, under realistic assumptions (limited fleet of vehicles, strict time constraints on product lifespan, and delivery windows), the problem is extremely complex, regardless of computational resources dedicated to it. Robustness of a solution. While RMC production activities are fully automated and have known-in-advance deterministic times, customer requests and vehicle travel times have an inherently stochastic nature. Thus, the effectiveness of a solution cannot be judged only from the viewpoint of distance from the theoretical optimum. In such a context, a valuable decision tool is required to find robust solutions, in which the frequent, relatively weak dynamic perturbations can be absorbed without practical consequences on the planned activities. This aspect is also referred to as nervousness (a schedule is said to be nervous if it experiences frequent changes) in recent literature on rescheduling problems [9]. Solution search time. The real-time status of all the resources of the SN (loading docks, trucks, etc.) is constantly monitored. Stochastic perturbations that make the current plan unfeasible or excessively precarious can be promptly detected. To guarantee the feasibility and timeliness of the future deliveries in these cases, a certain number of activities, or even the entire residual production, must be rescheduled while the distribution activity is in progress. Therefore, the time necessary to perform the reoptimization problem becomes another crucial aspect. Algorithm flexibility/transparency. Often, customers or PCs have exceptional requirements that must be handled with specific strategies. For instance, some customers may require that the entire order is produced at a certain PC. Others may prefer to pick up their requests with their own vehicles. PC managers may abruptly decide to change the service priorities for strategic reasons. Thus, an ideal optimization tool should also allow company managers to have a clear, interpretable view of the deci-

409

sion mechanisms. Therefore, it is also fundamental to develop a transparent algorithm, in which decision rules and priorities can be dynamically changed, if necessary, to address exceptional circumstances without modifying the mathematical model used by the optimization engine. B. Motivation The objective of our research is to develop an approach that integrates several decision tools in a metaheuristic algorithm capable of meeting the aforementioned needs, and overcome the partial limitations of methods proposed in related literature, or currently used in industrial practice. In fact, on the one hand, general-purpose mathematical programming solvers seem not to be totally adequate for the considered context, with regards to computational search times, robustness, and transparency of decision criteria. In our case study, the key issue of timely delivery, and the heavy economical and environmental consequences that may derive from delayed activities, call for the development of a dynamic approach, in which the sufficient levels of safety and reactivity imposed by the perishable nature of the produced goods are guaranteed. On the other hand, to achieve such stringent requirements, industrial companies tend either to rely on skilled operators that work out scheduling decisions basing on their experience [2], [16], or to plan production operations on short-time horizons, sacrificing the potential advantages of longer-term optimization to achieve a reduced risk of delayed delivery [29]. C. Contribution Our dynamic scheduling approach combines the following complementary tools. 1) A detailed mathematical programming model of the largescale logistic problem that unambiguously specifies the decision variables, the technical requirements, and the constraints that must be fulfilled at each single stage of the supply. 2) A set of fast constructive heuristics that use the mathematical model to find a fully feasible solution for the entire SN starting from a given assignment of a predefined subset of problem variables. 3) A stochastic search engine based on genetic algorithms (GAs) and designed to optimize the subset of problem variables used by the constructive heuristics to build feasible solutions. The GA performs the optimization of the predefined objective function by continuously interacting with the constructive heuristics until the stopping criterion is met. The integration of these tools forms a global metaheuristic approach that achieves an effective tradeoff between diversification (the GA exploring various regions in the solution space) and intensification mechanisms (local heuristics concentrating the search into a specific region of the search space). An earlier report on a preliminary version of the metaheuristic tool is presented in [19]. To address the combinatorial complexity, our earlier work was based on a number of simplifying hypotheses, which include the assumptions that 1) each PC has only one dock, 2) each truck has the same average speed, 3) all of the slack times have the same size, 4) the rescheduling

410

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

in case of strong perturbations is performed manually by plant managers. This paper fully overcomes these limitations, and extends our preliminary work to address the most general and realistic production and distribution scenarios. Significant advances have been achieved both at the level of each single tool, and in the way the tools are combined to form the architecture of the metaheuristic solver. More specifically, 1) the mathematical model is entirely redefined, incorporating new decision variables and redefining constraints and cost functions in order to take into account more general (and challenging) operating scenarios including multidock PCs, jobs and time buffers of variable sizes, and trucks with variable average speeds; 2) the constructive heuristics are redesigned in order to exploit the availability (and address the difficulties) of multiple docks at each PC, and improved so as to distribute time buffers for delay tolerance in a more effective way; and 3) the overall architecture of the scheduling algorithm is transformed in a global real-time rescheduling algorithm, incorporating an extensive set of event-driven reconstructive procedures that make the automated scheduling system capable of handling in real-time arbitrarily severe perturbations of the scheduled activities. The improvements, with respect to earlier literature, are further assessed by extensive numerical investigations on two challenging case studies with different characteristics. The remainder of this paper is organized as follows. Section III overviews the related literature. Section IV describes the mathematical model of the SN. Section V describes the main tools used to construct the main preschedule, while Section VI illustrates the strategies for rescheduling. Finally, Section VII reports the experimental results obtained with the proposed approach on a wide set of instances derived from industrial data, and Section VIII provides conclusive remarks. II. RELATED LITERATURE A comprehensive overview of the RMC supply problem can be found in [29], where just-in-time requirements and alternative supply chain organizations for PCs and customers are discussed. The RMC supply process can be essentially viewed as a joint production–distribution problem. The following subsections classify the literature basing on the considered type of subproblem. For brevity, we limit our attention to recent contributions that are particularly related to our approach. A. Order Assignment and Production Scheduling Reference [3] considers the problem of scheduling a single RMC batch plant so to satisfy delivery time constraints. The work assumes that an unlimited fleet is available, and that each load has to be delivered at a certain desired time, while delays are accounted for with a linear earliness/tardiness penalty. This paper compares an exact method only suitable for very simple cases with a GA that can handle instances of realistic size (which are, however, noticeably smaller than those examined here). The RMC job loading stage can be modeled as a scheduling problem on parallel machines with earliness/lateness objectives, which is proven to be NP hard (see, for example, [21, p. 86]). A considerable amount of research is focused on

metaheuristic approaches combining higher-level search algorithms (typically GAs or Tabu Search), with problem-specific heuristic rules. Reference [12] devises a scheduling algorithm composed of a timing algorithm that computes the optimal start time of each job, and a sequencing strategy to determine the processing order based on a GA. A similar approach is described in [22], where two variants of a GA are proposed and evaluated against a neighborhood exchange search algorithm. The GA outperforms such a search algorithm in larger-sized, more difficult problems, providing improvements that increase with the problem size. Another comparative analysis with analogous conclusions is provided in [18]. B. Distribution of RMC The delivery stage of RMC can be viewed as a vehicle routing problem (VRP), a classical and thoroughly investigated problem in the context of operation research. In particular, our case is referred to as a multidepot multivehicle routing problem with time windows (VRPTW for brevity). Not only is VRPTW proven to be NP hard, but even finding a feasible solution in the case of a fleet of fixed size can be a NP-complete problem [24]. Several heuristic approaches providing satisfactory solutions for various VRPTW problems in acceptable times have been recently surveyed [10], [15], [30], and significant results have been achieved also using GAs [26], [27] and other stochastic approaches [6]. Most literature considers an unlimited number of vehicles, although recent progresses on the case of a limited fleet have been reported (see [11] and references therein). Routing problems in the specific context of RMC supply are analyzed in [16], which considers both the carriers for the delivery of the concrete to customers’ sites, and the pumps necessary to unload the cement from the trucks. The paper proposes a decision-support system to interactively refine initial solutions provided by experts with the aid of heuristic tools. Reference [13] considers a container transportation problem that has some similarities with the RMC delivery. As in our case, each carrier starts from a depot, delivers the unit load (container), and then reaches another depot for a new task. The objective is to minimize the sum of the cost of delivering the containers by company-owned trucks, and the cost of outsourcing the requests that cannot be satisfied by the company. The authors propose a heuristic approach based on tabu search, which is able to determine solutions that are significantly better than those provided by the existing rules adopted by the company. Studies on dynamic vehicle routing with variable travel times are also emerging (an updated survey is in [7]) Reference [28] proposes an approach using both forecasted data obtained by simulation, and real-time data collected during the working day. The routing decisions performed by a GA and linear earliness/ tardiness penalties with respect to designated pickup/delivery times are used to account for delays. C. Integrated Approaches The analysis of the interaction between the multiple stages of an SN is a key issue in contemporary research on distributed manufacturing. A detailed discussion of a two-stage (production and distribution) case is carried out in [1]. It is shown that even the case of one production center and one vehicle with

NASO et al.: REACTIVE SCHEDULING OF A DISTRIBUTED NETWORK

411

makespan minimization is an NP hard problem, and a number of heuristics with guaranteed worst-case performance are proposed for simple cases. Reference [2] considers the RMC supply from a single production center equipped with a fleet of vehicles with identical capacity. Truck loading and unloading times are assumed to be equal for all of the jobs, so that the scheduling of production is reduced to a permutation problem, and solved with a GA in which the fitness of each solution is evaluated by discrete-event simulation of the vehicle fleet. It must be remarked that not only is the assumption of identical production and loading/unloading times for each order unacceptable for our SN, but also that the largest instance considered in [2] is about one order of magnitude smaller than the cases considered in our experiments. Our previous work [19], already referred to in the introduction, is another recent example of a two-stage scheduling/routing approach. More generally, there have been considerable efforts in developing extremely effective and innovative methods to cope with the difficulties of coordinating contracting, production (and/or inventory), and distribution activities. Recent works include adaptive critic learning [23], Contract Net and Lagrangian multipliers [14] and statistical tolerancing approaches [4], to only mention a few. These methods have been proven to be extremely effective on specific case studies of considerable size and complexity. However, the extension or adaptation of these methods to the problem considered here is not immediate, especially considering that guarantees of strict timeliness, short computation times, and transparency are all indispensable features that cannot be set aside. III. MATHEMATICAL MODEL distributed suppliers or PCs. We consider a network of autonomous loading Each PC is equipped with a number of docks, where the RMC is loaded on the trucks for its delivery. Each dock can service only one truck at a time, but the docks of a PC work in parallel. Thus, we define the total number of loading docks (1) In our earlier work [19], geographical information, such as the distance between two docks, was not considered in the mathematical model and in the constructive heuristics. On the contrary, this information plays a crucial role in the new version of the scheduling metaheuristics presented here, as docks located in the same PC are treated differently by both scheduling and rescheduling heuristics. However, to keep the mathematical notation as simple as possible, we will not explicitly specify the relation between a dock and its PC in the variables of the model. In other words, the notation will treat the network of multidock PCs as a network of single-dock autonomous PCs, although this fictitious simplification does not apply to the actual mathematical programming formulation. PCs usually store large quantities of raw materials for RMC production in large containers, and the event of a shortage of RMC

components is generally very rare. The production of RMC is performed with fully automated equipment, which allows components to be mixed directly at the docks while the product is being loaded on the truck. The simultaneous mixing–loading can start as soon as the truck reaches the loading dock. Loading is a non-pre-emptive operation encompassing a (dock-dependent) fixed setup time and a loading time interval that depends on the loading rate of the dock and on the size of the load. The latter is, in turn, limited by truck capacity (assumed to be identical for all of the trucks of the fleet). Frequently, the requested quantities exceed the capacity of a single truck, and must be split in sequences of subdeliveries (hereinafter jobs) served by multiple trucks. Since the raw materials may be slightly different for each PC to ensure product homogeneity, for some types of RMCs, it is preferable (or even explicitly requested by customers) that all of the jobs of a demand are produced at the docks of the same PC. Moreover, some types of RMCs require that a certain fraction of truck capacity is left empty, causing a further limitation on the job size. Trucks are parked in specific base locations at the PCs from which they start in the morning, and to which they must return in the evening. A vehicle can be used for a predefined day shift, so that delayed returns or extra-time jobs must be paid for additionally. Each truck can deliver only one order at a time (it is not possible to merge multiple small orders on a single truck and deliver them in sequence). Analogously, only one truck at a time can unload the RMC at the delivery location (if two trucks have arrived at the location, one must wait until the other one is unloaded). A customer order specifies the following information: 1) type of concrete, 2) required amount, 3) delivery location, and 4) delivery date and time window. Additionally, a customer may indicate other requirements (e.g., the preference for a given PC and the request for a truck to arrive in advance with respect to the actual planned start of its unload). Several other attributes of the customer’s resources at the unloading site must also be taken into account. Namely, each customer can unload at a maximum rate, and may specify a maximum amount of product per single delivery. Some orders do not need a delivery, as the customers pick up the concrete themselves and, therefore, they must be taken into account only in the PCs scheduling. Large orders must be supplied with a strictly uninterrupted sequence of consecutive deliveries. If the unload is not continuous (i.e., if a truck ends to place its load, and the next one is not yet ready to unload), extremely dangerous joints could occur in the construction [29]. Therefore, ontime delivery of RMC is essential to a customer. Excessively anticipated production, or large unexpected delays may cause a discontinuous unload, or the complete loss of the load (if RMC is not placed before the end of its lifespan). Some inherent limitations on SN capacity can be partially overcome by means of outsourcing. In particular, the trucks owned by the SN are preferably used, but additional trucks can be hired if necessary. Similarly, if no feasible way can be found to produce a certain fraction of the received orders on the nodes of the SN, the network can either reject some orders, or outsource the production of the residual fraction to external companies at an additional cost. According to industrial practice, it

412

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

is assumed that once a truck is hired for a given job, it will be included in the vehicle fleet as an available resource for the entire working day. On the contrary, if the production of a job is outsourced, it is assumed that the job will be directly delivered to the customer by the outsourcing company at the specified time. We model the supply problem as a cost minimization problem. For clarity, the parameters, indices, and decision variables of the model are summarized at the beginning of the paper. The global cost function of the considered problem is the sum of three terms

of the internal resources, although this goal contrasts with the previously mentioned need of introducing time buffers between operations to improve schedule robustness. The SN model is subject to several assignment and timing constraints, introduced separately in the next subsections. For sake of clarity, problem constraints are numbered separately. A. Assignment Constraints Every job can only be assigned to a dock of a PC or outsourced once

(2) defined in (3)–(5) at the bottom of the page. In particular, takes into account the transportation costs, in terms of total distance traveled by the fleet of trucks to deliver all of the produced jobs. The first term of (3) takes into account the sum of all the distances from PCs to customer sites. The second term of (3) accounts for the trip from the customer to the PC for the next job, while the third one accounts for the cost of reaching the PC supplying the first job of the truck, and the cost of returning to the base location at the end of the working day. For simplicity of connotation, in (3), it is assumed that each truck performs secutive tasks. Since the number of actual tasks performed by a truck may be smaller than , the sequence of tasks for a truck is completed by a number of fictitious empty tasks performed , to which truck returns at zero cost at the base location of its last nonempty task. after visiting the customer The second term is defined in (4), and takes into account the truck loading and unloading waiting times. The term measures the amount of residual waiting time before a loading or unloading operation that exceeds the user-defined slack time interval that is necessary to tolerate short truck delays without affecting the related, subsequent activities. , defined in (5), accounts for the Finally, the third term additional costs related to outsourced production, hired trucks, and overtime work for truck drivers. The minimization of outsourced activities can be achieved by optimizing the utilization

(6) Similarly, each job can only be assigned once to a truck (chosen vehicles with the set among the union of the internal fleet of hired trucks). Defining the total number of vehicles as of (7) the constraints on job assignment to trucks can be formulated as follows:

(8) A further constraint is introduced in the model to guarantee that jobs are assigned to the truck sequentially

(9) The constraint states that the generic th task of any truck can be assigned only if all of the preceding tasks are already assigned while the succeeding ones are not assigned.

(3) (4)

(5)

NASO et al.: REACTIVE SCHEDULING OF A DISTRIBUTED NETWORK

413

Fig. 1. Activities of truck k and their synchronization with those of other trucks at the delivery site.

B. Constraints on Job Size

Similarly, job unloading time

Splitting large demands into jobs is a crucial issue in the considered problem. In general, to minimize both the number of setups at docks and the number of trucks serving a request, all of the trucks are loaded to fill their entire capacity. In some exceptional cases, it can be profitable to place a load that is smaller than truck capacity. For instance, this may occur when an urgent request has to be inserted in the production in progress, and a dock has an idle time window that permits to load only a fraction of truck capacity. As mentioned, some types of RMC require that a certain is left unfilled. Therefore, percentage of storage volume is subject to the two following constraints: the size of a job

is defined as

(13) The source-to-destination traveling time computed as follows:

for job

is

(14) is the average speed of the vehicle delivering where defined as (15)

(10) (11)

Similarly, the traveling time between the destination of job and the source of job of is computed as

The number of actual jobs in which a request is split can be smaller than the maximum number . If this is the case, we nonempty jobs and assume that the request is split in fictitious empty jobs, which are produced and delivered to artificial destinations at zero cost.

(16)

D. Delivery Time-Window-Related Constraints

C. Computation of Loading, Unloading, and Travel Times Fig. 1 illustrates the typical sequence of operations for a truck, introducing some additional variables and time intervals, all related to the decision variables. Once a truck is available at the PC, it has to 1) wait for the start of loading operations; 2) load the material; 3) travel to destination; 4) wait for unloading; 5) unload; and 6) head for the PC of the next job (or the base location). The depends on the fixed setup time of job loading time the dock, on the loading rate , and on the job size

(12)

Since each customer assigns the time window for delivery, a verification of customer request consistency is performed. In particular, it is inspected if the customer-assigned delivery time window is sufficiently wide to allow the completion of unloading operations at the available unloading rate of the customer , i.e. (17) If this requirement is violated, the customer is requested to revise his or her specifications. Moreover, the sequence of jobs composing a request must be scheduled so that the first job (e.g., in Fig. 1) starts and the last jobs (e.g., job job

414

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

in Fig. 1) ends within the customer time window. Since no interruption between unloads is admissible (see constraint C11), it is necessary to guarantee that the first job start time meets the following constraint:

(24) (25) (26)

(18)

E. RMC Lifespan-Related Constraints

(27)

A constraint must guarantee that the time span between the start of job production and the end of its unload is shorter than product lifespan. Namely, it must hold that

Finally, a new task starts as soon as the previous one is completed, so that

(28) The truck waiting times must satisfy the following constraints: (19) In other words, the unloading waiting time should not be so long to make the product start to perish before being completely unloaded.

(29) (30) where the loading and unloading slack time are defined as

F. Constraints on Loading Operations at Docks Each dock can load one truck at a time. Thus

and

(31)

(20) where, for the simplicity of notation, the set of jobs loaded at is introduced. In other words, a dock constraint C8) states that for each pair of distinct jobs mixed and loaded at the same dock , the loading of one job must not start earlier than the time at which the other one is completely loaded. G. Constraints on Truck Waiting Times Truck operation times are computed according to the following relations, and must meet the constraints introduced subsequently: (21) where the dock of the first task of truck is explicitly specified by decision variable . The start time of each phase of a job is easily computed with the following equations:

(32) These constraints impose that in any admissible solution, the waiting times must not be shorter than the user-defined slack times introduced to absorb the unpredictable and small but frequent delays of trucks. Moreover, the unloading slack time takes requested by the cusinto account the fixed waiting time tomer for logistics at the construction site. In this paper, the desired slack times are computed as a function of the length of the truck route. In other words, we assume that the waiting time must be large enough to absorb a delay of seconds per kilometer of travel, without affecting the subsequent activities of the related resources. We remark that different strategies for allocating slack times (e.g., based on the specific route traveled by truck, or traffic forecast) can be implemented in a straightforward way, by simply redefining constraints C9 and C10. H. Constraints Between Different Trucks

(22) (23)

The unloading of all the jobs (but the first one) composing demand must start exactly when the preceding one ends (see also Fig. 1). This strict requirement guarantees the continuity of the unloading process that is fundamental for most types of

NASO et al.: REACTIVE SCHEDULING OF A DISTRIBUTED NETWORK

415

Fig. 2. Chromosome for the GA.

RMC. The model takes into account this requirement with the following constraint:

(33)

IV. METAHEURISTIC ALGORITHMS The mathematical model of the SN is suitable for general-purpose mathematical programming solvers, but the long computational times and the lack of flexibility strongly limit the usefulness of these tools in the considered context. A viable and effective strategy to cope with problem size and simultaneously preserving an adequate transparency of the decision mechanism can be achieved by distributing the optimization tasks between different tools. In particular, our approach integrates the mathematical model in an optimization engine based on GAs and fast constructive heuristics. The combination of tools determines satisfactory solutions in short computation times, and is also able to exploit real-time information on the SN resources to handle an unexpected event in real-time. The following subsections describe the main components of our search engine separately. A. Genetic Algorithm The main optimization algorithm is based on GAs, which are population-based stochastic search methods inspired by evolutionary laws and genetic [17]. GAs operate by mapping problem solutions into strings of symbols (chromosomes) suitable for manipulation with specific crossover, mutation, and selection operators, applied with stochastic mechanisms that lead the algorithm to generate and explore solutions with improving values of the objective function. For the sake of brevity, we only describe the main characteristics of our GA. The large number of variables in instances of realistic size (e.g., 40–60 requests, 200–500 jobs, 5–10 docks, and more than 50 trucks), and the peculiarities of the considered problem make the search extremely difficult so that computational times would be prohibitive even for a conventional application of a standard GA. To reduce search times and improve transparency, in our approach, the GA is used as a component of the global search algorithm, to process and optimize only a subset of decision variables while the remaining unassigned variables are handled by other fast constructive heuristics. The GA can be easily illustrated with the aid of Fig. 2, where the structure of a generic chromosome is introduced. The chromosome is composed of two separate parts, both containing elements (e.g., in Fig. 2). The first part specifies an initial assignment of each request to a PC, which can be shortly indicated with an integer between 1 and (e.g., requests and are assigned to PC 1, to PC 3, and all of the others to PC 2). In other words, the first

half of the chromosome specifies an assignment of the decision such that all jobs of a request are assigned to the variables docks of the same PC. Note that this is only an initial assignment of the decision variables, which may be modified by other components of the search algorithm in subsequent stages of the schedule construction. The second part of the chromosome specifies the priority assigned to each request (in Fig. 2, is the highest priority and is the lowest one). Requests with higher priorities are privileged in the construction of the schedule performed in a subsequent phase. It should be underlined that the scheduling priority is not a variable of the mathematical model, but rather a seed that is specified for other constructive heuristics on how to handle the remaining decision variables. The integer in the th position of the second half of the chromosome indicates the request with the th priority in schedule construction (e.g., in Fig. 2, request has the highest priority, followed by , and then ). In conclusion, the second part of the chromosome specifies a permutation of the ordering sequence of the requests. Once a chromosome is available, a second heuristic algorithm, called constructive heuristic procedure (CHP) (see the next subsection) is launched to determine a complete, fully feasible schedule of production and distribution activities, and the value of the cost function (2) associated with it, which is also used as fitness of the chromosome. For the remaining steps, the GA works with the conventional iterative scheme that can be summarized as follows. Step 1) Randomly generate a population of chromosomes. Step 2) For each chromosome in the population, run CHP and obtain a feasible schedule with associated fitness. Store the solution with the highest fitness. Step 3) Select the mating pool of solutions using tournament selection [17]. Step 4) Generate a new population of chromosomes by applying crossover to 50% and mutation to 10% of randomly selected chromosomes in the mating pool. Copy the previously stored solution with highest fitness in the new population. Step 5) Iterate Steps 2)–4) for the available computation time (200 iterations). New crossover and mutation strategies suitable for dealing with the considered type of chromosomes have been developed. For the crossover, a random cut point is first selected. If the point lies on the first half of the chromosome, the single-cut crossover is performed to obtain two new solutions from the two parents. On the contrary, if the point lies on the second half, the order-based crossover is applied. Similarly, the mutation combines the rounded-uniform mutation or the swap mutation depending on the type of randomly selected gene. Details on the implementation of these basic operators can be found in recent literature [8], [17], [20] and, thus, omitted for brevity. B. Constructing a Complete Schedule From a Chromosome The CHP is a set of constructive heuristic algorithms organized in a hierarchical structure that is illustrated in Fig. 3. The CHP receives a chromosome as input and returns a legal schedule of the entire SN, and the associated cost. The CHP

416

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

Fig. 3. Main steps of the CHP and its integration in the GA.

is composed of two main modules, respectively devoted to PCs scheduling (module 1) and truck routing (module 2). PC scheduling involves determining feasible start and end times of each job loading operation on each dock. In performing this task, the first module of the CHP assumes that a truck is always available at the dock to load the job (truck routing is performed in a subsequent stage), and executes a sequence of operations that can be basically distinguished in three sequential phases. Phase 1. In the first phase, the CHP considers each request in order of the priority assigned in the chromosome. When processing each request, a preliminary check of irremediable constraint violations (e.g., excessive distance between delivery location and assigned PC, excessively low customer unloading rate) is performed. If such violations are detected, the request is redirected to other PCs, considered in order of shortest distance from the customer location, and the chromosome is changed accordingly. In the opposite case, the CHP proceeds with request scheduling. The jobs of the request with highest priority (e.g., in Fig. 2) are scheduled on the docks of the assigned PC at their ideal start times (i.e., the time that makes the unloading ). For the second and subseof the first job start exactly at quent requests (generically referred as ), two main situations can occur at the assigned PC (referred as ): 1) The characteristic of is such that the production times of all its jobs are not in conflict with the jobs already scheduled at docks of (i.e., all constraints discussed in Section IV can be satisfied), or 2) one or more jobs of are in conflict with other already assigned jobs, and their assignment must be reconsidered. In Case 1), the ideal schedule is accepted without further operations, while in Case 2), several attempts to overcome the conflict are performed. Basically, these attempts consist of running a forward–backward search algorithm that tries to insert the jobs of in the idle time windows at the docks of , without modifying the already scheduled activities. The jobs that are still unscheduled at the end of this procedure will be reconsidered in a next phase. If none of the jobs composing can be scheduled on the assigned PC , (i.e., 100% jobs must be reassigned elsewhere), the assignment of to is considered unfeasible, and request is reassigned to another PC of the SN, considered in order of shortest distance from the customer. When a feasible reassignment for a request is found, the chromosome is changed accordingly. Phase 2. the CHP reconsiders the unscheduled jobs, and attempts to place them on other PCs using a set of constructive heuristics fulfilling two basic criteria: 1) redirecting all of the

unscheduled jobs of a request to the same PC (preserving RMC homogeneity, minimizing the amount of RMC sources), and 2) considering PCs in order of shortest distance from the customer’s site (i.e., minimizing the distance between PC and customer). If some jobs are still unscheduled at the end of this phase, the CHP enters phase 3; otherwise, it proceeds to truck routing in phase 4. Phase 3. The main peculiarity of this last attempt is that the CHP is now allowed to force job insertion by moderately shifting backward in time some of the already scheduled jobs. This operation may significantly alter the already constructed part of the schedule, and may also involve undesirable effects (e.g., determining excessively long waiting times before the unloading of some job). For these reasons, the result of this operation is accepted only if the consequent additional costs due to the increased waiting times is lower than the cost of outsourcing the unscheduled job under consideration. Finally, all of the jobs unscheduled at the end of the third phase must be outsourced. Once feasible loading sequences are established for ) each dock, trucks must be assigned to jobs (variables in such a way that one vehicle is available at the dock at each job load start time. Phase 4–Phase 5. The two phases of module 2 perform the same sequence of operations, with the only difference that Phase 4 uses the trucks owned by a PC to deliver jobs of the same PC, and then Phase 5 deals with all of the jobs that remained unassigned at the end of Phase 4. Both phases consider jobs in order of start time. To illustrate the truck allocation procedure, let us define the set of candidate trucks for a task starting at in Fig. 1). one dock of the PC at a generic time ( includes the trucks that either 1) have not left their base location from the beginning of the working day (hereinafter defined as type 1), or 2) have already completed some transport operations and are able to reach PC within time (type 2). The CHP always tries to assign those of type 2 first, in order 1) to use the minimal number of trucks for servicing all of the requests, and 2) to avoid the fragmentation of truck idle time intervals, which, in turn, makes it more difficult to reallocate the trucks in the subsequent constructive or rescheduling stages. When multiple trucks of type 2 are available in , the CHP sorts them using two criteria (i.e., latest expected arrival time at dock and then, the shortest distance from PC ) and assigns the job to the first vehicle in rank. This hierarchical criterion was preferred over other combinations of routing rules because it provided the most

NASO et al.: REACTIVE SCHEDULING OF A DISTRIBUTED NETWORK

satisfactory results in a preliminary comparison of alternative routing strategies. In fact, this criterion causes some trucks to have longer idle times between assigned transports. Such idle times can be profitably exploited for rescheduling purposes, as described in the next section. Finally, if the set for a given job is empty, the procedure requests the hiring of a truck. At the end of the constructive procedure, the CHP returns the full solution, which includes all of the decision variables and the cost associated with the solution. Clearly, the priority of requests in schedule construction strongly influences the way jobs are scheduled over time. The type of decomposition of problem variables, and the way they appear in the chromosome is also advantageous because it easily allows plant managers to assign requests to specific PCs (fixing a priori one or more genes in the lefthand part of the chromosome) or to assign higher priority to specific requests (fixing their position in the righthand part) without needing to handle/readjust the whole schedule of activities by hand. Note also that the CHP may obtain the same final solution (and fitness) for two or more different chromosomes, due to request redirection. This aspect is referred to as the redundancy of coding in GA literature. In general, excessively redundant coding strategies may lead to poor GA performance. In our case, the redundancy is dependent on the specific instance of the problem (in general, the higher the workload of PCs, the higher the probability that requests must be redirected and chromosomes changed). However, according to our experimental investigation, the redundancy of the coding strategy does not exhibit evident influences on the results of the GA even on artificial instances that are significantly more complex than real-world everyday scenarios. V. REAL-TIME RESCHEDULING STRATEGIES The use of slack times between operations contributes to make the schedule more tolerant to short delays, and keep its nervousness adequately low. Being inherently stochastic, the random delays may occasionally exceed the available time buffers, making it impossible to proceed with the execution of the planned schedule. Delays of this type will be hereafter referred as long delays. Managers can adjust the size of time buffers until the desired tradeoff between the occurrence of long delays (schedule nervousness) and the costs of solutions is achieved. More generally, the random perturbations that trigger the need of rescheduling include, in order of increasing criticality: 1) the arrival of urgent orders; 2) long delays of customer (e.g., temporary unavailability of the unloading equipment); 3) long delays or failures of trucks; and 4) failures of loading dock equipment. It can be noted that an urgent order is less critical than the other perturbations, because, if it cannot be inserted between the activities in progress, the request can be refused, leaving the current schedule unchanged. On the contrary, all of the other perturbations need prompt intervention, because they may significantly compromise the remaining part of the schedule. Note that in most industrial environments, such random perturbations are handled with simple right-shifting strategies (i.e., all of the activities affected by the perturbation are postponed until the problem is fixed), which are clearly inapplicable in our context due to the perishable nature of RMC. On the other hand, it is also impossible to guarantee

417

that the strict synchronization of production and distribution activities can always be restored after any possible perturbation. Thus, the main goal of the rescheduling process is to perform an immediate, real-time reaction to the unexpected disturbance, redistributing the activities so as to minimize the number of constraint violations and especially their consequences. Our system deals with this problem with an event-driven rescheduling method, in which a sequence of partially different real-time algorithms and constructive procedures is applied for each type of perturbation. To introduce the general structure of the rescheduling algorithm, let us suppose that a perturbation (rescheduling time). Based on occurs at the generic time , the production and distribution activities can be divided in three classes. 1) Completed activities. All past activities related to requests that have been completely supplied at time . 2) Future activities. All production and distribution activities related to requests whose production is scheduled to begin sometime later than . 3) Activities in progress. All activities that are neither completed nor future. Activities in progress belong to requests that are in process at time and, thus, particularly critical , the set of refor rescheduling. Let us denote with quests that have activities in progress at the rescheduling time. The rescheduling algorithm considers only the activities in progress or future, performing the following actions. • Reorganization of activities in progress. The perishable nature and the need of synchronization of unloading activities make it necessary to promptly deal with activities in progress to avoid (or at least minimize) constraint violations. This task must be necessarily performed in real time, reconsidering all of the current or imminent activities at the perturbation time . This action is performed with a rescheduling heuristic procedure (RHP) that is described in the next subsection. • Reoptimization of future activities. Future activities will start after the end of those in progress. Thus, in principle, there is sufficient time before their actual start to seek possible further improvements of this part of the schedule. This second action is basically performed with the same hybrid GA metaheuristics used for offline scheduling. To give a detailed description of the rescheduling algorithm, the following subsection focuses on the module for long delays of trucks, which are largely the most frequent perturbation occuring in industrial practice. The main peculiarities of the other modules for the perturbations 1) and 4) are then illustrated in the subsequent subsections. A. Long Delay of a Truck or Customer The real-time status of all the vehicles (condition, position, expected operation start and end times, etc.) is constantly monitored by the central planning system (CPS), which supervises the execution of the planned schedule (hereafter preschedule). Let us suppose that a truck driver or the CPS detects at time that a long delay is occurring (e.g., due to local traffic, or malfunctioning customer equipment). Different procedures are executed depending on whether the delayed truck is loaded

418

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

Fig. 4. Rescheduling algorithm: scheme for long truck delay.

(heading to customer) or empty (heading to PC). If the truck is loaded, and the expected delay time still allows the truck to unload at least a fraction of the load before the unloading time of the next job, the truck is allowed to reach (or wait at) the customer site. In any other case, the truck is requested to reach a location for load disposal and then stand by until a new task list is computed by the rescheduling algorithm. The RHP algorithm is designed to reschedule both in progress and future activities, although the latter ones will be also processed by the GA in a subsequent phase. As illustrated in Fig. 4, the algorithm is composed of the following steps. Step 1) Immediately after , all of the interruptible activities of the SN are stopped, while nonpre-emptive operations are allowed to be completed, and the release time of the corresponding resources is computed. The set of noninterruptible tasks is defined as (34) In other words, the set includes all of the trucks that are 1) already loading a job, 2) carrying a job to destination, or 3) unloading or waiting for unload at the rescheduling time . The related loading docks will be released for rescheduling at time , while trucks of case 3) will complete the unloading, and . Similarly, the set of interbe available at time ruptible tasks is defined as

(35) This set includes tasks of trucks that are either on a trip to a new PC, or waiting for a load. The locations of these trucks are known to the CPS, which computes their distances from all of the PCs, and considers the trucks as immediately available for rescheduling. Step 2) The first goal of the reorganization of activities in progress is to avoid discontinuities in the sequences of job unloading at customer sites [see (33)]. For this reason, these requests are assigned the highest priority (without changing their relative priority) as explained in the illustrative case drawn in Fig. 5. Step 3) In this step, a feasible schedule for job loading is built using a variant of the CHP (VCHP) discussed in the previous section. Basically, the variant for

Fig. 5. Updating request priorities for rescheduling.

rescheduling must consider a number of additional constraints. In particular, for the activities in progress, the schedule of the jobs that are either outsourced or constrained to outsourced jobs cannot be modified. Therefore, these jobs are labeled as firm, indicating that they must be processed as specified in the preschedule. Running the VCHP with these additional constraints may lead to two different situations: either the VCHP is able to find a feasible job loading schedule without new outsourcing requests, or a number of further jobs must be redirected to external companies. Note that an outsourcing request for the same day is generally unrealistic or even impossible, unless it is placed much earlier than its delivery time. Thus, the rescheduling algorithm considers a request for outsource feasible only if the job is scheduled for delivery at least 2 h later than the rescheduling time . This long time interval leaves enough time for searching schedule refinements (see Step 5), and gives plant managers sufficient time to negotiate with suppliers. The jobs that do not meet the outsourcing criterion are labeled as unhandled. When unhandled jobs are found during rescheduling, the VCHP attempts to modify the schedule so as to postpone the outsourcing as late as possible, and meet the previously mentioned feasibility condition. This is achieved by making a new VCHP iteration in which the unhandled jobs are also marked as firm, so that the reschedule is forced to inherit a larger part of the preschedule. This cycle can be iterated several times, after which either a solution with admissible outsourcing is found, or a warning of rejection of the requests including the unhandled jobs is issued. Rejecting a

NASO et al.: REACTIVE SCHEDULING OF A DISTRIBUTED NETWORK

job is an undesirable and fortunately rare event that also involves an additional penalty cost that takes into account customer compensation. This cost also works as a penalty function for the GA-based reschedule refinement that will be described later. Step 4) In this step, trucks are reassigned to jobs using the same rules of phases 4 and 5 of the CHP. As in the case of job loading activities, at the end of this assignment and routing procedure, several situations can arise. Basically, the same considerations of Step 3) also apply to truck routing. It may occur that the VCHP is not able to service all of the jobs with the available fleet (including previously hired vehicles) and issues a request to hire some new trucks. This request is accepted only if the tasks assigned to new hired trucks start sufficiently later (e.g., 2 h) than the perturbation time; otherwise, the tasks are considered unhandled. The same iterative procedure is also used to address this case. First, unhandled tasks are marked as firm (they are forced to be handled as in the preschedule) and a new iteration of the VCHP is run. If no solution is found after a predefined number of iterations, the scheduler issues a warning message for the cancellation of the requests associated with unhandled tasks. As in the previous step, cancellation results in an additional cost for customer compensation. Step 5) If feasible rescheduling of available resources is found, in Step 5) the hybrid GA metaheuristic (this time integrated with VCHP) is run to seek refinements of the schedule of future activities. The GA is allowed to optimize only the part of future activities scheduled to start RRT later than . The RRT is the estimated time needed by the GA to perform a satisfactory schedule refinement and by the CPS to transmit the new schedule to PCs and trucks. In other words, the GA is allowed to process those requests that are scheduled to start later than the time needed to find and make executable a new activity plan. The RRT must be chosen with conflicting criteria. Generally, the GA needs longer times during rescheduling due to the various additional constraints related to the synchronization with the activities already in progress, but, on the other hand, the rescheduling time must be necessarily short. The goal of this step is to improve the new schedule by minimizing the cost function (2). The numerical validation presented in the next section shows that the use of the GA contributes to reduce the amount of new outsourcing requests and the costs of delivery activities, and to improve the distribution of the waiting times. B. Failure of a Loading Dock A failure of a dock occuring during the busiest hours can have irremediable consequences on the supply activities, as it is generally difficult to reassign the jobs affected by the failure to other docks or even other PCs. If a truck was picking up a load at

419

time , manually operated equipment is used to complete only the interrupted loading operation, while the subsequent jobs at the dock must be reassigned elsewhere until the equipment is repaired. The main rescheduling algorithm for this case is similar to the one used for long truck delays, except for the fact that it first performs an attempt to redirect all of the jobs scheduled on the failed dock (before expected repair time) to other docks of the same PC. In general, this operation can be successfully performed only during relatively idle hours or workdays. If the failure occurs during busy hours, the fault will determine an increase of the outsourcing need. As in the previous case, the VCHP tries to postpone, in time, the schedule of the outsourced job, although the reduction of SN productive capacity due to the failure makes it more difficult to find a new fully feasible solution in this case. If such a solution is not found, unhandled jobs are requested to be canceled. C. Urgent Orders In our context, urgent orders are those demands that are placed during the same day of the requested delivery. Customers are aware of the technical requirements of RMC production and delivery and, thus, generally allow loose delivery time windows for urgent orders. At the time it is received, the urgent order is assigned to the PC closest to the customer site, with the lowest (less urgent) priority in schedule construction (i.e., it is appended as the last element of the right-hand part of the chromosome). The VCHP tries to insert the jobs of this new request between the activities in progress and future, using the same basic constructive heuristic described for the previous cases. As in the case of dock failure, the possibility of finding a new feasible schedule depends on the working conditions of the SN at the time of receipt . Successful rescheduling becomes increasingly difficult as the SN resource utilization increases: if the activities of the urgent order fall during busy or very busy hours or days (in which RMC is almost uninterruptedly loaded at all docks), the rescheduling will be certainly vain. VI. FIRST CASE STUDY Our first numerical investigation focuses on an SN with five independent PCs located in the northern area of EU, which supply RMC to construction sites spread over a large geographical area. This SN was also examined in [19] and, thus, it is a convenient reference case also for comparative purposes. Only two PCs have a fleet of trucks, whose global size is 49 vehicles. This section is focused on a set of instances describing typical workdays of the SN, with daily production of 40 or more requests (more than 300 jobs). These instances can be grouped in two classes, referred to as average and hard, depending on the overall difficulty of finding a feasible solution. In addition, only for preschedule evaluation, we also consider a third class of hypothetical instances (labeled very hard) which include extremely challenging scenarios with uneven spatial and temporal distribution of the requests. The values of the main parameters of the SN are summarized in the Appendix. Besides comparing solutions in terms of cost optimality, we also analyze the actual effectiveness of the solutions in terms of robustness. For this purpose, we have developed a detailed discrete-event simulation model of the entire SN (with the

420

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

Arena 7 software platform by Rockwell Automation), in which nondeterministic activities (e.g., truck speed) are modeled with triangular distributions, and random perturbations are generated in the most critical time intervals of the working day so as to investigate the rescheduling performances in the most difficult operating conditions. In this section, we compare the performance of the hybrid GA metaheuristics (HGAM) described in Sections V and VI, with two other scheduling algorithms selected as reference terms. The first algorithm is a constructive heuristic procedure that incorporates the typical decision criteria used by expert plant managers, and is able to compute feasible solutions in a short computation time. Basically, this algorithm constructs the schedule by assigning jobs to the PC closest to customer’s site [shorter distance (SD)], and assigning tasks to the candidate truck that has the smallest idle time (SIT). Conflicts and overlaps are handled with a series of heuristic rules similar to those described in Section V. The effectiveness of the solutions obtained by this algorithm, hereafter referred to as SD–SIT, depends on the particular characteristics of the considered instance while, in many simple cases, they achieve satisfactory overall performance; in other more complex circumstances, they fail to provide the desired tradeoff of costs and robustness. The second algorithm is the GA-based optimization algorithm described in [19]. As mentioned before, this GA can only handle single-dock PCs and has a version of the CHP that can handle only time buffers of the same size and, thus, is referred to as uniform time buffer–GA (UTB–GA). In [19] and [25], the SD–SIT and UTB–GA are compared with several other scheduling strategies using an extensive set of 250 instances of differing size and complexity. The SD–SIT is always the best nonevolutionary approach, while the UTB-GA always outperforms all of the other scheduling strategies. All of the heuristics are executables obtained from C++ code, and numerical experiments are run on a PC Xeon 3.20-GHz platform. The search or execution times needed by each strategy is summarized in the tables dedicated to rescheduling performance. The numerical experiments are organized in two different subsections. The first one analyzes the quality of the preschedules obtained offline by the three algorithms, while the second one is devoted to evaluate the effectiveness of rescheduling strategies. A. Cost and Robustness of Preschedules By varying the user-specified minimum size of slack time intervals placed between operations, both UTB–GA and HGAM can obtain various solutions with different tradeoffs between cost and robustness performances for a given instance of the problem. Using uniform time buffers was considered in [19], an admissible simplification to cope with the complexity of schedule construction. In contrast with this policy, HGAM inserts time buffers proportional to the distance between the PC and the serviced customer (the shorter the distance is, the shorter the maximum tolerable delay is). In principle, this new strategy seems to deal better with realistic circumstances in which truck delays can be also related to the traveled distances. A first set of experiments with single-dock PCs is devoted to analyze the consequences of these differences. To this aim, we

TABLE I AVERAGE COSTS (ROUNDED TO INTEGER) AND CORRESPONDING CONFIGURATION PARAMETER OF THE SOLUTION THAT GUARANTEES ) COMPLETE TOLERANCE OF DELAYS (MWT IN MINUTES IN 1

1 s km

TABLE II AVERAGE COSTS (ROUNDED TO INTEGER) AND CORRESPONDING CONFIGURATION PARAMETER OF THE SOLUTION THAT GUARANTEES TOLERANCE OF DELAYS IN 90% OF THE CONSIDERED CASES

consider a set of five instances in the class hard difficulty, and compare the costs (averaged on all of the instances and on all of the GA runs) of the solutions with the same level of robustness obtained by UTB–GA and HGAM. The robustness of a solution is measured as the ability to complete the simulated workday without any constraint violations or rescheduling action, when trucks are subject to increasing delays, obtained by incrementing the width of the triangular speed distribution in the discrete event simulations. Table I reports the case of a 100% robustness level (all of the considered instances are completed without violations), while Table II summarizes the results in the case when only 90% of the simulations are completed without rescheduling (i.e., 10% of the simulations need rescheduling to overcome constraint violations). The parameter minimum waiting time (MWT) in the table indicates the size of the time buffer used by UTB–GA to achieve the corresponding level of robustness. As expected, Tables I and II show that the new strategy is significantly more effective: even for small variations of truck speed, the HGAM leads to substantial cost savings. Note that the differences between the two methods increase as the width of the delay distribution increases, because the UTB solutions need large time buffers that unavoidably also increase truck idle times and, consequently, the need of hiring further vehicles. Table III compares the HGAM with the SD–SIT strategy on a set of 24 instances (8 for each class of difficulty) with different values of tolerable delay per traveled kilometer, also providing the details of the various cost components. It can be noted that the two strategies produce solutions that are generally equivalent in terms of the number of additional trucks. While the SD–SIT is particularly effective in optimizing the length of truck routes, the HGAM achieves a better distribution of production activities between PCs, and allows a substantial reduction of the outsourced production (three to nearly ten times smaller than SD–SIT). B. Rescheduling Performances Tables I–III show that the HGAM provides a significant improvement of truck delay tolerance for a given overall cost of a solution. This feature allows SN managers to choose solutions that make rescheduling for long delays infrequent. Since the

NASO et al.: REACTIVE SCHEDULING OF A DISTRIBUTED NETWORK

421

TABLE III AVERAGE PERFORMANCE COMPARISON BETWEEN GA AND SD–SIT (24 INSTANCES)

TABLE IV AVERAGE RESCHEDULING PERFORMANCE COMPARISON (16 INSTANCES)

other types of perturbations (delays of customers and dock failures) occur only occasionally, the case of multiple rescheduling actions during the same workday is exceptional and, thus, not considered in our experiments. Rather, in this section, we focus on studying the rescheduling performance by applying only one perturbation at a random time in the workday. The comparative analysis is again based on the SD–SIT constructive heuristics, because its intuitive decision rules and the fast execution time make it a suitable rescheduling tool. The SD–SIT is used for rescheduling by means of the same basic expedients devised for the VCHP: it first attempts to handle activities in progress to restore the synchronization of job unloading sequences, and then constructs the next part of the schedule with the same SD and SIT criteria introduced at the beginning of this section. Also, the results corresponding to the preschedule, and those of the VCHP (i.e., the solutions available before the HGAM refinement) are reported to better illustrate the contribution of each single module on the rescheduling performance. Table IV reports the results corresponding to the cases of long truck delay, dock failure, and urgent order, respectively. Each index is the average result on 10 replications of 8 instances in the classes average and hard difficulty, in which a perturbation is applied at a random time during the execution of the optimized preschedule =0 for the given instance obtained with the HGAM with (whose average cost factors are reported in column presched). The execution of the HGAM is terminated after RRT = 10 min in this case. It can be noted that the three strategies are always able to restore feasible conditions in which traveled routes and the number of hired trucks do not change significantly with respect to the offline plan. Once again, it is interesting to note that the main factors contributing to make the HGAM refinement appreciable are the improvement of truck waiting times, and the consequent ability to restore the low need of outsourcing. This performance is especially noticeable in the critical case of dock failure, for which the HGAM leads to an average amount of outsourced jobs that is nearly 50% lower than the result of SD–SIT.

It can also be noted how the HGAM allows the SN to insert the new order in the production in progress with a limited increment of production costs. VII. SECOND CASE STUDY To test the performance of our approach in even more challenging circumstances, this section considers a hypothetical consortium of companies operating in a region of Southern Italy. The overall SN has 10 PCs having from one to three docks. We suppose that the consortium receives on the average of 50–60 requests (mostly large ones), corresponding to as many as 800 jobs serviced with a fleet of 120 trucks unevenly dislocated across the various PCs (other details can be found in the Appendix). For this case, we focus on rescheduling only. Under the same scheme of evaluation adopted for the previous case study, we obtain the results summarized in Table V. With the exception of the obviously longer search times, this second investigation confirms the relative performance of the various strategies. Two main observations can be drawn for this case. On the one hand, it can be noted that in two cases, the VCHP is slightly outperformed by SD–SIT. On the other one, even though in this case the HGAM run time (RRT = 15 min) is chosen to be shorter than the prescheduling time (about 20 min), the GA is always able to effectively refine the available solution, restoring conditions similar to those in progress before the perturbation. The result for the long delay of trucks, largely the most frequent type of perturbation, is particularly satisfactory as the HGAM gives solutions that are less than 10% more expensive than preschedules. VIII. CONCLUSION In this paper, we considered the challenging problem of coordinating the production and distribution activities of a network of production centers for the supply of rapidly perishable goods. The proposed metaheuristic approach is able to provide highly effective solutions with the desired tradeoff between production

422

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 4, NO. 3, JULY 2007

TABLE V AVERAGE RESCHEDULING PERFORMANCE COMPARISON (16 INSTANCES)

TABLE VI PARAMETERS AND CONSTANTS FOR ALL NUMERICAL EXPERIMENTS

TABLE VII PARAMETERS AND CONSTANTS DIFFERING FOR EACH CASE STUDY

nominal operating conditions. Experiments on simulated scenarios in which more than one perturbation occurs in the workdays confirmed that the relative performance of the considered algorithms remains substantially unvaried even under these exceptional circumstances. Long-term research involves the investigation of innovative paradigms based on distributed optimization, in which enhanced reactivity and fault tolerances are achieved by distributing the optimization task between various decision nodes located at each PC of the supply chain, instead of concentrating it to a centralized optimization engine. APPENDIX The details about the main parameters of the two SN models are summarized in Tables VI and VII. ACKNOWLEDGMENT The authors would like to thank Dr. U. Kaymak, Erasmus University, Rotterdam, The Netherlands, for the interesting research cooperation. They would also like to thank the associate editor and the reviewers for their valuable suggestions. REFERENCES

costs and tolerance of delivery delays. If a delivery activity exceeds the tolerance ranges, or when other abrupt major perturbations, such as equipment failures or urgent order occur, the metaheuristic approach uses a set of constructive tools to restore (when possible) the synchronization of activities, and obtain a new optimized schedule for future activities. It is important to remark that the proposed approach integrates a number of inherently problem-specific constructive heuristics in a general metaheuristic approach that can be easily modified, and extended to other types of SN coordination problems. The proposed scheduling algorithm was compared with other heuristic approaches on a comprehensive set of instances partially derived from industrial data. The results confirm the interesting potential of the proposed approach. First, in the solutions found by the GA, the amount of requests that are either redirected to external companies or need truck hiring is, in general, very small compared to the other scheduling strategies. Second, the proposed approach allows better distribution of the time buffers between operations, which simultaneously reduce the actual resource utilization and the effects of transportation delays. With the aid of a discrete-event simulation campaign, we have shown that the integrated metaheuristic approach can effectively cope with several types of major perturbations of the

[1] Y.-C. Chang and C.-Y. Lee, “Machine scheduling with job delivery coordination,” Eur. J. Oper. Res., vol. 158, pp. 470–487, 2004. [2] C. W. Feng, T. M. Cheng, and H. T. Wu, “Optimizing the schedule of dispatching RMC trucks through genetic algorithms,” Autom. Construct., vol. 13, no. 3, pp. 327–340, 2004. [3] J. M. Garcia, S. Lozano, K. Smith, T. Kwok, and G. Villa, “Coordinated scheduling of production and delivery from multiple plants and with time windows using genetic algorithms,” in Proc. 9th Int. Conf. Neural Information Processing, 2002, vol. 3, pp. 1153–1158. [4] D. Garg, Y. Narahari, and N. Viswanadham, “Design of six sigma supply chains,” IEEE Trans. Autom. Sci. Eng., vol. 1, no. 1, pp. 38–57, Jul. 2004. [5] E. Gargouri and S. Hammadi, “A distributed scheduling for agro-food manufacturing problems,” IEEE Trans. Syst., Man, Cybern. C, Appl. Rev., vol. 33, no. 2, pp. 176–185, May 2003. [6] M. Gendreau, G. Laporte, and R. Séguin, “A tabu search heuristic for the vehicle routing problem with stochastic demands and customers,” Oper. Res., vol. 44, no. 3, pp. 469–477, 1996. [7] G. Ghiani, F. Guerriero, G. Laporte, and R. Musmanno, “Real-time vehicle routing: Solution concepts, algorithms and parallel computing strategies,” Eur. J. Oper. Res., vol. 151, pp. 1–11, 2003. [8] H. Ishibuchi, T. Yoshida, and T. Murata, “Balance between genetic search and local search in memetic algorithms for multiobjective permutation flowshop scheduling,” IEEE Trans. Evolutionary Computation, vol. 7, no. 2, pp. 204–223, Apr. 2003. [9] M. T. Jensen, “Generating robust and flexible job shop schedules using genetic algorithms,” IEEE Trans. Evol. Comput., vol. 7, no. 3, pp. 275–288, Jun. 2003. [10] G. Laporte, M. Gendreau, J.-Y. Potvin, and F. Semet, “Classical and modern heuristics for the vehicle routing problem,” Int. Trans. Oper. Res., vol. 7, no. 4–5, pp. 285–300, 2000.

NASO et al.: REACTIVE SCHEDULING OF A DISTRIBUTED NETWORK

423

[11] H. C. Lau, M. Sim, and K. M. Teo, “Vehicle routing problem with time windows and a limited number of vehicles,” Eur. J. Oper. Res., vol. 148, pp. 559–569, 2003. [12] C. Y. Lee and J. Y. Choi, “A genetic algorithm for job sequencing problems with distinct due dates and general early-tardy penalty weights,” Comput. Oper. Res., vol. 22, no. 8, pp. 857–869, 1995. [13] H. L. Lee, K. C. Tan, K. Ou, and Y. H. Chew, “Vehicle capacity planning system: A case study on vehicle routing problem with time windows,” IEEE Trans. Syst., Man, Cybern. A, Syst. Humans, vol. 33, no. 2, pp. 169–178, Mar. 2003. [14] P. B. Luh, M. Ni, H. Chen, and L. S. Thakur, “Price-based approach for activity coordination in a supply network,” IEEE Trans. Robot. Autom., vol. 19, no. 2, pp. 335–346, Apr. 2003. [15] Y. Marinakis and A. Migdalas, “Annotated bibliography in vehicle routing,” Oper. Res.—Int. J., vol. 2, pp. 32–46, 2003. [16] N. F. Matsatsinis, “Towards a decision support system for the ready concrete distribution system: A case of a Greek company,” Eur. J. Oper. Res., vol. 152, no. 2, pp. 487–499, 2004. Data Structures [17] Z. Michalewicz, Genetic Algorithms Evolution Programs. Berlin, Germany: Springer, 1996. [18] L. Min and W. Cheng, “A genetic algorithm for minimizing the makespan in the case of scheduling identical parallel machines,” Artif. Intell. Eng., vol. 13, no. 4, pp. 399–403, 1999. [19] D. Naso, M. Surico, B. Turchiano, and U. Kaymak, “Genetic algorithms for supply-chain scheduling: A case study in the distribution of ready-mixed concrete,” Eur. J. Oper. Res., vol. 177, no. 3, pp. 2069–2099, Mar. 2007. [20] A. C. Nearchou, “The effect of various operators on the genetic search for large scheduling problems,” Int. J. Prod. Econ., vol. 88, no. 2, pp. 191–203, 2004. [21] M. Pinedo, Scheduling: Theory, Algorithms, and Systems. Englewood Cliffs, NJ: Prentice-Hall, 1995. [22] F. S. Serifoglu and G. Ulusoy, “Parallel machine scheduling with earliness and tardiness penalties,” Comput. Oper. Res., vol. 26, no. 8, pp. 773–787, 1999. [23] S. Shervais, T. T. Shannon, G. G. Lendaris, and G. G. , “Intelligent supply chain management using adaptive critic learning,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 33, no. 2, pp. 235–244, Mar. 2003. [24] M. M. Solomon, “Algorithms for the vehicle routing and scheduling problems with time window constraints,” Oper. Res., vol. 35, no. 2, pp. 254–265, 1987. [25] M. Surico, “Soft Computing Approaches for Industrial Processes: A Case Study on Cement Production and Delivery,” First degree (Laurea) thesis, Dept. Electron. Eng., Politecnico di Bari, Bari, Italy, 2004. [26] K. C. Tan, L. H. Lee, and K. Ou, “Hybrid genetic algorithms in solving vehicle routing problems with time window constraints,” Asia-Pacific J. Oper. Res., vol. 18, no. 1, pp. 121–130, 2001, a. [27] K. C. Tan, L. H. Lee, Q. L. Zhu, and K. Ou, “Heuristic methods for vehicle routing problem with time windows,” Artif. Intell. Eng., vol. 15, no. 3, pp. 281–295, 2001, b. [28] E. Taniguchi and H. Shimamoto, “Intelligent transportation system based dynamic vehicle routing and scheduling with variable travel times,” Transport. Res. Part C, vol. 12, pp. 235–250, 2004. [29] I. D. Tommelein and A. Li, “Just-in-time concrete delivery: Mapping alternatives for vertical supply chain integration,” in Proc. 7th Annu. Conf. Int. Group for Lean Construction IGLC-7, Berkeley, CA, 1999, pp. 97–108, Univ. California.

+

=

[30] P. Toth and D. Vigo, “Models, relaxations and exact approaches for the capacitated vehicle routing problem,” Discrete Appl. Math., vol. 123, no. 1–3, pp. 487–512, 2002. [31] N. Viswanadham, “The Past, Present, and Future of supply-chain automation,” IEEE Robot. Autom. Mag., vol. 9, no. 2, pp. 48–56, Jun. 2002. [32] N. Viswanadham and R. S. Gaonkar, “Partner selection and synchronized planning in dynamic manufacturing networks,” IEEE Trans. Robot. Autom., vol. 19, no. 1, pp. 117–130, Feb. 2003. [33] K. G. Zografos and K. N. Androutsopoulos, “A heuristic algorithm for solving hazardous materials distribution problems,” Eur. J. Oper. Res., vol. 152, pp. 507–519, 2004.

David Naso received the Laurea degree (Hons.) in electronic engineering and the Ph.D. degree in electrical engineering from the Polytechnic of Bari, Bari, Italy, in 1994 and 1998, respectively. He was a Guest Researcher with the Operation Research Institute, Technical University of Aachen, Aachen, Germany, in 1997. Since 1999, he has been an Assistant Professor of Automatic Control with the Department of Electric and Electronic Engineering, Polytechnic of Bari. His research interests include computational intelligence and its application to industrial automation and robotics, numerical and combinatorial optimization, discrete-event systems modeling and control, and distributed control of manufacturing systems. He has published many journal and conference papers on these topics.

Michele Surico received the Laurea degree in electronic engineering from the Polytechnic of Bari, Bari, Italy, in 2004, where he is currently pursuing the Ph.D. degree. He is also with Fidia S.p.A., Bari. His research interests include evolutionary scheduling, computational intelligence, industrial robotics, and numerical controls.

Biagio Turchiano (SM’01) was born in Bitetto, (Bari) Italy. He received the Laurea degree in electrical engineering (Hons.) from the University of Bari, Bari, in 1979. He joined the Department of Electrical and Electronic Engineering, Polytechnic of Bari in 1984 as Assistant Researcher. Currently, he is Full Professor of Automatic Control with the Polytechnic of Bari, and Head of the Department of Electronics and Electrical Science (DEE). His research and teaching interests are in the areas of production automation, systems and control theory, and modeling and control of discrete-event systems.

Suggest Documents