Vous pouvez créer et exécuter des modèles Decision Optimization dans des blocs-notes Python en utilisant DOcplex, une API Python native pour Decision Optimization. Plusieurs blocs-notes Decision Optimization sont déjà disponibles.
Python 3.11 and 3.10
(deprecated)
. Les environnements d'exécution suivants vous permettent d'accéder à l' Community Edition des moteurs CPLEX. Community Edition est limité à la résolution de problèmes avec jusqu'à 1000 contraintes et 1000 variables, ou avec un espace de recherche de 1000 X 1000 pour les problèmes de programmation par contraintes.Runtime 24.1 on Python 3.11 S/XS/XXS
Runtime 23.1 on Python 3.10 (deprecated) S/XS/XXS
NLP + DO runtime 24.1 on Python 3.11
avecCPLEX 22.1.1.0
DO + NLP runtime 23.1 on Python 3.10 (deprecated)
avecCPLEX 20.1.0.1
Vous pouvez facilement modifier les environnements (environnements d'exécution et version Python ) dans un bloc-notes à l'aide de l' onglet Environnement (voir Modification de l'environnement d'un bloc-notes). Ainsi, vous pouvez formuler des modèles d'optimisation et les tester avec de petits jeux de données dans un seul environnement. Ensuite, pour résoudre des modèles avec des ensembles de données plus volumineux, vous pouvez basculer vers un environnement différent, sans avoir à réécrire ou à copier le code du bloc-notes .
- L'exemple intitulé Sudoku, un exemple de programmation par contraintes dont l'objectif consiste à résoudre une grille de Sudoku de 9 cases sur 9.
- L'exemple de problème de production de pâtes, un exemple de programmation linéaire dans lequel l'objectif est de minimiser le coût de production de certains produits de pâtes et de s'assurer que la demande des clients pour les produits est satisfaite.
Tous les blocs-notesDecision Optimization utilisent DOcplex.
DOcplex
Les Decision Optimization blocs-notes utilisent DOcplex, une API Python native pour la modélisation et la résolution des problèmes Decision Optimization . L'API est disponible par défaut dans l'environnement Python .
- Modélisation de programmation mathématique pour Python qui utilise
docplex.mp
- Modélisation de programmation par contraintes pour Python qui utilise
docplex.cp
from docplex.mp.model import Model
L'API est sous licence Apache V2.0 et est numpy/pandas
conviviale.
Vous pouvez lire l'ensemble de la documentation de l'API DOcplex sur rawgit. Vous trouverez des exemples DOcplex sur le site Decision Optimization GitHub.
API client Decision Optimization
En plus de DOcplex, une API client Decision Optimization est disponible pour vous permettre de créer des scénarios et de gérer des modèles créés dans l' interface utilisateur de l'expérimentation Decision Optimization . Par exemple, voir Générer plusieurs Decision Optimization.
Voir la documentation de l'API clientDecision Optimization. Vous trouverez également l'exemple précédent dans le dossier jupyter de DO-samples.
Exécution de blocs-notes Decision Optimization
Selon que vous êtes intéressé par la programmation par contraintes ou la programmation linéaire, choisissez l'un des deux blocs-notes présentés précédemment et exécutez-la comme suit.
- Dans le concentrateur de ressources, ouvrez le bloc-notes que vous souhaitez utiliser.
- Si vous avez déjà créé un projet dans Cloud Pak for Data as a Service, cliquez sur Ajouter au projet.
- Sélectionnez un projet existant dans la liste déroulante et choisissez un runtime, par exemple Runtime 24.1 sur Python 3.11 XS (ou pour les modèles plus importants qui nécessitent l'édition commerciale des moteurs CPLEX, sélectionnez DO + NLP Runtime 24.1 sur Python 3.11 XS), et cliquez sur Create. Le bloc-notes est ajouté à votre projet.
Si vous ne disposez pas déjà d'un projet dans Cloud Pak for Data as a Service, cliquez sur le bouton Télécharger pour télécharger l'exemple sur votre ordinateur.
- Créez un projet : sélectionnez Projets > Afficher tous les projets dans le menu et cliquez sur le bouton Nouveau projet.
- Sélectionnez Créer un projet vide et dans la fenêtre qui s'ouvre, entrez un nom et cliquez sur Créer.
- Sélectionnez l'onglet Actifs .
- Sélectionner Nouvel actif > Travailler avec des données et des modèles dansPython ou R dans le Travailler avec des modèles section.
- Choisissez Fichier local. Cliquez ensuite sur Faites glisser et déposez les fichiers ici ou téléchargez et accédez au bloc-notes sur votre ordinateur.
- Cliquez sur Créer un bloc-notes.Le bloc-notes est ajouté à votre projet.
Pour exécuter votre bloc-notes, cliquez sur Cellule > Exécuter tout.
Des exemples de blocs-notes Python sont fournis dans le document Decision Optimization GitHub. Pour utiliser ces carnets, voir Jupyter notebook samples. Ces exemples n'utilisent pas l' interface utilisateur d'expérimentation.
Un bloc-notes Python qui vous montre comment générer plusieurs scénarios et qui utilise des données aléatoires est également fourni dans le dossier jupyter de DO-samples. Cette approche peut être utile pour tester un modèle créé dans interface utilisateur d'expérimentation avec des jeux de données différents. Pour plus d'informations, voir Génération de plusieurs scénarios.
Tutoriels Decision Optimization
Vous pouvez en trouver davantage DOcplexe des exemples qui vous présentent le DOcplexePython API sur leDecision OptimizationGitHub:
- Programmation linéaire
- Vous pouvez lire une description détaillée de ce bloc-notes dans ce tutoriel Programmation linéaire (partie 1 de CPLEX). Vous pouvez cloner ou télécharger ce fichier Decision Optimization Programmation linéaire bloc-notes de Github.
- Au-delà de la programmation linéaire
- Vous pouvez lire une description détaillée de ce bloc-notes dans ce tutoriel Programmation linéaire (partie 2 de CPLEX). Vous pouvez cloner ou télécharger ce fichier Decision Optimization Au-delà de la programmation linéaire bloc-notes de Github.
- Initiation à l'ordonnancement dans CPLEX pour Python
- Vous pouvez lire une description détaillée de ce bloc-notes dans ce tutoriel d'ordonnancement dans CPLEX for Python. Vous pouvez cloner ou télécharger ce fichier Initiation à l'ordonnancement dans CPLEX for Python bloc-notes à partir de Github.