Class ConferenceTalkPlacement


  • public class ConferenceTalkPlacement
    extends java.lang.Object
    It solves a simple conference talk placement problem.
    Version:
    4.8

    It solves a simple conference example problem, where different sessions must be scheduled according to the specified constraints.

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private int computeLowerBound​(int noOfParallelTracks, int noOfTimeSlots, java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> costs)  
      static void main​(java.lang.String[] args)
      It executes the program to solve this Travelling Salesman Problem.
      void model​(int noOfParallelTracks, int noOfTalks, int noOfTimeSlots, int maxSingleCost, java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> costMap)  
      private java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> randomCosts​(int noOfTalks, int randomSeed, int maxSingleCost)  
      boolean search​(int maxCostAllowed, int timeOutSeconds)  
      boolean searchMaxRegretForMatrixOptimal​(int timeOutSeconds)
      It uses MaxRegret variable ordering heuristic to search for a solution.
      private java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> transformCosts​(int[][] costs, int noOfTalks)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConferenceTalkPlacement

        public ConferenceTalkPlacement()
    • Method Detail

      • transformCosts

        private java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> transformCosts​(int[][] costs,
                                                                                                                               int noOfTalks)
      • randomCosts

        private java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> randomCosts​(int noOfTalks,
                                                                                                                            int randomSeed,
                                                                                                                            int maxSingleCost)
      • computeLowerBound

        private int computeLowerBound​(int noOfParallelTracks,
                                      int noOfTimeSlots,
                                      java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> costs)
      • model

        public void model​(int noOfParallelTracks,
                          int noOfTalks,
                          int noOfTimeSlots,
                          int maxSingleCost,
                          java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> costMap)
      • searchMaxRegretForMatrixOptimal

        public boolean searchMaxRegretForMatrixOptimal​(int timeOutSeconds)
        It uses MaxRegret variable ordering heuristic to search for a solution.
        Parameters:
        timeOutSeconds - time-out in seconds
        Returns:
        true if there is a solution, false otherwise.
      • search

        public boolean search​(int maxCostAllowed,
                              int timeOutSeconds)
      • main

        public static void main​(java.lang.String[] args)
        It executes the program to solve this Travelling Salesman Problem.
        Parameters:
        args - no argument is used.