diff --git a/.ipynb_checkpoints/Notebook_final-checkpoint.ipynb b/.ipynb_checkpoints/Notebook_final-checkpoint.ipynb index a63aee40b3ee1b7bdb4bb4ce258435707b2b1cae..f30d9dd230593780981c34ce8e1421fcff718654 100644 --- a/.ipynb_checkpoints/Notebook_final-checkpoint.ipynb +++ b/.ipynb_checkpoints/Notebook_final-checkpoint.ipynb @@ -906,7 +906,21 @@ "id": "11c4dbac", "metadata": {}, "source": [ - "$\\color{red}COMPLETER$" + "Dans un problème d'optimisation, il est intéressant d'analyser les scénarios limites pour en tirer des conclusions pertinentes. Considérons la contrainte qui demande de laisser la pompe allumée ou éteinte sur une certaine période. Si nous devons maintenir un minimum de 25% de la puissance maximale pour le chauffage, par exemple, sur une période prolongée avec des températures extérieures modérées, cela pourrait entraîner une surchauffe du bâtiment au-delà de la plage de température acceptable, à moins d'utiliser le mode inverse pour atténuer la montée de la température intérieure. Une situation similaire peut se produire dans le cas du refroidissement. Ainsi, les contraintes de durée de fonctionnement et de puissance minimale peuvent exiger le fonctionnement simultané des deux modes de la pompe.\n", + "\n", + "Pour remédier à cela, nous avons envisagé de limiter la contrainte de durée de fonctionnement. En veillant à ce que les durées de fonctionnement soient suffisamment courtes, le problème susmentionné pourrait être évité. Cependant, il est difficile, (voire impossible en réalité), de quantifier la durée maximale, car celle-ci dépend de la température extérieure (si les variations de température extérieure sont rapides, nous devons pouvoir nous adapter rapidement) et nécessite une connaissance préalable précise des températures.\n", + "\n", + "Nous avons donc privilégié une simple contrainte d'exclusion entre l'utilisation des deux modes de la pompe. Nous introduisons ainsi deux nouvelles variables binaires : $z_i$ pour l'utilisation normale de la pompe et $w_i$ pour son utilisation en mode inverse. Soit les contraintes du modèle précédant:\n", + "\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad p_{n_i}+p_{r_i} \\le x_{i//4h} \\cdot p_{max} \\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad 0.25\\cdot x_{i//4h} \\cdot p_{max} \\le p_{n_i}+p_{r_i}\\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "Elles deviennent :\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad p_{n_i} \\le z_{i//4h} \\cdot p_{max} \\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad p_{r_i} \\le w_{i//4h} \\cdot p_{max} \\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad 0.25\\cdot z_{i//4h} \\cdot p_{max} \\le p_{n_i}\\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad 0.25\\cdot w_{i//4h} \\cdot p_{max} \\le p_{r_i}\\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad z_{i//4h}+w_{i//4h}\\le1 \\qquad, \\forall i \\in [0,n-1]\\\\ $\n", + "La dernière contrainte assure l'exclusion mutuelle des deux modes de fonctionnement. Les contraintes précédentes garantissent que, si un mode est activé, la puissance correspondante est maintenue dans la plage de $0.25 p_{max}$ à $p_{max}$" ] }, { @@ -2233,7 +2247,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/Notebook_final.ipynb b/Notebook_final.ipynb index a63aee40b3ee1b7bdb4bb4ce258435707b2b1cae..f30d9dd230593780981c34ce8e1421fcff718654 100644 --- a/Notebook_final.ipynb +++ b/Notebook_final.ipynb @@ -906,7 +906,21 @@ "id": "11c4dbac", "metadata": {}, "source": [ - "$\\color{red}COMPLETER$" + "Dans un problème d'optimisation, il est intéressant d'analyser les scénarios limites pour en tirer des conclusions pertinentes. Considérons la contrainte qui demande de laisser la pompe allumée ou éteinte sur une certaine période. Si nous devons maintenir un minimum de 25% de la puissance maximale pour le chauffage, par exemple, sur une période prolongée avec des températures extérieures modérées, cela pourrait entraîner une surchauffe du bâtiment au-delà de la plage de température acceptable, à moins d'utiliser le mode inverse pour atténuer la montée de la température intérieure. Une situation similaire peut se produire dans le cas du refroidissement. Ainsi, les contraintes de durée de fonctionnement et de puissance minimale peuvent exiger le fonctionnement simultané des deux modes de la pompe.\n", + "\n", + "Pour remédier à cela, nous avons envisagé de limiter la contrainte de durée de fonctionnement. En veillant à ce que les durées de fonctionnement soient suffisamment courtes, le problème susmentionné pourrait être évité. Cependant, il est difficile, (voire impossible en réalité), de quantifier la durée maximale, car celle-ci dépend de la température extérieure (si les variations de température extérieure sont rapides, nous devons pouvoir nous adapter rapidement) et nécessite une connaissance préalable précise des températures.\n", + "\n", + "Nous avons donc privilégié une simple contrainte d'exclusion entre l'utilisation des deux modes de la pompe. Nous introduisons ainsi deux nouvelles variables binaires : $z_i$ pour l'utilisation normale de la pompe et $w_i$ pour son utilisation en mode inverse. Soit les contraintes du modèle précédant:\n", + "\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad p_{n_i}+p_{r_i} \\le x_{i//4h} \\cdot p_{max} \\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad 0.25\\cdot x_{i//4h} \\cdot p_{max} \\le p_{n_i}+p_{r_i}\\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "Elles deviennent :\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad p_{n_i} \\le z_{i//4h} \\cdot p_{max} \\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad p_{r_i} \\le w_{i//4h} \\cdot p_{max} \\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad 0.25\\cdot z_{i//4h} \\cdot p_{max} \\le p_{n_i}\\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad 0.25\\cdot w_{i//4h} \\cdot p_{max} \\le p_{r_i}\\qquad ,\\forall i \\in [0,n-1]\\\\ $\n", + "$ \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad \\qquad z_{i//4h}+w_{i//4h}\\le1 \\qquad, \\forall i \\in [0,n-1]\\\\ $\n", + "La dernière contrainte assure l'exclusion mutuelle des deux modes de fonctionnement. Les contraintes précédentes garantissent que, si un mode est activé, la puissance correspondante est maintenue dans la plage de $0.25 p_{max}$ à $p_{max}$" ] }, { @@ -2233,7 +2247,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.10.11" } }, "nbformat": 4,