Title: Distributes Teachers Lessons On Days in a Balanced Manner
Version: 0.1.3
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/.
License: MIT + file LICENSE
Encoding: UTF-8
Language: ro
RoxygenNote: 7.3.2
Depends: R (≥ 3.5.0)
LazyData: true
Imports: dplyr, magrittr, purrr, rlang, stats
Suggests: knitr, rmarkdown
VignetteBuilder: knitr
NeedsCompilation: no
Packaged: 2025-05-20 14:20:53 UTC; vb
Author: Vlad Bazon [aut, cre]
Maintainer: Vlad Bazon <vlad.bazon@gmail.com>
Repository: CRAN
Date/Publication: 2025-05-20 14:40:02 UTC

days2lessons: 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/.

Author(s)

Maintainer: Vlad Bazon vlad.bazon@gmail.com


Pipe operator

Description

See magrittr::%>% for details.

Usage

lhs %>% rhs

Arguments

lhs

A value or the magrittr placeholder.

rhs

A function call using the magrittr semantics.

Value

The result of calling rhs(lhs).


Lecții (inclusiv cuplaje) pentru o săptămână de lucru într-o școală.

Description

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.

Usage

LSS

Format

prof

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ă

cls

Clasa (două sau trei caractere) la care profesorul are de făcut o lecție


Exemplu de tuplaje; lecțiile dintr-un tuplaj au a se desfășura simultan.

Description

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.

Usage

TPL

Format

prof

Profesorii care trebuie să intre în același moment, la câte una dintre clasele respective

cls

Clasele la care profesorii din tuplaj au de făcut câte o lecție, în câte o aceeași zi (și oră).


Repartizarea pe zile a tuplajelor

Description

Din distribuția pe zile a tuturor lecțiilor se deduc zilele în care au fost repartizate tuplajele existente.

Usage

days2tupl(DZ, TP)

Arguments

DZ

distribuția pe zile returnată de 'mount_days()'.

TP

setul tuplajelor, dacă există.

Value

setul tuplajelor, completat cu un câmp conținând ziua (sau zilele) în care a fost repartizat fiecare.


Lista lecțiilor repartizate în câte o aceeași zi

Description

Asociază fiecărei zile, setul lecțiilor repartizate în acea zi (în format lung, 'prof/cls')

Usage

less2days(DZ)

Arguments

DZ

distribuția pe zile a tuturor lecțiilor

Value

Listă conținând pentru fiecare zi, lecțiile acelei zile


Montează zilele pe lecții, echilibrat

Description

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).

Usage

mount_days(LSS, TPL = NULL, Dfh = 2)

Arguments

LSS

Setul lecțiilor profesorilor și cuplajelor.

TPL

Setul tuplajelor.

Dfh

Diferența maximă între maximul și minimul de ore/zi la clase.

Value

O repartiție pe zile a tuturor lecțiilor, relativ echilibrată.

Examples


    R123 <- mount_days(LSS, TPL, Dfh = 3)

mirror server hosted at Truenetwork, Russian Federation.