ajout des contraintes à la section modélisation

This commit is contained in:
François Pelletier 2018-04-08 01:01:00 -04:00
parent 77068bcf89
commit 04f26c69fc
2 changed files with 46 additions and 3 deletions

View file

@ -10,7 +10,7 @@
\subsubsection{Horaire de travail et demande}
\label{sec:horairedemande}
Nous considérons un horaire de travail d'une durée de $J$ jours. Chaque journée est composée de $P$ périodes de travail, d'une durée de $\frac{24}{P}$ heures chacunes. La demande de travail pour la période $p$ de la journée $j$ est définie par $d_{p,j}$. La demande totale pour la durée de l'horaire de travail est définie par l'équation \eqref{eq:dtot}.
Nous considérons une planification d'horaires de travail d'une durée de $J$ jours. Chaque journée est composée de $P$ périodes de travail, d'une durée de $\frac{24}{P}$ heures chacunes. La demande de travail pour la période $p$ de la journée $j$ est définie par $d_{p,j}$. La demande totale pour la durée de l'horaire de travail est définie par l'équation \eqref{eq:dtot}.
\begin{align}
\label{eq:dtot}
@ -39,7 +39,7 @@ Les employés ont respectivement un salaire horaire de $S^{A}$ et encourent un f
\subsection{Variables}
\label{sec:variables}
On représente les horaires de travail par deux tableaux de variables booliennes $X^{FT}$ et $X^{PT}$ \eqref{tableauxvariables}.
On représente les horaires de travail par deux tableaux de variables booliennes $\mathbf{X}^{FT}$ et $\mathbf{X}^{PT}$ \eqref{tableauxvariables}.
\begin{align}
\label{tableauxvariables}
@ -58,7 +58,7 @@ Afin de réduire la taille du problème, la liste des horaires quotidiens valide
\subsubsection{Variables}
\label{sec:horairesvariables}
On définit $H^{A} \in \mathcal{N}^{J}$, un vecteur de variables booléennes $h_{j}$ formant un horaire d'une durée de $J$ journées pour un employé de type $A \in \lbrace FT, PT \rbrace$.
On définit $\vec{H}^{A} \in \N^{J}$, un vecteur de variables booléennes $h_{j}$ formant un horaire d'une durée de $J$ journées pour un employé de type $A \in \lbrace FT, PT \rbrace$.
\subsubsection{Contraintes}
\label{sec:horairescontraintes}
@ -90,9 +90,52 @@ L'horaire doit respecter le nombre maximum de jours consécutifs travaillés aut
\label{fig:automatemaxconsecutif}
\end{figure}
On obtient, pour chaque type de travailleur, une liste de vecteurs à laquelle on ajouter le vecteur nul, représentant la situation où l'employé est exclus de l'horaire.
\subsubsection{Ajout des périodes}
\label{sec:horaireajoutperiode}
On considère la matrice des horaires quinzomadaires valides \eqref{eq:horairejourvalide} et la matrice des $n_{hq}^A$ horaires quotidiens valides \eqref{eq:horairequotidienvalide}, on obtient un tableau d'horaires par périodes travaillées valides $\mathbf{V}^A \in \N^{3}$ par le produit tensoriel \eqref{eq:produithoraire}
\begin{align}
\label{eq:horairejourvalide}
\mathbf{H}^A &= \left( \vec{H}^{A} \right)\\
\label{eq:horairequotidienvalide}
\mathbf{Q}^A &= \begin{bmatrix}
q_{1,1}& \cdots& q_{P,1}\\
\vdots&\ddots&\vdots\\
q_{1,n_{hq}^A}&\cdots&q_{P,n_{hq}^A}
\end{bmatrix}\\
\label{eq:produithoraire}
\mathbf{V}^A &= \mathbf{H}^A \otimes \mathbf{Q}^A
\end{align}
\subsection{Contraintes}
\label{sec:contraintes}
Chaque horaire d'employé doit d'abord correspondre à un horaire valide tel qu'établi à la section \ref{sec:horairesvalides}. Il doit donc satisfaire une contrainte \textsc{Tableau} \eqref{eq:contraintetableau}.
\begin{align}
\label{eq:contraintetableau}
\mathcal{C}_1 &: \textsc{Tableau}\left( \mathbf{V}^A,
\begin{bmatrix}x_{e,1,1}&\cdots&x_{e,1,J}\\
\vdots&\ddots&\vdots\\
x_{e,P,1}&\cdots&x_{e,P,J}
\end{bmatrix}\right) & \forall e
\end{align}
La planification doit aussi satisfaire la demande en employés, en utilisant une contrainte \textsc{Sum}.
\begin{align}
\mathcal{C}_2 &: \sum_{A}\sum_{e=1}^{E^A} x_{e,p,j} = d_{p,j} & \forall 1 \leq p \leq P, 1 \leq j \leq J
\end{align}
\subsection{Fonction objectif}
\label{sec:fonctionobjectif}