Providing an understandable way to adjust the objective function is essential to finding good coefficients and is key to its usability. In the HMS assignment system, four rules, like this, are required to put students of nearer ages together:
18 years +/- 1 year 64 (not empty(applicant.birthdate) and not empty(occupant.birthdate)) and between((date()-applicant.birthdate),6205,6934) and between((date()occupant.birthdate),6205,6934)
Such rules, though relatively general, are hard to understand and modify. In the DAO, by contrast, the same constraint is expressed as two configuration parameters:
ERR_AGE_DIFF = 3 ACCEPT_AGE_DIFF = 2
|Seniority vs Smoking Question|
|A student with seven semesters seniority did not get into any of his requested halls because his smoking status caused too many red flags to go up! Ranville was able to lower the smoking error enough to get him into a single room in his first choice non-smoking dorm (with the understanding he would not be able to smoke in his room), without causing havoc among the other less senior smokers.|
For the most part, at a constant temperature, larger coefficients create a more rugged landscape, while smaller ones make a more even terrain. The smaller coefficients become more important as the temperature is lowered. Except for dorm and roommate preferences, the rules apply evenly among all the residents. Mixed weighted and unweighted constraints complicate the job of balancing the values chosen, but serves to express the seniority and reservation order advantages.
| A student requesting a single room was assigned a single
room in a hall they didn't want, instead of a double room in their
third choice hall, even though some lower priority students did get
in. Other similar cases were found. Trying the obvious fix --
increasing the third choice hall error -- still left some students
Further investigation uncovered the real explanation: The DAO was constrained because those lower ranked students' other hall choices were already filled, except for special living option rooms.
Summary reports generated by the DAO revealed that many of those special living option rooms were ultimately left vacant. When Ranville removed the excess special living designations and reran the DAO, the problem was solved.
More quickly than ever before, Housing can generate a complete set of reports to describe the current state of the HMS database. The ten DAO reports provide clues for adjusting constraint coefficients and improving assignments. Dorm_View allows the user to further refine the reports by hall, and visualize problem areas.