diff --git a/.ipynb_checkpoints/Projet-LINMA1702-2023-v2-checkpoint.ipynb b/.ipynb_checkpoints/Projet-LINMA1702-2023-v2-checkpoint.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..04bc28bec7f9c905da8f7f84c97cc615a251d19c
--- /dev/null
+++ b/.ipynb_checkpoints/Projet-LINMA1702-2023-v2-checkpoint.ipynb
@@ -0,0 +1,300 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "id": "tight-speech",
+   "metadata": {},
+   "source": [
+    "## LINMA1702 - Projet\n",
+    "# Utilisation optimale d'une pompe à chaleur domestique\n",
+    "\n",
+    "###  Notebook pour le rapport final - version 2\n",
+    "\n",
+    "## Description générale\n",
+    "\n",
+    "Une pompe à chaleur permet de chauffer un bâtiment en consommant moins d'énergie qu'au chauffage électrique classique, grâce à un coefficient de performance (COP) supérieur à un. Elle peut également fonctionner de façon réversible, c'est-à-dire qu'elle permet de refroidir en été.\n",
+    "\n",
+    "Dans ce projet, on va utiliser une pompe à chaleur pour maintenir le température intérieur d'un bâtiment dans une plage confortable, tout en minimisant le coût de l'électricité consommée.\n",
+    "\n",
+    "### Hypothèses et données\n",
+    "- On considère une année entière, qu'on discrétise par intervalles de temps d'une durée de 15 minutes\n",
+    "- Le bâtiment est situé à Montréal, et on dispose de la température extérieure durant chaque intervalle de temps \n",
+    "- On suppose que la température du bâtiment est homogène, et on s'intéressera uniquement à la valeur qu'elle prend toutes les 15 minutes (on ne s'intéresse donc pas à la dynamique de la température au cours d'un intervalle de temps)\n",
+    "- Durant chaque intervalle de temps la température intérieure évolue en fonction la température externe : la différence de température entre le début et la fin d'un intervalle de temps est proportionnel à la différence entre la température externe et la température interne (le coefficient de proportionnalité dépendant de l'isolation du bâtiment)\n",
+    "- Pendant chaque intervalle de temps on peut choisir d'activer la pompe à chaleur. Plus précisément, on peut décider de la puissance qu'on va utiliser pour la pompe à chaleur, jusqu'à une certaine puissance maximale. Celle-ci va alors prélever de la chaleur extérieure et la transférer à l'intérieur du bâtiment (ou l'inverse si on décide de fonctionne en mode refroidissement, nommé \"reverse\"). La quantité de chaleur transférée est proportionnelle à la puissance électrique consommée, mais aussi au coefficient de performance (COP).\n",
+    "- La variation de la température du bâtiment causée par l'activation de la pompe à chaleur est proportionnelle à la chaleur/énergie transférée\n",
+    "- Le coefficient de performance de la pompe à chaleur est supposé dépendre uniquement de la température extérieure et du mode de fonctionnement, normal ou reverse.\n",
+    "- Le coût unitaire de l'électricité consommée dépend de l'heure où elle est prélevée (tarif bi-horaire)\n",
+    "   \n",
+    "### Remarque à propos de la modélisation\n",
+    "En général, quand on modélise un problème, on décide d'effectuer certaines hypothèses et/ou approximations. Il y a certainement plusieurs façons tout à fait valides de modéliser le problème, donc pas pas forcément une unique bonne réponse. Vous pouvez interpréter l'énoncé de la façon qui vous convient le mieux du moment qu'elle reste raisonnable. \n",
+    "(par exemple : l'énoncé suggère de ne pas analyser/de prendre en compte ce qui se passe à l'intérieur d'un intervalle de temps, ce qui est un choix ; aussi : le fonctionnement simultané en mode chauffage et reverse pourrait être a priori permis ou interdit, mais cela change-t-il vraiment les choses ?)</font>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "loved-savings",
+   "metadata": {},
+   "source": [
+    "## Tâches\n",
+    "\n",
+    "**Tâche 1** : on souhaite dans un premier temps que la température du bâtiment reste comprise dans une certaine plage admissible de températures, et on cherche à **minimiser le coût total de l'électricité consommée par la pompe à chaleur**. Formulez ce problème comme un problème d'optimisation linéaire, puis résolvez le.\n",
+    "\n",
+    "Pour des raisons de temps de calcul, votre modèle considérera uniquement une période de 7 jours consécutifs. Il fera l'hypothèse que la température initiale au début de la période est égale à la valeur centrale de la plage admissible, et fera en sorte que la température finale à la fin de la période revienne à la même valeur. Votre code prendra donc en entrée un paramètre indiquant le numéro de l'intervalle de temps qui début la période, qui s'étendra sur $7 \\times 24 \\times 4 = 672$ intervalles de temps.\n",
+    "\n",
+    "<div class=\"alert alert-block alert-warning\"><b>A mentionner</b> :<br> \n",
+    "- coût minimal + graphique de l'évolution des températures + graphique représentant l'utilisation de la pompe à chaleur (en distinguant le fonctionnement normal du fonctionnement _reverse_) + temps de calcul + bref commentaire (maximum 4 lignes)<br>\n",
+    "- pour deux périodes distinctes (placer les résultats côté à côté) : à gauche une période pré-déterminée (cf. fichier de données), et à droite une seconde période que vous choisirez en fonction de son intérêt\n",
+    "</div>\n",
+    "\n",
+    "---"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "59d693bb",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 1.1</b> :<br> \n",
+    "    Donnez votre formulation linéaire, en commentant brièvement (en particulier si vous utilisez une technique de modélisation/reformulation)  \n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "6e4c0afb",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 1.2</b> :<br> \n",
+    "    Résolvez votre modèle sur les deux intervalles de temps, affichez vos résultats sous forme graphique et commentez.modélisation/reformulation)  \n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "dcd4fd17",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 1.3</b> :<br> \n",
+    "    A partir de certaines informations fournies par le solver (et donc sans effectuer de nouveau calcul), prédisez l'effet sur le coût optimal d'une diminution de la tempéature minimale admissible. Faites de même pour une augmentation de la température maximale admissible. Commentez cette prédiction (en particulier à quel point elle est valide pour n'importe quelle variation des températures).\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "dd5e6cd6",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 1.4</b> :<br> \n",
+    "   Démontrez que, dans une solution optimale, l'activation simultanée du chauffage et du mode reverse durant la même période de temps est impossible.\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "af08cae2",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 1.5</b> :<br> \n",
+    "    Modifiez votre modèle de façon à tenir compte des nouvelles contraintes suivantes :<br>\n",
+    "    - si la pompe à chaleur est utilisée (dans un mode ou dans l'autre), elle l'est au moins à 25% de sa puissance maximale. Il n'est donc plus possible d'utiliser la pompe à chaleur à très faible puissance.\n",
+    "<br>\n",
+    "    - si on décide d'allumer (ou d'éteindre) la pompe à chaleur, elle reste allumée (ou éteinte) sur une période de x heures consécutives. Ces périodes sont fixes : par exemple, si x=4h, il s'agit de [0h-4h], [4h-8h], [8h-12h], [12h-16h], etc. pour chaque journée.<br>\n",
+    "    Le nouveau modèle sera toujours obligatoirement linéaire, mais pourra faire appel à des variables discrètes. \n",
+    "    Donnez votre formulation, et commentez brièvement.\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7aa5fe9a",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 1.6</b> :<br> \n",
+    "    Résolvez ce nouveau modèle, affichez les résultats et commentez (en particulier le temps de calcul). Choissisez d'abord une valeur x=4h, puis x=2h.\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "8fcc662f",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 1.7</b> :<br> \n",
+    "    Décrivez comment on pourrait apporter les modifications suivantes au modèle (mais sans les implémenter): <br>\n",
+    "    - tenir compte d'un coût fixe à payer pour chaque intervalle de temps où la pompe à chaleur est utilisée<br>\n",
+    "    - minimiser le nombre d'allumages de la pompe à chaleur (un allumage = passage de l'état 'éteint' lors d'un invervalle de temps à l'état 'allumé' lors de l'intervalle de temps suivant)<br>\n",
+    "    - dans ce nouveau modèle il n'est plus nécessairement impossible d'observer dans une solution optimale l'activation simultanée du chauffage et du mode reverse au cours du même intervalle de temps : expliquez pourquoi, et proposez une contrainte permettant d'éliminer cette possibilité\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7a3e7b09",
+   "metadata": {},
+   "source": [
+    "**Tâche 2** : on souhaite réduire le coût d'utilisation de la pompe à chaleur, et on va fixer le budget maximal à une certaine proportion du coût minimal identifié lors de la première tâche. Pour diminuer les coût, on va permettre aux températures de sortir de la plage admissible définie plus haut (on abandonne aussi la contrainte sur la température finale, qui devient libre). On va cependant alors comptabiliser la quantité d'_inconfort_ éventuellement subi durant chaque intervalle de temps, qui sera proportionnel au dépassement de la température maximale admissible, ou au dépassement par le bas de la température minimale admissible. On cherche alors à **minimiser l'inconfort total** (somme des inconforts sur toute la période considérée) **tout en respectant la contrainte de budget**. Formulez ce problème comme un problème d'optimisation linéaire, puis résolvez le.\n",
+    "\n",
+    "\n",
+    "<div class=\"alert alert-block alert-warning\"><b>A mentionner</b> :<br> \n",
+    "- inconfort minimal + même graphiques que pour tâche 1 + temps de calcul + bref commentaire (maximum 4 lignes)<br>\n",
+    "- à nouveau pour les deux périodes mentionnées lors de la tâche 1\n",
+    "</div>\n",
+    "\n",
+    "---"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "ad42aa0d",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 2.1</b> :<br> \n",
+    "    Donnez votre formulation linéaire, en commentant brièvement (en particulier si vous utilisez une technique de modélisation/reformulation)  \n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "185b221d",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 2.2</b> :<br> \n",
+    "    Résolvez votre modèle sur les deux intervalles de temps, affichez vos résultats sous forme graphique et commentez.modélisation/reformulation)  \n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "db6baecb",
+   "metadata": {},
+   "source": [
+    "On remplace à présent la notion d'inconfort décrite ci-dessus par une pénalisation quadratique : à présent l'inconfort  est proportionnel au *carré* du dépassement de la température maximale admissible, ou au *carré* du dépassement par le bas de la température minimale admissible (les coefficients de proportionnalité restent identiques)."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "cf7d1ad5",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 2.3</b> :<br> \n",
+    "    Modélisez ce nouveau problème de façon linéaire, en utilisant une approximation. Cette approximation pourra par exemple être basée sur des tangentes  (choisissez un nombre pas trop élevé, par exemple 5). Expliquez votre technique de modélisation. Résolvez ce modèle approché, affichez les solutions et commentez (en particulier l'effet sur la solution par rapport au modèle d'inconfort initial).\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2be891ab",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 2.4</b> :<br> \n",
+    "    Pour terminez cette partie, résolvez encore une fois ce nouveau modèle, mais cette fois de façon exacte, en utilisant un solveur quadratique. Comparez avec la solution approchée obtenue précédemment (solutions, temps de calcul).\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "7f47806b",
+   "metadata": {},
+   "source": [
+    "**Tâche 3** : on voudrait à présent mieux comprendre le compromis qui existe entre le budget alloué et l'inconfort total qui en résulte. Proposez un **graphique représentant au mieux cette relation entre budget et inconfort**, où on fera varier le budget entre entre zéro et le coût minimal identifié lors de la tâche 1 (ce budget sera indiqué en pourcentage, de 0 à 100%). Ceci nécessitera la résolution de plusieurs problèmes, et il sera judicieux d'utiliser la fonctionnalité _warm start_ du solver pour accélérer les calculs.\n",
+    "\n",
+    "<div class=\"alert alert-block alert-warning\"><b>A mentionner</b> :<br> \n",
+    "- graphique demandé + temps de calcul (total et moyenne par problème) + bref commentaire (maximum 4 lignes)<br>\n",
+    "- à nouveau pour les deux périodes mentionnées  lors des tâches 1 et 2\n",
+    "</div>\n",
+    "\n",
+    "---"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "caedf962",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 3.1</b> :<br> \n",
+    "    Fournissez le graphique et les commentaires demandé ci-dessus\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "0d1eeb96",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Question 3.2</b> :<br> \n",
+    "    Expliquez la pente linéaire observée dans le graphique obtenu. Recalculez la valeur de la pente à partir des informations fournies par le solver pour la résolution avec le budget maximal (tâche 2), et comparez à celle du graphique. Enfin, expliquez pourquoi le graphique cesse à un moment d'être une droite.\n",
+    "</div>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4e9b0c8a",
+   "metadata": {},
+   "source": [
+    "---\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d5523f6e",
+   "metadata": {},
+   "source": [
+    "<div class=\"alert alert-block alert-info\"><b>Bonus</b><br>\n",
+    "    Estimez l'effet de l'utilisation d'une version imprécise des données de température (prévisions)<br>\n",
+    "</div>\n",
+    "Ce bonus est optionnel, et ne conduit pas à l'obtention de points supplémentaires : il est seulement destiné à attirer votre\n",
+    "    attention sur le caractère artificiel de la situation proposée, où on connaît parfaitement et à l'avance les températures extérieures."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "640fd558",
+   "metadata": {},
+   "source": [
+    "## Consignes et conseils\n",
+    "- Le projet se réalise par groupe de (maximum) quatre étudiants (cf. groupes constitués sur Moodle). \n",
+    "\n",
+    "- L'assistant responsable du projet est Guillaume Van Dessel. Toutes les  questions sur le projet doivent être posées via Moodle dans le forum prévu pour le projet (et pas par message/mail individuel). Des permanences seront prévues, et seront annoncées via Moodle.\n",
+    "\n",
+    "- Il est fortement suggéré d'utiliser un langage de modélisation pour formuler et résoudre vos problèmes d'optimisation linéaire. Nous conseillons d'utiliser le module CVXPY combiné au solver d'optimisation HIGHS (nous avons vérifié que cette combinaison est suffisamment performance pour le projet).\n",
+    "\n",
+    "- Les groupes peuvent échanger leurs réflexions, partager leurs idées et comparer leurs résultats. Ils ne peuvent pas recopier les raisonnements, les solutions ou les codes informatiques. L'utilisation de toute information ou aide extérieure doit obligatoirement être mentionnée dans le rapport, en citant la source.\n",
+    "\n",
+    "- Votre rapport final sera constitué de ce notebook complété, où vous aurez inséré vos codes, vos résultats, vos graphiques et commentaires.\n",
+    "\n",
+    "- Ce rapport  est à remettre au plus tard le **mercredi 24 mai 2023** à minuit (soir), via Moodle, sous la forme d'une archive compressée contenant votre notebook et tous les fichiers nécessaires pour le faire fonctionner (code Python, etc.). Le notebook doit contenir les cellules sous forme déjà évaluée (résultats, tableaux, graphiques, etc.), mais doit pouvoir également être ré-évalué en entier. \n",
+    "\n",
+    "- Organisez efficacement votre travail de groupe, et répartissez vous le travail. Les tâches à effectuer durant cette seconde partie sont *largement indépendantes* les unes des autres.\n",
+    "\n",
+    "\n",
+    "### Changelog\n",
+    "- 2023-03-24 v1\n",
+    "- 2023-04-23 v1.1 avec récapitulatif des précisions apportées sur Moodle (en bleu)\n",
+    "- 2023-04-28 description des tâches de la seconde partie\n",
+    "- 2023-05-12 v2 avec le format attendu (notebook) pour le rapport final"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.13"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/Projet-LINMA1702-2023-v2.ipynb b/Projet-LINMA1702-2023-v2.ipynb
index ebc22d70c48f24137310fd0a9547841f633b0848..cd9b6972bd07e6ef84c0231c974fdaf606742e7a 100644
--- a/Projet-LINMA1702-2023-v2.ipynb
+++ b/Projet-LINMA1702-2023-v2.ipynb
@@ -8,7 +8,9 @@
     "## LINMA1702 - Projet\n",
     "# Utilisation optimale d'une pompe à chaleur domestique\n",
     "\n",
-    "###  Notebook pour le rapport final - version 2\n",
+    "###  Notebook pour le rapport final - version 2.1\n",
+    "### <font color=\"red\">Numéro du groupe : (à compléter)</font>\n",
+    "### <font color=\"red\">Membres du groupe : (à compléter)</font>\n",
     "\n",
     "## Description générale\n",
     "\n",
@@ -28,7 +30,7 @@
     "   \n",
     "### Remarque à propos de la modélisation\n",
     "En général, quand on modélise un problème, on décide d'effectuer certaines hypothèses et/ou approximations. Il y a certainement plusieurs façons tout à fait valides de modéliser le problème, donc pas pas forcément une unique bonne réponse. Vous pouvez interpréter l'énoncé de la façon qui vous convient le mieux du moment qu'elle reste raisonnable. \n",
-    "(par exemple : l'énoncé suggère de ne pas analyser/de prendre en compte ce qui se passe à l'intérieur d'un intervalle de temps, ce qui est un choix ; aussi : le fonctionnement simultané en mode chauffage et reverse pourrait être a priori permis ou interdit, mais cela change-t-il vraiment les choses ?)</font>"
+    "(par exemple : l'énoncé suggère de ne pas analyser/de prendre en compte ce qui se passe à l'intérieur d'un intervalle de temps, ce qui est un choix ; aussi : le fonctionnement simultané en mode chauffage et reverse pourrait être a priori permis ou interdit, mais cela change-t-il vraiment les choses ?)"
    ]
   },
   {
@@ -56,7 +58,7 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 1.1</b> :<br> \n",
-    "    Donnez votre formulation linéaire, en commentant brièvement (en particulier si vous utilisez une technique de modélisation/reformulation)  \n",
+    "    Donnez votre formulation linéaire, en commentant brièvement (en particulier si vous utilisez une technique de modélisation/reformulation).\n",
     "</div>"
    ]
   },
@@ -66,7 +68,7 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 1.2</b> :<br> \n",
-    "    Résolvez votre modèle sur les deux intervalles de temps, affichez vos résultats sous forme graphique et commentez.modélisation/reformulation)  \n",
+    "    Résolvez votre modèle sur les deux intervalles de temps, affichez vos résultats sous forme graphique et commentez.\n",
     "</div>"
    ]
   },
@@ -76,7 +78,8 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 1.3</b> :<br> \n",
-    "    A partir de certaines informations fournies par le solver (et donc sans effectuer de nouveau calcul), prédisez l'effet sur le coût optimal d'une diminution de la tempéature minimale admissible. Faites de même pour une augmentation de la température maximale admissible. Commentez cette prédiction (en particulier à quel point elle est valide pour n'importe quelle variation des températures).\n",
+    "    A partir de certaines informations fournies par le solver (et donc sans effectuer de nouveau calcul) et de la théorie vue au cours, prédisez l'effet sur le coût optimal d'une diminution de la tempéature minimale admissible Tmin. Faites de même pour une augmentation de la température maximale admissible Tmax. \n",
+    "    Votre prédiction consiste en un formule pour le coût optimal en fonction des deux variations de température Tmin et Tmax. Commentez cette prédiction (en particulier : est-elle valide pour n'importe quelle variation des températures ?).\n",
     "</div>"
    ]
   },
@@ -86,7 +89,7 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 1.4</b> :<br> \n",
-    "   Démontrez que, dans une solution optimale, l'activation simultanée du chauffage et du mode reverse durant la même période de temps est impossible.\n",
+    "   Démontrez que, dans toute solution optimale de ce modèle, l'activation simultanée du chauffage et du mode reverse durant la même période de temps est impossible.\n",
     "</div>"
    ]
   },
