Like medium constraints, they also do not deal with time conflicts at
all but unlike the medium constraints, have a low penalty (or cost)
associated with them. Furthermore, this cost is lower than that of the
medium constraints and much lower than that of the hard ones. In
addition, in the final schedule, this cost is minimized but does not
often approach zero. Here are few examples of soft constraints:
- Balance enrollment in multi-section classes.
- Lunch and other break times may be specified.
- Professors may request periods in which their classes are not taught.
- Professors may have preferences for specific rooms or groups of
rooms.
- The overall schedule should have as few ``holes'' as possible;
that is lessons should be glued together or the separating intervals
are as short as possible. Note: we found that when this constraint is
implemented a contradiction will arise with the abovementioned medium
constraint of class spreading over the week.
- <#339#>Distance constraint<#339#>: deals with the distance between where the
class is assigned and the building which is housing its home
department. Before actually stating what this constraint is we
will first outline how we have dealt with the aspect of distance.
Given the various building preferences of the departments, we
have constructed a matrix #tex2html_wrap_inline1620# between all the academic
departments I and all the buildings involved in scheduling
J. Using #tex2html_wrap_inline1626# in conjunction with the real -- appropriately
scaled -- distance between all buildings
involved in the process , a final distance matrix Q is derived and
directly used in the scheduling process. Also, unless otherwise
stated, for any department its home building is always the first
preference where the department classes to be assigned.
Let B denotes the set of all buildings and let say |B| = m, and
D to denote the set of all departments, |D| = n, and dist
denotes the distance. Now, for each #tex2html_wrap_inline1640# where #tex2html_wrap_inline1642#,
#tex2html_wrap_inline1644# = vector #tex2html_wrap_inline1646# for #tex2html_wrap_inline1648# of
matrix Q. Also, let #tex2html_wrap_inline1652# = minimum of
#tex2html_wrap_inline1654# for #tex2html_wrap_inline1656# of also matrix Q. Now
#tex2html_wrap_inline1660# (the distance cost of #tex2html_wrap_inline1662#) is computed as follows:
#equation1503#