It would be fun to ski the whole Sun Peaks nordic trail network in a single day. Too lazy to plot a good route by hand, I wrote a computer program to find some good routes that traverse the entire trail network, all of them under 43km — see below (click the image for a larger version).

# Some Background

Sun Peaks has about 35km of groomed nordic trails. But the shortest route that covers the whole network is longer — about 43km — since some trails are inevitably skied twice. In graph-theoretic terms, the network has no Eulerian path because it has some odd-degree vertices: if an odd number of trails meet at an intersection, then one of those trails *has* to be skied twice. The problem then is to choose *which* trails to ski twice, so that the total distance/elevation gain are as small as possible. Finding an optimal route is an instance of the “route inspection” or “Chinese postman” problem, which is similar to the famous “travelling salesman problem“. The number of possible routes is astronomically huge, which is why doing this by hand is so hard.

That’s about all the graph theory I know. A better mathematician would use a graph-theoretic algorithm to do this. Instead, I used simulated annealing to search for a route that covers all the trails while trying to minimize a weighted sum of the total distance and total elevation gain, and avoiding having to ski certain trails in an “undesirable” direction (e.g. I don’t want to skate up En Garde in the middle of a 43km ski). This search algorithm has an element of randomness, so every time the code runs it finds a different route. The routes shown above are just a few that offer some variety, though inevitably there are similarities.

In all there are 29 intersections and 48 trail segments, not including the two isolated trails to the village and outpost cabin. Stripping away the geography gives a “mathematician’s view” of the trail network (drawn using the igraph package in the R language):

My numbering of intersections is a bit haphazard — the result of making many corrections along the way. Distances shown are only approximate: I had to estimate them from the trail map. **If anyone has more accurate GPS data I would love to have it!**

**Update 19.01.2021** — I’m delighted (surprised!) that interest in this continues. By request, I worked out some optimal routes that include the ski up (and back down) Holy Cow, rather than riding the chairlift up (what! are you crazy!?). Here is one such, which excludes the currently-closed part of En Garde between Black Bear and Great Grey:

24 28 21 20 22 12 17 16 13 14 4 3 2 15 1 29 1 2 3 5 4 5 25 26 9 11 27 12 27 10 9 8 11 9 8 7 6 5 6 26 25 10 27 23 28 23 22 27 13 14 15 18 19 20 17 12 16 17 20 19 21 24

# Find Your Own Route

It’s actually pretty easy to plot your own custom route using the following modified network:

Here I’ve doubled up some of the trail segments so that an even number of trails leave every intersection: this guarantees existence of a closed-loop route that visits every segment exactly once. Every doubled-up segment corresponds to a trail that you will have to ski twice (though not necessarily in the same direction each time) so I’ve tried to double up only on short segments.

Try printing the image above and drawing a route on it with a pencil: start wherever you want and trace a route so that you never trace over the same path twice. In this way you can easily find lots of different routes that cover the whole network. They all have the same total distance (about 43 km).

Note: to follow the recommended safest directions on Stellar Jay / En Garde you’ll have to ski up segment 8-11 twice.

To include the Holy Cow climb you need to delete segment 24-29, but then you also need to add/delete other doubled-up segments so that you again end up with an even number of trails at every intersection. If you have the fortitude for such a ski then you certainly have the mental stamina to work this out for yourself.

Thank you for doing this, Richard! I have been doodling on maps for days! have you skied all the routes? Which do you like best? Planning to try on the next “fast” day! have to get us closer to Mexico!! Cheers, Ann

I actually haven’t skied *any* of the routes myself! (Just haven’t had that much free time all at once.) I don’t know of anyone who’s tried more than one route and compared. All the routes suffer from some (unavoidable) repetition, which can be irritating once fatigue sets in. Personally I’d go for one that has (1) most of the repetition near the beginning, and (2) either the cabin or the nordic center near the middle, so there’s a chance to rest and fuel up.

It’s pretty easy to churn out more routes (it’s computer-automated). If you have criteria in mind that might make for a better route, let me know and I’ll try to build it in.