0 / 0
Torna alla versione inglese della documentazione
Aggiungi vincoli multi-concetto e decisioni personalizzate: Decision Optimization assegnazione dei turni
Ultimo aggiornamento: 21 nov 2024
Creazione di vincoli e decisioni personalizzate con Decision Optimization Modeling Assistant

L'esempio Decision Optimization Modeling Assistant mostra come utilizzare le iterazioni multi - concetto, la parola chiave associated nei vincoli, come definire le proprie decisioni personalizzate e definire i vincoli logici. Ad esempio, viene utilizzato un problema di assegnazione delle risorse, ShiftAssignment, e il relativo modello completato con i dati viene fornito in DO - samples.

Prima di iniziare

Requisiti
Per modificare ed eseguire i modelli Decision Optimization , è necessario disporre dei seguenti prerequisiti:
Ruoli Admin o Editor
È necessario disporre di ruoli Admin o Editor nel progetto. I visualizzatori di progetti condivisi possono solo visualizzare gli esperimenti, ma non possono modificarli o eseguirli
servizio di runtimewatsonx.ai
È necessario disporre di un servizio watsonx.ai Runtime associato al progetto. È possibile aggiungerne uno quando si crea un esperimento Decision Optimization .
Spazio di distribuzione
Devi avere uno spazio di distribuzione associato al tuo esperimento Decision Optimization . È possibile scegliere uno spazio di distribuzione quando si crea un esperimento Decision Optimization .

Informazioni su questa attività

Questo esempio riguarda l'assegnazione di dipendenti a diversi turni e ogni giorno richiede che un numero richiesto di dipendenti sia disponibile. I file utilizzati in questo esempio sono disponibili in DO - samples.

Questo video fornisce un metodo visivo per apprendere i concetti e le attività in questa documentazione. Dopo aver caricato l'esempio nel tuo esperimento Decision Optimization , puoi seguire il video.

Disclaimer video: alcuni passi minori e passaggi grafici in questo video potrebbero differire dalla tua piattaforma. Anche l'interfaccia utente viene spesso migliorata.

Procedura

Per scaricare e aprire l'esempio:

  1. Scaricare il file ShiftAssignment.zip dalla sottocartella Model_Builder in DO - samples. Selezionare la sottocartella relativa al prodotto e alla versione.
  2. Aprire il progetto o creare un progetto vuoto.
  3. Selezionare la scheda Asset .
  4. Selezionare Nuova risorsa > Risolvi problemi di ottimizzazione nel Lavora con i modelli sezione.
  5. Fare clic su File locale nella finestra Crea un esperimento Decision Optimization che si apre.
  6. Scorrere in locale per trovare e scegliere l'archivio ShiftAssignment.zip scaricato. Fare clic su Apri. In alternativa, utilizzare il trascinamento e rilascio.
  7. Se non si è già associato un servizio watsonx.ai Runtime al progetto, è necessario selezionare Aggiungi un servizio di Machine Learning per selezionarne o crearne uno prima di scegliere uno spazio di distribuzione per l'esperimento.
  8. Fare clic su Crea.
    Viene creato un modello Decision Optimization con lo stesso nome del campione.
  9. Aprire il riquadro dello scenario e selezionare lo scenario AssignmentWithOnCallDuties .

Risultati

Nella Dati di preparazione vista dell' AssignmentWithOnCallDuties Scenarioè possibile visualizzare gli asset di dati importati. Queste tavole rappresentano i turni, i dipendenti che hanno bisogno di essere assegnati a questi turni e giorni con i loro compiti di chiamata richiesti.

Preparare la vista dei dati che mostra i dati di Assegnazione

Utilizzo dell'iterazione multi - concetto

Informazioni su questa attività

Supponiamo che tu voglia che la tua formulazione modello esprima la regola che ogni dipendente non può lavorare più di un turno al giorno. Ad esempio, un dipendente non può essere assegnato due turni nella stessa giornata. È possibile utilizzare, come mostrato in questa formulazione del modello, un vincolo per ogni giorno della settimana.

Diversi vincoli, uno per ogni giorno, per formulare un solo turno per dipendente al giorno

Ma elencare i vincoli per ogni giorno della settimana è complicato: se il modello si basava sui giorni dell'anno, è necessario elencare centinaia di questi tipi di vincoli. La seguente procedura mostra come utilizzare l'iterazione multi - concetto e la parola chiave associated per esprimere l'iterazione su più di un concetto. Quindi, è possibile esprimere una regola del genere con una sola frase.

Procedura

Per utilizzare l'iterazione multi - concetto, effettuare le operazioni riportate di seguito.

  1. Fare clic su Crea modello nella barra laterale per visualizzare la tua formulazione del modello.
    La formulazione modello mostra l'intento di assegnare i dipendenti ai turni, con i suoi obiettivi e vincoli.
  2. Espandere il vincolo For each Employee-Day combination , number of associated Employee-Shift assignments is less than or equal to 1.

Risultati

Vincolo di combinazione giorno dipendente espanso

