0 / 0
Retourner à la version anglaise de la documentation
Ajout de contraintes multi-concepts et de décisions personnalisées : Decision Optimization affectation des équipes
Dernière mise à jour : 21 nov. 2024
Création de contraintes et de décisions personnalisées avec l'assistant de modélisation d'optimisation des décisions

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:

  1. 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.
  2. Ouvrez votre projet ou créez un projet vide.
  3. Sélectionnez l'onglet Actifs .
  4. Sélectionner Nouvel atout > Résoudre les problèmes d'optimisation dans le Travailler avec des modèles section.
  5. Cliquez sur Fichier local dans la fenêtre Créer une expérimentation Decision Optimization qui s'ouvre.
  6. 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.
  7. 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.
  8. Cliquez sur Créer.
    Un modèle Decision Optimization est créé avec le même nom que l'exemple.
  9. 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.

Préparer la vue des données montrant les données d'affectation du personnel

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.

Plusieurs contraintes, une par jour, pour ne formuler qu'une seule équipe par employé et par jour

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.

  1. 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.
  2. Développez la contrainte For each Employee-Day combination , number of associated Employee-Shift assignments is less than or equal to 1.

Résultats

Contrainte de combinaison employé-jour développée

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.

  1. Cliquez sur Créer un modèle pour afficher la formulation du modèle du AssignmentWithOnCallDuties scénario .
    Vue de modèle de génération montrant la formulation de l'affectation de période de travail

    La décision personnalisée OnCallDuties est utilisée dans le deuxième objectif. Cet objectif garantit que le nombre d'astreintes est équilibré par rapport aux employés.

    La contrainte Contrainte de service d'appel garantit que les exigences de service de garde répertoriées dans la table Jour sont satisfaites.

    Les étapes suivantes vous montrent comment cette décision personnalisée OnCallDuties a été définie.

  2. Ouvrez le panneau Paramètres et remarquez que l'option Visualiser et éditer les décisions est définie sur true (ou sur true si elle est définie sur la valeur par défaut false).

    Ce paramètre ajoute un onglet Décisions à votre fenêtre Ajouter au modèle .

    Onglet Décisions de la sous-fenêtre Ajouter au modèle affichant deux intentions

    Ici, vous pouvez voir que OnCallDuty est spécifié en tant que décision d'affectation (pour affecter des employés à des tâches de garde). Ses deux dimensions sont définies en référence aux tables de données Day et Employee. Cela signifie que votre modèle attribuera également des astreintes aux employés. La décision d'affectation employé-équipe est spécifiée par rapport à l'intention initiale.

  3. Facultatif: Entrez votre propre texte pour décrire le OnCallDuty dans la zone [ à documenter ] .
  4. Facultatif: Pour créer votre propre décision dans l'onglet Décisions , cliquez sur Entrez un nom, entrez un nom et cliquez sur Entrée.
    Une nouvelle décision (intention) est créée avec ce nom avec des zones mises en évidence à remplir à l'aide des menus déroulants. Si, par exemple, vous sélectionnez affectation comme type de décision, deux dimensions sont créées. Comme l'affectation consiste à attribuer au moins une chose à une autre, vous devez définir au moins deux dimensions. Utilisez les zones sélectionner une table pour définir les dimensions.

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:

  1. Voir la contrainte Suggestion de contrainte logique
    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.
  2. 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.

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