Générer de multiples Decision Optimization scénarios
Dernière mise à jour : 26 mars 2025
Bloc-notes Decision Optimization générant plusieurs scénarios
Ce tutoriel explique comment générer plusieurs scénarios à partir d'un notebook utilisant des données aléatoires. La génération de plusieurs scénarios permet de tester un modèle en l'exposant à un vaste éventail de données.
Avant de commencer
Copy link to section
Exigences
Pour éditer et exécuter des modèles Decision Optimization , vous devez disposer des prérequis suivants:
Rôles Admin ou Editeur
Vous devez disposer des rôles Admin ou Editeur dans le projet. Les afficheurs de projets partagés ne peuvent voir que les expérimentations, mais ne peuvent pas les modifier ou les exécuter
service d'exécutionwatsonx.ai
Vous devez avoir un service d'exécutionwatsonx.ai associé à votre projet. Vous pouvez en ajouter un lorsque vous créez un Decision Optimizationexpérimentation.
Espace de déploiement
Vous devez disposer d'un espace de déploiement associé à votre Decision Optimizationexpérimentation. Vous pouvez choisir un espace de déploiement lorsque vous créez un Decision Optimizationexpérimentation.
A propos de cette tâche
Copy link to section
Les fichiers utilisés dans cet exemple se trouvent dans le projet DO-samples . Le modèle concerné est StaffPlanning et le bloc-notes est CopyAndSolveScenarios.
Procédure
Copy link to section
Pour créer et résoudre un scénario à l'aide d'un exemple:
Téléchargez et extrayez tous les DO-samples sur votre machine. Vous pouvez également télécharger uniquement le fichier StaffPlanning.zip à partir du sous-dossier Model_Builder de votre produit et de votre version, mais dans ce cas, ne l'extrayez pas.
Ouvrez votre projet ou créez un projet vide.
Sélectionnez l'onglet Actifs .
Sélectionnez Nouvel actif > Résoudre les problèmes d'optimisation dans la section Utiliser des modèles .
Cliquez sur Local file dans la fenêtre Solve optimization problems qui s'ouvre.
Recherchez le fichier StaffPlanning.zip dans le dossier Model_Builder . Sélectionnez le sous-dossier correspondant au produit et à la version en question.
Si vous n'avez pas encore associé un service d'exécutionwatsonx.ai à votre projet, vous devez d'abord sélectionner Ajouter un service de Machine Learning pour en sélectionner ou en créer un avant de choisir un espace de déploiement pour votre expérience.
Cliquez sur Créer.
Un modèle Decision Optimization est créé avec le même nom que l'exemple.
En travaillant dans le scénario 1 du modèle StaffPlanning , vous pouvez voir que la solution contient des tables permettant d'identifier les ressources qui fonctionnent en fonction des jours pour répondre à la demande attendue.
Si aucune solution n'est affichée ou pour réexécuter le modèle, cliquez sur Créer un modèle dans la barre latérale, puis cliquez sur Exécuter pour résoudre le modèle.
Utilisation d'un générateur aléatoire pour créer de nouveaux scénarios
Copy link to section
Procédure
Copy link to section
Pour créer de nouveaux scénarios à l'aide de données aléatoires à l'aide d'un exemple:
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 .
Sélectionnez l'onglet Fichier local dans la nouvelle fenêtre qui s'ouvre.
Cliquez sur Faire glisser et déposer des fichiers ou télécharger et parcourir pour choisir le bloc-notes CopyAndSolveScenarios dans le dossier jupyter . Sélectionnez le sous-dossier correspondant au produit et à la version en question.
Cliquez sur Créer un bloc-notes.
Le bloc-notes s'ouvre dans votre projet.
Dans l'onglet Paramètres de votre projet, localisez la section Jetons d'accès et cliquez sur Nouveau jeton +. Entrez un nom de jeton, sélectionnez Editeur comme rôle d'accès et cliquez sur Créer.
Revenez à votre bloc-notes à partir de l'onglet Actifs de votre projet et cliquez sur l'icône en forme de crayon pour l'éditer. Dans le menu Plus , sélectionnez Insérer un jeton de projet. Cette action ajoute votre jeton d'autorisation dans une cellule masquée.
Dans le menu de navigation principal, sélectionnez Administration > Accès (IAM) > Clés d'API. Créez et copiez votre clé d'API.
Revenez dans votre bloc-notes CopyAndSolveScenarios et localisez la cellule contenant client=Client(pc=pc,apikey="API_key", et remplacez API_key par votre propre clé d'API IBM Cloud que vous venez de copier.
Localisez la cellule contenant decision =
client.get_experiment(name="StaffPlanning").
Cette cellule demande au bloc-notes de copier Scenario 1 à partir du modèle StaffPlanning et de l'utiliser pour générer des scénarios supplémentaires basés sur des données aléatoires. Si vous avez utilisé un autre nom pour votre modèle, remplacez Staffplanning par le nom que vous avez choisi.
Exécutez le bloc-notes en utilisant Cellule>Exécuter tout.
Le bloc-notes utilise le module Python random pour générer des données pour cinq scénarios supplémentaires dans le modèle nommé StaffPlanning. Les nouveaux scénarios sont nommés Copy 01 ... Copy 05. Le nombre de scénarios à générer est spécifié dans la cellule 9, N_SCENARIOS = 5.
Ouvrez le modèle StaffPlanning pour comparer les solutions des différents scénarios. Cliquez sur l'icône Scénarios pour ouvrir le volet Scénario et passer rapidement d'un scénario à un autre. Vous pouvez également voir tous vos scénarios en un coup d'oeil dans la Présentation.
Cliquez sur Visualisation dans le panneau de navigation pour comparer les différents scénarios dans l'onglet Multi Scenario .
Le graphique de Demande trace la demande pour les différentes périodes dans les scénarios générés de manière aléatoire. Le graphique Indicateurs clés de performances trace le coût total dans les scénarios générés de manière aléatoire. Le graphique Mes indicateurs clés de performances fournit une carte thermique des coûts des différents scénarios ainsi que la combinaison de ressources temporaires et fixes pour chacun d'eux.
Résultats
Copy link to section
Cet exemple montre combien il est facile de tester votre modèle en générant des scénarios supplémentaires qui s'appuient sur des données aléatoires. Ce type de test permet de déterminer si le modèle est suffisamment robuste pour une exécution dans un environnement comportant des données variables.