1
Dr. Joe DeMaio, Dr. Lin Li INTRODUCTION CONCLUSION An Optimized Route for Q100’s Bert and Kristin to Visit all Jersey Mike’s Subs in Atlanta for Charity Sanjoosh Akkineni, Andrew Henshaw, Jessica Rudd, Lauren Staples Figure 1 – Map of Optimized Route (Provided to Bert’s Big Adventure) The Bert Show is a popular morning show on Atlanta’s Q100 radio station. They host a non-profit organization that provides a “magical, all-expenses-paid, five-day journey to Walt Disney World for children with chronic and terminal illnesses and their families” called “Bert’s Big Adventure.” On March 28th, 2018, thirty-seven locations of Jersey Mike’s participated in their Jersey Mike’s Day of Giving where 100% of sales in metro Atlanta go to support Bert’s Big Adventure. The goal was to have two popular radio show hosts Bert and Kristin visit each of these 37 locations for some photos and presence to draw in more customers! How do we optimally determine how to divide the locations into two sets, one for each radio host? And, how do we get each host through Atlanta traffic to visit their respective locations as fast as possible? We developed a combined approach (which we refer to here as CA) to the Multiple Traveling Salesman Problem (mTSP) that pairs a custom genetic algorithm (GA) with Google’s combinatorial optimization solver. The objective of the mTSP is to assign a tour of disjoint city sets to each of m salesman such that the maximum of the travel times for each salesman is minimized. In our program, the GA determines the assignment of cities to each radio host, while the combinatorial solver generates an optimal TSP route for each assignment. The maximum time for each single-TSP solution provides the cost function for the GA. The genetic algorithm provides an efficient search of the solution space and we show that this metaheuristic approach provides significant performance benefits over the use of the constrained combinatorial optimization solver alone. No we can’t. There are 37 19 ∙19!∙18! = 1.38 x 10 43 (13.8 tredecillion) different ways to split and visit the metro Atlanta Jersey Mike’s Subs locations. Instead, we used our CA to minimize the total drive time for each of the two paths. Figure 2 shows the work flow of our CA. GAs have useful qualities for our project-because of the fitness measure, the crossover and introduction of “mutations.” We explore the whole space for a global optimum instead of getting stuck in a local optimum. In conclusion, our CA-produced solution with average drive times from the Google Maps API produced a real-world- validated successful result. Radio show hosts Bert and Kristin visited each location well-within their predicted time, and along with Jersey Mike’s raised a record $165,557 for these kids! SOURCES Figure 2 Genetic Algorithm Work Flow RESULTS Our CA method produced the best solution in only 900 generations (15 minutes of run time). The solution we found (see Figure 1) divided the locations into groups of 19 and 18 locations. With a budget of 10 minutes to spend at each location, we estimated the completion time for Bert’s route (19 locations) to be 8 hrs and 51 mins, and Kristin’s route (18 locations) to be 8 hrs and 33 minutes. With most Jersey Mike’s opening at 10 AM and closing at 9 PM, these solutions more than suffice with plenty of time to spare. The team provided the color- coded mapped routes in Figure 1 to the Radio Show as a deliverable. These CA estimates were better than both the intuitive splits (e.g., “as the crow flies”, along I-75, inner/outer perimeter, etc.) as well as those found by Google’s combinatorial optimization solver alone. On March 28 th , these two routes were completed ahead of schedule. The weather favored faster driving and a relatively low number of traffic incidents led to better- than-average traffic flows. 1. Third-party, open-source libraries [online; accessed 2018-03-20]: 1. Numpy: http ://www.numpy.org/ 2. DEAP: https://github.com/DEAP/deap 3. Google Optimization Tools: https://developers.google.com/optimization/ You Helped Raise an Incredible For Bert’s Big Adventures at Jersey Mike’s Subs Figure 3 Sample Code METHODS Initially, the team attempted to separate the locations into two groups by clustering the observations by latitude and longitude. While the Euclidean distance (“as the crow flies”) does not represent the actual distance between locations traveled by car, we thought that this would still produce a decent approximation. It did not. Thus we needed to examine driving times. The first step was to use the Google Maps API to get the average drive times between each pair of locations (totaling 666 pairs of locations with a drive time between them). We modeled this information as a graph. Vertices represent the 37 locations. The weight of an edge represents the average travel time between the respective locations. Our goal is to find two disjoint paths with a similar number of vertices and a minimum sum of edge weights that visit all locations. Can we brute force check all possibilities? Initialization of the population consists of creating 20 individuals with random genomes. The genome for any individual is just a vector of 37 0s and 1s that define to which route each of the 37 destinations belongs. “Process” the genome of each individual (building two, separate, unordered lists of destinations). Each list is then passed to a constraint- optimization-based route planner that finds the least-cost for a given set of destinations (starting from the radio station). A crossover operation is performed on pairs of genomes such that a randomly-selected portion of each genome (vector of 0s and 1s) is used in the construction of new offspring. Randomly-chosen offspring may have their genome mutated, which involves simply flipping the state of a small subset of the 0s or 1s that make up the genome.

