In my previous posts, I discussed how I derived an algorithm to help me find a road trip across all primary US Highways and then showed some results of (hopefully) improving quality. The first hurdle I had to jump was making sure my path went through every state. That was easy enough to fix once I got a better understanding of my network.
The next hurdle was to try to find a path that was not so “messy.” For this part, my attempts primarily involved adding more constraints into the algorithm. Specifically, as I played around with various paths returned by my algorithm, I would find parts that I thought more pleasing than others and so would internally force the algorithm to include these paths in future runs. I may have gotten a bit carried away with this (for my final path, I ended up specifying the first 31 nodes in the path before running the algorithm so…yeah). But at long last, after more back and forth between the algorithm’s output and my own machinations, I ended up with my final path as shown in Figure 1 (cue angelic choir, Viking war chant, or other epic sounds of your choice).
As you can see, there appears to be less clutter in the path, particularly in the Western section. This final path was the result of several attempts and playing around with different options for where the path would go and what cities it would visit until I finally ended up with one that I was satisfied with. The manner in which I implemented this with the algorithm involved some very high-level coding and graph theory, the details of which I couldn't possibly bore you with. What's that? You want the details?...You sure? They're quite complex....OK, OK, you got me. To be honest, I simply input the nodes either directly into the starting path or as a fixed point within my algorithm. For example, my starting path consists of 31 nodes...yeah. But hey, the algorithm still had to do some work to make the connections between my fixed points, so I consider this an example of user and machine working in beautiful harmony.
You may have noticed the gray box in the lower left corner with some simple summary stats. Because what kind of statistician would I be without computing some stats, right? If you didn't see it, I'll give you a few seconds to find it...OK, good. Yes, you're reading those numbers right. This road trip certainly lives up to its "ultimate" designation. To put things in perspective, this trip would take roughly three to six months to complete (based on a range of four to eight hours of driving per day, depending on preference) and would be the equivalent of driving around the Earth nearly one and a half times. Talk about committment! As I alluded to in a comment on the previous post, I compute these times and distances through painstaking research on Google Maps. I imagine there is a faster way to do it in the future, so I'm open to suggestions!
Now what say we dive in and explore some of the features of this path, eh?
Let’s walk step-by-step and hand-in-hand through this road trip, shall we?...OK, we can skip the hand-in-hand thing. To help us out, I’ve removed the Street Maps background temporarily to reduce clutter and added in the major city labels. I apologize beforehand if I missed any city you might consider “major.” I confess I was a bit wishy-washy with my definition. You could say it was more or less based on a Google Maps “zoom-out standard,” by which I mean that these cities remained visible in Google Maps when you zoomed out to a certain point (I can feel NIST glaring at me).
Also, while we’re at confessional, I must also confess that I had to break a rule I set in the first post; specifically, it's the one in which I want to go directly from one highway to another without traveling a non-highway in between. There are only a few places I did this, but my justification was to ensure a particular city or scenic route was part of the path, so I hope you can forgive me on that account.
Alrighty then, let’s dive in! The first part of the trip is a whirlwind tour of the West (see Fig. 2). One thing I like about this trip overall is how well it reflects the density of highways across the US. The highway system becomes more sparse as you move West, which is a reflection of the manner in which the country was settled.
I first break that rule I mentioned when I have US 101 “connect” to US 12 around Olympia, WA. US 101 does, in fact, curve around the Olympic Peninsula, so my fake connection is actually much closer to Olympia than you might have initially guessed. My reasoning was that this gave more time on the Pacific Coast and more coverage of Washington than previous paths. Can’t let California and Oregon have all the fun, can we?
A few of my other adjustments include:
The next part involves a long ride on US 20, the longest highway in the US (Fig. 3). Besides epitomizing the thrill of a road trip, this highway also passes through or close to such famous scenery as Yellowstone National Park and Niagara Falls. It also serves as a nice transtion from West to East, in my opinion.
After the long haul of US 20, the path stair-steps through New England toward the Canadian border in Maine (Fig. 4). On the way, you pass through the national forests of Green Mountain and White Mountain (if you’re wondering where Red Mountain national forest is, try Arizona.…Oh wait, that’s Red Rocks...sorry, word play can be quite addicting). I found this to be a nice route through Vermont, New Hampshire and Maine, providing good coverage for each of them.
Once you’ve enjoyed some fresh New England air, it’s time for another long trip, this time down US 1 (Fig. 5). The official name for this road is the Atlantic Highway, but I think a better title would bethe East Coast Road of Fame. All the big cities are here: Boston, New York, Philadelphia, DC, Raleigh, Jacksonville, Miami. Suffice it to say, this road is a tourist’s dream come true. Plus, you get to avoid much of the traffic on nearby I-95! At least, outside of DC….
Having gone all that way, the path then makes a U-turn in Miami and makes its way up to the UP (that’s Michigan’s Upper Peninsula for non-residents), passing through some more famous cities along the way (Fig. 6). One of the highlights of this part of the trip is that US 41 goes through Chicago on Lake Shore Drive, giving you unparalleled views of the city and Lake Michigan. There’s another fake connection to US 45 in the Upper Peninsula, but that was to ensure it was visited.
Next, the path makes some loops and turns throughout the Upper Midwest (Fig. 7). The highlight of this part occurs on US 10. You might notice that the path crosses straight across Lake Michigan. I assure you this is no glitch. You can actually take a ferry across the lake, which is considered part of the highway! How cool is that?!
This all leads to yet another long haul (I promise this is the last one) straight down the middle of the country on US 83 (Fig. 8). Here, you’ll see the majesty of the Great Plains laid out before you and either stand back in awed silence…or be bored out of your mind (hopefully, the former). At least you have the bustling city of San Antonio to look forward to at the end.
Next, we transition from seas of grain to seas of…well, seas. Specifically, this next part of the path follows along the Gulf Coast, then transitions across the interior of Florida (through a particularly magical city) to the Atlantic Coast (Fig. 9).
This part of the path, particularly the Gulf Coast, tended to be lacking in the previous path options, so I forced it in using a fixed point in the algorithm. One of the highlights is that, from Norfolk, you actually get to cross over and under water on the Chesapeake Bay Bridge-Tunnel (for a nominal fee).
From the sea, the path moves inland and transitions to smaller bodies of water (Fig. 10). It follows along the Ohio River in Kentucky and meanders about in the Texarkana region before moving up the Mississippi River. There is one last fake connection in Baton Rouge as I couldn’t miss the opportunity to include it in my path. Fun fact: Part of US 61, which is the highway that follows the Mississippi, coincides with the Great River Road, which is a National Scenic Byway that follows the river from its start in Minnesota all the way down through nine other states to its end at the Gulf of Mexico in Louisiana.
From the Mississippi, the path moves out west toward the Great Plains for a literal whirlwind tour of the states in this region (Fig. 11). Much of the looping comes from trying to get the path to visit some of the key cities in this area. I actually kind of like it, especially seeing how it ended up being centered on Kansas City, home to some pretty good BBQ (second to North Carolina, of course).
From the plains, the path then cuts straight down through Illinois to Memphis, also home to some pretty good BBQ (and again, second to North Carolina). This marks the transition to some meanderings in the Deep South (Fig. 12), which culminates in one of the most scenic portions of this trip in my mind: a drive through the Appalachians up US 11. I remember driving next to some of it on I-81 during my time at Virginia Tech in Blacksburg, VA and the views are spectactular to say the least. The end is almost in sight, but first the path takes a few twists and turns through some more mountains, starting with the Alleghany Mountains in Pennsylvania and then back through the Appalachians before finally turning northward through the bluegrass of Kentucky toward Fort Wayne, IN (Fig. 13).
From there, the path makes a beeline through Amish country in Pennsylvania to the Jersey shoreline. This allows for some scenic views of the coast before finally reaching the journey's end in Columbia, NJ (Fig. 14).
Whew! What a trip, eh? I'd say that should pretty well satisfy my road trip cravings. If you're still a bit overwhelmed, than take a breather and enjoy this GIF I made for you. It shows my final path broken down by every highway it visits (labeled in the top left for your convenience).
Well, if you're still reading this post after that long guided tour, I'd like to thank you for sticking with me to the end. This process was about as involved as I'm sure undertaking the actual road trip would be. I have a feeling through all of this that you've been coming up with your own ideas of how you would generate your own trip or perhaps how you could've made the process more efficient. Maybe you've even thought about ways to make the trip more "optimal," such as perhaps minimizing the driving time or distance or maximizing some type of "scenic score," in which case you would be firmly in the territory of the famous Traveling Salesman Problem.
.If that's your cup of tea, then perhaps you can try your hand at generating a JSL algorithm of your own. Or if you are savvy with SAS, you can use the PROCOPT or other related procedures. I've seen some examples of this in SAS, and it's pretty awesome! To help you along, I've posted the JSL code I used as well as my database of highway intersections. I'm excited to see what my fellow JMP (and SAS) users can produce. And who knows? Maybe I just might meet you on my ultimate road trip!