38,840
edits
No edit summary |
(Updating to match new version of source page) |
||
Line 107: | Line 107: | ||
== Environnements virtuels Python == | == Environnements virtuels Python == | ||
<div class="mw-translate-fuzzy"> | |||
Gurobi a sa propre version de Python qui ne contient aucun autre paquet de tiers autre que Gurobi. Pour utiliser Gurobi avec d'autres paquets Python comme NumPy, Matplotlib, Pandas et autres, il faut [[Python/fr#Créer_et_utiliser_un_environnement_virtuel|créer un environnement virtuel Python]] dans lequel seront installés <code>gurobipy</code> et par exemple <code>pandas</code>. | Gurobi a sa propre version de Python qui ne contient aucun autre paquet de tiers autre que Gurobi. Pour utiliser Gurobi avec d'autres paquets Python comme NumPy, Matplotlib, Pandas et autres, il faut [[Python/fr#Créer_et_utiliser_un_environnement_virtuel|créer un environnement virtuel Python]] dans lequel seront installés <code>gurobipy</code> et par exemple <code>pandas</code>. | ||
</div> | |||
{{Commands|prompt=[name@server ~] $ | {{Commands|prompt=[name@server ~] $ | ||
|module load StdEnv/2016 (not needed for gurobi>9.0.2) | |||
|module load gurobi/8.1.1 | |module load gurobi/8.1.1 | ||
|cd $EBROOTGUROBI/lib | |cd $EBROOTGUROBI/lib | ||
|ls - | |ls -d python* | ||
python2.7 | python2.7 python2.7_utf32 python2.7_utf16 | ||
python3.5_utf32 python3.6_utf32 python3.7_utf32 | |||
}} | |||
{{Commands|prompt=[name@server ~] $ | |||
|module load StdEnv/2016 (not needed for gurobi>9.0.2) | |||
|module load gurobi/9.0.1 | |module load gurobi/9.0.1 | ||
|cd $EBROOTGUROBI/lib | |cd $EBROOTGUROBI/lib | ||
|ls - | |ls -d python* | ||
python2.7_utf16 | python3.7 python2.7_utf16 python2.7_utf32 | ||
python3.5_utf32 python3.8_utf32 python3.6_utf32 python3.7_utf32 | |||
}} | }} | ||
<div class="mw-translate-fuzzy"> | |||
Nous remarquons que <code>gurobi/8.1.1</code> apporte sa propre installation de <code>python2.7/</code> et des paquets pour Python 2.7, 3.5, 3.6 et 3.7 (<code>pythonX.Y_utf32/</code>), | Nous remarquons que <code>gurobi/8.1.1</code> apporte sa propre installation de <code>python2.7/</code> et des paquets pour Python 2.7, 3.5, 3.6 et 3.7 (<code>pythonX.Y_utf32/</code>), | ||
alors que <code>gurobi/9.0.1</code> utilise par défaut <code>python3.7/</code> et les paquets pour Python 2.7, 3.5, 3.6, 3.7 et 3.8 (<code>pythonX.Y_utf32/</code>). | alors que <code>gurobi/9.0.1</code> utilise par défaut <code>python3.7/</code> et les paquets pour Python 2.7, 3.5, 3.6, 3.7 et 3.8 (<code>pythonX.Y_utf32/</code>). | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
=== Créer un environnement virtuel Python === | === Créer un environnement virtuel Python === | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Dans cet exemple, nous voulons créer un environnement Python basé sur <code>python/3.7</code> où nous voulons utiliser <code>gurobi/9.0.1</code> et installer le paquet Pandas. | |||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
{{Commands|prompt=[name@server ~] $ | {{Commands|prompt=[name@server ~] $ | ||
| module load gurobi/9.0.1 python/3.7 | | module load gurobi/9.0.1 python/3.7 | ||
Line 147: | Line 151: | ||
| source ~/env_gurobi/bin/activate | | source ~/env_gurobi/bin/activate | ||
}} | }} | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
Installez ensuite <tt>gurobipy</tt> dans l'environnement. | Installez ensuite <tt>gurobipy</tt> dans l'environnement. | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
{{Commands|prompt=(env_gurobi) [name@server ~] $ | {{Commands|prompt=(env_gurobi) [name@server ~] $ | ||
| cd $EBROOTGUROBI | | cd $EBROOTGUROBI | ||
Line 182: | Line 178: | ||
| cd | | cd | ||
}} | }} | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
=== Environnement virtuel === | === Environnement virtuel === | ||
</div> | |||
Les scripts Python peuvent maintenant importer Pandas et Gurobi. | Les scripts Python peuvent maintenant importer Pandas et Gurobi. | ||
{{Commands|prompt=[name@server ~] $ | |||
| cat my_gurobi_script.py | |||
import pandas as pd | |||
import numpy as np | |||
import gurobipy as gurobi | |||
from gurobipy import * | |||
etc | |||
}} | |||
<div class="mw-translate-fuzzy"> | |||
Nous pouvons maintenant activer Gurobi et l'environnement avec | Nous pouvons maintenant activer Gurobi et l'environnement avec | ||
</div> | |||
{{Commands|prompt=[name@server ~] $ | |||
| module load gurobi/9.0.1 | |||
source ~/env_gurobi/bin/activate | |||
(env_gurobi) python my_gurobi_script.py | |||
}} | |||
<div class="mw-translate-fuzzy"> | |||
Remarquez que nous utilisons maintenant <code>python</code> plutôt que <code>gurobi.sh</code>. | Remarquez que nous utilisons maintenant <code>python</code> plutôt que <code>gurobi.sh</code>. | ||
</div> | |||
{{File | {{File | ||
|name=gurobi-py_example.sh | |name=gurobi-py_example.sh | ||
Line 221: | Line 228: | ||
python my_gurobi_script.py | python my_gurobi_script.py | ||
}} | }} | ||
== Using Gurobi with Jupyter notebooks == | |||
Various topics can be found by visiting [https://support.gurobi.com/ support.gurobi.com] and searching for <I>Jupyter notebooks</I>. "The article titled Where can I learn more about building optimization models?" provides several examples. Information specific to using Gurobi with Jupyter notebooks on Compute Canada systems will be added to this wiki section in the future as required. | |||
== Comment citer Gurobi == | == Comment citer Gurobi == | ||
Voir [https://support.gurobi.com/hc/en-us/articles/360013195592-How-do-I-cite-Gurobi-software-for-an-academic-publication- ''How do I cite Gurobi software for an academic publication?''] | Voir [https://support.gurobi.com/hc/en-us/articles/360013195592-How-do-I-cite-Gurobi-software-for-an-academic-publication- ''How do I cite Gurobi software for an academic publication?''] |