diff --git a/cours.md b/cours.md index ba134ea6e10915220a761ff55ec40adc04a362c2..13cc8202babdc8e5a82a3122c8b58659d81ac0c6 100644 --- a/cours.md +++ b/cours.md @@ -1574,10 +1574,13 @@ Suite à ces deux exemples, nous allons essayer de définir de façon assez thé Il existe comme on vient de le voir deux types disctincts de problèmes d'optimisation: 1. L'optimisation continue. -2. L'optimisation discrète (ou optimisation combinatoire). +2. L'optimisation discrète (souvent appelée optimisation combinatoire). ### L'optimisation continue +L'optimisation continue ou *programme mathématique continu* est un programme d'optimisation soumis à certaines contraintes. +On peut l'exprimer de la façon suivante. + Soit $f:\real^n\rightarrow\real$ une fonction objectif (ou fontion de coût), on cherche $\vec x_0\in\real^n$, tel que $f(\vec x_0)\leq f(\vec x)$ pour $\vec x$ certaines conditions: les contraintes qui sont en général des égalités strictes ou des inégalités qui peuvent s'exprimer de la façon suivante. Soient $m$ fonctions $g_i:\real^n\rightarrow\real$ \begin{align} @@ -1602,6 +1605,431 @@ $$ On constate la présence d'un grand nombre de minima locaux qui rendent la recherche du minimum global (se trouvant en $x=0$) particulièrement compliqué à déterminer. +L'optimisation continue est très communément utilisée en apprentissage automatique (machine learning), en particulier pour +optimiser les poids des réseaux de neurones. + +### Optimisation discrète + +L'optimisation discrète, ou *programme mathématique discret*, est très similaire dans la définition mathématique à l'optimisation continue. L'ensemble $\real^n$ est remplcé par un ensemble discret, $\integer^n$. On peut le formuler de la façon suivante. Soit $f:\integer^n\rightarrow \real$ on cherche à résoudre +\begin{align*} +&\min_{\vec x\in\integer^n}f(\vec x),\\ +&g_i(\vec x)\leq 0,\quad i=1,...,m,\\ +&\mbox{pour }m\geq 0\mbox{ et }\vec x\in\integer^n. +\end{align*} +On voit donc qu'on a une "contrainte" supplémentaire qui est de supposer que les éléments sont tous discrets. + +Il existe un grand nombre d'application quotidiennes +de l'optimisation discrète: le choix du moyen optimal de livraison d'un paquet, le meilleur réseau aérien, dans la logistique, le design de microprocesseurs, ... + +L'optimisation discrète est une branche des mathématiques très intéressante. Elle permet de poser des problèmes relativements simples, dont les solutions brute force sont très "simples" conceptuellement. En revanche les solutions "réalisables" dans un temps raisonnables (polynomial) sont souvent très difficiles à obtenir comme on l'a vu avec le problème du voyageur de commerce. Le problème se formule de façon simple, il existe une soltution très simple conceptuellement au problème (l'essai de toutes les possibilités), mais qui n'est pas réalisable en pratique, car déjà à 25 villes il faudrait des milliards d'années pour le résoudre. + +Une heuristique possible serait de penser les problèmes d'optimisation discrète comme un cas particulier des problèmes continus. +En résumé on *relaxe* (on retire la condition que $\vec x\in\natural^n$) le problème discret en le rendant continu, +on trouve la solution et finalement on tronque la solution pour la rendre entière. + +En procédant de la sorte, il est possible d'approximer de trouver une solution approchée de relativement bonne qualité, mais +on est pas du tout certains de trouver la solution optimale. + +On peut s'en convaincre avec le problème suivant. On cherche +\begin{align} +&\max 10x_1+11x_2,\\ +&10x_1+12x_2\leq 59,\\ +&x_1,x_2\in \real\mbox{ ou } x_1,x_2\in \natural. +\end{align} + +Dans le cas discret la solution de ce problème est $x_1=1$, $x_2=4$ +\begin{align} +&10x_1+11x_2=54,\\ +&10x_1+12x_2=58\leq 59. +\end{align} + +1. L'heuristique de la relaxation au cas continu, nous donne $x_1^\ast=5.9$, $x_2^\ast=0$ + + \begin{align} + &10x_1+11x_2=59,\\ + &10x_1+12x_2=59\leq 59. + \end{align} + On aurait donc après avoir tronqué $x_1^\ast$ et $x_2^\ast$, la solution est donc $x_1=5$, $x_2=0$, on obtient + $$ + 10x_1+11x_2=50, + $$ + ce qui est assez différent de $x_1=1$ et $x_4=4$, où 10x_1+11x_2=58 (mais c'est pas non plus la pire solution possible). + +2. Il est possible d'appliquer une heuristique un peu meilleure en général. Le problème qui nous intéresse ici peut se formuler de la façon suivante en général: + + \begin{align} + &\max m_1x_1+m_2x_2,\\ + &v_1x_1+v_2x_2\leq V. + \end{align} + On commence par calculer "la densité" $\rho_i=m_i/v_i$ de chaque indice $i$. Ici on a $\rho_1=1$ et $\rho_2=11/12$. + On classe les $\rho_i$ par ordre décroissant, et on prend le maximum possible de chacun. + On commence donc par prendre autant de $i=1$ que possible comme il a la plus grande densité. + Cela nous donne $x_1=5$ et il ne reste plus la place pour des $x_2$ telle que la contrainte est satisfaire et on a terminé. + On a donc $x_1=5$ et $x_2=0$, ce qui est le même résultat que la relaxation continue, mais ce n'est pas toujours le cas. + Cette façon de procéder est au moins aussi bonne que la relaxation continue en général (elle peut donc être meilleure). + +## Programmation linéaire + +Contrairement à ce qu'on pourrait croire, la *programmation linéaire* n'a pas forcément grand chose à avoir avec l'informatique. Il s'agit d'un sous ensemble des problèmes d'optimisation mathématique. Si la fonction objective et les fonctions de contraintes sont toutes **linéaires**, alors le problème en lui est même est dit linéaire. La façon la plus générale d'écrire un programme linéaire discret, est de faire un "mélange" (le programme est dit *mixte*) entre un programme discret et un programme continu +\begin{align} +\min_{\vec x_1\in\real^n,\vec x_2\in\integer^n} \vec c_1^T\cdot \vec x_1+ \vec c_2^T\cdot \vec x_2,\\ +\mat{A}_1\cdot \vec x_1+\mat{A}_2\cdot \vec x_2\leq b, +\end{align} +où $\vec c_1$ et $\vec c_2$ sont des vecteurs, et $\mat{A}_1$ et $\mat{A}_2$ des matrices des parties continues, $\vec x_1$ et discrfètes, $\vec x_2$. + +Les programmes linéaires continus ont tous des solutions polynomiales, en revanche dans le cas discret cela n'est pas le cas comme on a pu le voir avec le cas du voyageur du commerce. + +Il existe bien évidemment des programmes non-linéaires (la fonction objectif, ou les fonctions de contraintes ne sont pas linéaires) mais leur résolution est en général beaucoup plus compliquée, car nous ne sommes pas assurés de l'existence d'un minimum global (il existe également des minima locaux). + +### Pogrammation linéaire continue: l'algorithme du simplexe + +Une des méthodes les plus répandues de résolution de problèmes d'optimisation continue est la méthode du simplexe linéaire. +Bien que cette méthode soit sous-optimale (elle est a en général un coût exponentiel en fonction du nombre de dimensions) +elle reste très utilisée, car elle est relativement intuitive et simple à implémenter. + +Nous commençons par définir un problème de programmation linéaire continu de façon générale comme +\begin{align} +&\min_{\vec x\in\real^n} {\vec c}^T\cdot \vec x,\\ +&\mat{A}\cdot \vec x\leq b,\\ +&\vec x \geq \vec 0,\quad \vec x\in\real^n. +\end{align} +Si on suppose que $\mat{A}$ représente une application surjective, on peut représenter +$\mat{A}$ comme un polyèdre fermé. + +--- + +Exemple (Polygone) +.# + +Soit le problème de programmation linéaire suivant +\begin{align} +&\max 10x_1+11x_2,\\ +&10x_1+12x_2\leq 59,\\ +&x_1\geq 0,\quad x_2\geq 0. +\end{align} +On peut faire correspondre la formulation générale ci-dessus à +\begin{align} +\vec x = \vectwo{x_1}{x_2},\quad \vec c=\vectwo{10}{11},\\ +\mat{A}=\left(10\ 12\right),\quad \vec b=(59). +\end{align} +Les conditions sur $\vec x$ +\begin{align*} +&x_2\leq \frac{59-10 x_2}{12},\\ +&x_1\geq 0,\quad x_2\geq 0, +\end{align*} +peuvent se représenter graphiquement par un polygone (nous sommes en deux dimensions), comme représenté sur la @fig:polygon. + +{#fig:polygon width=70%} + +--- + +On peut montrer que si toutes les conditions ci-dessus sont satisfaites, alors la solution optimale se trouve sur un des sommets du polyèdre. +On résout ce genre de problème en parcourant donc tous les sommets en suivants les arrêtes du polyèdre. +Comme vous avez déjà vu cet algorithme dans le cours d'algorithmique avancée, on ne va pas s'attarder dessus, +mais plutôt parler de modélisation d'un problème d'optimisation. En d'autres termes, comment en partant +d'un problème d'optimisation formulé en phrases on écrit un problème mathématique. + +## Modélisation + +### Exemple: Le problème du sac à dos + +Le problème du sac à dos est un problème classique en optimisation combinatoire. Il n'existe pas de méthode exacte qui +permette de résoudre ce problème en temps polynomial (pour ceux que ça intéresse, je pense que résdoudre ce problème de façon générale +vaut beaucoup de gloire et d'argent). +Il s'énonce de la façon suivante. Soit un ensemble de $n$ objets de poids $p_i$ et de valeur $v_i$. Combien de chaque objet +pouvons nous mettre dans le sac à dos, tel que la valeur totale des objets dans le sac à dos soit maximisée, +et que le poids total n'excède pas un poids maximal $P$. Nous simplifions encore le problème en spécifiant +qu'il peut y avoir au plus un objet de chaque dans le sac. + +Nous essayons de maximiser la valeur du sac. Nous représentons la présence ou non de l'objet $i$, par une variable $x_i$: +$x_i=1$ si l'objet est présent $x_i=0$ si l'objet est absent. On cherche donc un vecteur $\vec x=(x_1,x_2,...,x_n)^T$, avec $x_i\in\{0,1\}$. +La fonction objectif à maximiser est par conséquent +$$ +f(\vec x)=\sum_{i=1}^n x_i\cdot v_i. +$$ +Le poids du sac s'exprime lui avec $p(\vec x)$ comme +$$ +p(\vec x)=\sum_{i=1}^n x_i\cdot p_i. +$$ +On formule donc mathématiquement notre problème d'optimisation comme +\begin{align} +&\max \sum_{i=1}^n x_i\cdot v_i,\\ +&\sum_{i=1}^n x_i\cdot p_i\leq P,\\ +&x_i\in\{0,1\}. +\end{align} + +### Généralités + +L'exercice de transposer un problème d'optimisation en formulation mathématique est appelée **modélisation**. L'exercice en lui même est intéressant, et nous allons en voir quelques exemples que vous devrez proposer et résoudre par vous mêmes. Mais avant d'en arriver là, on peut écrire un certain nombre de règles. + +Soient deux événement, $A$ et $B$, et les variables de décision +binaires, $x_A,\ x_B\in\{0,1\}$ + +- Si les deux événements ne peuvent pas se produire en même temps, on peut écrire +$$ +x_A+x_B\leq 1. +$$ +On a 4 possibilités: + 1. $A$ se produit, $x_A=1$, et $B$ se produit $x_B=1$. On a $x_A+x_B=2$ (c'est plus grand que $1$ nous sommes sauvés). + 2. $A$ se produit, $x_A=1$, et $B$ ne se produit pas $x_B=0$. On a $x_A+x_B=1$ (c'est égal à $1$ nous sommes satisfaisons la contrainte). + 3. $A$ ne se se produit pas, $x_A=0$, et $B$ se produit $x_B=1$. On a $x_A+x_B=1$ (c'est égal à $1$ nous sommes satisfaisons la contrainte). + 4. $A$ ne se se produit pas, $x_A=0$, et $B$ ne se produit pas $x_B=0$. On a $x_A+x_B=0$ (c'est égal à $0$ nous sommes satisfaisons la contrainte). + +- Si au moins un des deux événements doit se produit +$$ +x_A+x_B\geq 1. +$$ +On a 4 possibilités: + 1. $A$ se produit, $x_A=1$, et $B$ se produit $x_B=1$. On a $x_A+x_B=2$ (c'est plus grand que $1$ satisfaisons la contrainte). + 2. $A$ se produit, $x_A=1$, et $B$ ne se produit pas $x_B=0$. On a $x_A+x_B=1$ (c'est égal à $1$ nous satisfaisons la contrainte). + 3. $A$ ne se se produit pas, $x_A=0$, et $B$ se produit $x_B=1$. On a $x_A+x_B=1$ (c'est égal à $1$ nous satisfaisons la contrainte). + 4. $A$ ne se se produit pas, $x_A=0$, et $B$ ne se produit pas $x_B=0$. On a $x_A+x_B=0$ (c'est plus petit que $1$, nous sommes sauvés). + +- Si $A$ se produit, alors $B$ doit se produire +$$ +x_A\leq x_B. +$$ +Si $A$ s'est produit, nous avons $x_A=1$, cela signifie que $x_B$ doit se produire également et donc $1\leq x_B$, $x_B$ doit forcément valoir $x_B=1$ sinon la contrainte n'est pas satisfaite. De façon similaire, si $B$ ne se produit pas ($x_B=0$), alors $A$ ne doit pas se produire, car $x_A\leq 0$. On a donc que $x_A=0$ obligatoirement. +- Soit $C$ un troisième événement et $x_C$ sa variable de décision binaire. Si $A$ se produit, alors $B$ ou/et $C$ doivent se produire: +$$ +x_A\leq x_B+x_C. +$$ + +Souvent, il est utile de rajouter des variables même si cela complexifie *a priori* le problème. Cela permet néanmoins d'être plus expressif. + +- Soient un nombre $N$ de fonctions linéaires $c_i x$, +$i=1, ..., N$. Si l'objectif est de maximiser la valeur minimale prise par cette ensemble de fonction, on peut rajouter une variable $y$ et l'ensemble de contraintes +$$ +y\leq c_i x. +$$ +La fonction objectif est elle-même modifiée et devient $\max y$. + +- Soient $N$ contraintes +\begin{align} +&c_1 x\leq b_1,\\ +&c_2 x\leq b_2,\\ +&\cdots,\nonumber\\ +&c_N x\leq b_N. +\end{align} +Si nous souhaitons en imposer un sous ensemble, $K$ en même temps. Nous pouvons définir une variable $M_i$ qui satisfera la $i$-ème contrainte +quelle que soit $x$ +$$ +c_i x\leq b_i+M_i,\quad\forall x. +$$ +On définit également $y_i$, une variable binaire, pour chaque contrainte. Nous pouvons dès-lors réécrire les contraintes de la façon suivante +\begin{align} +&c_1 x\leq b_1+M_1y_1,\\ +&c_2 x\leq b_2+M_2y_2,\\ +&\cdots,\nonumber\\ +&c_N x\leq b_N+M_Ny_N,\\ +&\sum_{i=1}^N y_i = N-K. +\end{align} + +--- + +Question +.# + +Que se passe-t-il si $N=2$ et $K=1$? + +--- + +Ci-dessous vous trouverez trois problèmes différents qu'il faudra modéliser. + +--- + +Problème (Fabrication) +.# + +Une entreprise produit des pizzas de luxe (LU) et "low-cost" (LC). +Elles sont toutes les deux fabriquées à partir des mêmes produits, +pâte, fromage, et jambon, +mais dans des proportions différentes qui sont résumées dans le tableau ci-dessous + ++----------+--------+-------+ +| | L | LC | ++==========+========+=======+ +| Pâte | 1 | 3 | ++----------+--------+-------+ +| Fromage | 2 | 1 | ++----------+--------+-------+ +| Jambon | 2 | 1 | ++----------+--------+-------+ + +Chacune de ces matières premières est disponible en quantité limitée: +$1200\mathrm{kg}$ de pâte, $600\mathrm{kg}$ de fromage, et $400\mathrm{kg}$ de jambom. La pizza de luxe rapporte $10$ francs par kilo et la pizza low-cost rapporte $6$ francs par kilo. Modélisr le problème du calcul de nombre de kilos de pizzas à produire de chaque type pour maximiser le rendement. + +Modéliser le problème: + +1. Déterminer les variables du problème. +2. Écrire la fonction objectif. +3. Ecrire les contraintes. + +<!-- Le problème se modélise de la façon suivante: + +1. Les variables sont $x_i$ les quantités en kilos de pizzas du type $LU$ et $LC$ (on a donc $x_{LU}$, et $x_{LC}$). +2. La fonction objectif à maximiser est le rendement des pizzas: +$$ +\max_{\vec x} f(\vec x)=\max_{\vec x}10\cdot x_{LU}+6\cdot x_{LC}. +$$ +3. Les contraintes sont données par: +\begin{align} +1\cdot x_{LU} + 3\cdot x_{LC}\leq 1200,\\ +2\cdot x_{LU} + 1\cdot x_{LC}\leq 600,\\ +2\cdot x_{LU} + 1\cdot x_{LC}\leq 400,\\ +x_{LU}\geq 0,\quad x_{LC}\geq 0. +\end{align} --> + +--- + +--- + +Problème (Distribution d'électricité) +.# + +Nous souhaitons alimenter en électricité trois villes, Genève, Bâle, et Zürich. +Nous avons à notre disposition trois centrales (celle de la Grande Dixence, de Leibstadt et +de Mühleberg). Nous souhaitons à partir du tableau ci-dessous, représentant les coût de production +et d'acheminement de l'électricité des centrales aux villes, ainsi que leur demande et puissance +respectives en GWh. Déterminer fournir en électricitié toutes les villes à moindre coût. +Modéliser le problème d'optimisation des coûts globaux d'élctricité (tous les chiffres donnés ici +sont choisis au hasard). + ++----------------+--------+--------+--------+-----------------+ +| | Bâle | Genève | Zürich | Puissance (GWh) | ++================+========+========+========+=================+ +| Grande Dixence | 3 | 5 | 8 | 30 | ++----------------+--------+--------+--------+-----------------+ +| Leibstadt | 8 | 11 | 6 | 50 | ++----------------+--------+--------+--------+-----------------+ +| Mühleberg | 11 | 15 | 12 | 40 | ++----------------+--------+--------+--------+-----------------+ +| Demande (GWh) | 20 | 25 | 40 | | ++----------------+--------+--------+--------+-----------------+ + +Modéliser le problème: + +1. Déterminer les variables du problème. +2. Écrire la fonction objectif. +3. Ecrire les contraintes. + +<!-- Le problème se modélise de la façon suivante: + +1. Les variables du probèmes sont $x_{ij}$, le nombre de GWh acheminés de la centrale $i$ à la ville $j$. +On peut par exemple numéroter la Grande Dixence, Leibstadt et Mühleberg, 1, 2, et 3 respectivement et +Bâle, Genève et Zûrich, 1, 2, et 3 respectivement. +2. Le coût total de production et d'acheminement de l'électricité et la fonction objectif $f(\vec x)$ qui s'écrit +\begin{align} +f(\vec x) = &3x_{11} + 5x_{12} + 8x_{13} +\nonumber\\ + &8x_{21} + 11x_{22} + 6x_{23} +\nonumber\\ + &11x_{31} + 15x_{32} + 12x_{33}. +\end{align} +3. Il y a trois sortes de contraintes. + + a. Les la quantité d'électricité acheminée doit être positive + $$ + x_{ij}\geq 0,\quad\forall{i,j}. + $$ + b. La production maximale de chaque centrale ne doit pas être dépassée + \begin{align} + &x_{11}+x_{12}+x_{13}\leq 30,\\ + &x_{21}+x_{22}+x_{23}\leq 50,\\ + &x_{31}+x_{32}+x_{33}\leq 40. + \end{align} + c. Chaque ville doit au moins recevoir la quantité d'électricité demandée + \begin{align} + &x_{11}+x_{21}+x_{31}\geq 20,\\ + &x_{12}+x_{22}+x_{32}\geq 25,\\ + &x_{13}+x_{23}+x_{33}\geq 40. + \end{align} --> + +--- + +--- + +Problème (Transport) +.# + +Le graphe de la @fig:graph_transport représente le réseau de transport d'un jouet de deux usines $U$, et $V$, +à deux clients $C$, et $D$ en passant par les entrepôts $E$ et $F$. Sur les arrêtes du graphe se +situent les coûts de transport par jouet transporté. + +{#fig:graph_transport width=100%} + +A la sortie de l'usine $A$, il y a une quantité de $90$ jouets disponibles et une quantité de $75$ +jouets à la sortie de l'usine $B$. Les clients $C$ et $D$ ont une demande de respectivement +$70$ et $80$. Les entrepôts ne sont qu'un point de transit. + +Modéliser le problème d'optimisation permettant de déterminer le planning de transport optimal +qui permet de satisfaire les demandes des clients pour un coût aussi faible que possible. + +1. Déterminer les variables du problème. +2. Écrire la fonction objectif. +3. Ecrire les contraintes. + +<!-- Le problème se modélise de la façon suivante: + +1. Les variables sont les quantités transportées entre les usines et entrepôts, +$x_{UE}$, $x_{UF}$, $x_{VE}$, $x_{VF}$, et les quantités transportées entre les +entrepôts et les clients $x_{EC}$, $x_{ED}$, $x_{FC}$, $x_{FD}$. +2. On cherhce à minimiser la fonction de coût de transport $f(\vec x)$ +$$ +f(x)=x_{UE} + 2x_{UF} + 3x_{VE} + 4x_{VF} + 5x_{EC} + 8x_{ED} + + 7x_{FC} + 6x_{FD}. +$$ +3. Il y a 4 sortes de contraintes. + + a. Les quantités de jouets sont des entiers positifs + $$ + x_{ij}\in\natural. + $$ + b. Ce qui part des usines doit être plus petit que le stock local + \begin{align} + x_{UE}+x_{UF}&\leq 90,\\ + x_{VE}+x_{VF}&\leq 75. + \end{align} + c. Ce qui arrive à chaque entrepôt doit partir de chaque entrepôt + \begin{align} + x_{UE}+x_{VE}&=x_{EC}+x_{ED},\\ + x_{UF}+x_{VF}&=x_{FC}+x_{FD}. + \end{align} + d. Les clients doivent recevoir la quantité demandée + \begin{align} + x_{EC}+x_{FC}&= 70,\\ + x_{ED}+x_{FD}&= 80. + \end{align} --> + +--- + +## Optimisation continue + +Dans cette section, nous allons considérer des problèmes purement continus. +Nous allons dans un premier temps considérer une fonction opbjectif, $f$, +$$ +f:D\rightarrow\real,\quad D\subseteq \real, +$$ +dont nous allons chercher le minimum (pour autant qu'il existe). Nous allons supposer que +$f$ est une fonction continue et dérivable. + +### Minimum local/global + +Comme vous le savez, le minimum (ou le maximum) d'une fonction, se situe à un endroit où sa dérivée est nulle. +On recherche donc, $x$, tel que +$$ +f'(x)=0. +$$ +Mais cette contrainte sur $f'(x)$ n'est pas suffisante pour garantir de trouver un minimum. +En effet, si $f'(x)=0$, peut également vouloir dire qu'on se trouve sur un point d'inflexion +ou sur un maximum. +On peut assez facilement, discriminer ces deux cas, en considérant la deuxième dérivée de $f$. +En effet, nous avons à faire à un minimum seulement si +$$ +f''(x)>0. +$$ +Les cas où $f''(x)=0$ est un point d'inflexion et $f''(x)<0$ est un maximum. + +Un autre problème beaucoup plus compliqué à résoudre est de déterminer un minimum **global**. +En effet, comme pour la fonction de @fig:ackley, une fonction peut posséder un grand nombre de minimam **locaux** (où +$f'(x)=0$ et $f''(x)>0$) mais qui n'est pas un mimumum global. + +Mathématiquement un *minimum local* se définit comme $x^\ast$ tel qu'il existe $\delta>0$ et que $f(x^\ast)\leq f(x)$, pour +$x\in[x^\ast-\dealt,x^\ast+delta]$. Un *minimum global* est un $x^\ast$ tel que $\forall x\in D$, $f(x^\ast)\leq f(x)$. + # Remerciements Je voudrais remercier (par ordre alphabétique) les étudiants du cours diff --git a/figs/graph_transport.svg b/figs/graph_transport.svg new file mode 100644 index 0000000000000000000000000000000000000000..fcd71a612f44c4af33543cfde06c826edf7ad08b --- /dev/null +++ b/figs/graph_transport.svg @@ -0,0 +1,724 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:ns1="http://www.iki.fi/pav/software/textext/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="230.35229mm" + height="102.63497mm" + viewBox="0 0 230.35229 102.63497" + version="1.1" + id="svg8" + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="graph_transport.svg"> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.49497475" + inkscape:cx="461.00756" + inkscape:cy="-19.456302" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="960" + inkscape:window-height="1016" + inkscape:window-x="960" + inkscape:window-y="30" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <defs + id="defs2" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + transform="translate(-61.359119,-66.427846)" + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="g1584"> + <circle + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path834" + cx="75.40625" + cy="89.491058" + r="8.5893602" /> + <g + transform="matrix(1.025449,0,0,1.025449,-81.320299,-45.322799)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$U$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + ns1:jacobian_sqrt="1.025449" + id="g1099"> + <g + id="surface1"> + <g + style="fill:#000000;fill-opacity:1" + id="g1096"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 6.328125,-5.765625 C 6.4375,-6.171875 6.609375,-6.46875 7.40625,-6.5 c 0.046875,0 0.171875,-0.015625 0.171875,-0.203125 0,0 0,-0.109375 -0.125,-0.109375 -0.328125,0 -0.6875,0.03125 -1.015625,0.03125 -0.34375,0 -0.71875,-0.03125 -1.046875,-0.03125 -0.0625,0 -0.171875,0 -0.171875,0.203125 C 5.21875,-6.5 5.3125,-6.5 5.390625,-6.5 c 0.578125,0.015625 0.6875,0.21875 0.6875,0.4375 0,0.03125 -0.03125,0.1875 -0.03125,0.203125 l -0.90625,3.5625 C 4.8125,-0.953125 3.65625,-0.09375 2.65625,-0.09375 c -0.671875,0 -1.203125,-0.4375 -1.203125,-1.296875 0,-0.015625 0,-0.328125 0.109375,-0.765625 L 2.515625,-6.046875 C 2.609375,-6.40625 2.625,-6.5 3.359375,-6.5 c 0.265625,0 0.34375,0 0.34375,-0.203125 0,-0.109375 -0.109375,-0.109375 -0.140625,-0.109375 -0.28125,0 -1,0.03125 -1.28125,0.03125 -0.28125,0 -1,-0.03125 -1.28125,-0.03125 -0.078125,0 -0.1875,0 -0.1875,0.203125 C 0.8125,-6.5 0.890625,-6.5 1.09375,-6.5 c 0.015625,0 0.203125,0 0.375,0.015625 0.171875,0.03125 0.265625,0.03125 0.265625,0.171875 0,0.046875 -0.109375,0.46875 -0.171875,0.703125 l -0.21875,0.875 C 1.25,-4.34375 0.78125,-2.46875 0.734375,-2.265625 0.671875,-2 0.671875,-1.84375 0.671875,-1.6875 c 0,1.203125 0.90625,1.90625 1.953125,1.90625 1.25,0 2.484375,-1.125 2.8125,-2.4375 z m 0,0" + transform="translate(148.712,134.765)" + id="path1094" /> + </g> + </g> + </g> + </g> + <g + transform="translate(-7.9375,-12.294398)" + id="g1598"> + <circle + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path834-3" + cx="83.34375" + cy="172.26785" + r="8.5893602" /> + <g + id="g1590"> + <g + transform="matrix(1.025449,0,0,1.025449,-73.37479,37.454001)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$V$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + ns1:jacobian_sqrt="1.025449" + id="g1181"> + <g + id="g1179"> + <g + style="fill:#000000;fill-opacity:1" + id="g1177"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 6.265625,-5.671875 C 6.75,-6.453125 7.171875,-6.484375 7.53125,-6.5 c 0.125,-0.015625 0.140625,-0.171875 0.140625,-0.1875 0,-0.078125 -0.0625,-0.125 -0.140625,-0.125 -0.25,0 -0.546875,0.03125 -0.8125,0.03125 -0.328125,0 -0.671875,-0.03125 -0.984375,-0.03125 -0.0625,0 -0.1875,0 -0.1875,0.1875 0,0.109375 0.078125,0.125 0.15625,0.125 0.265625,0.015625 0.453125,0.125 0.453125,0.328125 0,0.15625 -0.140625,0.375 -0.140625,0.375 l -3.0625,4.875 -0.6875,-5.28125 C 2.265625,-6.375 2.5,-6.5 2.953125,-6.5 c 0.140625,0 0.25,0 0.25,-0.203125 0,-0.078125 -0.078125,-0.109375 -0.125,-0.109375 -0.40625,0 -0.828125,0.03125 -1.25,0.03125 -0.171875,0 -0.359375,0 -0.546875,0 -0.171875,0 -0.359375,-0.03125 -0.53125,-0.03125 -0.078125,0 -0.1875,0 -0.1875,0.1875 0,0.125 0.078125,0.125 0.25,0.125 0.546875,0 0.5625,0.09375 0.59375,0.34375 L 2.1875,-0.015625 C 2.21875,0.1875 2.265625,0.21875 2.390625,0.21875 c 0.15625,0 0.203125,-0.046875 0.28125,-0.171875 z m 0,0" + transform="translate(148.712,134.765)" + id="path1175" /> + </g> + </g> + </g> + </g> + </g> + <g + transform="translate(-5.953125,4.913681)" + id="g1570"> + <circle + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path834-3-5" + cx="181.99553" + cy="84.577377" + r="8.5893602" /> + <g + transform="matrix(1.025449,0,0,1.025449,25.400785,-50.140344)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$E$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + ns1:jacobian_sqrt="1.025449" + id="g1263"> + <g + id="g1261"> + <g + style="fill:#000000;fill-opacity:1" + id="g1259"> + <path + style="stroke:none;stroke-width:0" + d="M 7.0625,-2.328125 C 7.078125,-2.375 7.109375,-2.4375 7.109375,-2.46875 c 0,0 0,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.0625 -0.125,0.125 C 6.203125,-0.984375 5.84375,-0.3125 4.140625,-0.3125 H 2.6875 c -0.140625,0 -0.171875,0 -0.21875,0 -0.109375,-0.015625 -0.140625,-0.03125 -0.140625,-0.109375 0,-0.03125 0,-0.046875 0.046875,-0.21875 L 3.0625,-3.375 h 0.984375 c 0.84375,0 0.84375,0.21875 0.84375,0.46875 0,0.0625 0,0.1875 -0.0625,0.484375 C 4.8125,-2.375 4.796875,-2.34375 4.796875,-2.3125 c 0,0.046875 0.03125,0.109375 0.125,0.109375 C 5,-2.203125 5.03125,-2.25 5.078125,-2.40625 l 0.5625,-2.328125 c 0,-0.0625 -0.046875,-0.109375 -0.125,-0.109375 -0.078125,0 -0.109375,0.0625 -0.125,0.171875 -0.21875,0.765625 -0.390625,1 -1.3125,1 h -0.9375 l 0.59375,-2.40625 C 3.828125,-6.4375 3.84375,-6.46875 4.28125,-6.46875 H 5.6875 c 1.203125,0 1.515625,0.28125 1.515625,1.109375 0,0.234375 0,0.25 -0.046875,0.53125 0,0.046875 -0.015625,0.125 -0.015625,0.171875 0,0.046875 0.03125,0.125 0.125,0.125 0.109375,0 0.125,-0.0625 0.140625,-0.25 L 7.609375,-6.515625 C 7.640625,-6.78125 7.59375,-6.78125 7.34375,-6.78125 H 2.296875 c -0.1875,0 -0.296875,0 -0.296875,0.203125 0,0.109375 0.09375,0.109375 0.28125,0.109375 0.375,0 0.65625,0 0.65625,0.171875 0,0.046875 0,0.0625 -0.0625,0.25 L 1.5625,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.171875,0 -0.28125,0 -0.28125,0.1875 C 0.375,0 0.46875,0 0.65625,0 h 5.171875 c 0.234375,0 0.25,-0.015625 0.3125,-0.171875 z m 0,0" + transform="translate(148.712,134.765)" + id="path1257" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <g + transform="translate(-3.1183167,-14.751246)" + id="g1577"> + <circle + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path834-3-2" + cx="179.16072" + cy="174.7247" + r="8.5893602" /> + <g + id="g1345" + ns1:jacobian_sqrt="1.025449" + ns1:alignment="middle center" + ns1:scale="2.90678388815" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$F$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.025449,0,0,1.025449,22.646089,40.006979)"> + <g + id="g1343"> + <g + id="g1341" + style="fill:#000000;fill-opacity:1"> + <path + id="path1339" + transform="translate(148.712,134.765)" + d="m 3.015625,-3.234375 h 0.96875 c 0.75,0 0.828125,0.15625 0.828125,0.4375 0,0.078125 0,0.1875 -0.0625,0.5 C 4.71875,-2.25 4.71875,-2.21875 4.71875,-2.1875 c 0,0.078125 0.0625,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.03125 0.15625,-0.203125 L 5.53125,-4.453125 C 5.5625,-4.5625 5.5625,-4.578125 5.5625,-4.609375 5.5625,-4.625 5.546875,-4.71875 5.4375,-4.71875 5.34375,-4.71875 5.328125,-4.671875 5.296875,-4.5 5.078125,-3.734375 4.859375,-3.546875 4,-3.546875 H 3.09375 l 0.640625,-2.53125 C 3.828125,-6.4375 3.84375,-6.46875 4.28125,-6.46875 h 1.3125 c 1.21875,0 1.453125,0.328125 1.453125,1.09375 0,0.234375 0,0.265625 -0.03125,0.546875 C 7,-4.703125 7,-4.6875 7,-4.65625 c 0,0.046875 0.03125,0.125 0.125,0.125 0.109375,0 0.109375,-0.0625 0.125,-0.25 L 7.453125,-6.515625 C 7.484375,-6.78125 7.4375,-6.78125 7.1875,-6.78125 H 2.296875 c -0.1875,0 -0.296875,0 -0.296875,0.203125 0,0.109375 0.09375,0.109375 0.28125,0.109375 0.375,0 0.65625,0 0.65625,0.171875 0,0.046875 0,0.0625 -0.0625,0.25 L 1.5625,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.171875,0 -0.28125,0 -0.28125,0.1875 C 0.375,0 0.5,0 0.53125,0 0.8125,0 1.5625,-0.03125 1.84375,-0.03125 2.171875,-0.03125 3,0 3.328125,0 3.421875,0 3.53125,0 3.53125,-0.1875 3.53125,-0.265625 3.484375,-0.296875 3.484375,-0.296875 3.453125,-0.3125 3.421875,-0.3125 3.203125,-0.3125 c -0.21875,0 -0.265625,0 -0.515625,-0.015625 -0.296875,-0.03125 -0.328125,-0.078125 -0.328125,-0.203125 0,-0.015625 0,-0.078125 0.046875,-0.21875 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <g + transform="translate(0,13.418144)" + id="g1556"> + <circle + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path834-3-0" + cx="276.67856" + cy="76.072914" + r="8.5893602" /> + <g + transform="matrix(1.025449,0,0,1.025449,120.04013,-58.628785)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$C$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + ns1:jacobian_sqrt="1.025449" + id="g1427"> + <g + id="g1425"> + <g + style="fill:#000000;fill-opacity:1" + id="g1423"> + <path + style="stroke:none;stroke-width:0" + d="m 7.578125,-6.921875 c 0,-0.03125 -0.015625,-0.109375 -0.109375,-0.109375 -0.03125,0 -0.046875,0.015625 -0.15625,0.125 L 6.625,-6.140625 C 6.53125,-6.28125 6.078125,-7.03125 4.96875,-7.03125 2.734375,-7.03125 0.5,-4.828125 0.5,-2.515625 0.5,-0.875 1.671875,0.21875 3.203125,0.21875 c 0.859375,0 1.625,-0.390625 2.15625,-0.859375 0.921875,-0.8125 1.09375,-1.71875 1.09375,-1.75 C 6.453125,-2.5 6.34375,-2.5 6.328125,-2.5 c -0.0625,0 -0.109375,0.03125 -0.125,0.109375 -0.09375,0.28125 -0.328125,1 -1.015625,1.578125 -0.6875,0.546875 -1.3125,0.71875 -1.828125,0.71875 -0.890625,0 -1.953125,-0.515625 -1.953125,-2.0625 0,-0.578125 0.203125,-2.1875 1.203125,-3.359375 0.609375,-0.703125 1.546875,-1.203125 2.4375,-1.203125 1.015625,0 1.609375,0.765625 1.609375,1.921875 0,0.40625 -0.03125,0.40625 -0.03125,0.515625 0,0.09375 0.109375,0.09375 0.140625,0.09375 0.125,0 0.125,-0.015625 0.1875,-0.203125 z m 0,0" + transform="translate(148.712,134.765)" + id="path1421" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <g + transform="translate(8.3154602,39.299344)" + id="g1563"> + <circle + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path834-3-7" + cx="268.3631" + cy="120.67411" + r="8.5893602" /> + <g + id="g1509" + ns1:jacobian_sqrt="1.025449" + ns1:alignment="middle center" + ns1:scale="2.90678388815" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$D$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.025449,0,0,1.025449,111.54842,-14.027593)"> + <g + id="g1507"> + <g + id="g1505" + style="fill:#000000;fill-opacity:1"> + <path + id="path1503" + transform="translate(148.712,134.765)" + d="m 1.578125,-0.78125 c -0.09375,0.390625 -0.109375,0.46875 -0.90625,0.46875 -0.15625,0 -0.265625,0 -0.265625,0.1875 C 0.40625,0 0.484375,0 0.671875,0 h 3.3125 c 2.0625,0 4.03125,-2.109375 4.03125,-4.28125 0,-1.40625 -0.84375,-2.53125 -2.34375,-2.53125 h -3.34375 c -0.1875,0 -0.296875,0 -0.296875,0.1875 0,0.125 0.078125,0.125 0.28125,0.125 0.125,0 0.3125,0.015625 0.421875,0.015625 0.171875,0.03125 0.21875,0.046875 0.21875,0.171875 0,0.03125 0,0.0625 -0.03125,0.1875 z M 3.734375,-6.125 C 3.828125,-6.46875 3.84375,-6.5 4.28125,-6.5 h 1.0625 c 0.96875,0 1.796875,0.53125 1.796875,1.84375 0,0.484375 -0.1875,2.125 -1.046875,3.21875 -0.28125,0.375 -1.0625,1.125 -2.296875,1.125 h -1.125 c -0.140625,0 -0.15625,0 -0.21875,0 -0.09375,-0.015625 -0.125,-0.03125 -0.125,-0.109375 0,-0.03125 0,-0.046875 0.046875,-0.21875 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <path + inkscape:connector-curvature="0" + id="path1600" + d="M 82.256945,95.305991 168.85227,154.90709" + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path1602" + d="m 84.1899,89.866106 h 83.65536" + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path1602-1" + d="m 184.41597,89.866106 h 83.65536" + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path1602-2" + d="m 184.54961,159.97345 h 83.65536" + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path1602-9" + d="M 83.521728,159.97345 H 167.17709" + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path1600-3" + d="m 183.07963,94.94424 86.59533,59.6011" + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path1600-3-1" + d="M 269.94222,96.280587 183.34689,155.88169" + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path1600-3-1-9" + d="M 169.44888,95.345138 82.853552,154.94625" + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g1730" + ns1:jacobian_sqrt="1.025449" + ns1:alignment="middle center" + ns1:scale="2.90678388815" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$1$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.025449,0,0,1.025449,-29.074659,-50.701779)"> + <g + id="g1728"> + <g + id="g1726" + style="fill:#000000;fill-opacity:1"> + <path + id="path1724" + transform="translate(148.712,134.765)" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(1.025449,0,0,1.025449,-48.269995,-28.352997)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$2$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + ns1:jacobian_sqrt="1.025449" + id="g1868"> + <g + id="g1866"> + <g + style="fill:#000000;fill-opacity:1" + id="g1864"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path1862" /> + </g> + </g> + </g> + <g + id="g2030" + ns1:jacobian_sqrt="1.025449" + ns1:alignment="middle center" + ns1:scale="2.90678388815" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$3$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.025449,0,0,1.025449,-48.278006,-1.4709332)"> + <g + id="g2028"> + <g + id="g2026" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path2024" + transform="translate(148.712,134.765)" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + style="stroke:none;stroke-width:0" /> + </g> + </g> + </g> + <g + transform="matrix(1.025449,0,0,1.025449,-29.694763,19.544328)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + ns1:jacobian_sqrt="1.025449" + id="g2164"> + <g + id="g2162"> + <g + style="fill:#000000;fill-opacity:1" + id="g2160"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path2158" /> + </g> + </g> + </g> + <g + id="g2326" + ns1:jacobian_sqrt="1.025449" + ns1:alignment="middle center" + ns1:scale="2.90678388815" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$7$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.025449,0,0,1.025449,53.477024,-1.4228653)"> + <g + id="g2324"> + <g + id="g2322" + style="fill:#000000;fill-opacity:1"> + <path + id="path2320" + transform="translate(148.712,134.765)" + d="m 4.75,-6.078125 c 0.078125,-0.109375 0.078125,-0.125 0.078125,-0.34375 H 2.40625 c -1.203125,0 -1.234375,-0.125 -1.265625,-0.3125 h -0.25 L 0.5625,-4.6875 h 0.25 c 0.03125,-0.15625 0.109375,-0.78125 0.25,-0.90625 0.0625,-0.0625 0.84375,-0.0625 0.96875,-0.0625 h 2.0625 C 3.984375,-5.5 3.203125,-4.40625 2.984375,-4.078125 2.078125,-2.734375 1.75,-1.34375 1.75,-0.328125 c 0,0.09375 0,0.546875 0.46875,0.546875 0.453125,0 0.453125,-0.453125 0.453125,-0.546875 V -0.84375 c 0,-0.546875 0.03125,-1.09375 0.109375,-1.625 0.046875,-0.234375 0.171875,-1.09375 0.625,-1.703125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(1.025449,0,0,1.025449,53.685318,-28.465155)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$8$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + ns1:jacobian_sqrt="1.025449" + id="g2496"> + <g + id="g2494"> + <g + style="fill:#000000;fill-opacity:1" + id="g2492"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.625,-4.5625 c -0.453125,-0.296875 -0.5,-0.625 -0.5,-0.796875 0,-0.609375 0.65625,-1.03125 1.359375,-1.03125 0.71875,0 1.359375,0.515625 1.359375,1.234375 0,0.578125 -0.390625,1.046875 -0.984375,1.390625 z m 1.453125,0.953125 C 3.796875,-3.984375 4.28125,-4.5 4.28125,-5.15625 c 0,-0.921875 -0.875,-1.484375 -1.78125,-1.484375 -1,0 -1.8125,0.734375 -1.8125,1.671875 0,0.171875 0.015625,0.625 0.4375,1.09375 0.109375,0.109375 0.484375,0.359375 0.734375,0.53125 C 1.28125,-3.046875 0.421875,-2.5 0.421875,-1.5 c 0,1.046875 1.015625,1.71875 2.0625,1.71875 1.125,0 2.078125,-0.828125 2.078125,-1.890625 0,-0.359375 -0.109375,-0.8125 -0.5,-1.234375 C 3.875,-3.109375 3.71875,-3.203125 3.078125,-3.609375 Z m -1,0.421875 1.234375,0.78125 c 0.28125,0.1875 0.75,0.484375 0.75,1.09375 0,0.734375 -0.75,1.25 -1.5625,1.25 -0.859375,0 -1.578125,-0.609375 -1.578125,-1.4375 0,-0.578125 0.3125,-1.21875 1.15625,-1.6875 z m 0,0" + transform="translate(148.712,134.765)" + id="path2490" /> + </g> + </g> + </g> + <g + id="g2674" + ns1:jacobian_sqrt="1.025449" + ns1:alignment="middle center" + ns1:scale="2.90678388815" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$5$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.025449,0,0,1.025449,71.199478,-50.813937)"> + <g + id="g2672"> + <g + id="g2670" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path2668" + transform="translate(148.712,134.765)" + d="m 4.46875,-2 c 0,-1.1875 -0.8125,-2.1875 -1.890625,-2.1875 -0.46875,0 -0.90625,0.15625 -1.265625,0.515625 V -5.625 c 0.203125,0.0625 0.53125,0.125 0.84375,0.125 1.234375,0 1.9375,-0.90625 1.9375,-1.03125 0,-0.0625 -0.03125,-0.109375 -0.109375,-0.109375 0,0 -0.03125,0 -0.078125,0.03125 C 3.703125,-6.515625 3.21875,-6.3125 2.546875,-6.3125 2.15625,-6.3125 1.6875,-6.390625 1.21875,-6.59375 1.140625,-6.625 1.125,-6.625 1.109375,-6.625 1,-6.625 1,-6.546875 1,-6.390625 V -3.4375 c 0,0.171875 0,0.25 0.140625,0.25 0.078125,0 0.09375,-0.015625 0.140625,-0.078125 C 1.390625,-3.421875 1.75,-3.96875 2.5625,-3.96875 c 0.515625,0 0.765625,0.453125 0.84375,0.640625 0.15625,0.375 0.1875,0.75 0.1875,1.25 0,0.359375 0,0.953125 -0.25,1.375 C 3.109375,-0.3125 2.734375,-0.0625 2.28125,-0.0625 c -0.71875,0 -1.296875,-0.53125 -1.46875,-1.109375 0.03125,0 0.0625,0.015625 0.171875,0.015625 0.328125,0 0.5,-0.25 0.5,-0.484375 0,-0.25 -0.171875,-0.5 -0.5,-0.5 C 0.84375,-2.140625 0.5,-2.0625 0.5,-1.609375 0.5,-0.75 1.1875,0.21875 2.296875,0.21875 3.453125,0.21875 4.46875,-0.734375 4.46875,-2 Z m 0,0" + style="stroke:none;stroke-width:0" /> + </g> + </g> + </g> + <g + transform="matrix(1.025449,0,0,1.025449,71.325107,19.37609)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$6$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + ns1:jacobian_sqrt="1.025449" + id="g2848"> + <g + id="g2846"> + <g + style="fill:#000000;fill-opacity:1" + id="g2844"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.3125,-3.265625 v -0.25 c 0,-2.515625 1.234375,-2.875 1.75,-2.875 0.234375,0 0.65625,0.0625 0.875,0.40625 -0.15625,0 -0.546875,0 -0.546875,0.4375 0,0.3125 0.234375,0.46875 0.453125,0.46875 0.15625,0 0.46875,-0.09375 0.46875,-0.484375 0,-0.59375 -0.4375,-1.078125 -1.265625,-1.078125 -1.28125,0 -2.625,1.28125 -2.625,3.484375 0,2.671875 1.15625,3.375 2.078125,3.375 1.109375,0 2.0625,-0.9375 2.0625,-2.25 0,-1.265625 -0.890625,-2.21875 -2,-2.21875 -0.671875,0 -1.046875,0.5 -1.25,0.984375 z M 2.5,-0.0625 c -0.625,0 -0.921875,-0.59375 -0.984375,-0.75 -0.1875,-0.46875 -0.1875,-1.265625 -0.1875,-1.4375 0,-0.78125 0.328125,-1.78125 1.21875,-1.78125 0.171875,0 0.625,0 0.9375,0.625 0.171875,0.359375 0.171875,0.875 0.171875,1.359375 0,0.484375 0,0.984375 -0.171875,1.34375 C 3.1875,-0.109375 2.734375,-0.0625 2.5,-0.0625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path2842" /> + </g> + </g> + </g> + <g + id="g3047" + ns1:jacobian_sqrt="1.025449" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="2.90678388815" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="Usines" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.025449,0,0,1.025449,-91.473928,-64.780917)"> + <g + id="g3045"> + <g + id="g3043" + style="fill:#000000;fill-opacity:1"> + <path + id="path3031" + transform="translate(148.712,134.765)" + d="m 5.796875,-2.296875 c 0,1.40625 -0.96875,2.203125 -1.90625,2.203125 -0.46875,0 -1.640625,-0.25 -1.640625,-2.140625 V -6.03125 C 2.25,-6.390625 2.265625,-6.5 3.03125,-6.5 h 0.234375 v -0.3125 c -0.34375,0.03125 -1.078125,0.03125 -1.46875,0.03125 -0.375,0 -1.125,0 -1.46875,-0.03125 V -6.5 H 0.5625 c 0.765625,0 0.796875,0.109375 0.796875,0.46875 v 3.765625 c 0,1.390625 1.15625,2.484375 2.515625,2.484375 1.140625,0 2.03125,-0.921875 2.203125,-2.0625 0.03125,-0.203125 0.03125,-0.296875 0.03125,-0.6875 v -3.1875 c 0,-0.328125 0,-0.78125 1.03125,-0.78125 v -0.3125 c -0.359375,0.015625 -0.84375,0.03125 -1.171875,0.03125 -0.359375,0 -0.828125,-0.015625 -1.1875,-0.03125 V -6.5 c 1.015625,0 1.015625,0.46875 1.015625,0.734375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3033" + transform="translate(156.18395,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3035" + transform="translate(160.1132,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3037" + transform="translate(162.88081,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3039" + transform="translate(168.41603,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3041" + transform="translate(172.84341,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(1.025449,0,0,1.025449,1.7274315,-64.668759)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="Entrep\xc3\xb4ts" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="2.90678388815" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="1.025449" + id="g3327"> + <g + id="g3325"> + <g + style="fill:#000000;fill-opacity:1" + id="g3303"> + <path + style="stroke:none;stroke-width:0" + d="m 1.359375,-0.78125 c 0,0.359375 -0.03125,0.46875 -0.796875,0.46875 H 0.328125 V 0 h 5.75 L 6.5,-2.578125 H 6.25 C 6,-1.03125 5.765625,-0.3125 4.0625,-0.3125 H 2.734375 C 2.265625,-0.3125 2.25,-0.375 2.25,-0.703125 V -3.375 h 0.890625 c 0.96875,0 1.078125,0.328125 1.078125,1.171875 h 0.25 V -4.84375 h -0.25 c 0,0.859375 -0.109375,1.171875 -1.078125,1.171875 H 2.25 v -2.40625 c 0,-0.328125 0.015625,-0.390625 0.484375,-0.390625 h 1.28125 c 1.53125,0 1.796875,0.546875 1.953125,1.9375 h 0.25 l -0.28125,-2.25 H 0.328125 v 0.3125 H 0.5625 c 0.765625,0 0.796875,0.109375 0.796875,0.46875 z m 0,0" + transform="translate(148.712,134.765)" + id="path3299" + inkscape:connector-curvature="0" /> + <path + style="stroke:none;stroke-width:0" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(155.49255,134.765)" + id="path3301" + inkscape:connector-curvature="0" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g3315"> + <path + style="stroke:none;stroke-width:0" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(160.74881,134.765)" + id="path3305" + inkscape:connector-curvature="0" /> + <path + style="stroke:none;stroke-width:0" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(164.62327,134.765)" + id="path3307" + inkscape:connector-curvature="0" /> + <path + style="stroke:none;stroke-width:0" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(168.52562,134.765)" + id="path3309" + inkscape:connector-curvature="0" /> + <path + style="stroke:none;stroke-width:0" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(172.953,134.765)" + id="path3311" + inkscape:connector-curvature="0" /> + <path + style="stroke:none;stroke-width:0" + d="M 2.5,-6.921875 1.15625,-5.5625 1.328125,-5.390625 2.5,-6.40625 3.640625,-5.390625 3.8125,-5.5625 Z m 0,0" + transform="translate(178.48822,134.765)" + id="path3313" + inkscape:connector-curvature="0" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g3323"> + <path + style="stroke:none;stroke-width:0" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(178.48822,134.765)" + id="path3317" + inkscape:connector-curvature="0" /> + <path + style="stroke:none;stroke-width:0" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(183.46952,134.765)" + id="path3319" + inkscape:connector-curvature="0" /> + <path + style="stroke:none;stroke-width:0" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + transform="translate(187.34397,134.765)" + id="path3321" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g3568" + ns1:jacobian_sqrt="1.025449" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="2.90678388815" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="Clients" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.025449,0,0,1.025449,108.57231,-64.5566)"> + <g + id="g3566"> + <g + id="g3558" + style="fill:#000000;fill-opacity:1"> + <path + id="path3548" + transform="translate(148.712,134.765)" + d="m 0.5625,-3.40625 c 0,2.0625 1.609375,3.625 3.46875,3.625 1.625,0 2.59375,-1.390625 2.59375,-2.546875 C 6.625,-2.421875 6.625,-2.5 6.5,-2.5 6.390625,-2.5 6.390625,-2.4375 6.375,-2.328125 6.296875,-0.90625 5.234375,-0.09375 4.140625,-0.09375 c -0.609375,0 -2.5625,-0.328125 -2.5625,-3.3125 0,-2.96875 1.953125,-3.3125 2.5625,-3.3125 1.078125,0 1.96875,0.90625 2.171875,2.359375 C 6.328125,-4.21875 6.328125,-4.1875 6.46875,-4.1875 6.625,-4.1875 6.625,-4.21875 6.625,-4.421875 V -6.78125 c 0,-0.171875 0,-0.25 -0.109375,-0.25 -0.03125,0 -0.078125,0 -0.15625,0.125 l -0.5,0.734375 C 5.5,-6.53125 4.984375,-7.03125 4.03125,-7.03125 c -1.875,0 -3.46875,1.59375 -3.46875,3.625 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3550" + transform="translate(155.90699,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3552" + transform="translate(158.6746,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3554" + transform="translate(161.44221,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3556" + transform="translate(165.86959,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g3564" + style="fill:#000000;fill-opacity:1"> + <path + id="path3560" + transform="translate(171.12586,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3562" + transform="translate(175.00031,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/figs/polygon.svg b/figs/polygon.svg new file mode 100644 index 0000000000000000000000000000000000000000..cce7c5d73ab45151fd4143f300ece4328f4524f0 --- /dev/null +++ b/figs/polygon.svg @@ -0,0 +1,593 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Created with matplotlib (https://matplotlib.org/) --> +<svg height="345.6pt" version="1.1" viewBox="0 0 460.8 345.6" width="460.8pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <style type="text/css"> +*{stroke-linecap:butt;stroke-linejoin:round;} + </style> + </defs> + <g id="figure_1"> + <g id="patch_1"> + <path d="M 0 345.6 +L 460.8 345.6 +L 460.8 0 +L 0 0 +z +" style="fill:#ffffff;"/> + </g> + <g id="axes_1"> + <g id="patch_2"> + <path d="M 57.6 307.584 +L 414.72 307.584 +L 414.72 41.472 +L 57.6 41.472 +z +" style="fill:#ffffff;"/> + </g> + <g id="matplotlib.axis_1"> + <g id="xtick_1"> + <g id="line2d_1"> + <defs> + <path d="M 0 0 +L 0 3.5 +" id="m2be6e6f9b3" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="73.832727" xlink:href="#m2be6e6f9b3" y="307.584"/> + </g> + </g> + <g id="text_1"> + <!-- 0 --> + <defs> + <path d="M 31.78125 66.40625 +Q 24.171875 66.40625 20.328125 58.90625 +Q 16.5 51.421875 16.5 36.375 +Q 16.5 21.390625 20.328125 13.890625 +Q 24.171875 6.390625 31.78125 6.390625 +Q 39.453125 6.390625 43.28125 13.890625 +Q 47.125 21.390625 47.125 36.375 +Q 47.125 51.421875 43.28125 58.90625 +Q 39.453125 66.40625 31.78125 66.40625 +z +M 31.78125 74.21875 +Q 44.046875 74.21875 50.515625 64.515625 +Q 56.984375 54.828125 56.984375 36.375 +Q 56.984375 17.96875 50.515625 8.265625 +Q 44.046875 -1.421875 31.78125 -1.421875 +Q 19.53125 -1.421875 13.0625 8.265625 +Q 6.59375 17.96875 6.59375 36.375 +Q 6.59375 54.828125 13.0625 64.515625 +Q 19.53125 74.21875 31.78125 74.21875 +z +" id="DejaVuSans-48"/> + </defs> + <g transform="translate(70.651477 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="xtick_2"> + <g id="line2d_2"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="128.858921" xlink:href="#m2be6e6f9b3" y="307.584"/> + </g> + </g> + <g id="text_2"> + <!-- 1 --> + <defs> + <path d="M 12.40625 8.296875 +L 28.515625 8.296875 +L 28.515625 63.921875 +L 10.984375 60.40625 +L 10.984375 69.390625 +L 28.421875 72.90625 +L 38.28125 72.90625 +L 38.28125 8.296875 +L 54.390625 8.296875 +L 54.390625 0 +L 12.40625 0 +z +" id="DejaVuSans-49"/> + </defs> + <g transform="translate(125.677671 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> + </g> + </g> + </g> + <g id="xtick_3"> + <g id="line2d_3"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="183.885116" xlink:href="#m2be6e6f9b3" y="307.584"/> + </g> + </g> + <g id="text_3"> + <!-- 2 --> + <defs> + <path d="M 19.1875 8.296875 +L 53.609375 8.296875 +L 53.609375 0 +L 7.328125 0 +L 7.328125 8.296875 +Q 12.9375 14.109375 22.625 23.890625 +Q 32.328125 33.6875 34.8125 36.53125 +Q 39.546875 41.84375 41.421875 45.53125 +Q 43.3125 49.21875 43.3125 52.78125 +Q 43.3125 58.59375 39.234375 62.25 +Q 35.15625 65.921875 28.609375 65.921875 +Q 23.96875 65.921875 18.8125 64.3125 +Q 13.671875 62.703125 7.8125 59.421875 +L 7.8125 69.390625 +Q 13.765625 71.78125 18.9375 73 +Q 24.125 74.21875 28.421875 74.21875 +Q 39.75 74.21875 46.484375 68.546875 +Q 53.21875 62.890625 53.21875 53.421875 +Q 53.21875 48.921875 51.53125 44.890625 +Q 49.859375 40.875 45.40625 35.40625 +Q 44.1875 33.984375 37.640625 27.21875 +Q 31.109375 20.453125 19.1875 8.296875 +z +" id="DejaVuSans-50"/> + </defs> + <g transform="translate(180.703866 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-50"/> + </g> + </g> + </g> + <g id="xtick_4"> + <g id="line2d_4"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="238.91131" xlink:href="#m2be6e6f9b3" y="307.584"/> + </g> + </g> + <g id="text_4"> + <!-- 3 --> + <defs> + <path d="M 40.578125 39.3125 +Q 47.65625 37.796875 51.625 33 +Q 55.609375 28.21875 55.609375 21.1875 +Q 55.609375 10.40625 48.1875 4.484375 +Q 40.765625 -1.421875 27.09375 -1.421875 +Q 22.515625 -1.421875 17.65625 -0.515625 +Q 12.796875 0.390625 7.625 2.203125 +L 7.625 11.71875 +Q 11.71875 9.328125 16.59375 8.109375 +Q 21.484375 6.890625 26.8125 6.890625 +Q 36.078125 6.890625 40.9375 10.546875 +Q 45.796875 14.203125 45.796875 21.1875 +Q 45.796875 27.640625 41.28125 31.265625 +Q 36.765625 34.90625 28.71875 34.90625 +L 20.21875 34.90625 +L 20.21875 43.015625 +L 29.109375 43.015625 +Q 36.375 43.015625 40.234375 45.921875 +Q 44.09375 48.828125 44.09375 54.296875 +Q 44.09375 59.90625 40.109375 62.90625 +Q 36.140625 65.921875 28.71875 65.921875 +Q 24.65625 65.921875 20.015625 65.03125 +Q 15.375 64.15625 9.8125 62.3125 +L 9.8125 71.09375 +Q 15.4375 72.65625 20.34375 73.4375 +Q 25.25 74.21875 29.59375 74.21875 +Q 40.828125 74.21875 47.359375 69.109375 +Q 53.90625 64.015625 53.90625 55.328125 +Q 53.90625 49.265625 50.4375 45.09375 +Q 46.96875 40.921875 40.578125 39.3125 +z +" id="DejaVuSans-51"/> + </defs> + <g transform="translate(235.73006 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-51"/> + </g> + </g> + </g> + <g id="xtick_5"> + <g id="line2d_5"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="293.937504" xlink:href="#m2be6e6f9b3" y="307.584"/> + </g> + </g> + <g id="text_5"> + <!-- 4 --> + <defs> + <path d="M 37.796875 64.3125 +L 12.890625 25.390625 +L 37.796875 25.390625 +z +M 35.203125 72.90625 +L 47.609375 72.90625 +L 47.609375 25.390625 +L 58.015625 25.390625 +L 58.015625 17.1875 +L 47.609375 17.1875 +L 47.609375 0 +L 37.796875 0 +L 37.796875 17.1875 +L 4.890625 17.1875 +L 4.890625 26.703125 +z +" id="DejaVuSans-52"/> + </defs> + <g transform="translate(290.756254 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-52"/> + </g> + </g> + </g> + <g id="xtick_6"> + <g id="line2d_6"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="348.963698" xlink:href="#m2be6e6f9b3" y="307.584"/> + </g> + </g> + <g id="text_6"> + <!-- 5 --> + <defs> + <path d="M 10.796875 72.90625 +L 49.515625 72.90625 +L 49.515625 64.59375 +L 19.828125 64.59375 +L 19.828125 46.734375 +Q 21.96875 47.46875 24.109375 47.828125 +Q 26.265625 48.1875 28.421875 48.1875 +Q 40.625 48.1875 47.75 41.5 +Q 54.890625 34.8125 54.890625 23.390625 +Q 54.890625 11.625 47.5625 5.09375 +Q 40.234375 -1.421875 26.90625 -1.421875 +Q 22.3125 -1.421875 17.546875 -0.640625 +Q 12.796875 0.140625 7.71875 1.703125 +L 7.71875 11.625 +Q 12.109375 9.234375 16.796875 8.0625 +Q 21.484375 6.890625 26.703125 6.890625 +Q 35.15625 6.890625 40.078125 11.328125 +Q 45.015625 15.765625 45.015625 23.390625 +Q 45.015625 31 40.078125 35.4375 +Q 35.15625 39.890625 26.703125 39.890625 +Q 22.75 39.890625 18.8125 39.015625 +Q 14.890625 38.140625 10.796875 36.28125 +z +" id="DejaVuSans-53"/> + </defs> + <g transform="translate(345.782448 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-53"/> + </g> + </g> + </g> + <g id="xtick_7"> + <g id="line2d_7"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="403.989892" xlink:href="#m2be6e6f9b3" y="307.584"/> + </g> + </g> + <g id="text_7"> + <!-- 6 --> + <defs> + <path d="M 33.015625 40.375 +Q 26.375 40.375 22.484375 35.828125 +Q 18.609375 31.296875 18.609375 23.390625 +Q 18.609375 15.53125 22.484375 10.953125 +Q 26.375 6.390625 33.015625 6.390625 +Q 39.65625 6.390625 43.53125 10.953125 +Q 47.40625 15.53125 47.40625 23.390625 +Q 47.40625 31.296875 43.53125 35.828125 +Q 39.65625 40.375 33.015625 40.375 +z +M 52.59375 71.296875 +L 52.59375 62.3125 +Q 48.875 64.0625 45.09375 64.984375 +Q 41.3125 65.921875 37.59375 65.921875 +Q 27.828125 65.921875 22.671875 59.328125 +Q 17.53125 52.734375 16.796875 39.40625 +Q 19.671875 43.65625 24.015625 45.921875 +Q 28.375 48.1875 33.59375 48.1875 +Q 44.578125 48.1875 50.953125 41.515625 +Q 57.328125 34.859375 57.328125 23.390625 +Q 57.328125 12.15625 50.6875 5.359375 +Q 44.046875 -1.421875 33.015625 -1.421875 +Q 20.359375 -1.421875 13.671875 8.265625 +Q 6.984375 17.96875 6.984375 36.375 +Q 6.984375 53.65625 15.1875 63.9375 +Q 23.390625 74.21875 37.203125 74.21875 +Q 40.921875 74.21875 44.703125 73.484375 +Q 48.484375 72.75 52.59375 71.296875 +z +" id="DejaVuSans-54"/> + </defs> + <g transform="translate(400.808642 322.182437)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-54"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_2"> + <g id="ytick_1"> + <g id="line2d_8"> + <defs> + <path d="M 0 0 +L -3.5 0 +" id="m3b4c479270" style="stroke:#000000;stroke-width:0.8;"/> + </defs> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m3b4c479270" y="295.488"/> + </g> + </g> + <g id="text_8"> + <!-- 0 --> + <g transform="translate(44.2375 299.287219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-48"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_9"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m3b4c479270" y="246.283932"/> + </g> + </g> + <g id="text_9"> + <!-- 1 --> + <g transform="translate(44.2375 250.083151)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-49"/> + </g> + </g> + </g> + <g id="ytick_3"> + <g id="line2d_10"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m3b4c479270" y="197.079864"/> + </g> + </g> + <g id="text_10"> + <!-- 2 --> + <g transform="translate(44.2375 200.879083)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-50"/> + </g> + </g> + </g> + <g id="ytick_4"> + <g id="line2d_11"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m3b4c479270" y="147.875797"/> + </g> + </g> + <g id="text_11"> + <!-- 3 --> + <g transform="translate(44.2375 151.675015)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-51"/> + </g> + </g> + </g> + <g id="ytick_5"> + <g id="line2d_12"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m3b4c479270" y="98.671729"/> + </g> + </g> + <g id="text_12"> + <!-- 4 --> + <g transform="translate(44.2375 102.470948)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-52"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_13"> + <g> + <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m3b4c479270" y="49.467661"/> + </g> + </g> + <g id="text_13"> + <!-- 5 --> + <g transform="translate(44.2375 53.26688)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-53"/> + </g> + </g> + </g> + </g> + <g id="line2d_14"> + <path clip-path="url(#pc71ad428b8)" d="M 73.832727 53.568 +L 79.335347 57.668339 +L 84.837966 61.768678 +L 90.340586 65.869017 +L 95.843205 69.969356 +L 101.345824 74.069695 +L 106.848444 78.170034 +L 112.351063 82.270373 +L 117.853683 86.370712 +L 123.356302 90.471051 +L 128.858921 94.57139 +L 134.361541 98.671729 +L 139.86416 102.772068 +L 145.36678 106.872407 +L 150.869399 110.972746 +L 156.372018 115.073085 +L 161.874638 119.173424 +L 167.377257 123.273763 +L 172.879877 127.374102 +L 178.382496 131.474441 +L 183.885116 135.57478 +L 189.387735 139.675119 +L 194.890354 143.775458 +L 200.392974 147.875797 +L 205.895593 151.976136 +L 211.398213 156.076475 +L 216.900832 160.176814 +L 222.403451 164.277153 +L 227.906071 168.377492 +L 233.40869 172.477831 +L 238.91131 176.578169 +L 244.413929 180.678508 +L 249.916549 184.778847 +L 255.419168 188.879186 +L 260.921787 192.979525 +L 266.424407 197.079864 +L 271.927026 201.180203 +L 277.429646 205.280542 +L 282.932265 209.380881 +L 288.434884 213.48122 +L 293.937504 217.581559 +L 299.440123 221.681898 +L 304.942743 225.782237 +L 310.445362 229.882576 +L 315.947982 233.982915 +L 321.450601 238.083254 +L 326.95322 242.183593 +L 332.45584 246.283932 +L 337.958459 250.384271 +L 343.461079 254.48461 +L 348.963698 258.584949 +L 354.466317 262.685288 +L 359.968937 266.785627 +L 365.471556 270.885966 +L 370.974176 274.986305 +L 376.476795 279.086644 +L 381.979414 283.186983 +L 387.482034 287.287322 +L 392.984653 291.387661 +L 398.487273 295.488 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="line2d_15"> + <path clip-path="url(#pc71ad428b8)" d="M 73.832727 295.488 +L 79.335347 295.488 +L 84.837966 295.488 +L 90.340586 295.488 +L 95.843205 295.488 +L 101.345824 295.488 +L 106.848444 295.488 +L 112.351063 295.488 +L 117.853683 295.488 +L 123.356302 295.488 +L 128.858921 295.488 +L 134.361541 295.488 +L 139.86416 295.488 +L 145.36678 295.488 +L 150.869399 295.488 +L 156.372018 295.488 +L 161.874638 295.488 +L 167.377257 295.488 +L 172.879877 295.488 +L 178.382496 295.488 +L 183.885116 295.488 +L 189.387735 295.488 +L 194.890354 295.488 +L 200.392974 295.488 +L 205.895593 295.488 +L 211.398213 295.488 +L 216.900832 295.488 +L 222.403451 295.488 +L 227.906071 295.488 +L 233.40869 295.488 +L 238.91131 295.488 +L 244.413929 295.488 +L 249.916549 295.488 +L 255.419168 295.488 +L 260.921787 295.488 +L 266.424407 295.488 +L 271.927026 295.488 +L 277.429646 295.488 +L 282.932265 295.488 +L 288.434884 295.488 +L 293.937504 295.488 +L 299.440123 295.488 +L 304.942743 295.488 +L 310.445362 295.488 +L 315.947982 295.488 +L 321.450601 295.488 +L 326.95322 295.488 +L 332.45584 295.488 +L 337.958459 295.488 +L 343.461079 295.488 +L 348.963698 295.488 +L 354.466317 295.488 +L 359.968937 295.488 +L 365.471556 295.488 +L 370.974176 295.488 +L 376.476795 295.488 +L 381.979414 295.488 +L 387.482034 295.488 +L 392.984653 295.488 +L 398.487273 295.488 +" style="fill:none;stroke:#ff0000;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="line2d_16"> + <path clip-path="url(#pc71ad428b8)" d="M 73.832727 295.488 +L 73.832727 290.567593 +L 73.832727 285.647186 +L 73.832727 280.72678 +L 73.832727 275.806373 +L 73.832727 270.885966 +L 73.832727 265.965559 +L 73.832727 261.045153 +L 73.832727 256.124746 +L 73.832727 251.204339 +L 73.832727 246.283932 +L 73.832727 241.363525 +L 73.832727 236.443119 +L 73.832727 231.522712 +L 73.832727 226.602305 +L 73.832727 221.681898 +L 73.832727 216.761492 +L 73.832727 211.841085 +L 73.832727 206.920678 +L 73.832727 202.000271 +L 73.832727 197.079864 +L 73.832727 192.159458 +L 73.832727 187.239051 +L 73.832727 182.318644 +L 73.832727 177.398237 +L 73.832727 172.477831 +L 73.832727 167.557424 +L 73.832727 162.637017 +L 73.832727 157.71661 +L 73.832727 152.796203 +L 73.832727 147.875797 +L 73.832727 142.95539 +L 73.832727 138.034983 +L 73.832727 133.114576 +L 73.832727 128.194169 +L 73.832727 123.273763 +L 73.832727 118.353356 +L 73.832727 113.432949 +L 73.832727 108.512542 +L 73.832727 103.592136 +L 73.832727 98.671729 +L 73.832727 93.751322 +L 73.832727 88.830915 +L 73.832727 83.910508 +L 73.832727 78.990102 +L 73.832727 74.069695 +L 73.832727 69.149288 +L 73.832727 64.228881 +L 73.832727 59.308475 +L 73.832727 54.388068 +" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="patch_3"> + <path d="M 57.6 307.584 +L 57.6 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_4"> + <path d="M 414.72 307.584 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_5"> + <path d="M 57.6 307.584 +L 414.72 307.584 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_6"> + <path d="M 57.6 41.472 +L 414.72 41.472 +" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + </g> + </g> + <defs> + <clipPath id="pc71ad428b8"> + <rect height="266.112" width="357.12" x="57.6" y="41.472"/> + </clipPath> + </defs> +</svg> diff --git a/python/polyedre.py b/python/polyedre.py new file mode 100644 index 0000000000000000000000000000000000000000..6cb636392f8f719b6d2dcf6be8e9172128f5a8c6 --- /dev/null +++ b/python/polyedre.py @@ -0,0 +1,13 @@ +import matplotlib.pyplot as plt +import numpy as np + +x1 = np.arange(0, 6.0, 0.1) +x2 = (59 - 10 * x1) / 12 + +x2max = np.max(x2) +y2 = np.arange(0, x2max, 0.1) + +plt.plot(x1,x2,'k-') +plt.plot(x1,0*x1,'r-') +plt.plot(0*y2,y2,'b-') +plt.show() \ No newline at end of file