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-notesDecision Optimization sont déjà disponibles.
Vous pouvez utiliser Decision Optimization avec 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
Pour exécuter des problèmes plus importants, sélectionnez un environnement d'exécution qui inclut l'édition commerciale complète de CPLEX. L'environnement Decision Optimization (DOcplex) est disponible dans les environnements d'exécution suivants (édition commerciale complète de CPLEX):
NLP + DO runtime 24.1 on Python 3.11 avec CPLEX 22.1.1.0
DO + NLP runtime 23.1 on Python 3.10
(deprecated) avec CPLEX 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 .
Plusieurs exemples de Decision Optimizationblocs-notes sont disponibles dans le concentrateur de ressources, notamment:
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.
Ces exemples et d'autres sont également disponibles dans le dossier jupyter de DO-samples
Tous les blocs-notesDecision Optimization utilisent DOcplex.
DOcplex
Copy link to section
Les Decision Optimizationblocs-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 .
Elle se compose de deux modules :
Modélisation de programmation mathématique pour Python qui utilise docplex.mp
Modélisation de programmation par contraintes pour Python qui utilise docplex.cp
Dans votre code, vous pouvez spécifier la bibliothèque à utiliser, comme dans l'exemple qui suit pour les bibliothèques Mathematical Programming :
from docplex.mp.model import Model
Copy to clipboardCopié dans le presse-papiers
L'API est sous licence Apache V2.0 et est numpy/pandas conviviale.
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érimentationDecision Optimization . Par exemple, voir Générer plusieurs 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.
Si vous disposez déjà d'un projet dans watsonx.ai:
Dans le concentrateur de ressources, ouvrez le bloc-notes que vous souhaitez utiliser.
Si vous avez déjà créé un projet, 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 n'avez pas encore de projet, 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électionnez New asset > Work with data and models in Python or R notebooks dans la section Work with models .
Choisissez Fichier local. Cliquez ensuite sur Faire glisser et déposer des fichiers ou télécharger et accédez au bloc-notes sur votre ordinateur.
Cliquez sur Créer un bloc-notes.Le bloc-notes est ajouté à votre projet.
Votre bloc-notes s'ouvre automatiquement.
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 blocs-notes, voir Exemples de bloc-notes Jupyter. 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
Copy link to section
Vous pouvez trouver d'autres DOcplex exemples qui vous présentent DOcplex Python API sur le Decision Optimization GitHub: