Selection optimisation

The tools Optimise and Initial solution in Tools|Optimise are used to create schedules automatically and optimise them while keeping the resources in events unchanged.

Selection optimisation works the other way round: the scheduled and allocated periods of events are not changed, but this tool selects the resources to add to, and swap between, events to optimise them according to the rules users has set. For instance, users can use this selection to attach students to suitable courses automatically after their course requirements have been set. These optimisation tools can be used at any time, even after scheduling, and this tool like any other tool in Mimosa does not create any conflicts in timetables.

Open Selection optimisation in the Tools menu. The following submenu of actions is displayed:

In selection optimisation events typically consist of a teacher, room, subject and a list of students. In selection optimisation the students are added to or removed from events. Using subjects in events informs the application which events are replaceable, i.e. if two or events have the same subject, it is possible to move a student across these events. This information is utilised by the optimisation algorithm.

Define categories for Students and Subjects

These methods are typically used to improve the timetables of "students", or similar kind or resources representing persons, based on moving them across events which are "similar". The similarity of two or more events is identified by adding them the same "subject". Since Mimosa does not know which of the categories are used as "students" or as "subjects" you must first select them. By default, students are the 5th category and subjects the 4th category.

Although the terms "students" and "subjects" are used throughout the user interface of this tool you can, in fact, use any resource categories for optimisation. Consider "students" equivalent to "the category of the resources being optimised" and "subjects" equivalent to "the category of the resources that identify equivalent or similar events for the purposes of optimisation". You normally need to define these categories only once, since they are stored in the current Mimosa file.

Select first the category for "Students":

Select then the category for "Subjects" (which must be different than "Students"):

It is recommended that when you use "subjects" as the resource category to indicate Mimosa which events are "similar" or "replaceable" when selecting across events, check in Options|Timetables that Prevent conflicts for is unchecked. This ensures that events with the same subject can be scheduled in the same time without causing conflicts. By default, this category is unchecked.

Add at least one resource to these categories, if you have not done that yet.

Edit student requirements

In this selection you set the requirements for the students selections.

Assume that you would like to add students to events according to the matching subjects that have attached both to events and to the requirements of students. You may also allow students to move across events which have the same subject. Since event and resource codes in Mimosa are unique, the only way to inform Mimosa that two or more events are identical or similar from the students' selection point of view, is to attach the same subject to these events. For instance, if there are three events MATH, PHYSICS and CHEMISTRY and the requirement is that each student must select at least one event representing SCIENCE, the simplest solution is to create a subject "SCIENCE" and attach it to all those events.

Event with a subject:

Several events having the same subject - event codes are different but their same subject makes them "repleacable":

When you invoke this selection, Mimosa automatically creates a table of students as rows and subjects as columns. The entries you input in this table are the numbers which indicate how many times each student must be attached to an event containing each subject. On he same row you have to list those subjects and students (in any order) which are permissible combinations. Suppose you have created the following eight subjects (codes BASIC, COMMON, PROFESSIONAL, DEEPER, VOLUNTARY, SHOULD_HAVE, SPECIALIZATION) in the list of Resources view and attached them to appropriate events.

List of "subjects" added to Resources view:

For instance, subjects "BASIC" and "PROFESSIONAL" were added to the following lists of events, respectively:

When at least one "student" and one "subject" has been created in Resources view, Mimosa creates a selection matrix which has its rows the students and columns the subjects. Each entry in the matrix represents the number of times the student and subject have been attached to the same event. If they do not match, the cell is blank.

For instance, in the table below, the student "Albert_Tasha" and the subject "COMMON" appear three times in three events ("MUL817", "SOF356" and "SOU651"). This is denoted by the number "3" in the cell.

The number which is enclosed in the same cell is the requirement of the user to indicate the minimum times the student should select a event which contains that subject. For instance, if the cell contains "3(1)", it indicates that the student must select at least one event which contains the subject on that column. In this case, the requirement is exceeded, since the student has selected 3 events having this subject. If the requirement is satisified (but not exceeded), the black colour is used (such as "2(2)"). If no requirements have been set and this student and subject are never attached to the same event, the cell is blank.

If the enclosed number is higher than the number on the left, such as in "0(1)", this indicates that the requirement is higher than the number of times when this student and subject are attached to the same event. In optimisation Mimosa attempts to fix these errors by suitable moving students across events.