@@ -96,7 +99,7 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 1.5</b> :<br> \n",
-    "    Modifiez votre modèle de façon à tenir compte des nouvelles contraintes suivantes :<br>\n",
+    "    Modifiez votre modèle de façon à tenir compte des deux nouvelles contraintes suivantes :<br>\n",
     "    - si la pompe à chaleur est utilisée (dans un mode ou dans l'autre), elle l'est au moins à 25% de sa puissance maximale. Il n'est donc plus possible d'utiliser la pompe à chaleur à très faible puissance.\n",
     "<br>\n",
     "    - si on décide d'allumer (ou d'éteindre) la pompe à chaleur, elle reste allumée (ou éteinte) sur une période de x heures consécutives. Ces périodes sont fixes : par exemple, si x=4h, il s'agit de [0h-4h], [4h-8h], [8h-12h], [12h-16h], etc. pour chaque journée.<br>\n",
@@ -121,10 +124,10 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 1.7</b> :<br> \n",
-    "    Décrivez comment on pourrait apporter les modifications suivantes au modèle (mais sans les implémenter): <br>\n",
-    "    - tenir compte d'un coût fixe à payer pour chaque intervalle de temps où la pompe à chaleur est utilisée<br>\n",
-    "    - minimiser le nombre d'allumages de la pompe à chaleur (un allumage = passage de l'état 'éteint' lors d'un invervalle de temps à l'état 'allumé' lors de l'intervalle de temps suivant)<br>\n",
-    "    - dans ce nouveau modèle il n'est plus nécessairement impossible d'observer dans une solution optimale l'activation simultanée du chauffage et du mode reverse au cours du même intervalle de temps : expliquez pourquoi, et proposez une contrainte permettant d'éliminer cette possibilité\n",
+    "    Décrivez comment on pourrait apporter les modifications suivantes au nouveau modèle de la Question 1.5, sans les implémenter : <br>\n",
+    "    (a) tenir compte d'un coût fixe supplémentaire à payer pour chaque intervalle de temps où la pompe à chaleur est utilisée<br>\n",
+    "    (b) empêcher le nombre total d'allumages de la pompe à chaleur à ne pas dépasser une certaine valeur maximale (un allumage = passage de l'état 'éteint' lors d'un invervalle de temps à l'état 'allumé' lors de l'intervalle de temps suivant)<br>\n",
+    "    (c) dans ce nouveau modèle il n'est plus nécessairement impossible d'observer dans une solution optimale l'activation simultanée du chauffage et du mode reverse au cours du même intervalle de temps : expliquez pourquoi, et proposez une contrainte permettant d'éliminer cette possibilité d'activation simultanée.\n",
     "</div>"
    ]
   },
