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, weaken
public 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)
Model
getInfo
in class Model<TeachingRequest.Variable,TeachingAssignment>
assignment
- current assignmentpublic double getTotalValue(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment)
Model
Value.toDouble(Assignment)
.getTotalValue
in class Model<TeachingRequest.Variable,TeachingAssignment>
assignment
- current assignmentpublic double getTotalValue(Assignment<TeachingRequest.Variable,TeachingAssignment> assignment, Collection<TeachingRequest.Variable> variables)
Model
Value.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)