Sanjoosh Akkineni, Andrew Henshaw, Jessica Rudd, Lauren ...Sanjoosh Akkineni, Andrew Henshaw, Jessica Rudd, Lauren Staples Figure 1 –Map of Optimized Route (Provided to Bert’s

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Dr. Joe DeMaio, Dr. Lin Li

    INTRODUCTION

    CONCLUSION

    An Optimized Route for Q100’s Bert and Kristin to Visit all Jersey

    Mike’s Subs in Atlanta for Charity

    Sanjoosh Akkineni, Andrew Henshaw, Jessica Rudd, Lauren Staples

    Figure 1 – Map of Optimized Route (Provided to Bert’s Big Adventure)

    The Bert Show is a popular morning show on Atlanta’sQ100 radio station. They host a non-profit organizationthat provides a “magical, all-expenses-paid, five-dayjourney to Walt Disney World for children with chronicand terminal illnesses and their families” called “Bert’sBig Adventure.” On March 28th, 2018, thirty-sevenlocations of Jersey Mike’s participated in their JerseyMike’s Day of Giving where 100% of sales in metroAtlanta go to support Bert’s Big Adventure. The goal wasto have two popular radio show hosts Bert and Kristinvisit each of these 37 locations for some photos andpresence to draw in more customers! How do weoptimally determine how to divide the locations into twosets, one for each radio host? And, how do we get eachhost through Atlanta traffic to visit their respectivelocations as fast as possible?

    We developed a combined approach (which we refer tohere as CA) to the Multiple Traveling Salesman Problem(mTSP) that pairs a custom genetic algorithm (GA) withGoogle’s combinatorial optimization solver. The objectiveof the mTSP is to assign a tour of disjoint city sets to eachof m salesman such that the maximum of the travel timesfor each salesman is minimized. In our program, the GAdetermines the assignment of cities to each radio host,while the combinatorial solver generates an optimal TSProute for each assignment. The maximum time for eachsingle-TSP solution provides the cost function for theGA. The genetic algorithm provides an efficient search ofthe solution space and we show thatthis metaheuristic approach provides significantperformance benefits over the use of the constrainedcombinatorial optimization solver alone.

    No we can’t. There are 3719

    ∙19!∙18! = 1.38 x 1043 (13.8

    tredecillion) different ways to split and visit the metroAtlanta Jersey Mike’s Subs locations. Instead, we used ourCA to minimize the total drive time for each of the twopaths.

    Figure 2 shows the work flow of our CA. GAs have usefulqualities for our project-because of the fitness measure,the crossover and introduction of “mutations.”We explorethe whole space for a global optimum instead of gettingstuck in a local optimum.

    In conclusion, our CA-produced solution with average drive

    times from the Google Maps API produced a real-world-

    validated successful result. Radio show hosts Bert and

    Kristin visited each location well-within their predicted time,

    and along with Jersey Mike’s raised a record $165,557 for

    these kids!

    SOURCES

    Figure 2 – Genetic Algorithm Work Flow

    RESULTSOur CA method produced the best solution in only 900generations (15 minutes of run time). The solution wefound (see Figure 1) divided the locations into groups of19 and 18 locations. With a budget of 10 minutes tospend at each location, we estimated the completion timefor Bert’s route (19 locations) to be 8 hrs and 51 mins,and Kristin’s route (18 locations) to be 8 hrs and 33minutes. With most Jersey Mike’s opening at 10 AM andclosing at 9 PM, these solutions more than suffice withplenty of time to spare. The team provided the color-coded mapped routes in Figure 1 to the Radio Show as adeliverable.

    These CA estimates were better than both the intuitivesplits (e.g., “as the crow flies”, along I-75, inner/outerperimeter, etc.) as well as those found by Google’scombinatorial optimization solver alone.

    On March 28th, these two routes were completed ahead ofschedule. The weather favored faster driving and arelatively low number of traffic incidents led to better-than-average traffic flows.

    1. Third-party, open-source libraries [online; accessed 2018-03-20]:

    1. Numpy: http://www.numpy.org/

    2. DEAP: https://github.com/DEAP/deap

    3. Google Optimization Tools:

    https://developers.google.com/optimization/

    You Helped Raise an Incredible

    For Bert’s Big Adventures at Jersey Mike’s Subs

    Figure 3 – Sample Code

    METHODSInitially, the team attempted to separate the locations into two

    groups by clustering the observations by latitude and

    longitude. While the Euclidean distance (“as the crow flies”)

    does not represent the actual distance between locations

    traveled by car, we thought that this would still produce a

    decent approximation. It did not. Thus we needed to

    examine driving times.

    The first step was to use the Google Maps API to get the

    average drive times between each pair of locations (totaling

    666 pairs of locations with a drive time between them). We

    modeled this information as a graph. Vertices represent the

    37 locations. The weight of an edge represents the average

    travel time between the respective locations. Our goal is to

    find two disjoint paths with a similar number of vertices and

    a minimum sum of edge weights that visit all locations.

    Can we brute force check all possibilities?

    Initialization of the population consistsof creating 20 individuals with randomgenomes. The genome for anyindividual is just a vector of 37 0s and1s that define to which route each ofthe 37 destinations belongs.

    “Process” the genome of eachindividual (building two, separate,unordered lists of destinations). Eachlist is then passed to a constraint-optimization-based route planner thatfinds the least-cost for a given set ofdestinations (starting from the radiostation).

    A crossover operation is performed onpairs of genomes such that arandomly-selected portion of eachgenome (vector of 0s and 1s) is usedin the construction of new offspring.

    Randomly-chosen offspring may havetheir genome mutated, which involvessimply flipping the state of a smallsubset of the 0s or 1s that make up thegenome.

    http://www.numpy.org/https://github.com/DEAP/deaphttps://developers.google.com/optimization/