Cet exemple Decision Optimization Modeling Assistant vous montre comment utiliser des itérations multiconcepts, le mot clé associated
dans les contraintes, comment définir vos propres décisions personnalisées et définir des contraintes logiques. A des fins d'illustration, un problème d'affectation de ressources, ShiftAssignment
, est utilisé et son modèle terminé avec des données est fourni dans DO-samples.
Avant de commencer
- Conditions requises
- 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 Optimization expérimentation.
- Espace de déploiement
- Vous devez disposer d'un espace de déploiement associé à votre Decision Optimization expérimentation. Vous pouvez choisir un espace de déploiement lorsque vous créez un Decision Optimization expérimentation.
A propos de cette tâche
Cet exemple concerne l'affectation d'employés à des périodes de travail différentes, et chaque jour exige qu'un nombre requis d'employés soient de garde. Les fichiers utilisés dans cet exemple sont disponibles dans DO-samples.
Cette vidéo fournit une méthode visuelle pour apprendre les concepts et les tâches de cette documentation. Après avoir chargé l'exemple dans votre Decision Optimization expérimentation, vous pouvez suivre la vidéo.
Clause de protection vidéo: Certaines étapes mineures et graphiques de cette vidéo peuvent différer de votre plateforme. L'interface utilisateur est également fréquemment améliorée.
Procédure
Pour télécharger et ouvrir l'exemple:
- Téléchargez le fichier ShiftAssignment.zip depuis le sous-dossier Model_Builder dans DO-samples. Sélectionnez le sous-dossier correspondant au produit et à la version en question.
- Ouvrez votre projet ou créez un projet vide.
- Sélectionnez l'onglet Actifs .
- Sélectionner Nouvel atout > Résoudre les problèmes d'optimisation dans le Travailler avec des modèles section.
- Cliquez sur Fichier local dans la fenêtre Créer une expérimentation Decision Optimization qui s'ouvre.
- Recherchez et choisissez l'archive ShiftAssignment.zip que vous avez téléchargée en local. Cliquez sur Ouvrir. Vous pouvez également utiliser la fonction glisser-déposer.
- 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.
- Ouvrez le panneau de scénario et sélectionnez le scénario
AssignmentWithOnCallDuties
.
Résultats
Dans le Préparer les données afficher du AssignmentWithOnCallDuties
Scénario, vous pouvez voir les actifs de données importés. Ces tableaux représentent les équipes de travail, les employés qui doivent être affectés à ces équipes et les jours avec leurs astreintes.
Utilisation de l'itération multi-concept
A propos de cette tâche
Supposons que vous souhaitiez que l'élaboration de votre modèle exprime la règle selon laquelle chaque employé ne peut travailler dans plus d'une équipe par jour. Par exemple, un employé ne peut pas être affecté à deux équipes le même jour. Vous pouvez utiliser, comme illustré dans cette formulation de modèle, une contrainte pour chaque jour de la semaine.
Mais la liste des contraintes pour chaque jour de la semaine est lourde: si votre modèle était basé sur les jours de l'année, vous devez alors répertorier des centaines de ces types de contraintes. La procédure suivante montre comment utiliser l'itération multiconcept et le mot clé associated
pour exprimer l'itération sur plusieurs concepts. Ainsi, vous pouvez exprimer une telle règle avec une seule phrase.
Procédure
Pour utiliser l'itération multiconcept, procédez comme suit.
- Cliquez sur Créer un modèle dans la barre d'options latérale pour afficher la formulation de votre modèle.L'élaboration du modèle montre que l'intention est d'affecter les employés aux équipes, avec ses objectifs et ses contraintes.
- Développez la contrainte
For each Employee-Day combination , number of associated Employee-Shift assignments is less than or equal to 1
.
Résultats
Cette contrainte combine les employés et les jours avec le mot clé associated
de sorte que l'expression itère sur l'employé et le jour. Vous voyez que l'employé dans la combinaison employé-jour est mis en correspondance avec l'employé dans l'affectation employé-équipe. De même, le jour dans la combinaison employé-jour est associé à la propriété jour de l'équipe affectée. Ainsi, les combinaisons sont correctement et automatiquement gérées pour vous.
Avec cette itération multiconcept, vous pouvez spécifier de nouveaux groupes de règles qui combinent différents concepts.
Définition de décisions personnalisées
A propos de cette tâche
Supposons que vous souhaitiez également attribuer des fonctions d'astreinte. Vous pouvez créer un autre modèle avec l'intention d'affecter des employés à des tâches de garde, mais vous ne pourrez alors pas définir de règles de dépendance entre les deux modèles. En ajoutant des décisions personnalisées à votre modèle existant, comme le montre cet exemple, vous pouvez définir des dépendances entre l'affectation des équipes et les astreintes. Ici, la décision personnalisée s'appelle OnCallDuties
.
Procédure
Pour définir des décisions personnalisées, procédez comme suit.
Résultats
Vous n'êtes plus limité à utiliser uniquement les décisions déduites de votre intention. Vous pouvez désormais définir vos propres décisions personnalisées à l'aide des paramètres avancés et des onglets de décision, dans lesquels vous pouvez sélectionner votre type de décision et ses dimensions (table de données ou colonne). Vous pouvez ensuite configurer de nouvelles règles et de nouveaux objectifs qui utilisent votre décision nouvellement définie.
Utilisation de contraintes logiques
A propos de cette tâche
Supposons que vous vouliez vous assurer que les astreintes affectées ne se produisent pas lorsqu'un employé est en vacances. Pour ce faire, utilisez des contraintes logiques comme suit.
Procédure
Pour utiliser des contraintes logiques:
- Voir la contrainte Cette contrainte garantit que, pour chaque combinaison d'employé et de jour, lorsqu'il n'y a pas d'affectation associée (par exemple, l'employé est en vacances ce jour-là), aucune tâche de garde n'est affectée à cet employé ce jour-là. Notez l'utilisation des mots clés
if...then
pour définir cette contrainte logique. - Facultatif: Ajoutez d'autres contraintes logiques à votre modèle en effectuant une recherche dans les suggestions.
Résultats
Cette contrainte lie l'affectation des employés aux équipes avec des astreintes. Avec des modèles distincts, un pour l'affectation de la période de travail d'origine et un autre pour les tâches de garde, vous ne pouvez pas obtenir ce lien.
En utilisant des contraintes logiques, avec le mot clé associated
, vous pouvez spécifier que si une contrainte s'applique, une autre s'applique également. La connexion logique nécessaire entre les concepts auxquels vous faites référence est faite automatiquement, sans que vous ayez à utiliser des expressions de jonction plus compliquées.