Applying Genetic Algorithms to Convoy Scheduling Edward M. Robinson1 and Ernst L. Leiss2 1 Binary Consulting, Inc. 4405 East-West Highway, Suit 109, Bethesda, MD 20814 USA, [email protected] 2 Ernst L. Leiss, Dept. of Computer Science, University of Houston, [email protected] Abstract. We present the results of our work on applying genetic algorithms combined with a discrete event simulation to the problem of convoy scheduling. We show that this approach can automatically remove conflicts from a convoy schedule with the ability for the human operator to search for better solutions after the initial conflict free schedule is obtained. We demonstrate that it is feasible to find a conflict free schedule in a few minutes on a common workstation or laptop. The system is currently being integrated into a larger Transportation Information System that regulates highway movement for the military. 1 Introduction The objective of this work is to automatically remove conflicts from a convoy schedule. The technique applied was to use a genetic algorithm approach combined with a simulation engine and real world data. 1.1 Convoys Convoys are used to move equipment and people from one point to another [1], with equipment being trucks and vehicles that can perform the movement. A large military container ship can carry 800 containers and 1200 vehicles, which must be unloaded and moved quickly from the port to their final destination. This movement is managed by a Movement Control Team (MCT) that must organize and schedule the convoys and, at the same time, must integrate the convoy movement with the ongoing transportation of services within their area of responsibility. Data obtained from experienced transporters (human operators) report that 100 convoys per day are not uncommon. The challenge facing the MCT is to schedule the convoys and daily movements so that roads are uniformly used and, more importantly, that two or more 2 Edward M. Robinson1 and Ernst L. Leiss2 convoys do not run into conflict for a given resource. The term used by transporters for removing conflicts from a schedule is “deconfliction”. An example of a conflict occurs when two convoys attempt to exit the same gate (assuming that only a single convoy at a time will use the gate) at the same time. Other conflicts include two convoys trying to cross (at right angles) through a single intersection, one convoy passing another on a single route leg, and two convoys merging onto the same highway segment. While these conflicts are most common, other issues can arise based on local rules and regulations so the system must be able to be extended to support these cases. Our system currently detects convoys attempting to merge or cross at a single node and one convoy overtaking another. Military doctrine restricts convoys to one at a time on a given road segment in most cases and further requires a 20-30 minute gap between convoys. This aspect is being added to the automatic conflict removal module as it is being integrated into the target system. The workflow for convoy scheduling starts when a convoy commander submits a request for a convoy clearance to the MCT. This request includes a list of trucks and other vehicles, a route or strip map, the origin and destination, and a requested time of departure. The MCT will either grant the request without changes or change the departure time or route if the situation requires it. 1.2 Convoy Scheduling To determine if convoys will run into conflicts, information is supplied regarding the speed of the convoys, the maximum speed on each road segment, the number of vehicles and their dimensions, the required gaps between vehicles, and the routes in a common format. The length of the convoy and speed along a given segment (the lesser of the convoy speed and segment speed) can be used along with the convoy length to calculate the pass time of the convoy (the time elapsed between lead vehicle and trail vehicle crossing the same point. Figure 1 illustrates convoy structure and length. Fig. 1. Example of convoy organization. Using the speed of the convoy and the pass time each convoy can be stepped forward in time along its given route tracking the times that the lead and the trail pass a given node. A conflict occurs when the lead from another vehicle reaches a node between the crossings of the lead and trail of the original convoy. Another conflict will occur if one convoy passes another on a single segment. This can be observed if the convoys reach the node at the end of the segment in a different order Applying Genetic Algorithms to Convoy Scheduling 3 than they passed the node at the beginning of a segment. We coin the term “inversion” for this kind of conflict. 1.3 Goals Our primary goal for this project was to create a module for a Transportation Information System (TIS) that automatically adjusts an initial schedule to remove conflicts. Allowable changes included adjusting the departure time or selecting an alternate route (with the same origin and destination). The suitability of new schedules is ranked according to removal of all conflicts followed by a weighted evaluation of the changes to the schedule including closeness to requested departure time, convoy priority, and number of route changes. Additional goals include support for incremental rescheduling based on changes in the field and extensibility to take into account local rules, guidelines, and opportunities (such as using roadside rest areas to allow one convoy to pass another). A final constraint for all modules in the TIS is that the system must be field portable, i.e., it must be able to operate on a laptop without Internet access. Implied by this is a relative speedy operation; execution times of several hours are not conducive to responsiveness to developments and changes in the field. Execution times within 10 minutes are considered acceptable as conveyed by experienced transportation personnel. 2 Related Work Convoy deconfliction is unique enough that there is limited amount of research on the subject. However, there do exist systems that automatically remove conflict from schedules as well as papers describing work on building conflict free convoy schedules while minimizing total time. 2.1 MOBCON MOBCON [1,2] is a mature system used for scheduling convoys within the continental United States (CONUS). There are no publications that discuss the algorithm used to remove conflicts from convoy schedules. It was only assume that MOBCON performed this function. However, MOBCON is tightly integrated with the rules and regulations for executing convoys and obtaining permission from each state to allow the convoy to use its highways, which would make it difficult to extract an extensible core algorithm. Also, MOBCON is a mainframe application, which would violate the requirement to be field portable. 2.2 Convoy Movement Problem (CMP) 4 Edward M. Robinson1 and Ernst L. Leiss2 The Convoy Movement Problem (CMP) attempts to find the minimum overall time for routing multiple convoys from the origins to destinations. [3] showed that the problem is NP-complete in simple cases, and more complicated in more realistic situation. The problem is the aimed-for optimality of a solution. Optimality is not required – at present, convoys are scheduled manually, with very limited computational support; therefore, the presently applied scheduling algorithms are obviously not optimal. Consequently, it is far more useful to apply heuristics in some form, which will improve solutions, but do not necessarily guarantee optimality. The approach taken in [4] recognized this and combined genetic algorithms with a branch and bound approach; however, the results, especially the time requirements of their programs rendered it rather impractical. 3 Our Approach Our approach to meeting the objectives described in section 1.3 combines genetic algorithms with a simulation engine. The decision to use genetic algorithms (GA) was based on discussions with domain experts in convoys and interaction in the past with researchers in the GA area that emphasized the speed of recalculation in the face of changing conditions. There exist many conflict free schedules for a given set of convoys (a trivial approach would be to start each convoy on a different day). An optimal schedule was believed to be too expensive to calculate (since at best it is NP-complete) but discussions with domain experts determined that an optimal schedule was not the goal. The goal was to find a conflict free schedule that favored the priorities and original request times. Such a goal is ideal for a heuristic approach. Further discussion with domain experts showed that the conditions for conflict and techniques for working around conflict change from location to location. The ideal system would support easy extension and the ability to adapt local business rules into the solver. Experience recommended the use of a discrete event simulation as the method for evaluating a schedule for conflicts. The simulation approach would have the added benefit of being easy to explain and validate with the domain experts as changes were made. 3.1 Genetic Algorithm Structure The DNA string in our genetic algorithm consists of offset times to be applied to the requested departure time to determine the actual departure time for the convoy. This offset is taken from a set of offsets, which is a configuration parameter. A nice benefit of this approach is that the resulting DNA string when combined with the convoy names is straightforward to read (ex: convoy 1 starts 15 minutes earlier, convoy 2 starts on time, convoy 3 starts 20 minutes later). In practice, the offsets are generally in multiples of 5, 10, or 15 minutes. Mutation was applied by randomly selecting a given offset entry and selecting a randomly different offset time. Selecting a crossover point at random between two randomly selected “parents” from the top half of the population and creating two Applying Genetic Algorithms to Convoy Scheduling 5 new children by crossing the parent DNA strings at the crossover point. Each single string represented an alternate schedule and individual offsets (convoys) were treated independently. Randomly selected offsets were used to create the initial population strings along with a single zeroed out string to represent the schedule “as-is” to ease tracking performance. The following steps were applied to each generation: • Mutate • Breed • Evaluate • Sort The evaluation step was used to determine the fitness of each string (schedule), which combined a simple evaluation of weights with the simulation of the schedule to determine the number and type of conflicts. The fitness function was determined through interviews with experienced transportation personnel to closely support transportation mission objectives. Inversions were considered worse than contention for a given node and the presence of any conflict was considered worse than other considerations such as closeness of actual departure time to requested departure time, closeness of predicted arrival time to requested arrival time, and favoring a higher priority to selected convoys that might carry fuel or ammunition. Several techniques were tested and the final technique to calculate the fitness uses 100 10 " inversions + conflicts + 1 " offsets 3.2 Simulation ! A discrete event simulation (see Fig. 2) was used to step each convoy through its route starting at the time determined by adding the offset to its requested departure time. Active agents were used to model the lead and trail vehicles; route nodes and legs (edges) were modeled as resources, which were used to track which convoy was utilizing the node at a given time. A global simulation clock was used to determine which event occurs next and to issue an event trigger to the agent that had scheduled the event. Node resources allow locking by the head of a convoy and unlocking by the trail of a convoy. If the node is already locked (indicating that this resource is already being used by another convoy), the node resource will flag the conflict with a monitor that keeps count of all conflicts encountered. 6 Edward M. Robinson1 and Ernst L. Leiss2 Fig. 2. Object model used to execute the simulation. Simple queues located with leg resources are used to detect inversions. A convoy is added to the queue when it enters a leg of a route ; it is removed from the queue when it exits it. A convoy that overtakes the first convoy would attempt to remove itself out of order and the leg resource would register that with a monitor that keeps a count of inversions. 3.3 Convoy Data Convoy data were taken from the database used to test the TIS as well as generated from templates. Also, data collected from a simulation of a single convoy were vetted against documented training examples. These data were stored in an object model serving the simulation. The object model is illustrated in Figure 3. The convoy schedule holds all of the convoys and their information. Routes are shared amongst the convoys since that is the case in the field. Additionally, military doctrine allows for convoys to be hierarchically structured into march-units, serials, and columns. This is modeled with a tree structure in the object model to simplify logic. Vehicle information is used to provide the length of the vehicle, which is used in turn to calculate convoy length and pass time. Additionally, the height and weight of a vehicle is needed to determine the validity of switching routes. If an alternate route has a low or weak bridge the convoy may not be able to traverse that route. Also, cargo contents may impact the ability of a convoy to cross a given leg. For example, fuel trucks are not allowed to pass near water in some European countries. Applying Genetic Algorithms to Convoy Scheduling 7 Fig. 3. Object model used for representing convoy in simulation. 4 Results We tested our system using convoy sizes of 10, 25, and 50 each with 30 vehicles. We were able to minimize to reach conflict free schedule within 50 generations for each test case by varying the size of the time window. The results of these runs are given in Table 1. Each convoy requests departure between 9AM and 8PM on a single day. In each case, a conflict free schedule is found within a minute on a reasonably powerful workstation (a 2.7 GHz dual processor PowerPC). The code is written in Java 1.4.2 with no performance tuning or the use of the HotSpot server runtime. Tests were run on Pentium 4 laptops used in the field with comparable performance (within 2 minutes maximum processing time). Table 1. Window sizes were adjusted to find a conflict free solution in fewer than 50 steps. Number of convoys – Size 10 – 30 25 – 30 50 – 30 Steps to first conflict free 23 40 36 Time window in minutes 150 480 2160 Average offset in minutes 79 288 1131 Elapsed time in seconds 8.3 33.8 57.7 8 Edward M. Robinson1 and Ernst L. Leiss2 The time window selected has a significant impact in the performance of the search algorithm. We constructed a test to compare the impact of window size on performance on the 25-convoy test data. The results in Table 2 show this performance. Each test run took approximately 2 minutes of user time to complete 150 steps. Table 2. Test case showing the effect of changing window size on 25convoys. Time window Steps to first in minutes conflict free 360 62 390 36 420 31 450 44 480 46 Average offset at step 50 141.3 170.2 178.2 233.1 173.0 Average offset at step 100 109.6 121.7 135.6 154.6 150.0 Average offset at step 150 110.0 92.9 98.0 117.1 125.7 Clearly the system is sensitive to the time window size with an apparent minimum average offset. This demonstrates the utility of having a human operator in the loop. The operator can guide the solution according to the tactical situation. If speed is the preeminent condition, the operator will stop the simulation as soon as a conflict free schedule is achieved. However, if more time is available, the operator can adjust the time window as well as allow the simulation to run longer in order to achieve a better solution. 5 Conclusion and Future Work We have shown that a field portable system can be implemented to automatically find a conflict free schedule given an initial convoy schedule. The system is able to find a solution within a minute for up to 50 convoys and can continue searching according to the needs of the human operator. This system is currently being integrated into an existing TIS in order to be fielded in the 2006 to 2007 timeframe. In the future, we will be improving the performance of the code through standard tuning techniques and developing a larger set of test scenarios to analyze common situations (such as unloading large container ships or return trip deployment). We will also investigate different techniques manage the sensitivity of the time window on find better solutions. Finally, the transportation community is interested in utilizing the same techniques for non-convoy transportation uses such as supply chain management and backhaul optimization. 6 References 1. Army Field Manuals: FM 55-1, FM 55-30, and FM 55-65. GlobalSecurity.org http://www.globalsecurity.org/military/library/policy/army/fm/index.html Applying Genetic Algorithms to Convoy Scheduling 9 2. R.J. Shun, Army Logistics Management College (ALMC). Automating Convoy Operations. http://www.almc.army.mil/alog/issues/NovDec97/MS214.htm 3. P. Chardaire, G.P. McKeown, S.A. Verity-Harrison, and S.B. Richardson, "Solving a Time-Space Formulation for the Convoy Movement Problem", Operations Research, vol. 53, no. 2, pp. 219-230, 2004. 4. Y.N. Lee, G.P. McKeown, and V.J. Rayward-Smith, The Convoy Movement Problem with Initial Delays, Modern Heuristic Search Methods (John Wiley & Sons, 1996).
© Copyright 2026 Paperzz