Questo vincolo combina i dipendenti e i giorni con la parola chiave associated in modo che l'espressione si iterai sia dipendente che giorno. Si può vedere che il dipendente nella combinazione di dipendenti - day è mappato al dipendente nell'assegnazione del turno di lavoro dipendente. Anche il giorno nella combinazione dei dipendenti è mappato alla proprietà del giorno del turno assegnato. Così, le combinazioni sono gestite correttamente e automaticamente per voi.

Con questa iterazione multi - concetto, è possibile specificare nuovi gruppi di regole che combinano concetti differenti.

Definizione delle decisioni personalizzate

Informazioni su questa attività

Supponiamo di voler assegnare anche i dazi on-call. Potresti creare un altro modello con l'intento di assegnare i dipendenti ai compiti di chiamata, ma non potresti dichiarare le regole di dipendenza tra i due modelli. Aggiungendo le decisioni personalizzate al proprio modello esistente, come dimostrato in questo esempio, è possibile definire le dipendenze tra assegnazione di turni e funzioni on-call. Qui la decisione personalizzata si chiama OnCallDuties.

Procedura

Per definire decisioni personalizzate, attenersi alla seguente procedura.

  1. Fare clic su Crea modello per vedere la formulazione del modello di AssignmentWithOnCallDuties Scenario.
    Crea vista modello che mostra la formulazione Shift Assegnazione

    La decisione personalizzata OnCallDuties viene utilizzata nel secondo obiettivo. Questo obiettivo garantisce che il numero dei dazi on-call sia bilanciato su Dipendenti.

    Il vincolo Sul vincolo del dovere di chiamata garantisce che i requisiti di servizio on-call elencati nella tabella Giorno siano soddisfatti.

    I seguenti passaggi mostrano come è stata definita questa decisione personalizzata OnCallDuties .

  2. Aprire il riquadro Impostazioni e notare che le Visualize e le decisioni di modifica sono impostate su true (o impostarla su true se impostata sul falso predefinito).

    Questa impostazione aggiunge una scheda Decisioni alla finestra Aggiungi al modello .

    Scheda delle decisioni del riquadro Aggiungi al modello che mostra due intenti

    Qui puoi vedere che OnCallDuty è specificato come una decisione di assegnazione (per assegnare i dipendenti ai compiti di guardia). Le sue due dimensioni sono definite con riferimento alle tabelle dei dati Day e Employee. Questo significa che il tuo modello assegnerà anche i dazi on-call ai dipendenti. La Dipendente - Shift assegnazione delibera è specificato dall'intento originale.

  3. Facoltativo: Immettere il proprio testo per descrivere OnCallDuty nel campo [ da documentare] .
  4. Facoltativo: per creare una propria decisione nella scheda Decisioni , fare clic su immetti nome, immettere un nome e fare clic su Invio.
    Viene creata una nuova decisione (intento) con quel nome con alcuni campi evidenziati da completare utilizzando i menu a discesa. Se, ad esempio, si seleziona assegnazione come tipo di decisione, vengono create due dimensioni. Poiché l'assegnazione comporta l'assegnazione di almeno una cosa all'altra, devono essere definite almeno due dimensioni. Utilizzare i campi selezionare un tavolo per definire le dimensioni.

Risultati

Non sei più limitato a utilizzare solo le decisioni dedotte dal tuo intento. È ora possibile definire le proprie decisioni personalizzate utilizzando le impostazioni avanzate e le schede decisionali, in cui è possibile selezionare il tipo di decisione e le relative dimensioni (tabella dati o colonna). È quindi possibile configurare nuove regole e obiettivi che utilizzano la decisione appena definita.

Utilizzo dei vincoli logici

Informazioni su questa attività

Supponiamo di voler garantire che i dazi di chiamata assegnati non si verificino quando un dipendente è in vacanza. È possibile raggiungerlo utilizzando i vincoli logici come segue.

Procedura

Per utilizzare i vincoli logici:

  1. Guarda il vincolo Suggerimento del vincolo logico
    Questo vincolo garantisce che, per ogni combinazione di dipendenti e giorni, quando non esistono assegnazioni associate (ad esempio, il dipendente è in ferie in quel giorno), non vengano assegnate funzioni di chiamata a tale dipendente in quel giorno. Notare l'utilizzo delle parole chiave if...then per definire questo vincolo logico.
  2. Facoltativo: aggiungere altri vincoli logici al proprio modello ricercando nei suggerimenti.

Risultati

Questo vincolo collega l'assegnazione dei dipendenti ai turni con i dazi on-call. Con modelli separati, uno per l'assegnazione del turno originale e un altro per i compiti di guardia non è possibile raggiungere questo collegamento.

Utilizzando i vincoli logici, insieme alla parola chiave associated , è possibile specificare che, se si applica un vincolo, si applica anche un altro vincolo. La connessione logica necessaria tra i concetti a cui ci si riferisce, viene effettuata automaticamente, senza che si debba usare espressioni di unione più complicate.

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni