I have a set of sets of time intervals (hour, minute, day of the week). I want to select exactly one interval from each of set, and I want to minimize...
- the number of pairwise intersections,
- the total number of days,
- the total time,
- minus (the average start time), and
- the average end time.
The number of intersections is always the most important, but the precedence of the other four is not known in advance. The number of sets is small (generally around 8), but the number of options can be pretty big (around 10), so trying all ~1E8 permutations is impossible.
What I've Tried
My current solution is to backtrack until I find a solution without intersections, giving up after a completely arbitrary number of iterations, and trying again with a higher number of allowed intersections. After repeating this process a few times, I select the best one.
This is probably really naive, so I came here hoping for a better approximation.