From 8f3dce3490cc32f1643d610e1931bc72a07914ac Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Wed, 24 May 2023 06:24:43 +0200 Subject: [PATCH 01/34] feat: add gitignore --- .gitignore | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95f1850 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +*.aux +*.log +*.swp +*.out +*.pdf +*.toc +*.maf +*.mtc +*.mtc0 +*.stc +*.stc0 +*.stc1 +*.stc2 +*.stc3 +*.bbl +*.blg +*.stc* +*.bcf +*.run.xml + + From a696d77f7b1776894fb46dc760f0e6e7b1a17162 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Wed, 24 May 2023 07:11:48 +0200 Subject: [PATCH 02/34] feat: import latex template & change vars --- latex/advanced.params/misc.commands.tex | 42 +++ latex/advanced.params/tikz.conf.tex | 13 + latex/clean.sh | 3 + latex/content.tex | 331 ++++++++++++++++++++++++ latex/cover/cover_in.tex | 30 +++ latex/cover/cover_out.tex | 21 ++ latex/cover/covermain.tex | 3 + latex/main.tex | 100 +++++++ latex/main_variables.tex | 34 +++ latex/remerciements.tex | 29 +++ 10 files changed, 606 insertions(+) create mode 100644 latex/advanced.params/misc.commands.tex create mode 100644 latex/advanced.params/tikz.conf.tex create mode 100644 latex/clean.sh create mode 100644 latex/content.tex create mode 100644 latex/cover/cover_in.tex create mode 100644 latex/cover/cover_out.tex create mode 100644 latex/cover/covermain.tex create mode 100644 latex/main.tex create mode 100644 latex/main_variables.tex create mode 100644 latex/remerciements.tex diff --git a/latex/advanced.params/misc.commands.tex b/latex/advanced.params/misc.commands.tex new file mode 100644 index 0000000..49ae58c --- /dev/null +++ b/latex/advanced.params/misc.commands.tex @@ -0,0 +1,42 @@ +\newcommand\tab[1][0.6cm]{\hspace*{#1}} %Create and define tab + +\definecolor{lightgray}{gray}{0.85} +\definecolor{lightgrey}{gray}{0.85} +\definecolor{vlg}{gray}{0.85} + + +%Patch pour utiliser des équations dans les titres sans que hypperref nous insulte. +% Définition cyclique, compile pas. Mais c'est l"idée +%\renewcommand{\chapter}[1]{\chapter{\texorpdfstring{#1}}} +%\renewcommand{\section}[1]{\section{\texorpdfstring{#1}}} +%\renewcommand{\subsection}[1]{\subsection{\texorpdfstring{#1}}} +%\renewcommand{\subsubsection}[1]{\subsubsection{\texorpdfstring{#1}}} + +%Chapter No Numbering but appears in TOC +\newcommand{\chapternn}[1]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}} +\newcommand{\sectionnn}[1]{\phantomsection\section*{#1}\addcontentsline{toc}{section}{#1}} +% phantomsection is necessary for links in TOC to function. It places the anchor +\newcommand{\subsectionnn}[1]{\subsection*{#1}\addcontentsline{toc}{subsection}{#1}} +\newcommand{\subsubsectionnn}[1]{\subsubsection*{#1}\addcontentsline{toc}{subsubsection}{#1}} + +\newcolumntype{L}[1]{>{\raggedright\arraybackslash\hspace{0pt}}p{#1}} +\newcolumntype{R}[1]{>{\raggedleft\arraybackslash\hspace{0pt}}p{#1}} +\newcolumntype{C}[1]{>{\centering\arraybackslash\hspace{0pt}}p{#1}} + + +\renewcommand\thesection{\arabic{section}} +\renewcommand\thesubsection{\thesection.\arabic{subsection}} + +%------- Do not append new commands after : + +\hypersetup{ + colorlinks=false, % colorise les liens + linkbordercolor={1 1 1}, + breaklinks=true, % permet le retour à la ligne dans les liens trop longs + urlcolor=blue, % couleur des hyperliens + linkcolor=black, % couleur des liens internes + citecolor=black, % couleur des références + pdftitle={}, % informations apparaissant dans + pdfauthor={}, % les informations du document + pdfsubject={} % sous Acrobat. +} \ No newline at end of file diff --git a/latex/advanced.params/tikz.conf.tex b/latex/advanced.params/tikz.conf.tex new file mode 100644 index 0000000..8dae3b2 --- /dev/null +++ b/latex/advanced.params/tikz.conf.tex @@ -0,0 +1,13 @@ +\tikzset{every picture/.style={execute at begin picture={ + \shorthandoff{:;!?};} +}} + +\tikzset{ + boxnode/.style={ % requires library shapes.misc + draw, + rectangle, + text centered, + align=center, + fill=gray!5!white + }, +} \ No newline at end of file diff --git a/latex/clean.sh b/latex/clean.sh new file mode 100644 index 0000000..6c7f9d7 --- /dev/null +++ b/latex/clean.sh @@ -0,0 +1,3 @@ +rm main.stc* main.toc main.bcf *.aux *.out main.mtc* +rm main.maf main.run.xml +rm main.log diff --git a/latex/content.tex b/latex/content.tex new file mode 100644 index 0000000..8d483e8 --- /dev/null +++ b/latex/content.tex @@ -0,0 +1,331 @@ +\sectionnn{Introduction} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat \& vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo\footnotemark. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\footnotetext{Egestas dui id ornare arcu odio ut sem.} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse + +\clearpage + +\section{Une partie, \textit{Solid \& Reflective buildings}} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae du 21$^e$. + +\[ + \sum_{n=1}^{+\infty} U_n = \frac{\pi}{2} +\] + +\subsection{Une sous-partie} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\subsubsection{Une sous-sous-partie} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. + +\begin{figure}[h] + \centering + \includegraphics[width=1.0\textwidth]{graphics/organigramme} + \label{organigramme} + \caption{Organigramme anonyme de Entreprise \protect\footnotemark} +\end{figure} + +\footnotetext{Vel pretium lectus quam id leo in vitae (figure \ref{organigramme})} + +Vel pretium lectus quam id leo in vitae: +\begin{itemize} + \item Vel pretium lectus quam id leo in vitae + \item Lectus mauris ultrices eros in cursus turpis. +\end{itemize} + +Vel pretium lectus quam id leo in vitae. + +\subsubsection{2e sous-sous-partie} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\[ + P = \iiint_\tau \vec j . \vec E d \tau + = - \iiint_\tau \text{div} \frac{\vec E \wedge \vec B}{\mu_0} d \tau + - \iiint_\tau \frac{\partial}{\partial t} (\frac{\epsilon_0 E^2}{2} + \frac{B^2}{2 \mu_0}) d \tau +\] + +\paragraph{} +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\subsection{Le produit phare : une lampe torche} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\subsubsection{Une lampe pour des situations concrètes} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\begin{figure}[h] + \centering + \includegraphics[width=0.4\textwidth]{graphics/lampe-torche} + \label{lampe-torche} + \caption{Lampe torche} +\end{figure} + +L'exemple en figure \ref{lampe-torche} lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit\footnotemark. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\footnotetext{Footnote content} + +\clearpage +\section{Activités réalisées : a \& b} + +\subsection{Activité A} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in \textbf{vitae}. + +\paragraph{} +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\clearpage + +\section{Une 3e et dernière partie} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae du 21$^e$. + +\subsection{la dernière sous-partie} + +\subsubsection{La dernière sous-sous-partie} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\paragraph{} +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit\footnotemark. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\footnotetext{Footnote content} +\clearpage + +\sectionnn{Conclusion} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat \& vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo\footnotemark. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae. + +\footnotetext{Egestas dui id ornare arcu odio ut sem.} + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse + +\clearpage + diff --git a/latex/cover/cover_in.tex b/latex/cover/cover_in.tex new file mode 100644 index 0000000..fea0fdf --- /dev/null +++ b/latex/cover/cover_in.tex @@ -0,0 +1,30 @@ +\input{main_variables} +\pagenumbering{gobble} + +% Couverture +\thispagestyle{empty} +\definecolor{insa_blue}{RGB}{52,83,111} +\definecolor{insa_red}{RGB}{230,39,20} +\noindent\begin{tikzpicture}[remember picture, overlay, shift={(current page.south west)}] + \draw[draw=none, fill=insa_red] (12.32,1.24) -- (12.32,4.94) -- (19.7,4.94) -- (19.7,1.24) -- cycle; + \node[anchor=north west, align=left, color=white, text width=12cm] at (2.3,23.5) {\varmaintitle}; + \node[anchor=north west, align=left, color=white, text width=8cm] at (2.3,22.5) {\varmainsubtitle}; + % \node[anchor=north west] at (2.3,21.5) {\includegraphics[scale=1.00]{\varlogo}}; + \node[anchor=north west, align=left, color=white, text width=12cm] at (2.3,16) {\varcovertext}; + %\node[anchor=center, align=center, text width=12cm] at (10,6.7) {\color{black} \varcovertext}; %-3, 4.1 + \node[anchor=north west, align=left, text width=12cm] at (1.2,4.7) {\varinsaaddress}; + % \node[anchor=north west, align=left, color=white, text width=12cm] at (12.5,4.7) {\varcompanyaddress}; + \node[anchor=north west, align=left, text width=12cm] at (0.5,4) {\includepdf[pages={1}]{cover/charte_graphique}}; +\end{tikzpicture} +\newpage + +% % Page de garde +% \thispagestyle{empty} +% \noindent\begin{tikzpicture}[remember picture, overlay, shift={(current page.south west)}] +% \node[anchor=north west, align=left, text width=10cm] at (2.3,23.5) {\color{black} \varmaintitle}; +% \node[anchor=north west, align=left, text width=8cm] at (2.3,22.5) {\varmainsubtitle}; +% \node[anchor=north west, align=left, text width=12cm] at (2.3,16) {\color{black} \varcovertext}; +% \node[anchor=north west, align=left, text width=12cm] at (1.2,4.7) {\varinsaaddress}; +% \node[anchor=north west, align=left, text width=12cm] at (12.5,4.7) {\color{black} \varcompanyaddress}; +% \end{tikzpicture} +% \newpage diff --git a/latex/cover/cover_out.tex b/latex/cover/cover_out.tex new file mode 100644 index 0000000..5957e96 --- /dev/null +++ b/latex/cover/cover_out.tex @@ -0,0 +1,21 @@ +\newpage +\pagenumbering{gobble} +\thispagestyle{empty} +\definecolor{insa_blue}{RGB}{52,83,111} +\definecolor{insa_red}{RGB}{226,50,46} +\noindent\begin{tikzpicture}[remember picture, overlay, shift={(current page.south west)}] + % \draw[draw=none, path fading=east, left color=insa_blue, right color=insa_blue!25!white] (21,7.3) -- (4.3,16.05) -- (21,24.8) -- cycle; + % \draw[draw=none, path fading=east, left color=insa_blue, right color=insa_blue!60!white] (0,16.2) -- (7,19.75) -- (0,23.1) -- cycle; + % \draw[draw=none, path fading=east, left color=insa_blue, right color=insa_blue!25!white] (0,17.3) -- (13.7,24.5) -- (2.3,29.7) -- (0,29.7) -- cycle; + % + % + % \draw[draw=none, fill=insa_red] (6.2,0) -- (6.2,1.2) -- (11.6,0) -- cycle; + % + % \draw[draw=none, fill=white] (0,0) -- (0,10) -- (10,10) -- (10,0) -- cycle; + % \node[anchor=south west, align=left] at (1.25,3.6) {\textbf{INSA Toulouse}}; + % \node[anchor=south west, align=left] at (1.25,2.20) {135, Avenue de Rangueil \\ 31077 Toulouse Cedex 4 - France \\ \href{http://www.insa-toulouse.fr}{www.insa-toulouse.fr}}; + % + % \node[anchor=south west] at (11.1,2.2) {\includegraphics[height=1cm, keepaspectratio]{cover/meta/univ.png}}; + %\node[anchor=south west] at (13.4,2.2) {\includegraphics[height=1cm, keepaspectratio]{cover/meta/ministere.png}}; + % \node[anchor=north west, align=left, text width=12cm] at (0.5,4) {\includepdf[pages={2}]{cover/charte_graphique}}; +\end{tikzpicture} diff --git a/latex/cover/covermain.tex b/latex/cover/covermain.tex new file mode 100644 index 0000000..d6b9727 --- /dev/null +++ b/latex/cover/covermain.tex @@ -0,0 +1,3 @@ +\AtBeginDocument{\input{cover/cover_in.tex}\pagenumbering{arabic}} + +%\AtEndDocument{\input{cover/cover_out.tex}} diff --git a/latex/main.tex b/latex/main.tex new file mode 100644 index 0000000..50c7ec4 --- /dev/null +++ b/latex/main.tex @@ -0,0 +1,100 @@ +\documentclass[a4paper,11pt,twoside]{article} +%\pdfminorversion=7 % To use charte graphique (pdf 1.7) +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lscape} +\usepackage{boldline,multirow,tabularx,colortbl,diagbox,makecell,fancybox} +\usepackage{amsfonts,amssymb,amsmath,mathrsfs,array} +\usepackage{pgf,tikz,xcolor} +\usetikzlibrary{calc,positioning,shapes.geometric,shapes.symbols,shapes.misc, fit, shapes, arrows, arrows.meta,fadings,through} +\usepackage[top=2cm, bottom=2cm, left=4cm, right=4cm]{geometry} +\usepackage{hyperref} +\usepackage{titlesec} +\usepackage{eurosym} +\usepackage[french]{babel} +\usepackage{eso-pic} % for background on cover + + +% table des annexes +\usepackage{minitoc} +\usepackage{pdfpages} + +\usepackage{biblatex} +\addbibresource{bibliography.bib} + +\input{advanced.params/tikz.conf} +\input{advanced.params/misc.commands} +\input{cover/covermain.tex} + +\date{\today} + +\begin{document} +\dosecttoc{} % generate TOC + + +% Remerciements +\thispagestyle{empty} % removes page number +\subsection*{Remerciements} +\input{remerciements} +\clearpage + + +% TABLE DES MATIÈRES +\thispagestyle{empty} % removes page number +\setcounter{secnumdepth}{3} +\tableofcontents +\clearpage + + +% Contenu +\setcounter{page}{1} +\include{content} + + +%\addcontentsline{toc}{section}{Bibliography} +%\printbibliography + + +% TABLE DES ANNEXES +\clearpage +\appendix +% \thispagestyle{empty} % removes page number +\sectionnn{Table des Annexes} +% Désactivation de la table des matières +\addtocontents{toc}{\protect\setcounter{tocdepth}{0}} +% Personnalisation de la table des annexes +\renewcommand{\stctitle}{} % Titre (issue with previous subsection showing up) +\renewcommand\thesubsection{A\arabic{subsection}} % Numérotation +\renewcommand{\stcSSfont}{} % Police normale, pas en gras +\mtcsetrules{secttoc}{off} % Désactivation des lignes en haut et en bas de la table +% Affichage de la table des annexes +\secttoc + + +% ANNEXES +\clearpage +\pagenumbering{Roman} + +\subsection{Extrait de texte} + +Eng'croyable texte + +\clearpage + + +\includepdf[pages={1}, scale=0.96, + pagecommand=\subsection{Questionnaire 1 : Sensibilisation à l’Hygiène et à la Sécurité}] +{questionnaires} +\clearpage + + +\includepdf[pages={2}, scale=0.96, + pagecommand=\subsection{Questionnaire 2 : Sensibilisation à l’innovation en entreprise}] +{questionnaires} +\clearpage + +\includepdf[pages={2}, scale=1] +{cover/charte_graphique} + +\mtcsetrules{secttoc}{off} +\end{document} diff --git a/latex/main_variables.tex b/latex/main_variables.tex new file mode 100644 index 0000000..8ecb5d9 --- /dev/null +++ b/latex/main_variables.tex @@ -0,0 +1,34 @@ +\def\varmaintitle{ + \textbf{\Huge{One-dimensional box fitting}} +} + +\def\varmainsubtitle{ + \LARGE{A statistical analysis of different algorithms} +} + +% \def\varlogo{logo.png} %ou 5 ou 13 + +\def\varcovertext{ + \textbf{Clément LACAU} + + \textbf{Paul ALNET} + + 2MIC B - Year 59 + + \vspace{0.33cm} + + %\begin{center} + % -\hspace{0.25cm}Version du \today\hspace{0.25cm}- + %\end{center} + Defense on June Xth 2023 % TODO +} + +\def\varinsaaddress{ + \textbf{INSA Toulouse} + + 135, Avenue de Rangueil + + 31077 Toulouse Cedex 4 - France + + \href{https://www.insa-toulouse.fr}{www.insa-toulouse.fr} +} diff --git a/latex/remerciements.tex b/latex/remerciements.tex new file mode 100644 index 0000000..0d109bd --- /dev/null +++ b/latex/remerciements.tex @@ -0,0 +1,29 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitaLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Tortor pretium +viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id +neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt +nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus +at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse +potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna +duis convallis convallis. Viverra nam libero justo laoreet sit amet +cursus. Non enim praesent elementum facilisis leo. Sit amet mauris +commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod +quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec +massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis +purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan +in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus +vitae. Vel pretium lectus quam id leo in vitae From 6a4f298f2837af9ed16d4e71600fa8684b2e7e19 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Wed, 24 May 2023 07:14:25 +0200 Subject: [PATCH 03/34] doc(readme): explain report compilation --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index a0cbba9..0bebf56 100644 --- a/README.md +++ b/README.md @@ -29,3 +29,9 @@ Oral: 15 min de présentation - 5 min de questions trouver un argument solide sur pk on a choisi ce projet +## Compiling report + +Install the necessary tools with `sudo apt-get install texlive-full`. + +Navigate to `latex` directory and then run `pdflatex main.tex`. The output pdf +should be at `main.pdf`. From 4d8823fc1ffa6794f1f8cb300aa018a7e8b7f11d Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Wed, 24 May 2023 11:39:45 +0200 Subject: [PATCH 04/34] fix: babel to english + bugfix --- latex/advanced.params/tikz.conf.tex | 22 +++++++++++----------- latex/main.tex | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/latex/advanced.params/tikz.conf.tex b/latex/advanced.params/tikz.conf.tex index 8dae3b2..6183e3a 100644 --- a/latex/advanced.params/tikz.conf.tex +++ b/latex/advanced.params/tikz.conf.tex @@ -1,13 +1,13 @@ -\tikzset{every picture/.style={execute at begin picture={ - \shorthandoff{:;!?};} -}} +% \tikzset{every picture/.style={execute at begin picture={ +% \shorthandoff{:;!?};} +% }} \tikzset{ - boxnode/.style={ % requires library shapes.misc - draw, - rectangle, - text centered, - align=center, - fill=gray!5!white - }, -} \ No newline at end of file + boxnode/.style={ % requires library shapes.misc + draw, + rectangle, + text centered, + align=center, + fill=gray!5!white + }, +} diff --git a/latex/main.tex b/latex/main.tex index 50c7ec4..6a0b0c7 100644 --- a/latex/main.tex +++ b/latex/main.tex @@ -11,7 +11,7 @@ \usepackage{hyperref} \usepackage{titlesec} \usepackage{eurosym} -\usepackage[french]{babel} +\usepackage[english]{babel} \usepackage{eso-pic} % for background on cover From 709b29662b2e4b7182f663af01694c0fa0036c03 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Fri, 2 Jun 2023 15:24:28 +0200 Subject: [PATCH 05/34] chore(tex): remove lorem ipsum --- latex/content.tex | 300 ++-------------------------------------------- 1 file changed, 9 insertions(+), 291 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index 8d483e8..4113876 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -27,305 +27,23 @@ at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse \clearpage -\section{Une partie, \textit{Solid \& Reflective buildings}} +\section{Box fitting use cases} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae du 21$^e$. +\subsection{Logistics} -\[ - \sum_{n=1}^{+\infty} U_n = \frac{\pi}{2} -\] +\subsection{chepa} -\subsection{Une sous-partie} +\section{Next Fit Bin Packing algorithm} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. +% TODO mettre de l'Histoire -\subsubsection{Une sous-sous-partie} +\section{Next Fit Dual Bin Packing algorithm} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. +\section{Algorithm comparisons and optimization} -\begin{figure}[h] - \centering - \includegraphics[width=1.0\textwidth]{graphics/organigramme} - \label{organigramme} - \caption{Organigramme anonyme de Entreprise \protect\footnotemark} -\end{figure} +\subsection{NFBP vs NFDBP} -\footnotetext{Vel pretium lectus quam id leo in vitae (figure \ref{organigramme})} - -Vel pretium lectus quam id leo in vitae: -\begin{itemize} - \item Vel pretium lectus quam id leo in vitae - \item Lectus mauris ultrices eros in cursus turpis. -\end{itemize} - -Vel pretium lectus quam id leo in vitae. - -\subsubsection{2e sous-sous-partie} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\[ - P = \iiint_\tau \vec j . \vec E d \tau - = - \iiint_\tau \text{div} \frac{\vec E \wedge \vec B}{\mu_0} d \tau - - \iiint_\tau \frac{\partial}{\partial t} (\frac{\epsilon_0 E^2}{2} + \frac{B^2}{2 \mu_0}) d \tau -\] - -\paragraph{} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\subsection{Le produit phare : une lampe torche} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\subsubsection{Une lampe pour des situations concrètes} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\begin{figure}[h] - \centering - \includegraphics[width=0.4\textwidth]{graphics/lampe-torche} - \label{lampe-torche} - \caption{Lampe torche} -\end{figure} - -L'exemple en figure \ref{lampe-torche} lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit\footnotemark. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\footnotetext{Footnote content} - -\clearpage -\section{Activités réalisées : a \& b} - -\subsection{Activité A} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in \textbf{vitae}. - -\paragraph{} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\clearpage - -\section{Une 3e et dernière partie} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae du 21$^e$. - -\subsection{la dernière sous-partie} - -\subsubsection{La dernière sous-sous-partie} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\paragraph{} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit\footnotemark. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\footnotetext{Footnote content} -\clearpage +\subsection{Optimal algorithm} \sectionnn{Conclusion} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat \& vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo\footnotemark. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. - -\footnotetext{Egestas dui id ornare arcu odio ut sem.} - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse - -\clearpage - From d65684d743e2d3f889a4c8153ebfc367b85db6c6 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Fri, 2 Jun 2023 16:20:15 +0200 Subject: [PATCH 06/34] tex: add intro --- latex/content.tex | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index 4113876..020ee22 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -1,33 +1,27 @@ \sectionnn{Introduction} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat \& vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse -potenti nullam ac tortor vitae. Consectetur a erat nam at lectus urna -duis convallis convallis. Viverra nam libero justo laoreet sit amet -cursus. Non enim praesent elementum facilisis leo\footnotemark. Sit amet mauris -commodo quis. Lectus mauris ultrices eros in cursus turpis. Cursus euismod -quis viverra nibh cras pulvinar mattis. Duis at consectetur lorem donec -massa sapien faucibus. In hac habitasse platea dictumst quisque sagittis -purus. Ut aliquam purus sit amet. Eget egestas purus viverra accumsan -in nisl. Egestas dui id ornare arcu odio ut sem. Nunc mi ipsum faucibus -vitae. Vel pretium lectus quam id leo in vitae. +Bin packing is the process of packing a set of items of different sizes into +containers of a fixed capacity in a way that minimizes the number of containers +used. This has applications in many fields, such as logistics, where we want to +optimize the storage and transport of items in boxes, containers, trucks, etc. In +this paper, we will focus on one-dimensional bin packing, where we try to store +items of different heigts in a linear container. + +We will conduct a probabilistic analysis of multiple algorithms and compare +results to theoritical values. We will also consider the algoriths complexity +and performance, both in resource consumption and in box usage. + + -\footnotetext{Egestas dui id ornare arcu odio ut sem.} -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Tortor pretium -viverra suspendisse potenti nullam ac tortor vitae. Porttitor massa id -neque aliquam vestibulum morbi blandit. Quis imperdiet massa tincidunt -nunc pulvinar sapien et ligula. Tincidunt lobortis feugiat vivamus -at. Amet justo donec enim diam. Ut tortor pretium viverra suspendisse \clearpage -\section{Box fitting use cases} +\section{Bin packing use cases} + + + + \subsection{Logistics} From 0bb99a16d02f3409e2b128289b8f307148b2b350 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Fri, 2 Jun 2023 16:40:56 +0200 Subject: [PATCH 07/34] tex: add intro paragraph --- latex/content.tex | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/latex/content.tex b/latex/content.tex index 020ee22..9392536 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -7,6 +7,19 @@ optimize the storage and transport of items in boxes, containers, trucks, etc. I this paper, we will focus on one-dimensional bin packing, where we try to store items of different heigts in a linear container. +Building mathematical models for bin packing is useful in understanding the +problem and in designing better algorithms, depending on the use case. An +algorithm optimized for packing cubes into boxes will not perform as well as +another algorithm for packing long items into trucks. Studying the mathematics +behind algorithms provides us with a better understanding of what works best. +When operating at scale, every small detail can have a huge impact on overall +efficiency and cost. Therefore, carefully developing algorithms based on solid +mathematical models is crucial. As we have seen in our Automatics class, a +small logic breach can be an issue in the long run in systems that are supposed +to run autonomously. This situation can be avoided by using mathematical models +during the design process wich will lead to better choices welding economic and +relibility concerns. + We will conduct a probabilistic analysis of multiple algorithms and compare results to theoritical values. We will also consider the algoriths complexity and performance, both in resource consumption and in box usage. From 5a206bd5d7caa6a7ef6c92fad2d4d5601307d0cf Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 10:07:35 +0200 Subject: [PATCH 08/34] fix(tex): typo in intro --- latex/content.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/latex/content.tex b/latex/content.tex index 9392536..e90eab5 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -5,7 +5,7 @@ containers of a fixed capacity in a way that minimizes the number of containers used. This has applications in many fields, such as logistics, where we want to optimize the storage and transport of items in boxes, containers, trucks, etc. In this paper, we will focus on one-dimensional bin packing, where we try to store -items of different heigts in a linear container. +items of different heights in a linear container. Building mathematical models for bin packing is useful in understanding the problem and in designing better algorithms, depending on the use case. An From 41908fb402a6b27b8a5128d890fa2286d7a53ac6 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 10:26:50 +0200 Subject: [PATCH 09/34] tex :add bibliography --- README.md | 3 ++- latex/bibliography.bib | 10 ++++++++++ latex/content.tex | 1 + latex/main.tex | 9 ++++++--- 4 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 latex/bibliography.bib diff --git a/README.md b/README.md index 0bebf56..40f2a04 100644 --- a/README.md +++ b/README.md @@ -34,4 +34,5 @@ trouver un argument solide sur pk on a choisi ce projet Install the necessary tools with `sudo apt-get install texlive-full`. Navigate to `latex` directory and then run `pdflatex main.tex`. The output pdf -should be at `main.pdf`. +should be at `main.pdf`. You may want to run `biber main` first, to compile the +bibliography. diff --git a/latex/bibliography.bib b/latex/bibliography.bib new file mode 100644 index 0000000..d04fa1f --- /dev/null +++ b/latex/bibliography.bib @@ -0,0 +1,10 @@ +@book{hofri:1987, + author = {Hofri, M.}, + title = {Probabilistic Analysis of Algorithms: On Computing Methodologies for + Computer Algorithms Performance Evaluation}, + year = {1987}, + isbn = {0387965785}, + publisher = {Springer-Verlag}, + address = {Berlin, Heidelberg}, +} + diff --git a/latex/content.tex b/latex/content.tex index e90eab5..5f6dd55 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -33,6 +33,7 @@ and performance, both in resource consumption and in box usage. \section{Bin packing use cases} +\cite{hofri:1987} diff --git a/latex/main.tex b/latex/main.tex index 6a0b0c7..5c16dda 100644 --- a/latex/main.tex +++ b/latex/main.tex @@ -19,9 +19,10 @@ \usepackage{minitoc} \usepackage{pdfpages} -\usepackage{biblatex} +\usepackage[style=iso-alphabetic]{biblatex} \addbibresource{bibliography.bib} + \input{advanced.params/tikz.conf} \input{advanced.params/misc.commands} \input{cover/covermain.tex} @@ -51,8 +52,10 @@ \include{content} -%\addcontentsline{toc}{section}{Bibliography} -%\printbibliography +% BIBLIOGRAPHIE +\addcontentsline{toc}{section}{Bibliography} +\printbibliography[title={Bibliography}] + % TABLE DES ANNEXES From 9bc4e67c6844b53981213432c74f867ce2837c36 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 10:35:46 +0200 Subject: [PATCH 10/34] tex(bib): add bin packing video --- latex/bibliography.bib | 8 ++++++++ latex/content.tex | 2 ++ 2 files changed, 10 insertions(+) diff --git a/latex/bibliography.bib b/latex/bibliography.bib index d04fa1f..2e5848f 100644 --- a/latex/bibliography.bib +++ b/latex/bibliography.bib @@ -8,3 +8,11 @@ address = {Berlin, Heidelberg}, } +@misc{bin-packing-approximation:2022, + author = {{Computational Thinking}}, + title = {Bin Packing Approximation}, + year = {2022}, + howpublished = {YouTube video}, + url = {https://www.youtube.com/watch?v=R76aAh_li50}, +} + diff --git a/latex/content.tex b/latex/content.tex index 5f6dd55..349c337 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -53,5 +53,7 @@ and performance, both in resource consumption and in box usage. \subsection{Optimal algorithm} +\cite{bin-packing-approximation:2022} + \sectionnn{Conclusion} From 9fa6d4500077c830afbc1c22168e5838647a43d3 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 11:20:17 +0200 Subject: [PATCH 11/34] tex: add missing charte graphique --- latex/cover/charte_graphique.pdf | Bin 0 -> 461240 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 latex/cover/charte_graphique.pdf diff --git a/latex/cover/charte_graphique.pdf b/latex/cover/charte_graphique.pdf new file mode 100644 index 0000000000000000000000000000000000000000..45b6e6bd885d3afd263190ec13ba6c3c22c7951a GIT binary patch literal 461240 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 z�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 Date: Sat, 3 Jun 2023 11:59:46 +0200 Subject: [PATCH 12/34] chore(tex): remove annexes & remerciements --- latex/main.tex | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/latex/main.tex b/latex/main.tex index 5c16dda..377acbc 100644 --- a/latex/main.tex +++ b/latex/main.tex @@ -33,11 +33,11 @@ \dosecttoc{} % generate TOC -% Remerciements -\thispagestyle{empty} % removes page number -\subsection*{Remerciements} -\input{remerciements} -\clearpage +% % Remerciements +% \thispagestyle{empty} % removes page number +% \subsection*{Remerciements} +% \input{remerciements} +% \clearpage % TABLE DES MATIÈRES @@ -85,17 +85,17 @@ Eng'croyable texte \clearpage -\includepdf[pages={1}, scale=0.96, - pagecommand=\subsection{Questionnaire 1 : Sensibilisation à l’Hygiène et à la Sécurité}] -{questionnaires} -\clearpage - - -\includepdf[pages={2}, scale=0.96, - pagecommand=\subsection{Questionnaire 2 : Sensibilisation à l’innovation en entreprise}] -{questionnaires} -\clearpage - +% \includepdf[pages={1}, scale=0.96, +% pagecommand=\subsection{Questionnaire 1 : Sensibilisation à l’Hygiène et à la Sécurité}] +% {questionnaires} +% \clearpage +% +% +% \includepdf[pages={2}, scale=0.96, +% pagecommand=\subsection{Questionnaire 2 : Sensibilisation à l’innovation en entreprise}] +% {questionnaires} +% \clearpage +% \includepdf[pages={2}, scale=1] {cover/charte_graphique} From 33b994e4e59f7b50bb78193499da6a710b71b211 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 13:23:53 +0200 Subject: [PATCH 13/34] tex: add content for part 1 --- latex/content.tex | 69 +++++++++++++++++++++++++++++------ latex/graphics/fraiseuse.jpg | Bin 0 -> 154550 bytes 2 files changed, 58 insertions(+), 11 deletions(-) create mode 100644 latex/graphics/fraiseuse.jpg diff --git a/latex/content.tex b/latex/content.tex index 349c337..4204cce 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -3,9 +3,7 @@ Bin packing is the process of packing a set of items of different sizes into containers of a fixed capacity in a way that minimizes the number of containers used. This has applications in many fields, such as logistics, where we want to -optimize the storage and transport of items in boxes, containers, trucks, etc. In -this paper, we will focus on one-dimensional bin packing, where we try to store -items of different heights in a linear container. +optimize the storage and transport of items in boxes, containers, trucks, etc. Building mathematical models for bin packing is useful in understanding the problem and in designing better algorithms, depending on the use case. An @@ -21,28 +19,77 @@ during the design process wich will lead to better choices welding economic and relibility concerns. We will conduct a probabilistic analysis of multiple algorithms and compare -results to theoritical values. We will also consider the algoriths complexity +results to theoretical values. We will also consider the algoriths complexity and performance, both in resource consumption and in box usage. - - - - \clearpage \section{Bin packing use cases} +Before studying the mathematics behind bin packing algorithms, we will have a +look at the motivations behind this project. -\cite{hofri:1987} +Bin packing has applications in many fields and allows to automize and optimize +complex systems. We will illustrate with examples focusing on two use cases: +logistics and computer science. We will consider examples of multiple dimensions +to show the versatility of bin packing algorithms. +\paragraph{} In the modern day, an effective supply chain relies on an automated production +thanks to sensors and actuators installed along conveyor belts. It is often +required to implement a packing procedure. All of this is controlled by a +computer system running continuously. +\subsection{3D : Containers} -\subsection{Logistics} +Storing items in containers can be a prime application of bin packing. These +tree-dimensional objects of standardized size are used to transport goods. +While the dimensions of the containers are predictable, those of the transported +items are not. Storage is furthermore complicated by the fact that there can be +a void between items, allowing to move around. Multiple types of items can also +be stored in the same container. + +There are many ways to optimize the storage of items in containers. For +example, by ensuring items are of an optimal standardized size or by storing a +specific item in each container, both eliminating the randomness in item size. +In these settings, it is easy to fill a container by assimilating them to +rectangular blocks. However, when items come in pseudo-random dimensions, it is +intuitive to start filling the container with larger items and then filling the +remaining gaps with smaller items. As containers must be closed, in the event +of an overflow, the remaining items must be stored in another container. + +\subsection{2D : Cutting stock problem} + +In industries such as woodworking bin packing algorithms are utilized to +minimize material waste when cutting large planks into smaller pieces of +desired sizes. Many tools use this two-dimensional cut process. For example, at +the Fabric'INSA Fablab, the milling machine, laser cutter and many more are +used to cut large planks of wood into smaller pieces for student projects. In +this scenario, we try to organize the desired cuts in a way that minimizes the +unusable excess wood. + +\begin{figure}[ht] + \centering + \includegraphics[width=0.65\linewidth]{graphics/fraiseuse.jpg} + \caption[]{Milling machine at the Fabric'INSA Fablab \footnotemark} + \label{fig:fraiseuse} +\end{figure} +\footnotetext{Photo courtesy of Inés Bafaluy} + +Managing the placement of items of complex shapes can be optimized by using +by various algorithms minimizing the waste of material. + +\subsection{1D : Networking} + +on which humans +have decreasing control. + +In this paper, we will focus on one-dimensional bin packing, where we try to +store items of different heights in a linear container. -\subsection{chepa} \section{Next Fit Bin Packing algorithm} +\cite{hofri:1987} % TODO mettre de l'Histoire \section{Next Fit Dual Bin Packing algorithm} diff --git a/latex/graphics/fraiseuse.jpg b/latex/graphics/fraiseuse.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c7d4619126d73b93085e4a7d0742deecc65d87b GIT binary patch literal 154550 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∓#2@>W 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 literal 0 HcmV?d00001 From 29851204fe39a24cc8c5beb86967157cf7d9a769 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 14:00:00 +0200 Subject: [PATCH 14/34] tex: add networking part --- latex/content.tex | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index 4204cce..c548831 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -80,15 +80,37 @@ by various algorithms minimizing the waste of material. \subsection{1D : Networking} -on which humans -have decreasing control. +When managing network traffic at scale, efficiently routing packets is +necessary to avoid congestion, which leads to lower bandwidth and higher +latency. Say you're a internet service provider and your users are watching +videos on popular streaming platforms. You want to ensure that the traffic is +balanced between the different routes to minimize throttling and energy +consumption. -In this paper, we will focus on one-dimensional bin packing, where we try to -store items of different heights in a linear container. +\paragraph{} We can consider the different routes as bins and the users' +bandwidth as the items. If a bin overflows, we can redirect the traffic to +another route. Using less bins means less energy consumption and decreased +operating costs. This is a good example of bin packing in a dynamic +environment, where the items are constantly changing. Humans are not involved +in the process, as it is fast-paced and requires a high level of automation. +\vspace{0.4cm} + +\paragraph{} We have seen multiple examples of how bin packing algorithms can +be used in various technical fields. In these examples, a choice was made, +evaluating the process effectiveness and reliability, based on a probabilistic +analysis allowing the adaptation of the algorithm to the use case. We will now +conduct our own analysis and study various algorithms and their probabilistic +advantages, focusing on one-dimensional bin packing, where we try to store +items of different heights in a linear bin. \section{Next Fit Bin Packing algorithm} +\paragraph{} Each bin will have a fixed capacity of $ 1 $ and items and items +will be of random sizes between $ 0 $ and $ 1 $. We will run X simulations % TODO +with 10 packets. + + \cite{hofri:1987} % TODO mettre de l'Histoire From 4c74dd7877a047f380f5deade1485ffd53af2460 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 14:22:45 +0200 Subject: [PATCH 15/34] tex: NFBP --- latex/content.tex | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/latex/content.tex b/latex/content.tex index c548831..ad8f646 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -104,12 +104,34 @@ conduct our own analysis and study various algorithms and their probabilistic advantages, focusing on one-dimensional bin packing, where we try to store items of different heights in a linear bin. -\section{Next Fit Bin Packing algorithm} +\section{Next Fit Bin Packing algorithm (NFBP)} + +Our goal is to study the number of bins $ H_n $ required to store $ n $ items +for each algorithm. We first consider the Next Fit Bin Packing algorithm, where +we store each item in the next bin if it fits, otherwise we open a new bin. \paragraph{} Each bin will have a fixed capacity of $ 1 $ and items and items will be of random sizes between $ 0 $ and $ 1 $. We will run X simulations % TODO with 10 packets. +\subsubsection{Variables used in models} + + +\subsubsection{Complexity and implementation optimization} + +The NFBP algorithm has a linear complexity $ O(n) $, as we only need to iterate +over the items once. + +When implementing the statistical analysis, the intuitive way to do it is to +run $ R $ simulations, store the results, then conduct the analysis. However, +when running a large number of simulations, this can be very memory +consuming. We can optimize the process by computing the statistics on the fly, +by using sum formulae. This uses nearly constant memory, as we only need to +store the current sum and the current sum of squares for different variables. + +% TODO : code +% TODO : move this somewhere else ? +% TODO : add a graph \cite{hofri:1987} % TODO mettre de l'Histoire From c0abf64ee0219140b91ece9dc6d4a940326bc197 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 15:45:04 +0200 Subject: [PATCH 16/34] tex: move and write performance part --- latex/content.tex | 43 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index ad8f646..57611c5 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -117,11 +117,19 @@ with 10 packets. \subsubsection{Variables used in models} -\subsubsection{Complexity and implementation optimization} + +\cite{hofri:1987} +% TODO mettre de l'Histoire + +\section{Next Fit Dual Bin Packing algorithm} + +\section{Complexity and implementation optimization} The NFBP algorithm has a linear complexity $ O(n) $, as we only need to iterate over the items once. +\subsection{Performance optimization} + When implementing the statistical analysis, the intuitive way to do it is to run $ R $ simulations, store the results, then conduct the analysis. However, when running a large number of simulations, this can be very memory @@ -129,17 +137,34 @@ consuming. We can optimize the process by computing the statistics on the fly, by using sum formulae. This uses nearly constant memory, as we only need to store the current sum and the current sum of squares for different variables. +While the mean can easily be calculated by summing then dividing, the variance +can be calculated using the following formula: + +\begin{align} + {S_N}^2 & = \frac{1}{N-1} \sum_{i=1}^{N} (X_i - \overline{X})^2 \\ + & = \frac{1}{N-1} \sum_{i=1}^{N} X_i^2 - \frac{N}{N-1} \overline{X}^2 +\end{align} + +The sum $ \frac{1}{N-1} \sum_{i=1}^{N} X_i^2 $ can be calculated iteratively +after each simulation. + +\subsection{Effective resource consumption} + +We set out to study the resource consumption of the algorithms. We implemented +the above formulae to calculate the mean and variance of $ N = 10^6 $ random +numbers. We wrote the following algorithms : + +\begin{lstlisting}[language=python] +N = 10**6 +values = [random() for _ in range(N)] +mean = mean(values) +variance = variance(values) +\end{lstlisting} + + % TODO : code -% TODO : move this somewhere else ? % TODO : add a graph -\cite{hofri:1987} -% TODO mettre de l'Histoire - -\section{Next Fit Dual Bin Packing algorithm} - -\section{Algorithm comparisons and optimization} - \subsection{NFBP vs NFDBP} \subsection{Optimal algorithm} From 78617e6130503ff382ba642a27a8bff558b4eacd Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 15:45:16 +0200 Subject: [PATCH 17/34] tex: add listlistings for code colouring --- latex/main.tex | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/latex/main.tex b/latex/main.tex index 377acbc..33e1561 100644 --- a/latex/main.tex +++ b/latex/main.tex @@ -13,6 +13,34 @@ \usepackage{eurosym} \usepackage[english]{babel} \usepackage{eso-pic} % for background on cover +\usepackage{listings} + +% Define colors for code +\definecolor{codegreen}{rgb}{0,0.4,0} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.92} + +\lstdefinestyle{mystyle}{ + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}, + numberstyle=\tiny\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle=\ttfamily\small, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + tabsize=2 +} + +\lstset{style=mystyle} % table des annexes From 184f4ff491e2cb6c2bb76f2a4abb2783053f5c88 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 15:45:37 +0200 Subject: [PATCH 18/34] feat: add performance analysis code --- complexity-analysis/direct.py | 41 +++++++++++++++++++++++++++++++ complexity-analysis/using_libs.py | 36 +++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 complexity-analysis/direct.py create mode 100644 complexity-analysis/using_libs.py diff --git a/complexity-analysis/direct.py b/complexity-analysis/direct.py new file mode 100644 index 0000000..ebcf5db --- /dev/null +++ b/complexity-analysis/direct.py @@ -0,0 +1,41 @@ +# importing the memory tracking module +import tracemalloc +from random import random +from math import floor, sqrt +#from statistics import mean, variance +from time import perf_counter + +# starting the monitoring +tracemalloc.start() + +start_time = perf_counter() + +# store memory consumption before +current_before, peak_before = tracemalloc.get_traced_memory() + +N = 10**6 +Tot = 0 +Tot2 = 0 +for _ in range(N): + item = random() + Tot += item + Tot2 += item ** 2 +mean = Tot / N +variance = Tot2 / (N-1) - mean**2 + +# store memory after +current_after, peak_after = tracemalloc.get_traced_memory() + +end_time = perf_counter() + +print("mean :", mean) +print("variance :", variance) + +# displaying the memory usage +print("Used memory before : {} B (current), {} B (peak)".format(current_before,peak_before)) +print("Used memory after : {} B (current), {} B (peak)".format(current_after,peak_after)) +print("Used memory : {} B".format(peak_after - current_before)) +print("Time : {} ms".format((end_time - start_time) * 1000)) + +# stopping the library +tracemalloc.stop() diff --git a/complexity-analysis/using_libs.py b/complexity-analysis/using_libs.py new file mode 100644 index 0000000..a76e8c8 --- /dev/null +++ b/complexity-analysis/using_libs.py @@ -0,0 +1,36 @@ +# importing the memory tracking module +import tracemalloc +from random import random +from math import floor, sqrt +from statistics import mean, variance +from time import perf_counter + +# starting the monitoring +tracemalloc.start() + +start_time = perf_counter() + +# store memory consumption before +current_before, peak_before = tracemalloc.get_traced_memory() + +N = 10**6 +values = [random() for _ in range(N)] +mean = mean(values) +variance = variance(values) + +# store memory after +current_after, peak_after = tracemalloc.get_traced_memory() + +end_time = perf_counter() + +print("mean :", mean) +print("variance :", variance) + +# displaying the memory usage +print("Used memory before : {} B (current), {} B (peak)".format(current_before,peak_before)) +print("Used memory after : {} B (current), {} B (peak)".format(current_after,peak_after)) +print("Used memory : {} B".format(peak_after - current_before)) +print("Time : {} ms".format((end_time - start_time) * 1000)) + +# stopping the library +tracemalloc.stop() From c536e0b28b9a8721d4328affcd8f650469f0b438 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 16:10:32 +0200 Subject: [PATCH 19/34] tex: performance analysis --- latex/content.tex | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index 57611c5..0c4efc2 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -152,7 +152,12 @@ after each simulation. We set out to study the resource consumption of the algorithms. We implemented the above formulae to calculate the mean and variance of $ N = 10^6 $ random -numbers. We wrote the following algorithms : +numbers. We wrote the following algorithms \footnotemark : + +\footnotetext{The full code used to measure performance can be found in Annex X.} +% TODO annex + +\paragraph{Intuitive algorithm} Store values first, calculate later \begin{lstlisting}[language=python] N = 10**6 @@ -161,9 +166,38 @@ mean = mean(values) variance = variance(values) \end{lstlisting} +Execution time : $ ~ 4.8 $ seconds -% TODO : code -% TODO : add a graph +Memory usage : $ ~ 32 $ MB + +\paragraph{Improved algorithm} Continuous calculation + +\begin{lstlisting}[language=python] +N = 10**6 +Tot = 0 +Tot2 = 0 +for _ in range(N): + item = random() + Tot += item + Tot2 += item ** 2 +mean = Tot / N +variance = Tot2 / (N-1) - mean**2 +\end{lstlisting} + +Execution time : $ ~ 530 $ milliseconds + +Memory usage : $ ~ 1.3 $ kB + +\paragraph{Analysis} Memory usage is, as expected, much lower when calculating +the statistics on the fly. Furthermore, something we hadn't anticipated is the +execution time. The improved algorithm is nearly 10 times faster than the +intuitive one. This can be explained by the time taken to allocate memory and +then calculate the statistics (which iterates multiple times over the array). +\footnotemark + +\footnotetext{Performance was measured on a single computer and will vary + between devices. Execution time and memory usage do not include the import of + libraries.} \subsection{NFBP vs NFDBP} From 00cc5befc7a1287c06a914dd8ce3cae7d60736ee Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 17:11:15 +0200 Subject: [PATCH 20/34] chore: remove invisible ~ --- latex/content.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index 0c4efc2..ce97cad 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -166,9 +166,9 @@ mean = mean(values) variance = variance(values) \end{lstlisting} -Execution time : $ ~ 4.8 $ seconds +Execution time : $ 4.8 $ seconds -Memory usage : $ ~ 32 $ MB +Memory usage : $ 32 $ MB \paragraph{Improved algorithm} Continuous calculation @@ -184,9 +184,9 @@ mean = Tot / N variance = Tot2 / (N-1) - mean**2 \end{lstlisting} -Execution time : $ ~ 530 $ milliseconds +Execution time : $ 530 $ milliseconds -Memory usage : $ ~ 1.3 $ kB +Memory usage : $ 1.3 $ kB \paragraph{Analysis} Memory usage is, as expected, much lower when calculating the statistics on the fly. Furthermore, something we hadn't anticipated is the From 87a8bbbf0f20b2af561381b657294fdb0217f643 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sat, 3 Jun 2023 17:25:08 +0200 Subject: [PATCH 21/34] tex: add performance analysis annex --- latex/annex-performance.tex | 57 +++++++++++++++++++++++++++++++++++++ latex/content.tex | 2 +- latex/main.tex | 5 ++-- 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 latex/annex-performance.tex diff --git a/latex/annex-performance.tex b/latex/annex-performance.tex new file mode 100644 index 0000000..b3170e2 --- /dev/null +++ b/latex/annex-performance.tex @@ -0,0 +1,57 @@ +For simplicity, we only include the script for the improved algorithm. For the +intuitive algorithm, simply replace the algorithm. The imports timing and memory +usage tracking code are nearly identical. + +\begin{lstlisting}[language=python] +#!/usr/bin/python3 +import tracemalloc +from random import random +from math import floor, sqrt +#from statistics import mean, variance +from time import perf_counter + +# starting the memory monitoring +tracemalloc.start() + +start_time = perf_counter() + +# store memory consumption before +current_before, peak_before = tracemalloc.get_traced_memory() + +# algorithm (part to replace) +N = 10**6 +Tot = 0 +Tot2 = 0 +for _ in range(N): + item = random() + Tot += item + Tot2 += item ** 2 +mean = Tot / N +variance = Tot2 / (N-1) - mean**2 + +# store memory after +current_after, peak_after = tracemalloc.get_traced_memory() + +end_time = perf_counter() + +print("mean :", mean) +print("variance :", variance) + +# displaying the memory usage +print("Used memory before : {} B (current), {} B (peak)".format(current_before,peak_before)) +print("Used memory after : {} B (current), {} B (peak)".format(current_after,peak_after)) +print("Used memory : {} B".format(peak_after - current_before)) +print("Time : {} ms".format((end_time - start_time) * 1000)) + +tracemalloc.stop() +\end{lstlisting} + +Example output: +\begin{lstlisting}[language=python] +mean : 0.5002592040785124 +variance : 0.0833757719902084 +Used memory before : 0 B (current), 0 B (peak) +Used memory after : 1308 B (current), 1336 B (peak) +Used memory : 1336 B +Time : 535.1873079998768 ms +\end{lstlisting} diff --git a/latex/content.tex b/latex/content.tex index ce97cad..aa0432a 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -154,7 +154,7 @@ We set out to study the resource consumption of the algorithms. We implemented the above formulae to calculate the mean and variance of $ N = 10^6 $ random numbers. We wrote the following algorithms \footnotemark : -\footnotetext{The full code used to measure performance can be found in Annex X.} +\footnotetext{The full code used to measure performance can be found in Annex \ref{annex:performance}.} % TODO annex \paragraph{Intuitive algorithm} Store values first, calculate later diff --git a/latex/main.tex b/latex/main.tex index 33e1561..521dcab 100644 --- a/latex/main.tex +++ b/latex/main.tex @@ -106,9 +106,10 @@ \clearpage \pagenumbering{Roman} -\subsection{Extrait de texte} +\subsection{Performance analysis script} +\label{annex:performance} -Eng'croyable texte +\input{annex-performance} \clearpage From 0cb1203a3052b33decfedb5815f5c9597b43df4e Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 06:11:28 +0200 Subject: [PATCH 22/34] tex: write partial demo with k1 and k2 --- latex/content.tex | 66 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index aa0432a..433621d 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -123,6 +123,67 @@ with 10 packets. \section{Next Fit Dual Bin Packing algorithm} +\subsection{La giga demo} + +Let $ k \in \mathbb{N} $. Let $ (U_n)_{n \in \mathbb{N}} $ be a sequence of +independent random variables with uniform distribution on $ [0, 1] $, representing +the size of the $ n $-th item. + +Let $ i \in \mathbb{N} $. $ T_i $ denotes the number of items in the $ i $-th +bin. We have that + +\begin{equation} + T_i = k \iff U_1 + U_2 + \ldots + U_{k-1} < 1 \text{ and } U_1 + U_2 + \ldots + U_{k} \geq 1 +\end{equation} + +Let $ A_k = \{ U_1 + U_2 + \ldots + U_{k-1} < 1 \}$. Hence, + +\begin{align*} + % TODO = k + P(T_i = k) + & = P(A_{k-1} \cap A_k^c) \\ + & = P(A_{k-1}) - P(A_k) \qquad \text{ (as $ A_k \subset A_{k-1} $)} \\ +\end{align*} + +We will try to show that $ \forall k \geq 2 $, $ P(A_k) = \frac{1}{k!} $. +To do so we will use induction to demonstrate that + +\begin{equation} + \label{eq:induction} + P(U_1 + U_2 + \ldots + U_{k-1} < a) = \frac{a^k}{k!} \qquad \forall a \in [0, 1], \forall k \geq 2 +\end{equation} + +Let us denote $ S_k = U_1 + U_2 + \ldots + U_{k-1} \qquad \forall k \geq 2 $. + +\paragraph{Base cases} $ k = 2 $ : $ P(U_1 < a) = a $ + +$ k = 2 $ : \[ P(U_1 + U_2 < a) = \iint_{\cal{D}} f_{U_1, U_2}(x, y) \cdot (x + y) dxdy \] + +Where $ \mathcal{D} = \{ (x, y) \in [0, 1]^2 \mid x + y < a \} $. + +$ U_1 $ and $ U_2 $ are independent, so +\begin{align*} + f_{U_1, U_2}(x, y) & = f_{U_1}(x) \cdot f_{U_2}(y) \\ + & = \begin{cases} + 1 & \text{if } x \in [0, 1] \text{ and } y \in [0, 1] \\ + 0 & \text{otherwise} \\ + \end{cases} \\ +\end{align*} + +Hence, + +\begin{align*} + P(U_1 + U_2 < a) + & = \iint_{\cal{D}} (x + y)dxdy \\ + & = \int_{0}^{a} \int_{0}^{a - x} (x + y) dy dx \\ + & = \int_{0}^{a} \left[ xy + \frac{y^2}{2} \right]_{y=0}^{y=a - x} dx \\ + & = \int_{0}^{a} \left( ax - x^2 + \frac{a^2}{2} - ax + \frac{x^2}{2} \right) dx \\ + & = \int_{0}^{a} \left( \frac{a^2}{2} - \frac{x^2}{2} \right) dx \\ + & = \left[ \frac{a^2 x}{2} - \frac{x^3}{6} \right]_{0}^{a} \\ + & = \frac{a^3}{2} - \frac{a^3}{6} \\ +\end{align*} + + \section{Complexity and implementation optimization} The NFBP algorithm has a linear complexity $ O(n) $, as we only need to iterate @@ -140,10 +201,10 @@ store the current sum and the current sum of squares for different variables. While the mean can easily be calculated by summing then dividing, the variance can be calculated using the following formula: -\begin{align} +\begin{align*} {S_N}^2 & = \frac{1}{N-1} \sum_{i=1}^{N} (X_i - \overline{X})^2 \\ & = \frac{1}{N-1} \sum_{i=1}^{N} X_i^2 - \frac{N}{N-1} \overline{X}^2 -\end{align} +\end{align*} The sum $ \frac{1}{N-1} \sum_{i=1}^{N} X_i^2 $ can be calculated iteratively after each simulation. @@ -155,7 +216,6 @@ the above formulae to calculate the mean and variance of $ N = 10^6 $ random numbers. We wrote the following algorithms \footnotemark : \footnotetext{The full code used to measure performance can be found in Annex \ref{annex:performance}.} -% TODO annex \paragraph{Intuitive algorithm} Store values first, calculate later From 95cf9001ad26d6436e1c558e15894309c4b501a7 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 07:05:23 +0200 Subject: [PATCH 23/34] tex: some experimental proofing --- latex/content.tex | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index 433621d..2003c8f 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -145,17 +145,19 @@ Let $ A_k = \{ U_1 + U_2 + \ldots + U_{k-1} < 1 \}$. Hence, & = P(A_{k-1}) - P(A_k) \qquad \text{ (as $ A_k \subset A_{k-1} $)} \\ \end{align*} -We will try to show that $ \forall k \geq 2 $, $ P(A_k) = \frac{1}{k!} $. -To do so we will use induction to demonstrate that +We will try to show that $ \forall k \geq 2 $, $ P(A_k) = \frac{1}{k!} $. To do +so, we will use induction to prove the following proposition \eqref{eq:induction}, +$ \forall k \geq 2 $: \begin{equation} \label{eq:induction} - P(U_1 + U_2 + \ldots + U_{k-1} < a) = \frac{a^k}{k!} \qquad \forall a \in [0, 1], \forall k \geq 2 + \tag{$ \mathcal{H}_k $} + P(U_1 + U_2 + \ldots + U_{k-1} < a) = \frac{a^k}{k!} \qquad \forall a \in [0, 1], \end{equation} Let us denote $ S_k = U_1 + U_2 + \ldots + U_{k-1} \qquad \forall k \geq 2 $. -\paragraph{Base cases} $ k = 2 $ : $ P(U_1 < a) = a $ +\paragraph{Base cases} $ k = 2 $ : $ P(U_1 < a) = a \neq \frac{a^2}{2}$ supposedly proving $ (\mathcal{H}_2) $. $ k = 2 $ : \[ P(U_1 + U_2 < a) = \iint_{\cal{D}} f_{U_1, U_2}(x, y) \cdot (x + y) dxdy \] @@ -184,6 +186,43 @@ Hence, \end{align*} +\paragraph{Induction step} For a fixed $ k > 2 $, we assume that $ + (\mathcal{H}_{k-1}) $ is true. We will try to prove $ (\mathcal{H}_{k}) $. + +\[ + P(S_{k-1} + U_{k-1} < a) + = \iint_{\cal{D}} f_{S_{k-1}, U_{k-1}}(x, y) \cdot (x + y) dxdy \\ +\] +where $ \mathcal{D} = \{ (x, y) \in [0, 1]^2 \mid x + y < a \} $. +As $ S_{k-1} $ and $ U_{k-1} $ are independent, +\[ + P(S_{k-1} + U_{k-1} < a) + = \iint_{\cal{D}} f_{S_{k-1}}(x) \cdot f_{U_{k-1}}(y) \cdot (x + y) dxdy \qquad \\ +\] + +$ (\mathcal{H}_{k-1}) $ gives us that $ \forall x \in [0, 1] $, +$ F_{S_{k-1}}(x) = P(S_{k-1} < x) = \frac{x^{k-1}}{(k-1)!} $. + +By differentiating, we get that $ \forall x \in [0, 1] $, + +\[ + f_{S_{k-1}}(x) = F'_{S_{k-1}}(x) = \frac{x^{k-2}}{(k-2)!} +\] + +Furthermore, $ U_{k-1} $ is uniformly distributed on $ [0, 1] $, so +$ f_{U_{k-1}}(y) = 1 $. + +\begin{align*} + \text{Hence, } + P(S_{k-1} + U_{k-1} < a) + & = + & = \frac{a^{k}}{k!} +\end{align*} + + + + + \section{Complexity and implementation optimization} The NFBP algorithm has a linear complexity $ O(n) $, as we only need to iterate From 836ffd538e98d698964e7dbc28a955f54e4229a8 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 08:43:26 +0200 Subject: [PATCH 24/34] fix: missing comma in perf annex --- latex/annex-performance.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/latex/annex-performance.tex b/latex/annex-performance.tex index b3170e2..2620cb8 100644 --- a/latex/annex-performance.tex +++ b/latex/annex-performance.tex @@ -1,5 +1,5 @@ For simplicity, we only include the script for the improved algorithm. For the -intuitive algorithm, simply replace the algorithm. The imports timing and memory +intuitive algorithm, simply replace the algorithm. The imports, timing and memory usage tracking code are nearly identical. \begin{lstlisting}[language=python] From de854e9fe6bc1af3625bab2270e4e2215dcf5594 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 08:45:51 +0200 Subject: [PATCH 25/34] tex: add code annex --- latex/annex-probabilistic.tex | 3 +++ latex/main.tex | 6 ++++++ 2 files changed, 9 insertions(+) create mode 100644 latex/annex-probabilistic.tex diff --git a/latex/annex-probabilistic.tex b/latex/annex-probabilistic.tex new file mode 100644 index 0000000..03b8aa7 --- /dev/null +++ b/latex/annex-probabilistic.tex @@ -0,0 +1,3 @@ +foo bar + +\lstinputlisting[language=Python]{../Probas.py} diff --git a/latex/main.tex b/latex/main.tex index 521dcab..5c25bb9 100644 --- a/latex/main.tex +++ b/latex/main.tex @@ -113,6 +113,12 @@ \clearpage +\subsection{Probabilistic analysis script} +\label{annex:probabilistic} + +\input{annex-probabilistic} + +\clearpage % \includepdf[pages={1}, scale=0.96, % pagecommand=\subsection{Questionnaire 1 : Sensibilisation à l’Hygiène et à la Sécurité}] From df98bff2857a126a230aef7baa135f10d9b2b31d Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 08:54:56 +0200 Subject: [PATCH 26/34] tex: comment probabilistic annex --- latex/annex-probabilistic.tex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/latex/annex-probabilistic.tex b/latex/annex-probabilistic.tex index 03b8aa7..84618cc 100644 --- a/latex/annex-probabilistic.tex +++ b/latex/annex-probabilistic.tex @@ -1,3 +1,5 @@ -foo bar +Script should have been provided with report. % TODO \lstinputlisting[language=Python]{../Probas.py} + +% TODO include output example From 064eeabad5758668a421d131635552334bda1f55 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 10:42:04 +0200 Subject: [PATCH 27/34] tex: list variables --- latex/content.tex | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/latex/content.tex b/latex/content.tex index 2003c8f..d6664d1 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -114,15 +114,31 @@ we store each item in the next bin if it fits, otherwise we open a new bin. will be of random sizes between $ 0 $ and $ 1 $. We will run X simulations % TODO with 10 packets. -\subsubsection{Variables used in models} +\subsection{Variables used in models} +We use the following variables in our algorithms and models : +\begin{itemize} + + \item $ U_n $ : the size of the $ n $-th item. $ (U_n)_{n \in \mathbb{N}} $ + denotes the mathematical sequence of random variables of uniform + distribution on $ [0, 1] $ representing the items' sizes. + + \item $ T_i $ : the number of items in the $ i $-th bin. + + \item $ V_i $ : the size of the first item in the $ i $-th bin. + + \item $ H_n $ : the number of bins required to store $ n $ items. + +\end{itemize} \cite{hofri:1987} % TODO mettre de l'Histoire \section{Next Fit Dual Bin Packing algorithm} +The variables used are the same as for NFBP. + \subsection{La giga demo} Let $ k \in \mathbb{N} $. Let $ (U_n)_{n \in \mathbb{N}} $ be a sequence of From ac6c443beb7c90e673fda0dc0b05b311846f9c67 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 11:02:26 +0200 Subject: [PATCH 28/34] tex: detail stat analysis complexity --- latex/content.tex | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index d6664d1..5aa5bde 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -241,8 +241,10 @@ $ f_{U_{k-1}}(y) = 1 $. \section{Complexity and implementation optimization} -The NFBP algorithm has a linear complexity $ O(n) $, as we only need to iterate -over the items once. +Both the NFBP and NFDBP algorithms have a linear complexity $ O(n) $, as we +only need to iterate over the items once. While the algorithms themselves are +linear, calculating the statistics may not not be. In this section, we will +discuss how to optimize the implementation of the statistical analysis. \subsection{Performance optimization} From bfbad23aed116e8ebf40666ffd6460ad3d39fdeb Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 11:12:28 +0200 Subject: [PATCH 29/34] tex: NFBP math impl --- latex/content.tex | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/latex/content.tex b/latex/content.tex index 5aa5bde..eaa2e95 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -132,6 +132,21 @@ We use the following variables in our algorithms and models : \end{itemize} +Mathematically, the NFBP algorithm imposes the following constraint on the first box : + +\begin{align*} + T_1 = k \iff & U_1 + U_2 + \ldots + U_{k-1} < 1 \\ + \text{ and } & U_1 + U_2 + \ldots + U_{k} \geq 1 \qquad \text{ with } k \geq 2 +\end{align*} + + +\subsection{Implementation and results} + +We implemented the NFBP algorithm in Python, for it's ease of use and broad +recommendation. + + + \cite{hofri:1987} % TODO mettre de l'Histoire From 06b9500efc0099904ba3701d303496b1251e384d Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 11:18:36 +0200 Subject: [PATCH 30/34] tex: NFBP impl detail --- latex/content.tex | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index eaa2e95..374186c 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -142,8 +142,14 @@ Mathematically, the NFBP algorithm imposes the following constraint on the first \subsection{Implementation and results} -We implemented the NFBP algorithm in Python, for it's ease of use and broad -recommendation. +We implemented the NFBP algorithm in Python \footnotemark, for its ease of use +and broad recommendation. We used the \texttt{random} library to generate +random numbers between $ 0 $ and $ 1 $ and \texttt{matplotlib} to plot the +results. + +\footnotetext{The code is available in Annex \ref{annex:probabilistic}} + + From dcda7297e0dfe372e6786bb9192472b2a7ceee62 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 11:41:47 +0200 Subject: [PATCH 31/34] tex: NFBP distribution boilerplate --- latex/content.tex | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/latex/content.tex b/latex/content.tex index 374186c..7399933 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -145,10 +145,22 @@ Mathematically, the NFBP algorithm imposes the following constraint on the first We implemented the NFBP algorithm in Python \footnotemark, for its ease of use and broad recommendation. We used the \texttt{random} library to generate random numbers between $ 0 $ and $ 1 $ and \texttt{matplotlib} to plot the -results. +results in the form of histograms. We ran $ R = 10^6 $ simulations with +$ N = 10 $ different items each. \footnotetext{The code is available in Annex \ref{annex:probabilistic}} +\paragraph{Distribution of $ T_i $} We first studied how many items were +present per bin. + +\paragraph{Distribution of $ V_i $} We then looked at the size of the first +item in each bin. + +\paragraph{Asymptotic behavior of $ H_n $} Finally, we analyzed how many bins +were needed to store $ n $ items. + +% TODO histograms +% TODO analysis histograms From bcfbec57ba0f52cf406a580a498cbc05c22ac755 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 12:55:15 +0200 Subject: [PATCH 32/34] tex: add NFB(D)P drawings --- latex/content.tex | 72 ++++++++++++++++++++++++++++++++++++++++++++++- latex/main.tex | 1 + 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/latex/content.tex b/latex/content.tex index 7399933..ddf4488 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -110,6 +110,42 @@ Our goal is to study the number of bins $ H_n $ required to store $ n $ items for each algorithm. We first consider the Next Fit Bin Packing algorithm, where we store each item in the next bin if it fits, otherwise we open a new bin. +\begin{figure}[h] + \centering + \begin{tikzpicture}[scale=0.8] + % Bins + \draw[thick] (0,0) rectangle (2,6); + \draw[thick] (3,0) rectangle (5,6); + \draw[thick] (6,0) rectangle (8,6); + + % Items + \draw[fill=red] (0.5,0.5) rectangle (1.5,3.25); + \draw[fill=blue] (0.5,3.5) rectangle (1.5,5.5); + \draw[fill=green] (3.5,0.5) rectangle (4.5,1.5); + \draw[fill=orange] (3.5,1.75) rectangle (4.5,3.75); + \draw[fill=purple] (6.5,0.5) rectangle (7.5,2.75); + \draw[fill=yellow] (6.5,3) rectangle (7.5,4); + + % arrow + \draw[->, thick] (8.6,3.5) -- (7.0,3.5); + \draw[->, thick] (8.6,1.725) -- (7.0,1.725); + + % Labels + \node at (1,-0.75) {Bin 0}; + \node at (4,-0.75) {Bin 1}; + \node at (7,-0.75) {Bin 2}; + \node at (10.0,3.5) {Yellow item}; + \node at (10.0,1.725) {Purple item}; + + \end{tikzpicture} + \label{fig:nfbp} + \caption{Next Fit Bin Packing example} +\end{figure} + +\paragraph{} The example in figure \ref{fig:nfbp} shows the limitations of the +NFBP algorithm. The yellow item is stored in bin 2, while it could fit in bin +1, because the purple item is considered first and is too large to fit. + \paragraph{} Each bin will have a fixed capacity of $ 1 $ and items and items will be of random sizes between $ 0 $ and $ 1 $. We will run X simulations % TODO with 10 packets. @@ -170,7 +206,41 @@ were needed to store $ n $ items. \section{Next Fit Dual Bin Packing algorithm} -The variables used are the same as for NFBP. +Next Fit Dual Bin Packing is a variation of NFBP in which we allow the bins to +overflow. A bin must be fully filled, unless it is the last bin. + +\begin{figure}[h] + \centering + \begin{tikzpicture}[scale=0.8] + % Bins + \draw[thick] (0,0) rectangle (2,6); + \draw[thick] (3,0) rectangle (5,6); + + % Transparent Tops + \fill[white,opacity=1.0] (0,5.9) rectangle (2,6.5); + \fill[white,opacity=1.0] (3,5.9) rectangle (5,6.5); + + % Items + \draw[fill=red] (0.5,0.5) rectangle (1.5,3.25); + \draw[fill=blue] (0.5,3.5) rectangle (1.5,5.5); + \draw[fill=green] (0.5,5.75) rectangle (1.5,6.75); + \draw[fill=orange] (3.5,0.5) rectangle (4.5,2.5); + \draw[fill=purple] (3.5,2.75) rectangle (4.5,5.0); + \draw[fill=yellow] (3.5,5.25) rectangle (4.5,6.25); + + % Labels + \node at (1,-0.75) {Bin 0}; + \node at (4,-0.75) {Bin 1}; + + \end{tikzpicture} + \caption{Next Fit Dual Bin Packing example} + \label{fig:nfdbp} +\end{figure} + +\paragraph{} The example in figure \ref{fig:nfdbp} shows how NFDBP utilizes +less bins than NFBP, due to less stringent constraints. The top of the bin is +effectively removed, allowing for an extra item to be stored in the bin. We can +easily see how with NFDBP each bin can at least contain two items. \subsection{La giga demo} diff --git a/latex/main.tex b/latex/main.tex index 5c25bb9..5013099 100644 --- a/latex/main.tex +++ b/latex/main.tex @@ -14,6 +14,7 @@ \usepackage[english]{babel} \usepackage{eso-pic} % for background on cover \usepackage{listings} +\usepackage{tikz} % Define colors for code \definecolor{codegreen}{rgb}{0,0.4,0} From 8921d8c5dfaa203b9c18fe8ac6e4daeb273f46d7 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 12:57:42 +0200 Subject: [PATCH 33/34] tex: add NFDP math spec --- latex/content.tex | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index ddf4488..41dd42b 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -147,8 +147,7 @@ NFBP algorithm. The yellow item is stored in bin 2, while it could fit in bin 1, because the purple item is considered first and is too large to fit. \paragraph{} Each bin will have a fixed capacity of $ 1 $ and items and items -will be of random sizes between $ 0 $ and $ 1 $. We will run X simulations % TODO -with 10 packets. +will be of random sizes between $ 0 $ and $ 1 $. \subsection{Variables used in models} @@ -171,8 +170,8 @@ We use the following variables in our algorithms and models : Mathematically, the NFBP algorithm imposes the following constraint on the first box : \begin{align*} - T_1 = k \iff & U_1 + U_2 + \ldots + U_{k-1} < 1 \\ - \text{ and } & U_1 + U_2 + \ldots + U_{k} \geq 1 \qquad \text{ with } k \geq 2 + T_1 = k \iff & U_1 + U_2 + \ldots + U_{k} < 1 \\ + \text{ and } & U_1 + U_2 + \ldots + U_{k+1} \geq 1 \qquad \text{ with } k \geq 1 \\ \end{align*} @@ -242,6 +241,14 @@ less bins than NFBP, due to less stringent constraints. The top of the bin is effectively removed, allowing for an extra item to be stored in the bin. We can easily see how with NFDBP each bin can at least contain two items. +\paragraph{} The variables used are the same as for NFBP. Mathematically, the +new constraints on the first bin can be expressed as follows : + +\begin{align*} + T_1 = k \iff & U_1 + U_2 + \ldots + U_{k-1} < 1 \\ + \text{ and } & U_1 + U_2 + \ldots + U_{k} \geq 1 \qquad \text{ with } k \geq 2 \\ +\end{align*} + \subsection{La giga demo} Let $ k \in \mathbb{N} $. Let $ (U_n)_{n \in \mathbb{N}} $ be a sequence of @@ -288,7 +295,7 @@ $ U_1 $ and $ U_2 $ are independent, so & = \begin{cases} 1 & \text{if } x \in [0, 1] \text{ and } y \in [0, 1] \\ 0 & \text{otherwise} \\ - \end{cases} \\ + \end{cases} \\ \end{align*} Hence, From 1c6db889a62fa245a9c9e9dda10131b450c2846b Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Sun, 4 Jun 2023 13:39:59 +0200 Subject: [PATCH 34/34] tex: minor word corrections --- latex/content.tex | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/latex/content.tex b/latex/content.tex index 41dd42b..7d6d5cd 100644 --- a/latex/content.tex +++ b/latex/content.tex @@ -108,7 +108,7 @@ items of different heights in a linear bin. Our goal is to study the number of bins $ H_n $ required to store $ n $ items for each algorithm. We first consider the Next Fit Bin Packing algorithm, where -we store each item in the next bin if it fits, otherwise we open a new bin. +we store each item in the current bin if it fits, otherwise we open a new bin. \begin{figure}[h] \centering @@ -146,7 +146,7 @@ we store each item in the next bin if it fits, otherwise we open a new bin. NFBP algorithm. The yellow item is stored in bin 2, while it could fit in bin 1, because the purple item is considered first and is too large to fit. -\paragraph{} Each bin will have a fixed capacity of $ 1 $ and items and items +\paragraph{} Each bin will have a fixed capacity of $ 1 $ and items will be of random sizes between $ 0 $ and $ 1 $. \subsection{Variables used in models} @@ -155,7 +155,7 @@ We use the following variables in our algorithms and models : \begin{itemize} - \item $ U_n $ : the size of the $ n $-th item. $ (U_n)_{n \in \mathbb{N}} $ + \item $ U_n $ : the size of the $ n $-th item. $ (U_n)_{n \in \mathbb{N^*}} $ denotes the mathematical sequence of random variables of uniform distribution on $ [0, 1] $ representing the items' sizes. @@ -203,7 +203,7 @@ were needed to store $ n $ items. \cite{hofri:1987} % TODO mettre de l'Histoire -\section{Next Fit Dual Bin Packing algorithm} +\section{Next Fit Dual Bin Packing algorithm (NFDBP)} Next Fit Dual Bin Packing is a variation of NFBP in which we allow the bins to overflow. A bin must be fully filled, unless it is the last bin. @@ -365,8 +365,8 @@ consuming. We can optimize the process by computing the statistics on the fly, by using sum formulae. This uses nearly constant memory, as we only need to store the current sum and the current sum of squares for different variables. -While the mean can easily be calculated by summing then dividing, the variance -can be calculated using the following formula: +While the mean can easily be calculated by summing then dividing, the empirical +variance can be calculated using the following formula: \begin{align*} {S_N}^2 & = \frac{1}{N-1} \sum_{i=1}^{N} (X_i - \overline{X})^2 \\