| Title: | Distributes Teachers Lessons On Days in a Balanced Manner |
|---|---|
| Description: | The set of teacher/class lessons is completed with a column that allocates a day to each lesson, so that the distribution of lessons by day, by class, and by teacher is as uniform as possible. <https://vlad.bazon.net/>. |
| Authors: | Vlad Bazon [aut, cre] |
| Maintainer: | Vlad Bazon <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.3 |
| Built: | 2026-05-15 09:16:32 UTC |
| Source: | https://github.com/cran/days2lessons |
Din distribuția pe zile a tuturor lecțiilor se deduc zilele în care au fost repartizate tuplajele existente.
days2tupl(DZ, TP)days2tupl(DZ, TP)
DZ |
distribuția pe zile returnată de 'mount_days()'. |
TP |
setul tuplajelor, dacă există. |
setul tuplajelor, completat cu un câmp conținând ziua (sau zilele) în care a fost repartizat fiecare.
Asociază fiecărei zile, setul lecțiilor repartizate în acea zi (în format lung, 'prof/cls')
less2days(DZ)less2days(DZ)
DZ |
distribuția pe zile a tuturor lecțiilor |
Listă conținând pentru fiecare zi, lecțiile acelei zile
Set numit 'LSS' de 870 lecții prof|cls (cu 66 profesori din care 4 cuplaje și cu 32 clase). Pe săptămână, profesorii din 'LSS' au între 1 și 28 de lecții, iar clasele între 25 și 31 de ore.
LSSLSS
Cod de 3 sau 6 caractere, reprezentând un profesor, respectiv un cuplaj (doi profesori, pe grupe ale unei clase); primele două litere abreviază disciplina pe care este încadrat profesorul, iar cifra care urmează indexează profesorii de pe aceeași disciplină
Clasa (două sau trei caractere) la care profesorul are de făcut o lecție
Repartizarea pe zile decurge separat: lecțiile celor neimplicați în cuplaje (plus dacă există, cuplajele "externe"), respectiv ale cuplajelor și membrilor acestora; în final, se adaugă repartizarea lecțiilor din tuplaje (dacă există). Repartiția pe zile a cuplajelor și respectiv, a tuplajelor are caracter "dinamic", repetându-se până când îmbinând cele trei repartiții, distribuția lecțiilor la fiecare clasă este cât se poate de echilibrată (numărul de ore/zi diferă cu cel mult 2 sau 3 ore).
mount_days(LSS, TPL = NULL, Dfh = 2)mount_days(LSS, TPL = NULL, Dfh = 2)
LSS |
Setul lecțiilor profesorilor și cuplajelor. |
TPL |
Setul tuplajelor. |
Dfh |
Diferența maximă între maximul și minimul de ore/zi la clase. |
O repartiție pe zile a tuturor lecțiilor, relativ echilibrată.
R123 <- mount_days(LSS, TPL, Dfh = 3)R123 <- mount_days(LSS, TPL, Dfh = 3)
Set numit 'TPL', conținând 27 de tuplaje asociate setului 'LSS'. Un tuplaj va angaja într-un același moment (zi și oră), doi (sau trei) profesori și două (respectiv, trei) clase (după anumite criterii, elevii reuniți ai claselor respective sunt redistribuiți ad-hoc în noi "clase", în locul și cu numele celor inițiale). De separat cu câte un spațiu, profesorii, respectiv clasele tuplajului. Atenție: considerăm că niciun profesor "extern" (fără ore proprii, ci numai în cuplaje) NU poate face parte din vreun tuplaj.
TPLTPL
Profesorii care trebuie să intre în același moment, la câte una dintre clasele respective
Clasele la care profesorii din tuplaj au de făcut câte o lecție, în câte o aceeași zi (și oră).