Sana El Bahloul's blog

Planification et ordonnancement

 
On confond souvent planification et ordonnancement, la raison la plus probable est une question de vocabulaire. La différence entre planification et ordonnancement est l’utilisation des ressources nécessaires. L’ordonnancement prend donc en compte les contraintes du projets, cela induit la notion d’optimisation.

  • Planification

La planification consiste à établir une organisation selon un plan général. Alors que l’ordonnancement s’attache à disposer et à agencer les informations.
Pour faire un parallèle avec l’informatique, on peut estimer que la cron ou la commande at permettent de planifier. Il sera possible d’organiser les lancements des traitements en indiquant les heures de départs. On peut alors obtenir un plan listant les traitements et leurs heures de départ.
A l’heure indiquée, le traitement sera lancé quelque soit l’état des autres traitements et des ressources nécessaires. La gestion des ressources se fait simplement en ajoutant des marges entre les traitements. Ces marges peuvent être affinées en fonction des évolutions des temps de traitement, en cas ce marges insuffisantes, le plan est modifié pour prendre en compte le décalage.

  • Ordonnancement

L’ordonnancement prend en compte les différentes contraintes de l’environnement, l’heure de départ n’est donc plus une condition suffisante pour le lancement du traitement.
Pour supprimer les marges et donc optimiser les temps de traitement, on peut lier les batchs entre eux en fonction de leurs statuts ou d’éléments plus fins tels que le code de sortie. Le lancement d’un traitement n’est plus en fonction d’une heure donnée et établie par un plan mais directement à la fin d’un traitement précédent.
Ces contraintes peuvent aussi être techniques, les conditions seront basées sur des critères de ressources systèmes quelles soient matérielles (cpu, mémoire...) ou logicielles (présence de processus, fichiers...).

  • Scheduler

La cron est un scheduler, on s’en sert pour planifier des traitements sur Unix. Il n’est pourtant pas possible de "séquencer" les traitements, ce n’est donc pas un ordonnanceur comme on peut le lire généralement.
Pour distinguer les différents "schedulers", on utilise les termes "job scheduling" pour signifier qu’il s’agit d’une planification de jobs mais surtout, et cela est seulement induit, que ces jobs sont dépendants entre eux.
Pour les ordonnanceurs évènementiels dont le mécanisme repose sur des événements, on précisera plutôt "event-driven job scheduling".
 
Auteur : E. Angenault
 
 

Problème de planification d’horaire (2e partie)

Le premier article de cette série décrivait la problématique de la planification d’horaires. Il a été publié il y a quelques mois de cela sous le titre: Problème de planification d’horaire. Couverture d’une courbe des besoins La couverture d’une courbe de besoins est en fait le problème que l’on résout lorsque l’on optimise des horaires,  ce qui suit la décrit. Chaque quart de travail (shift) est caractérisé ici par son heure de début et son heure de fin, et l’objectif est de choisir le nombre d’employés à faire travailler sur chaque quart, de façon à couvrir les besoins tout en minimisant le nombre total d’heures de travail pour cette journée. Le problème est donc polynomial. De plus, les différentes contraintes de la vie courante d’une compagnie rendent le problème de plus en plus compliqué. Exemple : Dans cet exemple, on présentera la couverture d’une courbe des besoins. On a quatre quarts Q1, Q2, Q3 et Q4, et une table des besoins décrite ci - dessous :  

Tableau 1 : Table des différentes quarts de travail

Les quarts

Heure de début

Heure de fin

Q1

8H

12H

Q2

12H

16H

Q3

14H

16H

Q4

16H

20H

 

Tableau 2 : Table des besoins

Horaire

8H-12H

12H-14H

14H-16H

16H-20H

Besoins

5

10

12

3

 

Couverture d’une courbe de besoin par les Quarts de notre exemple

 Untitled

 

Dans la figure précédente, on a placé les différents quarts Q1, Q2, Q3 et Q4 sur la courbe de besoins. On essaie de couvrir la courbe de besoins tout en minimisant la partie des quarts qui se situe à l’extérieure de l’intersection des quarts et de la courbe (la partie hachurée). Donc l’objectif consiste à minimiser l’écart entre les besoins et les quarts affectés.

Min ∆= min (∑ des besoins - ∑ des quarts placés).

À condition que ∆ ≥ 0.

 

Les méthodes de résolution seront évoqués dans une troisième partie.

Problème de planification d’horaire

Ce billet est le premier d'une série sur l'optimisation des horaires et les différentes solutions de résolution.  Il n'est qu'une introduction et une définition du problème, le prochain abordera les différentes techniques d'optimisation. La planification et la gestion optimale des ressources humaines jouent un rôle important dans la productivité et la compétitivité des entreprises. Les fonds alloués à la rémunération représentent une partie importante des dépenses. Donc, Une gestion efficace du personnel est un facteur économique primordial. Objectifs de la planification La planification d’horaires de travail vise, pour un horizon de planification d’un jour à quelques mois, à dimensionner une force de travail et à optimiser l’utilisation de cette ressource, de façon a couvrir un besoin exprimé par une charge de travail prévisionnelle, tout en respectant un ensemble de contraintes précises. Elle aboutit à des programmes définissant les horaires de travail et de repos de la force de travail, en trouvant le meilleur compromis entre les préférences des différents acteurs .

Syndicate content