Optimization of a multistage transshipment process using Constraint Logic Programming Knut Alicke, Dieter Arnold Institut fur Fordertechnik, Universitat Karlsruhe, Hertzstr. 16, 76187 Karlsruhe, Germany e-mail:
[email protected]
Keywords multistage transshipment, constraint logic programming, sequencing, intermodal transport
Abstract
Intermodal transport combines the media train, truck and ship for freight-transport. The main goal of the new terminal-concepts is to ensure maximal customer-satisfaction and maximal eciency. One of the most challenging optimization-problems of such a multistage transshipment process is nding an optimal sequence for the train-to-train-transshipment. Applying priority rules to this very complex problem leads to suboptimal solutions. We develop a framework to model the transshipment as a Constraint Satisfaction Problem. All practical relevant issues like alternative assignment, sequence-dependent number of jobs and changeover-time are met. We use the CLP-libraries ILOG SOLVER and SCHEDULER to solve the problem.
1 Introduction The number of transported goods is rising. A given (transport-)demand has to be met at a given due-time at minimal cost. Trucks are most exible, they can move whereever necessary, but due to increasing trac jam there is an uncertainty of the realized time-of-delivery. On the contrary, time-table operating freightliners do ensure exact time of delivery. A train has a higher capacity than a truck but one is dependent on the location of the terminals. In intermodal transport, the trucks are used for the short-distance-transport in the back-country and the train is used for the long-distance-transport between two or more terminals. The German Deutsche Bahn AG is forcing a concept to make the freightliner more reliable and cost-eective, called KV2000+. One idea of this concept is to operate time-tables and xed routings for freightliners. The cars have not to be shunted at the terminals, the containers are moved using portalcranes from one car to another according to passenger terminals. A smooth transshipment meeting the time-table at minimal cost is the key objective of the new terminals. This leads to dierent interesting optimization problems. The most challenging, the sequence-generation of the containertransshipment, is described in this paper.
1
1.1 Terminal Mega-Hub
The terminal under consideration is called Mega-Hub, the layout is shown in gure 1. It consists of 1 : : : n tracks, 1 : : : k cranes operate on the tracks. The operating-areas of the cranes can overlap, theoretically the crane can move along the whole track. To transport units from one crane-area to another a conveyor is installed in the middle of the tracks. This conveyor is build of two one-way-tracks and storage locations at the outer-bound. The containers are transported using automated guided vehicles (AGVs) powered by electrical linearengines. The containers can be transshiped between every position and every train, according to their source and destination. The trains arrive at the terminal every 6 minutes and depart after a sojourn time between 24 : : : 48 [min]. The sojourn-time overlaps from 12 : : : 72 [min] in the terminal. c ra n e 1
2
k
tra c k 1
c o n v e y o r
n 2
+ 1
n
Figure 1: Layout of Mega-Hub
1.2 Motivation
The given departure-time (by the time-table) should be met and the terminal should operate at minimal cost. The transshipment of units requires cranes, AGVs, space (for storage) and personnel. All cranes and AGVs can operate parallel, the routing of containers through the system is given and arbitrary. The underlying control and optimization-problem of the terminal is threefold: 1. In which sequence should the units be transshiped? 2. Should the operating-zones of the cranes be xed or variable? Of which size should the operating zones be? 3. Which track should be used by the incoming trains? In the existing system, an approach based on priority rules is applied to control the system. Due to the usage of parallel cranes and AGVs, the arbitrary routing through the system, alternative assignments of containers to cranes and AGVs and sequence-dependent issues this rules become very complex and lead to suboptimal solutions. We developed a framework to model the problem (1) and (2) as Constraint Satisfaction Problem and solved it using ILOG Solver and Scheduler. 2
Problem (3) can be formulated and solved as a quadratic assignment problem (QAP). This is ongoing work. The problem is related to cyclic multi hoist scheduling problems which originates in the chemical treatment process for printed circuit boards. The hoists are analogue to cranes (transport-devices) in the transshipment process and the circuit boards can be seen as containers (transport-objects). The application of CLP and MIP to solve the cyclic multi hoist scheduling problem is presented by (Rodosek and Wallace, 1998). Here, no alternative assignments are considered. A very interesting approach for the cyclic mulit-hoist scheduling problem with overlapping partitions is presented by (Varnier et al., 1997). They state, that simultaneous optimization of the schedule and assignment is a very combinatorial problem which is not solved yet. The container allocation problem is investigated by (Bostel and Dejax, 1997), they also developed an approach to nd a sequence in which the containers should be transshiped. The terminal under consideration is less complex as the Mega-Hub, as the moves of the cranes can only be in one direction, over one row of containers. A lot of work has been done in the area of sequencing and scheduling, but many approaches do not consider sequence-dependent issues, alternative assignment and arbitrary routings.
2 Model To model the problem in an appropriate way is de nitely a key issue for an easy adaptability and a fast solution. If a model is build with a solution-method in mind, it can lead to (unnecessary) complicated models. This models will not necessarily perform well. We tried to seperate modelling from implementation as long as possible. In this section, the model is described verbally. We borrow terms from Constraint Logic Programming when talking about (temporal or precedence) constraints and from Operations Research when working with jobs, resources, release and due dates.
2.1 Classi cation of transshipment
A container can be transshiped direct : The crane moves empty to the source-position of the container, picks it up, moves loaded to the destination position and drops it. The container is handled once by one crane. Direct transshipment should be preferred. indirect : Due to constraints it can be necessary to buer the container or to transport it between dierent crane-areas leading to indirect transshipment. The container is handled more than once by dierent or the same crane, and eventually the conveyor. We use the source- and destination-position of a container combined with the needed cranes to classify the dierent transshipments. Depending on the classi cation, dierent number of jobs are generated for the transshipment of a container. The three cases are:
Case 1 : The source and destination positions of the container are located in the same crane area and on the same side of the conveyor (see gure 2). If the sojourn time of the source and destination train overlap a direct transshipment is possible. Performing an indirect transshipment would lead to extra time for dropping, picking up and one idle trip of the crane. Due to the layout, buering is only possible on the conveyor, so an additional move to the conveyor
3
c ra n e 1
2
c ra n e 1 k
s o u rc e
d e s t
s o u rc e
n 2 2
c o n v e y o r
n
c o n v e y o r
n
+ 1 2
k
tra c k 1
tra c k 1
n
2
2
+ 1
d e s t
n n
Figure 2: Case 1: direct transshipment, same crane, source- and destination-positions are located in the same crane-area and the same side of the conveyor
Figure 3: Case 2: direct or indirect transshipment, same crane, source- and destinationpositions are located in the same crane-area and dierent sides of the conveyor
would be necessary. For this reasons, an indirect transshipment does only make sense, if the sojourn-time of the source- and destination-train do not overlap. Case 2 : The source and destination positions of the container are located in the same crane area, but on dierent sides of the conveyor (see gure 3). Depending on the sojourn time of the source- and destination train, a direct or indirect transshipment can be necessary. Due to the fact, that buering can be done on the way from the source to the destination position, the extra time needed is only pick up, drop and one idle-trip. Case 3 : Source and destination positions are located in dierent crane areas, the usage of the conveyor is necessary (see gure 5). This is independent of the sojourn time of the sourceand destination train.
2.2 Direct versus indirect transshipment
For transshipments falling in case 1 and 2, the number of direct transshipment should be maximized, when the sojourn-time of the trains overlaps. It has to be decided during the sequence-generation of the transshipments if a container is transshiped direct or indirect. This decision depends strongly on the time of transshipment, or the position of the container in the generated schedule1 . In the direct case, the container has to be handled once, in the indirect case twice. This problem is described as seqence-dependent number of jobs. To model this, we de ne one transshipment (job) as the sequence of the following operations, which are carried out by one resource: 1. Empty move to the source (pick-up) position of the container 2. Pick-up of the container If a train has to leave and some containers still remain on the train, the situation can occur, that a direct transshipment would be possible, but due to temporal constraints the containers have to be buered, which is an indirect transshipment. 1
4
3. Load move to the destination (drop) position of the container 4. Drop of the container. In gure 4, the concept is explained. The upper gure shows a normal sequence of operations, where four build one job. Load-trip 1 and 2 refer to the same container, therefor an indirect transshipment is performed. Buering the container can be done on the way from the source to the destination position, so taking the load-moves of the indirect transshipment together equals the load-move of the direct transshipment. If the two transshipments would be performed consecutively, they could be connected. No dropping, idle move and pick up would be necessary (lower gure). We can model the direct transshipment as two transshipments where the sum of the drop, idle move and pick up time is zero if the transshipments are consecutive. e x tr a tim e fo r in d ir e c t tr a n s s h ip m e n t e m p ty m o v e
p ic k u p
lo a d m o v e 1
e m p ty m o v e
d ro p
p ic k u p
lo a d m o v e
e m p ty m o v e
d ro p
p ic k u p
lo a d m o v e 2
d ro p
d ir e c t tr a n s s h ip m e n t: e x tr a tim e = 0 e m p ty m o v e
p ic k u p
lo a d m o v e 1
lo a d m o v e 2
d ro p
e m p ty m o v e
p ic k u p
lo a d m o v e
d ro p
Figure 4: Modelling sequence-dependent number of jobs
2.3 Overlapping crane areas
The cranes can operate in disjunct (hard borders) or overlapping (fuzzy borders) areas. The assignment job to resource is de nite for the disjunct areas but can lead to quite unfavorable states as shown in gure 6. Here the hard border is indicated by the bold line. To transship the unit from source to dest1 , respectively dest2 3 transshipment jobs according to case 3 are necessary: source ! conveyor(source) ! conveyor(dest1 ) ! dest1 source ! conveyor(source) ! conveyor(dest2 ) ! dest2 Only the job source(! buffer) ! dest would be necessary if the transshipment could be made by one single crane (L or L + 1) in a direct transshipment (which falls into case 1 or 2). Under the assumption, that the two jobs are assigned to crane L, the following operations could be saved: Case job 1 source ! dest1 2
source ! dest1
Saving Crane L load-move, drop to conveyor drop to conveyor
Conveyor load-move from source- to dest-area load-move from source- to dest-area
Crane L + 1 pick-up from conveyor, load-move pick-up from conveyor
The assignment of the job to a crane depends on the total workload of the crane and should be done dynamically and sequence-dependent. This is realised by including the assignment into the 5
r = 2 r = 1
c ra n e i
i+ 1
tra c k 1 s o u rc e c ra n e 1
2
k
d e s t 1
n
tra c k 1
2 s o u rc e
n
c o n v e y o r 2
c o n v e y o r d e s t
n 2
n 2
+ 1
n
d e s t
+ 1
2
n
Figure 5: Case 3: indirect transshipment, different crane
Figure 6: Fuzzi cation of the crane-borders
formulation of the problem. The units in r, which denotes the number of rows in the fuzzy area (see gure 6) can be assigned alternatively to the adjacent cranes.
2.4 Constraints
Each container is released into the terminal, when the according train arrives and has to be transshiped to the destination position before the according train departs. The release time is a hard constraint, it is not possible to start with transshipment if the container is not there. The due time is a soft constraint, because a train departs when all containers are loaded, independent of the due-time. If lateness is not allowed, this constraint turns to a hard constraint. If the container is handled more than once, a hard precedence constraint between this steps is de ned. A container must be unloaded from the source train before it can be loaded on the destination train. A constraint states, that the cranes can only handle one container at the same time. Moreover, a constraint has to ensure, that the cranes are not in con ict during transshipment, this is especially important when alternative cranes are used.
2.5 Objectives
The given time-table should be met as good as possible at minimal cost of transshipment. This can be archieved by determining a job-sequence, where the maximal lateness is minimized. If the maximal makespan is used as objective, the due-time of the train could be worse. We investigated both objectives. Minimizing the maximal lateness leads to maximization of the number of direct transshipments, minimization of the distance (or duration) needed for idle-trips and equal utilization of the resources (cranes, conveyor). 6
3 Implementation using Constraint Logic Programming We were looking for an ecient approach to implement the model. The sequence-dependent issues, alternative assignment and arbitrary routing can lead to a very complex formulation and implementation. Constraint Logic Programming is a possibility to translate the model in a more or less direct way. Moreover, with ecient propagation and search approaches, the performance is very good. In this section, the transfer of the model into an implementation using Constraint Logic Programming, and especially the libraries ILOG Scheduler and Solver, is presented.
3.1 Container and Cranes - Jobs and Resources
A job j or task can be described with the duration t and the resource i 2 I needed for execution. If dierent jobs are necessary to complete for example a product, precedence and temporal constraints between the jobs can be de ned. Between two consecutive jobs j and k executed on the same resource i, a changeover-time ct can be necessary. Regularly, this time is sequence-dependent. If more than one resource is available for a job, it can be assigned to one alternative resources i 2 I . A resource has a de ned capacity, which can vary over time. The classi cation leads to 1..3 transshipment jobs for each container c 2 C , which can be splitted into the operations o (xstandsforaarbitraryjobpreceedingjobj); o ; o ; o . For this operations several temporal and precedence constraints can be stated. Every transshipment job is assigned to one or two resource (see section 3.3), which are the cranes and the AGVs. For this resources the capacity is given as one (container at a time). The jobs are implemented as ILOG-classes IlcIntervalActivity, the cranes as IlcUnaryResource and the conveyor as IlcDiscreteResource with a capacity of m AGVs. d j
jk
alt
pick
idle xj
j
load j
drop j
3.2 Sequence-dependent issues
After completing a transshipment job, the crane moves idle to the pick-up position of the next container. The duration of this move t is calculated as the time from the destination position of the nished job j to the source-position of the next job k and is therefore sequence-dependent. The decision, if a container is transshiped direct or indirect is sequence-dependent, too. This can be implemented, if we take the model of section 2.2. The duration of a job t equals the load-move t of the container, the changeover-time c is the sum of idle move t , pick-up t and drop t of the containers. The value for pick-up and drop is constant. So we get for the changeover-time: idle jk
d j
idle
jk
(
ct = t kj
idle k;j
0
+t
pick
+t
drop
load j
pick
drop
k;j
if j and k refer to dierent containers if j and k refer to the same container c
(1)
The duration of an IlcActivity is the load-move t of the corresponding job. As the transshipmentmatrix is known, this value can be calculated after the classi cation. The sequence-dependent changeover-time is implemented using the class IlcTransitionTimeObject. Here, two consecutive jobs are examined to calculate the corresponding container changeover-time. load j
3.3 Alternative Resources
As described in section 2.3 some jobs should be assigned to alternative resources. As a result, unnecessary moves can be avoided. The jobs where the source and destination positions are located 7
in the border area of two cranes r (shown in gure 6), can be assigned alternatively to the two adjacent cranes i and i + 1. The jobs in r with destination in crane-area i and jobs of crane-area i with destination r are assigned to crane i. The same holds for crane i + 1. Savings through performing transshipments falling in case 1 or 2 can be realized. The time needed for moves and the utilization of the conveyor is reduced. The class IlcAltResSet is used to implement the alternative assignment of jobs to resources. The alternativ set is build of two adjacent resources. The jobs with source and destination position in r are assigned to this set. This works well for small problems, but poor for problems where a large number of jobs can be assigned to alternatives. We investigated dierent problem sizes. The (real-world) big problem has a size of 6 trains carrying 300 containers, which leads to approximately 750 jobs, 6 cranes and one conveyor with 45 AGVs. The maximal size of an alternative area is the size of one crane-area. 125 jobs have to be assigned to sets of 2 cranes, 25 to each set. Using the alternativ sets, the assignment is done during the optimization process, the results are butter, but due to the combinatoriyl nature, the complexity and problem-size increases dramtically. Because of performance-problems, we applied a heuristic, to assign the to the cranes. The goal is to balance the expected total load move of the corresponding cranes. This approach performed much better.
3.4 Constraints
Hard and soft constraints, precedence and temporal constraints are implemented. The execution of the generated jobs has to be after the release-time of the container. Between the generated (1..3) jobs precedence constraints must hold. The jobs are assigned to the resources, so the changeovertime is ensured. For all jobs of the overlapping area, a constraint has to be posted, which ensures, that no other job in this area is started during the execution of a job.
4 Experimental results Given is a scenario with 6 tracks, 6 cranes and 45 AGV's operating in the middle of the tracks. The time-table of the trains is given, the sojourn-time of the trains overlaps between 12..72 [min]. A transshipment between all trains and all crane-areas is possible. With the described model it is possible to formulate the problem as a Constraint Satisfaction Problem and solve it using Constraint Logic Programming. We use a 2-stage approach, where in the rst stage, the value for the overlapping crane-area r is de ned for each crane-area, than a solution is determined. Due to the fast computation of a solution (around 5 min.), we can adjust r in a dichotomized search. Some computational results are shown in table 4. Ct 300 300 300 300 300 300
r Jobs alt. jobs 0 831 0 1 807 64 2 785 130 3 756 190 4 740 254 5 724 319
ConvJobs 251 237 223 206 196 186
CPU [sec] 391 190 235 321 321 273
Choice points 4974 2418 3137 4518 4437 3617
Constr
Variables Lateness Makespan
2738 3253 4232 5946 7837 10011
2494 2422 2356 2269 2221 2173
Table 1: Computational results 8
-371 -371 -371 -371 -371 -371
2201 2204 2201 2247 2433 2538
5 Outlook and future work In this paper, a speci c case of a multistage transshipment process was described, modeled and solved using Constraint Logic Programming. Our goal is to develop a framework to generalize the modeling of multistage transshipment processes as they occur in distribution systems, large distribution warehouses and in supply chain management. The application to real-world problems is very challenging, as very few assumptions can be made and the problem-size is regularly huge. Often, such complex systems are controled using priority rules. If the system is too complex, a mathematical approach would perform poor. We will investigate when priority rules should be used, and when mathematical modeling is the appropriate way. The impact of system-parameters to compare the priority rules to the mathematical modeling will be examined.
6 Summary The practical problem of nding a sequence for the container-transshipment was modeled with all practical requirements, like sequence-dependent idle moves, sequence-dependent number of jobs and alternative assignments. The model was implemented using ILOG Scheduler and Solver. The assignment of jobs to resources was done with a heuristic for better performance. The computational results show, that within 5 min. the sequence for a bundle of 6 trains can be computed, which is fast enough for practical application. In further work we will generalize the concept of modeling multistage transshipment processes and compare the implementation as mathematical model with the implementation using priority rules. This will be done for practical relevant, complex systems.
References Alicke, K. and Arnold, D. (1998). Die Optimierung von mehrstu gen Umschlagsystemen unter Anwendung von Constraint Logic Programming - am Beispiel eines Eisenbahnterminals (in german). Bostel, N. and Dejax, P. (1997). Models and algorithms for the container allocation problem on trains in a rapid transshipment yard. Technical report, Laboratoire Productique Logistique, Ecole Centrale Paris. Rodosek, R. and Wallace, M. (1998). One model and dierent solvers for hoist scheduling problems. Unpublished working paper, Presentation at INFORMS 1998, Montreal. Varnier, C., Bachelu, A., and Baptiste, P. (1997). Resolution of the cyclic multi-hoist scheduling problem with overlapping partitions. Information Systems and Opterational Research, 35(4):309{324.
9