Each of the requirements can be edited by entering a new number in the box below the grid, but it is more efficient and recommended to use the copy and paste commands and a spreadsheet application to enter the whole table of requirements at once:

  1. Copy the matrix to the Clipboard with the [Copy] button
  2. Paste it to the spreadsheet application.
  3. Make the necessary changes in the spreadsheet application
  4. Paste it back to Mimosa with the [Paste] button

The requirements are typically very similar for each student, and their values are often "0" or "1":

You can use the [Clear] button to clear all current requirements.

Student selections which exceed the requirements (4201) and which are below the requirements (760), and also the number of all requirements are shown (6066). When student selections are optimised, the number of selections below the requirements are minimised and in the ideal case the cells having red colours will disappear.

Right-click the grid to invoke the following pop-up menu. It allows to manually change the selections and requirements and copy the contents of the table to the Clipboard and paste from the Clipboard.

When you click a cell in the grid, the row [Student] and column [Subject] will change accordingly.

    Menu selectionAction
    Copy requirements to the ClipboardCopies the matrix containing the students, subjects and requirements to the Clipboard using the same format as "Paste requirements from the Clipboard".
    Paste requirements from the ClipboardPastes the matrix containing the students, subjects and requirements from the Clipboard using the same format as "Copy requirements to the Clipboard".
    Copy selections to the ClipboardCopies the matrix containing the students, subjects and their selections (=numbers of events containing both the student and subject) to the Clipboard.
    Add new selection to student [Student]For the current student, looks for the list of other available events containing the current subject and if found, enables to add it to the event user selects.
    Remove selection from student [Student]For the current student, looks for the list of events containing this student and enables to remove the student from the event user selects.
    Remove subjects from events with student [Student]Looks for all events containing this student and enables to remove it from all events at once.
    Remove students from events with subject [Subject]Looks for all events containing this subject and enables to remove it from all events at once.
    Clear the requirement of [Student] and [Subject]Clears the requirement of the current student and subject (sets it equal to 0).
    Clear all requirements of student [Student]Clears all requirements of the current student (sets all requirements on this row equal to 0).
    Clear all requirements of subject [Subject]Clears all requirements of the current subject (sets all requirements on this column equal to 0).

For example, if you select to "Add new selection to student", all events where you can add the current "student" and which also contain the current "subject", are listed.

The grid containing the requirements is stored in the Mimosa file. When you run the optimisation, Mimosa takes into account the requirements into account and moves the students across events having the same subject, in order to fulfill the constraints.

Add students to events

When this tool is invoked, Mimosa first asks the estimated number of resources per event. Students are then added to events until this average number is reached or when adding of students becomes impossible. The goal in this selection is to fill the events as evenly as possible. Student-subject requirements do not apply.

The progress of the addition of resources is displayed and you can stop the process anytime when needed by clicking the [Cancel] button.

Optimise student selections

The goal in optimisation is to minimise the number of selections below requirements. This is achieved by repeatedly moving students across events. In an ideal case, there are no selections below requirements after the optimisation and the bottom of selection matrix looks like the one below, where the number 760 has changed to 0. This cannot always achieved, and user has to manually change some selections or requirements.

The basic operation - moving a student from one event to another - requires that the new event has the same "subject" as the event student is leaving.

When you start, Mimosa first asks you to go to the Edit selection requirements selections to view or edit the student-subject requirements:

After you have made necessary changes and closed this view, you will next have two optimisation options:

    1) If you have selected the first option Optimise student selections based on requirements, optimisation goes through all events and oves students across events having the same subject. The goal is to minimise the number of not satisfied or missing student-subject selections. For each student, optimisation performs several comparisons in order to get closer to the goal.



    2) If you have selected the second option Balance the numbers of students in events, the goal in optimisation is to create events that has an equal or nearly equal number of students.



In both cases, students are swapped across events which both have the same subject, but the goal is different.

Remove students from events

This selection removes one or more selected students from the resource lists of all events. If you want to be more specific with the removal of students, you can use the selection Tools|Clear|7 Event resources which enables to filter the removal with event selection or the selection Remove students from events with subject where the removal is tied with a selected subject of the events.

This selection removes the selected students from events

When you have checked the students to be removed from the list and clicked [OK], they are removed from their events.