csp
Class ClassSchedulingProblem

java.lang.Object
  |
  +--csp.ClassSchedulingProblem

public class ClassSchedulingProblem
extends java.lang.Object

Insert the type's description here. Creation date: (9/9/00 4:50:15 PM)


Field Summary
 int classesPerStudent
          number of classes per student
 int[] classTimes
          time slot listings for each class indexed by class number
 double[] enrollCDF
          cumulative distribution function for probability of student enrollment by class.
 double enrollmentProportion
          class 1 enrollment divided by class n enrollment we use a simple model where classes are ordered by decreasing enrollment and assume this is proportional to the position in the order
 int numOfClasses
          number of classes that exist
 int numOfStudents
          number of students to schedule classes for
 int numOfTimeSlots
          number of time slots classes can be assigned to
 java.util.Random rng
          random number generator - if you wish, the seed can be set and randomInitialization rerun
 int[][] studentClasses
          course listings for each student indexed by student number and containing a array of classesPerStudent class numbers
 
Constructor Summary
ClassSchedulingProblem(int numOfStudents, int classesPerStudent, int numOfClasses, int numOfTimeSlots, double enrollmentProportion)
          ClassSchedulingProblem constructor with parameters: numOfStudents, classesPerStudent, numOfClasses, numOfTimeSlots, enrollmentProportion see field documentation for details of each
 
Method Summary
 int numOfConflicts()
          Compute the total number of conflicts in student schedules.
 void printEnrollmentDistribution()
          Print the class enrollments in comma-seperated value (CSV) format Creation date: (9/11/00 3:51:05 PM)
 void randomInitialization()
          Randomly initializes student class enrollments and class time slots Creation date: (9/9/00 5:24:24 PM)
 void randomRestart()
          Randomly reassign classes to time slots.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

numOfStudents

public int numOfStudents
number of students to schedule classes for

classesPerStudent

public int classesPerStudent
number of classes per student

numOfClasses

public int numOfClasses
number of classes that exist

numOfTimeSlots

public int numOfTimeSlots
number of time slots classes can be assigned to

enrollmentProportion

public double enrollmentProportion
class 1 enrollment divided by class n enrollment we use a simple model where classes are ordered by decreasing enrollment and assume this is proportional to the position in the order

studentClasses

public int[][] studentClasses
course listings for each student indexed by student number and containing a array of classesPerStudent class numbers

classTimes

public int[] classTimes
time slot listings for each class indexed by class number

enrollCDF

public double[] enrollCDF
cumulative distribution function for probability of student enrollment by class. That is, the prob. that a student will enroll in class n is enrollCDF[n]-enrollCDF[n-1]

rng

public java.util.Random rng
random number generator - if you wish, the seed can be set and randomInitialization rerun
Constructor Detail

ClassSchedulingProblem

public ClassSchedulingProblem(int numOfStudents,
                              int classesPerStudent,
                              int numOfClasses,
                              int numOfTimeSlots,
                              double enrollmentProportion)
ClassSchedulingProblem constructor with parameters: numOfStudents, classesPerStudent, numOfClasses, numOfTimeSlots, enrollmentProportion see field documentation for details of each
Method Detail

numOfConflicts

public int numOfConflicts()
Compute the total number of conflicts in student schedules. Creation date: (9/9/00 5:58:41 PM)
Returns:
int

printEnrollmentDistribution

public void printEnrollmentDistribution()
Print the class enrollments in comma-seperated value (CSV) format Creation date: (9/11/00 3:51:05 PM)

randomInitialization

public void randomInitialization()
Randomly initializes student class enrollments and class time slots Creation date: (9/9/00 5:24:24 PM)

randomRestart

public void randomRestart()
Randomly reassign classes to time slots. Creation date: (9/9/00 5:51:30 PM)