78 lines
1.9 KiB
TeX
78 lines
1.9 KiB
TeX
\documentclass[a4paper, 12pt]{article}
|
|
|
|
\newcommand{\bold}{\textbf}
|
|
|
|
\usepackage[english]{babel}
|
|
\usepackage{amsmath}
|
|
\usepackage{tikz}
|
|
\usepackage{indentfirst}
|
|
|
|
\begin{document}
|
|
|
|
\newcommand{\q2}{\quad\quad}
|
|
|
|
\title{\Large{\bold{Moontorio}}}
|
|
\author{Matei Adriel}
|
|
\date {}
|
|
|
|
\maketitle
|
|
|
|
\section{Describing a factory}
|
|
|
|
A factory is made out of machines. A machine is either a provider, a belt or a consumer. Machines are connected by ports.
|
|
|
|
\begin{figure}[h]
|
|
|
|
\begin{equation}
|
|
\begin{split}
|
|
Machines\ A,\ B,\ C\ &::=\; belt\ p_i\ p_o \\
|
|
&\quad|\quad provider\ p_1,\ p_2,\ ...\ p_n \\
|
|
&\quad|\quad consumer\ p_1,\ p_2,\ ...\ p_n
|
|
\end{split}
|
|
\end{equation}
|
|
\caption{Machines}
|
|
\label{Machines}
|
|
\end{figure}
|
|
|
|
We can represent the factory as a directed graph, with the machines being the nodes and the ports being the edges:
|
|
|
|
\vspace*{20pt}
|
|
\begin{figure}[h]
|
|
\centering
|
|
\begin{tikzpicture}[shorten >=1pt, auto, node distance={50mm},
|
|
main/.style = {draw, rectangle}]
|
|
|
|
\node[main] (1) {$provider_1$};
|
|
\node[main] (2) [right of=1] {$belt_1$};
|
|
\node[main] (3) [right of=2] {$consumer_1$};
|
|
|
|
\draw[->] (1) edge node{$p_1$} (2);
|
|
\draw[->] (2) edge node{$p_2$} (3);
|
|
|
|
\end{tikzpicture}
|
|
\caption{Example of a simple factory}
|
|
\label{SimpleFactory}
|
|
\end{figure}
|
|
|
|
\section{Constraints}
|
|
The first step of the factory solving process is the constraint generation.
|
|
We currently use 3 different types of constraints (Figure \ref{Constraints}).
|
|
Let's take them one step at a time. The first two constrains (
|
|
$p_k(t) <_{\Leftarrow} f(t)$ and $p_k(t) <_{\Rightarrow} f(t)$
|
|
) are pretty similar, both limiting the flow through a port.
|
|
|
|
\begin{figure}[ht]
|
|
|
|
\begin{equation}
|
|
\begin{split}
|
|
Constraints\quad C_k\ &::=\; p_k(t) <_{\Leftarrow} f(t) \\
|
|
&\quad|\quad p_k(t) <_{\Rightarrow} f(t) \\
|
|
&\quad|\quad p_1(t) = p_2(f(t))
|
|
\end{split}
|
|
\end{equation}
|
|
\caption{Constraints}
|
|
\label{Constraints}
|
|
\end{figure}
|
|
|
|
\end{document}
|