Class MuseumRouteOptimizer

java.lang.Object
org.episteme.social.arts.MuseumRouteOptimizer

public final class MuseumRouteOptimizer extends Object
Provides algorithms for optimizing visitor routes through museum galleries. It considers factors such as available time, importance of artworks, geographical layout of the museum, and visitor interests.
Since:
1.0
Version:
2.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • optimizeRoute

      public static MuseumRouteOptimizer.OptimizedRoute optimizeRoute(MuseumRouteOptimizer.MuseumLayout museum, int availableMinutes, List<String> mustSee, List<String> interests)
      Optimizes a visitor route for a limited available time using a greedy nearest-neighbor approach weighted by artwork importance.
      Parameters:
      museum - the museum layout
      availableMinutes - total time available for the visit
      mustSee - IDs of artworks that must be included in the tour
      interests - keyword list for thematic weighting (not used in current simplified version)
      Returns:
      an OptimizedRoute tailored to the constraints
    • thematicTour

      public static MuseumRouteOptimizer.OptimizedRoute thematicTour(MuseumRouteOptimizer.MuseumLayout museum, String theme, int maxWorks)
      Generates a tour focused on a specific theme or gallery.
      Parameters:
      museum - the museum layout
      theme - the keyword to filter works by
      maxWorks - maximum number of works to include
      Returns:
      an OptimizedRoute for the theme
    • estimateFullTourDuration

      public static int estimateFullTourDuration(MuseumRouteOptimizer.MuseumLayout museum)
      Estimates the total visit time for a full tour of the museum.
      Parameters:
      museum - the museum layout
      Returns:
      estimated duration in minutes