0 / 0
Retourner à la version anglaise de la documentation
Decision Optimization blocs-notes
Dernière mise à jour : 21 nov. 2024
Blocs-notes Decision Optimization

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.

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 Optimization blocs-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

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 .

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

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.

Si vous disposez déjà d'un projet dans Cloud Pak for Data as a Service:
  1. Dans le concentrateur de ressources, ouvrez le bloc-notes que vous souhaitez utiliser.
  2. Si vous avez déjà créé un projet dans Cloud Pak for Data as a Service, cliquez sur Ajouter au projet.
  3. 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 Bouton Télécharger pour télécharger l'exemple sur votre ordinateur.

  1. Créez un projet : sélectionnez Projets > Afficher tous les projets dans le menu et cliquez sur le bouton Nouveau projet.
  2. Sélectionnez Créer un projet vide et dans la fenêtre qui s'ouvre, entrez un nom et cliquez sur Créer.
  3. Sélectionnez l'onglet Actifs .
  4. Sélectionner Nouvel actif > Travailler avec des données et des modèles dansPython ou R dans le Travailler avec des modèles section.
  5. 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.
  6. 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 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.
Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus