
\section{Modélisation}
\label{sec:modelisation}

%% TODO INTRODUIRE LA SECTION

\subsection{Paramètres}
\label{sec:parametres}

\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}.

\begin{align}
  \label{eq:dtot}
  D^{TOT} = \sum_{p=1}^{P} \sum_{j=1}^{J} d_{p,j}
\end{align}

\subsubsection{Employés}
\label{sec:modeleemployes}

Notre modèle considère deux types $A$ d'employés: les employés à temps plein et les employés à temps partiel \eqref{typeemployes}.

\begin{align}
  \label{typeemployes}
  A \in {FT,PT}
\end{align}

Ils travaillent des périodes consécutives d'une durée $i^{A}$ heures. L'intervalle de travail des employés à temps plein doit cependant débuter à la première, troisième ou cinquième période. On définit aussi un nombre d'heures de repos minimal $r_{min}^{A}$ entre les périodes travaillées. Les employés à temps plein travaillent $h_{reg}^{FT}$ heures par période de deux semaines et les employés à temps partiel travaillent entre $h_{min}^{PT}$ et $h_{max}^{PT}$ heures durant cette même période. Les employés ne travaillent pas plus que $j_{max}^{A}$ journées consécutives. Le nombre d'employés $E$ de chaque type est variable et sera déterminé par les ratios \eqref{eq:eftept}:

\begin{align}
  \label{eq:eftept}
  E^{A} &= \frac{D^{TOT}}{h_{reg}^{A}}, &\forall A
\end{align}

Les employés ont respectivement un salaire horaire de $S^{A}$ et encourent un frais fixe de $F^{A}$. Afin de représenter une plus faible productivité des employés à temps partiel, on pourra majorer artificiellement leur salaire horaire.

\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}. 

\begin{align}
  \label{tableauxvariables}
  X^{A} &= \left( x_{e,j,p}^{A} \right) \in \N^{E^{A} \times J \times P} &\forall A\\
  dom(x_{e,j,p}^{A}) &= \lbrace 0,1 \rbrace &\forall 1 \leq e \leq E^{A}, 1 \leq j \leq J, 1 \leq p \leq P\nonumber
\end{align}

\subsection{Énumération des horaires valides}
\label{sec:horairesvalides}

Afin de réduire la taille du problème, la liste des horaires quotidiens valides pour un employé est générée, pour chaque type d'employés. Il s'agit de deux sous-problèmes de satisfaction pouvant aussi être résolus avec le solveur Choco \cite{choco}. L'énumération de toutes les solutions obtenues sera ensuite utilisée pour générer l'ensemble des tuples d'une contrainte \textsc{Tableau}.

\subsubsection{Paramètres}
\label{sec:horairesparametres}

\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$.

\subsubsection{Contraintes}
\label{sec:horairescontraintes}

L'horaire doit respecter le nombre de périodes travaillées sur la durée totale de l'horaire.

\begin{align}
  \frac{h_{min}^{A}}{i^{A}} \leq \sum_{j=1}^{J} h_{j} \leq \frac{h_{max}^{A}}{i^{A}}
\end{align}

L'horaire de l'employé à temps partiel doit contenir un même nombre de jours dans les deux sous-périodes $j \in [p1_{min},p1_{max}]=[1,5]$ et $j \in [p2_{min},p2_{max}]=[8,12]$ du lundi au vendredi.

\begin{align}
  \sum_{j=p1_{min}}^{p1_{max}} h_{j} = \sum_{j=p2_{min}}^{p2_{max}} h_{j}
\end{align}

L'horaire doit inclure le travail durant une fin de semaine sur deux.

\begin{align}
  h_{6} &= h_{7} \wedge h_{13} = h_{14} \wedge h_{6} \neq h_{13}
\end{align}

L'horaire doit respecter le nombre maximum de jours consécutifs travaillés autorisés. On utilise une contrainte \textsc{Regular} \guillemotleft réifiée \guillemotright pour représenter le non-respect de cette contrainte, c'est-à-dire lorsque qu'on retrouve une séquence de jours consécutifs dont la longueur est supérieure à $j_{max}^{A}$. L'automate fini pour cette contrainte lorsque $j_{max}^{A}=4$ est représenté à la figure \ref{fig:automatemaxconsecutif}. L'expression régulière représentant cet automate prend la forme \texttt{[01]*1\{5,\}[01]*}.

\begin{figure}[ht]
  \centering
  \includegraphics[width=15cm]{maxconsecutif}
  \caption{Automate fini d'un horaire où $j_{max}^{A} \leq 4$ n'est pas respecté}
  \label{fig:automatemaxconsecutif}
\end{figure}

\subsection{Contraintes}
\label{sec:contraintes}




%%% Local Variables:
%%% mode: latex
%%% TeX-master: "rapport_de_recherche"
%%% End:

