Try to swap a period between two exams.
Two examinations are randomly selected. A new placement is generated by swapping periods of the two exams.
For each exam, the best possible room placement is found. If the two exams are in the same period, it just tries
to change the room assignments by looking for the best available room placement ignoring the existing room assignments
of the two exams. If no conflict results from the swap the assignment is returned.
The following exams of the second exam in the pair are tried for an exam swap otherwise.
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.