@@ -150,7 +153,7 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 2.1</b> :<br> \n",
-    "    Donnez votre formulation linéaire, en commentant brièvement (en particulier si vous utilisez une technique de modélisation/reformulation)  \n",
+    "    Donnez votre formulation linéaire, en commentant brièvement (en particulier si vous utilisez une technique de modélisation/reformulation).\n",
     "</div>"
    ]
   },
@@ -188,7 +191,7 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 2.4</b> :<br> \n",
-    "    Pour terminez cette partie, résolvez encore une fois ce nouveau modèle, mais cette fois de façon exacte, en utilisant un solveur quadratique. Comparez avec la solution approchée obtenue précédemment (solutions, temps de calcul).\n",
+    "    Pour terminez cette partie, résolvez encore une fois ce nouveau modèle, mais cette fois de façon exacte, en utilisant un solveur quadratique. Comparez avec la solution approchée obtenue précédemment (allure de la solution, temps de calcul).\n",
     "</div>"
    ]
   },
@@ -223,7 +226,7 @@
    "metadata": {},
    "source": [
     "<div class=\"alert alert-block alert-info\"><b>Question 3.2</b> :<br> \n",
-    "    Expliquez la pente linéaire observée dans le graphique obtenu. Recalculez la valeur de la pente à partir des informations fournies par le solver pour la résolution avec le budget maximal (tâche 2), et comparez à celle du graphique. Enfin, expliquez pourquoi le graphique cesse à un moment d'être une droite.\n",
+    "    Expliquez la pente linéaire observée dans une grande partie du graphique obtenu. Recalculez la valeur de la pente à partir des informations fournies par le solver pour la résolution avec le budget maximal (tâche 2 initiale, Question 2.2), et comparez à celle du graphique. Enfin, expliquez pourquoi le graphique cesse à un moment d'être une droite.\n",
     "</div>"
    ]
   },
@@ -272,7 +275,8 @@
     "- 2023-03-24 v1\n",
     "- 2023-04-23 v1.1 avec récapitulatif des précisions apportées sur Moodle (en bleu)\n",
     "- 2023-04-28 description des tâches de la seconde partie\n",
-    "- 2023-05-12 v2 avec le format attendu (notebook) pour le rapport final"
+    "- 2023-05-12 v2 avec le format attendu (notebook) pour le rapport final\n",
+    "- 2023-05-12 v2.1 précisions supplémentaire pour quelques questions"
    ]
   }
  ],