public class InstructorSchedulingModel extends Model<TeachingRequest.Variable,TeachingAssignment>
TeachingRequest, values are TeachingAssignment.
Each teaching request has a course (see Course) and one or more sections (see {link Section}).
Each assignment assigns one instructor (see Instructor) to a single teaching request.sDoubleFormat, sPercentageFormat, sTimeFormat| Constructor and Description |
|---|
InstructorSchedulingModel(DataProperties properties)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAttributeType(Attribute.Type type)
Register an attribute type
|
void |
addInstructor(Instructor instructor)
Add instructor
|
void |
addRequest(TeachingRequest request)
Add teaching request and the related variables
|
protected static String |
bitset2string(BitSet b)
Convert bitset to a bit string
|
protected static BitSet |
createBitSet(String bitString)
Create BitSet from a bit string
|
Set<Attribute.Type> |
getAttributeTypes()
Return registered attribute types
|
Map<String,String> |
getInfo(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Returns information about the current solution.
|
List<Instructor> |
getInstructors()
All instructors
|
DataProperties |
getProperties()
Return solver configuration
|
List<TeachingRequest> |
getRequests()
All teaching requests
|
double |
getTotalValue(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Value of the current solution.
|
double |
getTotalValue(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment,
Collection<TeachingRequest.Variable> variables)
Value of the current solution.
|
List<BitSet> |
getWeeks()
The method creates date patterns (bitsets) which represent the weeks of a
semester.
|
boolean |
load(Document document,
Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Load the problem (and its solution) from an XML format
|
Document |
save(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Store the problem (together with its solution) in an XML format
|
protected static int |
string2preference(String pref)
Convert preference string to a preference value
|
addConstraint, addCriterion, addGlobalConstraint, addModelListener, addVariable, afterAssigned, afterAssigned, afterUnassigned, afterUnassigned, assignedVariables, assignedVariables, beforeAssigned, beforeAssigned, beforeUnassigned, beforeUnassigned, bestUnassignedVariables, bestUnassignedVariables, clearAssignmentContexts, clearBest, conflictConstraints, conflictValues, conflictValues, constraints, countConstraints, countGlobalConstraints, countVariables, createAssignmentContexts, createInheritedAssignment, createReference, getBestPerturbations, getBestUnassignedVariables, getBestValue, getCriteria, getCriterion, getDefaultAssignment, getEmptyAssignment, getExtendedInfo, getExtendedInfo, getInfo, getInfo, getInfo, getInfoProviders, getModelListeners, getPerc, getPercRev, getTotalValue, getTotalValue, globalConstraints, inConflict, inConflict, init, invalidateVariablesWithInitialValueCache, modelListenerOfType, nrAssignedVariables, nrAssignedVariables, nrUnassignedVariables, nrUnassignedVariables, perturbVariables, perturbVariables, perturbVariables, perturbVariables, perturbVariables, removeConstraint, removeCriterion, removeCriterion, removeGlobalConstraint, removeModelListener, removeReference, removeVariable, restoreBest, restoreBest, restoreBest, saveBest, saveBest, setBestValue, setDefaultAssignment, toString, toString, unassignedHardConstraints, unassignedVariables, unassignedVariables, variables, variablesWithInitialValue, weakenpublic InstructorSchedulingModel(DataProperties properties)
properties - data propertiespublic DataProperties getProperties()
public void addInstructor(Instructor instructor)
instructor - an instructorpublic List<Instructor> getInstructors()
public void addRequest(TeachingRequest request)
request - teaching requestpublic List<TeachingRequest> getRequests()
public Set<Attribute.Type> getAttributeTypes()
public void addAttributeType(Attribute.Type type)
type - attribute typepublic Map<String,String> getInfo(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
ModelgetInfo in class Model<TeachingRequest.Variable,TeachingAssignment>assignment - current assignmentpublic double getTotalValue(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
ModelValue.toDouble(Assignment).getTotalValue in class Model<TeachingRequest.Variable,TeachingAssignment>assignment - current assignmentpublic double getTotalValue(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Collection<TeachingRequest.Variable> variables)
ModelValue.toDouble(Assignment). Only variables from the given set are
considered.getTotalValue in class Model<TeachingRequest.Variable,TeachingAssignment>assignment - current assignmentvariables - sub-problempublic Document save(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
assignment - current assignmentpublic boolean load(Document document, Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
document - XML documentassignment - current assignmentprotected static String bitset2string(BitSet b)
protected static BitSet createBitSet(String bitString)
protected static int string2preference(String pref)