{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "# Table of Contents\n", "

1  Texte d'oral de modélisation - Agrégation Option Informatique
1.1  Préparation à l'agrégation - ENS de Rennes, 2016-17
1.2  À propos de ce document
1.3  Question de programmation
1.4  Réponse à l'exercice requis
1.4.1  Structures de données
1.4.2  Arithmétiques sur nos entiers étendus
1.4.2.1  Max/min
1.4.2.2  Somme/produit
1.4.3  Opérations de base, ⊕\" role=\"presentation\"> et ⊗\" role=\"presentation\">
1.4.3.1  Intersection
1.4.3.2  Composition
1.4.3.3  Union
1.4.3.4  Exemples
1.4.3.5  Une étape de plus : ne pas inclure des intervalles inclus dans ceux déjà présents
1.4.4  L'algorithme PC
1.4.4.1  Structure de données pour les réseaux STP
1.4.4.2  L'algorithme PC
1.4.5  Exemple de réseau non distributif
1.4.6  D'autres exemples
1.5  Conclusion
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Texte d'oral de modélisation - Agrégation Option Informatique\n", "## Préparation à l'agrégation - ENS de Rennes, 2016-17\n", "- *Date* : 7 avril 2017\n", "- *Auteur* : [Lilian Besson](https://GitHub.com/Naereen/notebooks/)\n", "- *Texte*: Annale 2009, \"Contraintes temporelles\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## À propos de ce document\n", "- Ceci est une *proposition* de correction, partielle et probablement non-optimale, pour la partie implémentation d'un [texte d'annale de l'agrégation de mathématiques, option informatique](http://Agreg.org/Textes/).\n", "- Ce document est un [notebook Jupyter](https://www.Jupyter.org/), et [est open-source sous Licence MIT sur GitHub](https://github.com/Naereen/notebooks/tree/master/agreg/), comme les autres solutions de textes de modélisation que [j](https://GitHub.com/Naereen)'ai écrite cette année.\n", "- L'implémentation sera faite en OCaml, version 4+ :" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The OCaml toplevel, version 4.04.2\n" ] }, { "data": { "text/plain": [ "- : int = 0\n" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Sys.command \"ocaml -version\";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Notez que certaines fonctions des modules usuels [`List`](http://caml.inria.fr/pub/docs/manual-ocaml/libref/List.html) et [`Array`](http://caml.inria.fr/pub/docs/manual-ocaml/libref/List.html) ne sont pas disponibles en OCaml 3.12.\n", "> J'essaie autant que possible de ne pas les utiliser, ou alors de les redéfinir si je m'en sers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Question de programmation\n", "La question de programmation pour ce texte était donnée en question 1 en page 9 :\n", "\n", "> \"Programmer l'algorithme PC. Faites le tourner sur l'exemple de réseau non distributif.\"\n", "\n", "La consigne était très courte, mais avec aucune indication.\n", "Notez qu'il est rare que le texte exige un exemple particulier." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Réponse à l'exercice requis\n", "Ça va être assez long, en fait...\n", "\n", "1. D'abord, il faut définir les types de données avec lesquels on va travailler,\n", "2. Ensuite, implémenter les deux opérations $\\oplus$ et $\\otimes$ sur les ensembles d'intervalles,\n", "3. Puis implémenter l'algorithme PC (similaire à Floyd-Warshall),\n", "4. Et enfin, l'exécuter sur l'exemple de réseau non distributif donné en page 8.\n", "\n", "Si possible, on va essayer de faire des *tests* pour chaque fonction intermédiaire, et un exemple de plus à la fin.\n", "\n", "Un des problèmes que l'on va rencontrer est le fait que l'on doit manipuler $-\\infty$ et $+\\infty$, pour pouvoir gérer une contrainte qui n'est pas une contrainte, à savoir l'interavalle $(-\\infty, +\\infty)$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "### Structures de données\n", "\n", "On va travailler avec des valeurs entières ou $\\pm\\infty$. En écrivant nous même les opérations arithmétiques ($+,max$) sur les entiers \"étendus\" on obtiendra ce qu'on veut." ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "type entier_etendu = MInf | PInf | E of int\n" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type entier_etendu = MInf | PInf | E of int;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On se restreint aux intervalles à coordonnées *entières*, et on considère des listes d'intervalles.\n", "Tous les intervalles sont fermés à gauche et à droite." ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "type intervalle = entier_etendu * entier_etendu\n" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type intervalle = (entier_etendu * entier_etendu);; (* (a, b) représente l'intervalle [a, b] *)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "type intervalles = intervalle list\n" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type intervalles = intervalle list;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On définit tout de suite deux exemples, $T_a$ et $S_a$ tirés de la Figure 2.a) et $T_b,S_b$ de la Figure 2.b).\n", "Cela permettra de vérifier les opérations $\\oplus$ et $\\otimes$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- $T_a = \\{ [1, 4], [6, 8] \\}$ et $S_a = \\{ [0, 1], [3, 5], [6, 7] \\}$." ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val t_a : intervalles = [(E 1, E 4); (E 6, E 8)]\n" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val s_a : intervalles = [(E 0, E 1); (E 3, E 5); (E 6, E 7)]\n" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let t_a : intervalles = [\n", " (E(1), E(4));\n", " (E(6), E(8))\n", "];;\n", "\n", "let s_a : intervalles = [\n", " (E(0), E(1));\n", " (E(3), E(5));\n", " (E(6), E(7))\n", "];;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- $T_b = \\{ [-1, 0], [2, 4] \\}$ et $S_b = \\{ [0, 1], [4, 4] \\}$." ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val t_b : intervalles = [(E (-1), E 0); (E 2, E 4)]\n" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val s_b : intervalles = [(E 0, E 1); (E 4, E 4)]\n" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let t_b : intervalles = [\n", " (E(-1), E(0));\n", " (E(2), E(4))\n", "];;\n", "\n", "let s_b : intervalles = [\n", " (E(0), E(1));\n", " (E(4), E(4)) (* Intervalle de longueur nulle *)\n", "];;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Et la contrainte vide, $T = \\{[-\\infty, +\\infty\\}$ :" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val t_vide : intervalles = [(MInf, PInf)]\n" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let t_vide : intervalles = [\n", " (MInf, PInf)\n", "];;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "### Arithmétiques sur nos entiers étendus" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Max/min" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val max_ee : entier_etendu -> entier_etendu -> entier_etendu = \n" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let max_ee x y =\n", " match x, y with\n", " | MInf, _ -> y\n", " | PInf, _ -> PInf\n", " | _, MInf -> x\n", " | _, PInf -> PInf\n", " | E(vx), E(vy) -> E(max vx vy)\n", ";;" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : entier_etendu = E 10\n" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = PInf\n" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 10\n" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = PInf\n" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 10\n" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 10\n" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "max_ee MInf (E(10));;\n", "max_ee PInf (E(10));;\n", "max_ee (E(10)) MInf;;\n", "max_ee (E(10)) PInf;;\n", "max_ee (E(-10)) (E(10));;\n", "max_ee (E(10)) (E(-10));;" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val min_ee : entier_etendu -> entier_etendu -> entier_etendu = \n" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let min_ee x y =\n", " match x, y with\n", " | PInf, _ -> y\n", " | MInf, _ -> MInf\n", " | _, PInf -> x\n", " | _, MInf -> MInf\n", " | E(vx), E(vy) -> E(min vx vy)\n", ";;" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : entier_etendu = MInf\n" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 10\n" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = MInf\n" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 10\n" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E (-10)\n" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E (-10)\n" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "min_ee MInf (E(10));;\n", "min_ee PInf (E(10));;\n", "min_ee (E(10)) MInf;;\n", "min_ee (E(10)) PInf;;\n", "min_ee (E(-10)) (E(10));;\n", "min_ee (E(10)) (E(-10));;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut utiliser la fonction minimum pour trier deux entiers étendus :" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val pluspetiteq_ee : entier_etendu -> entier_etendu -> bool = \n" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let pluspetiteq_ee x y =\n", " let m = min_ee x y in\n", " m = x || x = y\n", ";;" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val pluspetit_ee : entier_etendu -> entier_etendu -> bool = \n" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let pluspetit_ee x y =\n", " let m = min_ee x y in\n", " m = x && x != y\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Somme/produit" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val plus_ee : entier_etendu -> entier_etendu -> entier_etendu = \n" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let plus_ee x y =\n", " match x, y with\n", " | MInf, PInf -> failwith \"-inf + +inf = ?\"\n", " | PInf, MInf -> failwith \"-inf + +inf = ?\"\n", " | PInf, _ -> PInf\n", " | MInf, _ -> MInf\n", " | _, MInf -> MInf\n", " | _, PInf -> PInf\n", " | E(vx), E(vy) -> E(vx + vy)\n", ";;" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : entier_etendu = MInf\n" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = PInf\n" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = MInf\n" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = PInf\n" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 0\n" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 0\n" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 20\n" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E (-20)\n" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plus_ee MInf (E(10));;\n", "plus_ee PInf (E(10));;\n", "plus_ee (E(10)) MInf;;\n", "plus_ee (E(10)) PInf;;\n", "plus_ee (E(-10)) (E(10));;\n", "plus_ee (E(10)) (E(-10));;\n", "plus_ee (E(10)) (E(10));;\n", "plus_ee (E(-10)) (E(-10));;" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val produit_ee : entier_etendu -> entier_etendu -> entier_etendu = \n" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let produit_ee x y =\n", " match x, y with\n", " | MInf, PInf -> MInf\n", " | PInf, MInf -> PInf\n", " | PInf, E(vy) when vy < 0 -> MInf\n", " | PInf, _ -> PInf\n", " | MInf, E(vy) when vy < 0 -> PInf\n", " | MInf, _ -> MInf\n", " | E(vx), PInf when vx < 0 -> MInf\n", " | _, PInf -> PInf\n", " | E(vx), MInf when vx < 0 -> PInf\n", " | _, MInf -> MInf\n", " | E(vx), E(vy) -> E(vx * vy)\n", ";;" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : entier_etendu = MInf\n" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = PInf\n" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = MInf\n" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = PInf\n" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E (-100)\n" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E (-100)\n" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 100\n" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : entier_etendu = E 100\n" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "produit_ee MInf (E(10));;\n", "produit_ee PInf (E(10));;\n", "produit_ee (E(10)) MInf;;\n", "produit_ee (E(10)) PInf;;\n", "produit_ee (E(-10)) (E(10));;\n", "produit_ee (E(10)) (E(-10));;\n", "produit_ee (E(10)) (E(10));;\n", "produit_ee (E(-10)) (E(-10));;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "### Opérations de base, $\\oplus$ et $\\otimes$\n", "On peut écrire des opérations d'intersection et de composition sur deux intervalles, ensuite il suffira de les généraliser à un ensemble d'intervalle.\n", "\n", "On suit les définitions de l'énoncé.\n", "\n", "#### Intersection\n", "$$\n", "\\forall T = (I_1,\\dots,I_l),\n", "\\forall S = (J_1,\\dots,J_m),\\\\\n", "T \\oplus S := \\{ K_1, \\dots, K_n\\}\n", "\\;\\;\\text{Où}\\;\\; K_k = I_i \\cap J_j.\n", "$$\n", "Notez que $n \\leq l + m$ ici." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour l'intersection de deux intervalles, l'intervalle vide $\\emptyset$ peut être obtenu, donc la fonction suivante renvoie un type `intervalle option` : soit `None` si $I \\cap J = \\emptyset$, soit `Some (x, y)` si $I \\cap J = [x, y]$." ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "val intersection : intervalle -> intervalle -> intervalle option = \n" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let intersection (i : intervalle) (j : intervalle) : intervalle option =\n", " let a = fst i and b = snd i in\n", " let c = fst j and d = snd j in\n", " if pluspetit_ee b c || pluspetit_ee d a then\n", " None\n", " else\n", " Some (max_ee a c, min_ee b d)\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ensuite, il suffit d'explorer tous les couples $(I, J)$ possible, et de ne garder que ceux qui donnent un intervalle.\n", "On supprimera les doublons en vérifiant au fur et à mesure (ça a la même complexité que si on le fait à la fin).\n", "\n", "En manipulant une liste d'intervalle `option`, on doit ruser un peu pour n'ajouter que ceux qui ne sont pas dans `acc` et qui sont des vrais intervalles." ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val ajoute_nouveaux_option :\n", " intervalles -> intervalle option list -> intervalle list = \n" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let ajoute_nouveaux_option (acc : intervalles) (liste_option : intervalle option list) =\n", " List.map\n", " (fun i -> match i with Some i2 -> i2 | None -> (MInf, PInf))\n", " (List.filter (fun i ->\n", " match i with\n", " | None -> false\n", " | Some i2 -> not (List.mem i2 acc)\n", " ) liste_option)\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Avec tout ça, on a une belle fonction récursive, avec un accumulateur `acc` qui contient la liste des intervalles dans $T \\oplus S$, construite en considérant les intervalles de $S$ les un après les autres.\n", "\n", "On s'assure de n'avoir ni intervalles vide, ni doublon, grâce à `ajoute_nouveaux_option`." ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val intersections : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let intersections (t : intervalles) (s : intervalles) : intervalles =\n", " let rec inter_aux acc tx sx =\n", " match sx with\n", " | [] -> acc (* Plus rien à ajouter *)\n", " | j :: s2 -> (* On traite j, puis récursivement la suite de s *)\n", " let t_inter_j = List.map (intersection j) tx in\n", " inter_aux ((ajoute_nouveaux_option acc t_inter_j) @ acc) tx s2\n", " in\n", " List.sort compare (inter_aux [] t s)\n", " (* On trie pour les avoir en ordre croissant, c'est tout *)\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour frimer un peu et simplifier l'écriture de l'algorithme PC, on peut définir une opération infixe en raccourci :\n", "$$ T \\oplus S = \\texttt{t ++ s}.$$" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val ( ++ ) : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let ( ++ ) = intersections;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Composition\n", "Ce sera plus facile.\n", "$$\n", "\\forall T = (I_1,\\dots,I_l),\n", "\\forall S = (J_1,\\dots,J_m),\\\\\n", "T \\otimes S := \\{ K_1, \\dots, K_n\\}\n", "\\;\\;\\text{Où}\\;\\; K_k = [a + c, b + d], \\;\\text{si}\\; I_i = [a, b], J_j = [c, d].\n", "$$\n", "Notez que $n \\leq l \\times m$ ici." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour la composition de deux intervalles, il n'y pas de difficulté particulière :" ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "val composition : intervalle -> intervalle -> intervalle = \n" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let composition (i : intervalle) (j : intervalle) : intervalle =\n", " let a = fst i and b = snd i in\n", " let c = fst j and d = snd j in\n", " (* (a + c, b + d) *)\n", " ((plus_ee a c), (plus_ee d b))\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Et on les combine facilement, en gardant la même architecture que pour `intersections`." ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val ajoute_nouveaux : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let ajoute_nouveaux (acc : intervalles) (liste : intervalles) : intervalles =\n", " List.filter (fun i -> not (List.mem i acc)) liste\n", ";;" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val compositions : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let compositions (t : intervalles) (s : intervalles) : intervalles =\n", " let rec compo_aux acc tx sx =\n", " match sx with\n", " | [] -> acc (* Plus rien à ajouter *)\n", " | j :: s2 -> (* On traite j, puis récursivement la suite de s *)\n", " let t_compo_j = List.map (composition j) tx in\n", " compo_aux ((ajoute_nouveaux acc t_compo_j) @ acc) tx s2\n", " in\n", " List.sort compare (compo_aux [] t s)\n", " (* On trie pour les avoir en ordre croissant, c'est tout *)\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour frimer un peu et simplifier l'écriture de l'algorithme PC, on peut définir une opération infixe en raccourci :\n", "$$ T \\otimes S = \\texttt{t ** s}.$$" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val ( ** ) : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let ( ** ) = compositions;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Union\n", "On peut aussi rapidement définier $T \\cup S$, pour l'union. C'est très facile." ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val union : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let union (t : intervalles) (s : intervalles) : intervalles =\n", " List.append t s\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exemples\n", "On aimerait reproduire les exemples de la Figure 2 du texte.\n", "![images/intersection_composition_contraintes.png](images/intersection_composition_contraintes.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Pour les deux intervalles de la Figure 2.a) : $T_a = \\{ [1, 4], [6, 8] \\}$ et $S_a = \\{ [0, 1], [3, 5], [6, 7] \\}$." ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : intervalles = [(E 3, E 4); (E 6, E 7)]\n" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_a ++ s_a;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On retrouve bien le résultat de la Figure 2.a)." ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : intervalles =\n", "[(E 1, E 5); (E 4, E 9); (E 6, E 9); (E 7, E 11); (E 9, E 13); (E 12, E 15)]\n" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles =\n", "[(E 1, E 4); (E 6, E 8); (E 0, E 1); (E 3, E 5); (E 6, E 7)]\n" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_a ** s_a;;\n", "union t_a s_a;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Pour les deux intervalles de la Figure 2.b) : $T_b = \\{ [-1, 0], [2, 4] \\}$ et $S_b = \\{ [0, 1], [4, 4] \\}$." ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : intervalles = [(E (-1), E 1); (E 2, E 5); (E 3, E 4); (E 6, E 8)]\n" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_b ** s_b;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On retrouve bien le résultat de la Figure 2.b).\n", "\n", "L'intervalle $[3, 4]$ est inclus dans $[2, 5]$, donc on devrait ajouter une étape de nettoyage pour donner une forme canonique aux intervalles produit par `composition`. On le fait plus bas." ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : intervalles = [(E (-1), E 0); (E 2, E 4)]\n" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E 0, E 1); (E 4, E 4)]\n" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_b;;\n", "s_b;;" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : intervalles = []\n" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E (-1), E 0); (E 2, E 4); (E 0, E 1); (E 4, E 4)]\n" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_b ++ s_b;;\n", "union t_b s_b;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On remarque que les intervalles sont bien donnés dans l'ordre croissant, puisqu'on a pensé à trier la sortie des deux fonctions, mais ça ne change rien." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Une étape de plus : ne pas inclure des intervalles inclus dans ceux déjà présents\n", "\n", "On va raffiner les fonctions définis ci-dessus en ajoutant un test, sur leur résultat final.\n", "\n", "- `est_inclus i j` teste si $I \\subseteq J$." ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val est_inclus : intervalle -> intervalle -> bool = \n" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let est_inclus (i : intervalle) (j : intervalle) : bool =\n", " let a = fst i and b = snd i in\n", " let c = fst j and d = snd j in\n", " (* on peut aussi écrire directement\n", " let a, b = i and c, d = j in\n", " pour extraire les valeurs d'un coupe i=(a,b) et j=(c,d)\n", " *)\n", " (* c <= a && b <= d *)\n", " (pluspetiteq_ee c a) && (pluspetiteq_ee b d)\n", ";;" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : bool = true\n" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : bool = false\n" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : bool = true\n" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "est_inclus (E(3), E(4)) (E(2), E(5));; (* true *)\n", "est_inclus (E(2), E(5)) (E(3), E(4));; (* false *)\n", "est_inclus (E(1), E(1)) (E(1), E(1));; (* true *)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- `est_inclus_dans_un i acc` teste si $I \\subseteq J$ pour **un** $J \\neq I \\in \\mathrm{Acc}$." ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val est_inclus_dans_un : intervalle -> intervalles -> bool = \n" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let est_inclus_dans_un (i : intervalle) (acc : intervalles) : bool =\n", " List.exists (fun j -> (i != j) && (est_inclus i j)) acc\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- On peut écrire une fonction `filtre` qui retire les intervalles inclus dans d'autres, puis retire les doublons." ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val retire_les_inclus : intervalles -> intervalles = \n" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val retire_les_doublons : intervalles -> intervalles = \n" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val filtre : intervalles -> intervalles = \n" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let retire_les_inclus (liste : intervalles) : intervalles =\n", " List.filter (fun i -> not (est_inclus_dans_un i liste)) liste\n", ";;\n", "\n", "let retire_les_doublons (liste : intervalles) : intervalles =\n", " let reponse = ref [] in\n", " List.iter (fun i ->\n", " if not (List.mem i !reponse) then\n", " reponse := i :: !reponse\n", " ) liste;\n", " !reponse\n", ";;\n", "\n", "let filtre liste =\n", " retire_les_doublons (retire_les_inclus liste)\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- L'intersection ne devrait pas être impactée." ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val intersections2 : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let intersections2 (t : intervalles) (s : intervalles) : intervalles =\n", " List.sort compare (filtre (intersections t s))\n", " (* On trie pour les avoir en ordre croissant, c'est tout *)\n", ";;" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val ( ++ ) : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E 3, E 4); (E 6, E 7)]\n" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let ( ++ ) = intersections2;;\n", "\n", "t_a ++ s_a;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Mais la composition va donner la bonne réponse désormais pour l'exemple de la figure 2.b)." ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val compositions2 : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let compositions2 (t : intervalles) (s : intervalles) : intervalles =\n", " List.sort compare (filtre (compositions t s))\n", " (* On trie pour les avoir en ordre croissant, c'est tout *)\n", ";;" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val ( ** ) : intervalles -> intervalles -> intervalles = \n" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E (-1), E 1); (E 2, E 5); (E 6, E 8)]\n" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let ( ** ) = compositions2;;\n", "\n", "t_b ** s_b;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> C'était un peu long, mais c'est propre au moins." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notez que pour obtenir une vraie forme canonique, il faudrait aussi rassembler les intervalles consécutifs ($\\{ [0, 1], [1, 2] \\} \\rightarrow \\{ [0, 1] \\}$) et se recoupant ($\\{ [0, 3], [2, 4] \\} \\rightarrow \\{ [0, 4] \\}$).\n", "\n", "> Ça prendrait trop de temps. Et ce n'était pas exigé." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "### L'algorithme PC" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Structure de données pour les réseaux STP\n", "On a besoin désormais de considérer des réseaux STP, qui sont des graphes dont les sommets sont des entiers, et dont les arêtes sont étiquetées par des *listes* (non vides) d'intervalles.\n", "\n", "L'algorithme PC demande de pouvoir accéder rapidement et facilement à l'arête entre deux sommets $x,y$, $T_{x,y}$.\n", "Ainsi, la structure de matrice d'adjacence semble appropriée.\n", "Les arêtes inexistantes dans le réseau auront simplement $T_{x,y} = \\emptyset$, c'est-à-dire `[]` (liste vide).\n", "\n", "> On supposera que toutes les matrices données aux différentes fonctions définies plus bas sont carrées, on ne le vérifie pas (mais ce serait facile)." ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "type sommet = int\n" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "type arete = intervalles\n" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "type reseauSTP = intervalles array array\n" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type sommet = int;;\n", "type arete = intervalles;; (* c'est l'idée *)\n", "\n", "type reseauSTP = intervalles array array;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On essaie tout de suite notre structure de données avec l'exemple du réseau STP de la figure 4 :" ] }, { "cell_type": "code", "execution_count": 235, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val t_01 : intervalles = [(E 0, E 1); (E 10, E 20)]\n" ] }, "execution_count": 235, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val t_12 : intervalles = [(E 0, E 10)]\n" ] }, "execution_count": 235, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val t_13 : intervalles = [(E 25, E 50)]\n" ] }, "execution_count": 235, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val t_23 : intervalles = [(E 0, E 20); (E 40, E 40)]\n" ] }, "execution_count": 235, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val t_vide : (entier_etendu * entier_etendu) list = [(MInf, PInf)]\n" ] }, "execution_count": 235, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val stp_4 : reseauSTP =\n", " [|[|[(MInf, PInf)]; [(E 0, E 1); (E 10, E 20)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(E 0, E 10)]; [(E 25, E 50)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(E 0, E 20); (E 40, E 40)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]|]|]\n" ] }, "execution_count": 235, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let t_01 : intervalles = [(E(0), E(1)); (E(10), E(20))];;\n", "let t_12 : intervalles = [(E(0), E(10))];;\n", "let t_13 : intervalles = [(E(25), E(50))];;\n", "let t_23 : intervalles = [(E(0), E(20)); (E(40), E(40))];;\n", "\n", "let t_vide = [(MInf, PInf)];;\n", "\n", "let stp_4 : reseauSTP = [|\n", " [| t_vide; t_01; t_vide; t_vide |];\n", " [| t_vide; t_vide; t_12; t_13 |];\n", " [| t_vide; t_vide; t_vide; t_23 |];\n", " [| t_vide; t_vide; t_vide; t_vide |];\n", "|];;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut vérifier qu'il n'est pas distributif, en prenant l'exemple du texte (fin page 8) :" ] }, { "cell_type": "code", "execution_count": 236, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val s_13 : intervalles = [(E 0, E 30); (E 40, E 50)]\n" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E 25, E 30); (E 40, E 50)]\n" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E 25, E 31); (E 35, E 50); (E 40, E 51); (E 50, E 70)]\n" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E 25, E 51); (E 35, E 70)]\n" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E 0, E 31); (E 10, E 50); (E 40, E 51); (E 50, E 70)]\n" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "- : intervalles = [(E 25, E 50); (E 50, E 70)]\n" ] }, "execution_count": 236, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let s_13 = t_12 ** t_23;;\n", "\n", "t_13 ++ s_13;;\n", "t_01 ** (t_13 ++ s_13);; (* 1er cas *)\n", "\n", "t_01 ** t_13;;\n", "t_01 ** s_13;;\n", "(t_01 ** t_13) ++ (t_01 ** s_13);; (* 2nd cas *)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En simplifiant, on obtient :\n", "\n", "- $T_{01} \\otimes (T_{13} \\oplus S_{13} = \\{ [25, 31], [35, 70] \\}$,\n", "- $(T_{01} \\otimes T_{13}) \\oplus (T_{01} \\otimes S_{13}) = \\{ [25, 70] \\}$,\n", "\n", "qui sont bien différents." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Enfin, on peut rapidement vérifier si la matrice d'un graphe est bien carrée :" ] }, { "cell_type": "code", "execution_count": 237, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val est_carree : 'a array array -> bool = \n" ] }, "execution_count": 237, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let est_carree matrice =\n", " let n = Array.length matrice in\n", " Array.fold_left (fun b x -> b && (n = (Array.length x))) true matrice\n", ";;" ] }, { "cell_type": "code", "execution_count": 238, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : bool = true\n" ] }, "execution_count": 238, "metadata": {}, "output_type": "execute_result" } ], "source": [ "est_carree stp_4;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### L'algorithme PC\n", "Ça semble être un bon choix.\n", "Maintenant, passons à l'algorithme PC.\n", "\n", "![images/algorithme_PC.png](images/algorithme_PC.png)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Il n'y a pas de boucle `until` en Caml, mais avec une boucle `while` on arrivera presque à la même chose." ] }, { "cell_type": "code", "execution_count": 239, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "exception Fini\n" ] }, "execution_count": 239, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exception Fini;; (* Pour faire le [exit]. *)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut l'écrire avant pour la rendre plus claire, mais l'étape clé de l'algorithme PC (et Floyd-Warshall) est une opération dite de *relaxation* :\n", "$$ T_{i,j} \\oplus (T_{i,k} \\otimes T_{k,j}).$$" ] }, { "cell_type": "code", "execution_count": 240, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val relaxe : reseauSTP -> int -> int -> int -> intervalles = \n" ] }, "execution_count": 240, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let relaxe (reseau : reseauSTP) i j k =\n", " let t_ij = reseau.(i).(j)\n", " and t_ik = reseau.(i).(k)\n", " and t_kj = reseau.(k).(j)\n", " in t_ij ++ (t_ik ** t_kj)\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On a tout ce qu'il faut pour écrire l'algorithme.\n", "Mais comme il ne marche pas encore, on va le débogguer." ] }, { "cell_type": "code", "execution_count": 241, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val string_of_entieretendu : entier_etendu -> string = \n" ] }, "execution_count": 241, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let string_of_entieretendu = function\n", " | MInf -> \"-oo\"\n", " | PInf -> \"+oo\"\n", " | E(x) -> string_of_int x\n", ";;" ] }, { "cell_type": "code", "execution_count": 242, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val print_intervalle : intervalle -> unit = \n" ] }, "execution_count": 242, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let print_intervalle (une_contrainte : intervalle) =\n", " let a, b = une_contrainte in\n", " Printf.printf \"(%s, %s) \" (string_of_entieretendu a) (string_of_entieretendu b)\n", ";;" ] }, { "cell_type": "code", "execution_count": 243, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val print_intervalles : intervalles -> unit = \n" ] }, "execution_count": 243, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let print_intervalles (contraintes : intervalles) =\n", " List.iter print_intervalle contraintes\n", ";;" ] }, { "cell_type": "code", "execution_count": 244, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val flush_force : unit -> unit = \n" ] }, "execution_count": 244, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let flush_force () =\n", " Printf.printf \"\\n\";\n", " flush_all();\n", " Printf.printf \"\\n\";\n", " flush_all();\n", " Printf.printf \"\\n\";\n", " flush_all();\n", ";;" ] }, { "cell_type": "code", "execution_count": 245, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val print_reseau : reseauSTP -> unit = \n" ] }, "execution_count": 245, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let print_reseau (reseau : reseauSTP) : unit =\n", " flush_force ();\n", " Printf.printf \"\\nReseau =\\n\";\n", " Array.iteri (fun i ligne ->\n", " Array.iteri (fun j case ->\n", " if case != [(MInf, PInf)] then begin\n", " Printf.printf \"\\n T[i=%i, j=%i] = [\" i j;\n", " print_intervalles case;\n", " Printf.printf \"]\";\n", " end) ligne\n", " ) reseau;\n", " flush_all ();\n", ";;" ] }, { "cell_type": "code", "execution_count": 246, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "- : reseauSTP =\n", "[|[|[(MInf, PInf)]; [(E 0, E 1); (E 10, E 20)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(E 0, E 10)]; [(E 25, E 50)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(E 0, E 20); (E 40, E 40)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]|]|]\n" ] }, "execution_count": 246, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stp_4;;" ] }, { "cell_type": "code", "execution_count": 247, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "\n" ] }, { "data": { "text/plain": [ "- : unit = ()\n" ] }, "execution_count": 247, "metadata": {}, "output_type": "execute_result" } ], "source": [ "flush_force();;" ] }, { "cell_type": "code", "execution_count": 248, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n" ] }, { "data": { "text/plain": [ "- : unit = ()\n" ] }, "execution_count": 248, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print_reseau stp_4;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On est prêt à écrire l'algorithme :" ] }, { "cell_type": "code", "execution_count": 249, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val algorithmePC :\n", " ?max_etape:int -> reseauSTP -> reseauSTP * intervalles list = \n" ] }, "execution_count": 249, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let algorithmePC ?(max_etape=10) (reseau : reseauSTP) : (reseauSTP * intervalles list) =\n", " let resT = Array.map Array.copy reseau in (* on ne modifie pas l'entrée *)\n", " let resS = ref [||] in\n", " let n = Array.length resT in\n", " let allseen = ref [] in (* Pour débogguer, je veux la liste des Tij vus *)\n", " let etape = ref 0 in\n", " begin\n", " try begin\n", " while !etape < max_etape && !resS != resT do\n", " incr etape;\n", " resS := Array.map Array.copy resT; (* S := T *)\n", " for k = 0 to n - 1 do\n", " for i = 0 to n - 1 do\n", " for j = 0 to n - 1 do\n", " Printf.printf \"\\n\\nEtape %i, k = %i, i = %i, j = %i.\\n\" !etape k i j;\n", " print_string \"Contraintes :\";\n", " print_reseau resT;\n", " resT.(i).(j) <- relaxe resT i j k;\n", " allseen := (resT.(i).(j)) :: !allseen; (* on l'ajoute *)\n", " if resT.(i).(j) = [] then\n", " raise Fini\n", " done\n", " done\n", " done\n", " done;\n", " end\n", " with Fini -> () (* On ignore l'exception, on a juste terminé. *)\n", " end;\n", " resT, !allseen\n", ";;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "### Exemple de réseau non distributif\n", "On va traiter l'exemple de la Figure 4 du texte, comme défini plus haut :\n", "\n", "![images/reseau_distributif.png](images/reseau_distributif.png)" ] }, { "cell_type": "code", "execution_count": 250, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "- : reseauSTP =\n", "[|[|[(MInf, PInf)]; [(E 0, E 1); (E 10, E 20)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(E 0, E 10)]; [(E 25, E 50)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(E 0, E 20); (E 40, E 40)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]|]|]\n" ] }, "execution_count": 250, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stp_4;;" ] }, { "cell_type": "code", "execution_count": 251, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : intervalles = [(E 0, E 10)]\n" ] }, "execution_count": 251, "metadata": {}, "output_type": "execute_result" } ], "source": [ "relaxe stp_4 1 2 3;;" ] }, { "cell_type": "code", "execution_count": 252, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : intervalles = [(E 25, E 50)]\n" ] }, "execution_count": 252, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stp_4.(1).(3)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 253, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 0, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(0, 1) (10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(0, 10) ]\n", " T[i=1, j=3] = [(25, 50) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(0, 20) (40, 40) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(-oo, +oo) ]\n" ] }, { "data": { "text/plain": [ "- : reseauSTP * intervalles list =\n", "([|[|[]; [(E 0, E 1); (E 10, E 20)]; [(MInf, PInf)]; [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(E 0, E 10)]; [(E 25, E 50)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(E 0, E 20); (E 40, E 40)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]|]|],\n", " [[]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(E 0, E 20); (E 40, E 40)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(MInf, PInf)]; [(E 25, E 50)]; [(E 0, E 10)]; [(MInf, PInf)];\n", " [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(E 0, E 1); (E 10, E 20)];\n", " [(MInf, PInf)]])\n" ] }, "execution_count": 253, "metadata": {}, "output_type": "execute_result" } ], "source": [ "algorithmePC stp_4;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Je ne suis pas sûr de comment interprêter ce résultat...\n", "> \n", "> - soit j'ai fait une erreur dans l'implémentation,\n", "> - soit l'algorithme PC devait ne rien modifier à $T$ sur cet exemple..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "### D'autres exemples\n", "\n", "On peut étudier le STP de la Figure 1., en enlevant la contrainte $[60, \\infty)$, qui ne rentre pas dans notre implémentation.\n", "\n", "![images/stp_figure1.png](images/stp_figure1.png)." ] }, { "cell_type": "code", "execution_count": 254, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "val t_01 : intervalles = [(E 10, E 20)]\n" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val t_12 : intervalles = [(E 30, E 40)]\n" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val t_32 : intervalles = [(E 10, E 20)]\n" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val t_34 : intervalles = [(E 20, E 30); (E 40, E 50)]\n" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val t_40 : intervalles = [(E 60, E 70)]\n" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": [ "val stp_1 : reseauSTP =\n", " [|[|[(MInf, PInf)]; [(E 10, E 20)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(E 30, E 40)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(E 10, E 20)]; [(MInf, PInf)];\n", " [(E 20, E 30); (E 40, E 50)]|];\n", " [|[(E 60, E 70)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|]|]\n" ] }, "execution_count": 254, "metadata": {}, "output_type": "execute_result" } ], "source": [ "let t_01 : intervalles = [(E(10), E(20))];;\n", "let t_12 : intervalles = [(E(30), E(40))];;\n", "let t_32 : intervalles = [(E(10), E(20))];;\n", "let t_34 : intervalles = [(E(20), E(30)); (E(40), E(50))];;\n", "let t_40 : intervalles = [(E(60), E(70))];;\n", "\n", "let stp_1 : reseauSTP = [|\n", " [| t_vide; t_01; t_vide; t_vide; t_vide |];\n", " [| t_vide; t_vide; t_12; t_vide; t_vide |];\n", " [| t_vide; t_vide; t_vide; t_vide; t_vide |];\n", " [| t_vide; t_vide; t_32; t_vide; t_34 |];\n", " [| t_40; t_vide; t_vide; t_vide; t_vide |];\n", "|];;" ] }, { "cell_type": "code", "execution_count": 255, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "- : unit = ()\n" ] }, "execution_count": 255, "metadata": {}, "output_type": "execute_result" }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=3, j=3] = [(-oo, +oo) ]\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n" ] } ], "source": [ "print_reseau stp_1;;" ] }, { "cell_type": "code", "execution_count": 256, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 0, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 1, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 2, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 3, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 4, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 4, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(-oo, +oo) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 4, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 4, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 0, i = 4, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 0, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 0, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 0, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(-oo, +oo) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 0, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 0, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 1, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 1, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 1, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 1, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 1, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 2, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 2, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 2, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 2, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 2, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 3, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 3, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 3, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 3, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 3, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 4, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 4, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 4, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(-oo, +oo) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Etape 1, k = 1, i = 4, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 1, i = 4, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 0, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 0, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 0, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 0, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 0, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 1, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 1, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 1, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 1, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 1, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 2, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 2, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 2, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 2, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 2, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 3, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 3, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 3, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 3, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 3, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 4, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 4, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 4, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 4, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 2, i = 4, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 0, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 0, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 0, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 0, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 0, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 1, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 1, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 1, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 1, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 1, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 2, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 2, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 2, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 2, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 2, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 3, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 3, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 3, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 3, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 3, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 4, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 4, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 4, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 4, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 3, i = 4, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 0, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 0, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 0, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 0, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 0, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 1, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 1, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 1, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 1, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 1, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 2, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 2, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 2, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 2, j = 3.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 2, j = 4.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 3, j = 0.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(-oo, +oo) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 3, j = 1.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(80, 100) (100, 120) ]\n", " T[i=3, j=1] = [(-oo, +oo) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n", " T[i=4, j=4] = [(-oo, +oo) ]\n", "\n", "Etape 1, k = 4, i = 3, j = 2.\n", "Contraintes :\n", "\n", "\n", "\n", "Reseau =\n", "\n", " T[i=0, j=0] = [(-oo, +oo) ]\n", " T[i=0, j=1] = [(10, 20) ]\n", " T[i=0, j=2] = [(40, 60) ]\n", " T[i=0, j=3] = [(-oo, +oo) ]\n", " T[i=0, j=4] = [(-oo, +oo) ]\n", " T[i=1, j=0] = [(-oo, +oo) ]\n", " T[i=1, j=1] = [(-oo, +oo) ]\n", " T[i=1, j=2] = [(30, 40) ]\n", " T[i=1, j=3] = [(-oo, +oo) ]\n", " T[i=1, j=4] = [(-oo, +oo) ]\n", " T[i=2, j=0] = [(-oo, +oo) ]\n", " T[i=2, j=1] = [(-oo, +oo) ]\n", " T[i=2, j=2] = [(-oo, +oo) ]\n", " T[i=2, j=3] = [(-oo, +oo) ]\n", " T[i=2, j=4] = [(-oo, +oo) ]\n", " T[i=3, j=0] = [(80, 100) (100, 120) ]\n", " T[i=3, j=1] = [(90, 120) (110, 140) ]\n", " T[i=3, j=2] = [(10, 20) ]\n", " T[i=3, j=3] = [(-oo, +oo) ]\n", " T[i=3, j=4] = [(20, 30) (40, 50) ]\n", " T[i=4, j=0] = [(60, 70) ]\n", " T[i=4, j=1] = [(70, 90) ]\n", " T[i=4, j=2] = [(100, 130) ]\n", " T[i=4, j=3] = [(-oo, +oo) ]\n" ] }, { "data": { "text/plain": [ "- : reseauSTP * intervalles list =\n", "([|[|[(MInf, PInf)]; [(E 10, E 20)]; [(E 40, E 60)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(E 30, E 40)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|];\n", " [|[(E 80, E 100); (E 100, E 120)]; [(E 90, E 120); (E 110, E 140)]; \n", " []; [(MInf, PInf)]; [(E 20, E 30); (E 40, E 50)]|];\n", " [|[(E 60, E 70)]; [(E 70, E 90)]; [(E 100, E 130)]; [(MInf, PInf)];\n", " [(MInf, PInf)]|]|],\n", " [[]; [(E 90, E 120); (E 110, E 140)]; [(E 80, E 100); (E 100, E 120)];\n", " [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(E 30, E 40)];\n", " [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)]; [(MInf, PInf)];\n", " [(E ...); ...]; ...])\n" ] }, "execution_count": 256, "metadata": {}, "output_type": "execute_result" } ], "source": [ "algorithmePC stp_1;;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Je ne suis pas sûr de comment interprêter ce résultat...\n", "> \n", "> - soit j'ai fait une erreur dans l'implémentation,\n", "> - soit l'algorithme PC devait ne rien modifier à $T$ sur cet exemple..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "## Conclusion\n", "\n", "Voilà pour la question obligatoire de programmation :\n", "\n", "- on a décomposé le problème en sous-fonctions,\n", "- on a essayé d'être fainéant, en réutilisant les sous-fonctions,\n", "- on a fait des exemples et *on les garde* dans ce qu'on présente au jury,\n", "- on a testé la fonction exigée sur de petits exemples et sur un exemple de taille réelle (venant du texte)\n", "\n", "Et on a essayé de faire *un peu plus*, en implémentant la vérification d'une contrainte de plus.\n", "\n", "> Bien-sûr, ce petit notebook ne se prétend pas être une solution optimale, ni exhaustive." ] } ], "metadata": { "kernelspec": { "display_name": "OCaml 4.04.2", "language": "OCaml", "name": "ocaml-jupyter" }, "language_info": { "codemirror_mode": "text/x-ocaml", "file_extension": ".ml", "mimetype": "text/x-ocaml", "name": "OCaml", "nbconverter_exporter": null, "pygments_lexer": "OCaml", "version": "4.04.2" }, "toc": { "colors": { "hover_highlight": "#DAA520", "running_highlight": "#FF0000", "selected_highlight": "#FFD700" }, "moveMenuLeft": true, "nav_menu": { "height": "289px", "width": "252px" }, "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 4, "toc_cell": true, "toc_position": { "height": "610px", "left": "0px", "right": "1223px", "top": "124px", "width": "249px" }, "toc_section_display": "block", "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }