0 / 0
Go back to the English version of the documentation
Přidání omezení s více koncepcí a vlastních rozhodnutí: přiřazení směny
Last updated: 12. 10. 2023
Vytváření omezení a vlastních rozhodnutí pomocí Decision Optimization Modeling Assistant

Tento příklad Decision Optimization Modeling Assistant ukazuje, jak používat iterace s více koncepty, klíčové slovo associated v omezeních, jak definovat vlastní rozhodnutí a definovat logická omezení. Pro ilustraci je použit problém s přiřazením prostředků ShiftAssignmenta jeho dokončený model s daty je uveden v části DO-samples.

O této úloze

Tento příklad se týká přiřazení zaměstnanců k různým směnám a každý den vyžaduje, aby byl požadovaný počet zaměstnanců na telefonu. Soubory použité v této ukázce jsou k dispozici v ukázkách DO.

Toto video poskytuje vizuální metodu jako alternativu k provedení písemných kroků v této dokumentaci. Po načtení příkladu v produktu Decision Optimization experimentmůžete sledovat video.

Zřeknutí se odpovědnosti za video: Některé drobné kroky a grafické kroky v tomto videu se mohou lišit od vaší platformy. Uživatelské rozhraní je také často vylepšováno.

Poznámka: Chcete-li vytvořit a spustit optimalizační modely, musíte mít k projektu přidanou službu Machine Learning a implementační prostor, který je přidružen k vašemu experimentu:
  1. Přidejte Služba Machine Learning do svého projektu. Tuto službu můžete buď přidat na úrovni projektu (viz Vytvoření instance služby Watson Machine Learning Service), nebo ji můžete přidat při prvním vytvoření nové Decision Optimization experiment: klepněte na volbu Přidat službu Machine Learning, vyberte nebo vytvořte novou službu, klepněte na volbu Přidružita poté zavřete okno.
  2. Přidružte prostor implementace ke svému Decision Optimization experimentu (viz prostory implementace). Prostor implementace lze vytvořit nebo vybrat při prvním vytvoření nového Decision Optimization experiment: klepněte na volbu Vytvořit prostor implementace, zadejte název prostoru implementace a klepněte na tlačítko Vytvořit. Pro existující modely můžete také vytvořit nebo vybrat prostor v informačním podokně Přehled .

Postup

Chcete-li stáhnout a otevřít ukázku, postupujte takto:

  1. Stáhněte soubor ShiftAssignment.zip z podsložky Model_Builder v části DO-samples. Vyberte příslušnou podsložku produktu a verze.
  2. Otevřete projekt nebo vytvořte prázdný projekt.
  3. Na kartě Spravovat vašeho projektu vyberte sekci Služby a integrace a klepněte na volbu Přidružit službu. Poté vyberte existující instanci služby Machine Learning (nebo vytvořte novou) a klepněte na volbu Přidružit. Když je služba přidružena, zobrazí se zpráva o úspěchu a vy pak můžete zavřít okno Přidružit službu .
  4. Vyberte kartu Aktiva .
  5. Vybrat Nová úloha > Řešení problémů s optimalizací v sekci Práce s modely .
  6. Klepněte na volbu Lokální soubor v okně Řešení problémů s optimalizací , které se otevře.
  7. Přejděte lokálně a vyhledejte a vyberte archiv ShiftAssignment.zip , který jste stáhli. Klepněte na tlačítko Otevřít. Případně můžete použít přetažení pomocí myši.
  8. Přidružit Machine Learning instanci služby k projektu a znovu načíst stránku.
  9. Pokud jste ke svému projektu dosud nepřidružili službu Machine Learning , musíte nejprve vybrat volbu Přidat službu Machine Learning , abyste ji vybrali nebo vytvořili, než vyberete prostor implementace pro svůj experiment.
  10. Klepněte na volbu Vytvořit.
    Vytvoří se model Decision Optimization se stejným názvem jako ukázka.
  11. Otevřete podokno scénáře a vyberte AssignmentWithOnCallDuties scénář.

Výsledky

V pohledu Připravit data zobrazení agenta AssignmentWithOnCallDuties Scénářmůžete zobrazit importovaná datová aktiva. Tyto tabulky představují směny, zaměstnance, kteří musí být přiřazeni k těmto směnám a dny s povinnými povinnostmi na pracovní pohotovosti.

Připravit zobrazení dat zobrazující data přiřazení personálu

Použití vícekoncepční iterace

O této úloze

Předpokládejme, že chcete, aby vaše formulace modelu vyjadřovala pravidlo, že každý zaměstnanec nemůže pracovat více než jednu směnu denně. Například zaměstnanci nelze přiřadit dvě směny ve stejný den. Jak je uvedeno v této formulaci modelu, můžete použít omezení pro každý den v týdnu.

Několik omezení, jedno pro každý den, pro formulaci pouze jedné směny na jednoho zaměstnance za den.

Výpis omezení pro každý den v týdnu je však těžkopádný: pokud byl váš model založen na dnech v roce, musíte vypsat stovky těchto typů omezení. Následující postup ukazuje, jak používat vícekoncepční iteraci a klíčové slovo associated k vyjádření iterace nad více koncepty. Takto můžete takové pravidlo vyjádřit pouze jednou frází.

Postup

Chcete-li použít vícekoncepční iteraci, postupujte takto.

  1. Klepnutím na ikonu Model sestavení na postranním panelu zobrazíte formulaci modelu.
    Formulace modelu ukazuje záměr přiřadit zaměstnance ke směnám s jejich cíli a omezeními.
  2. Rozbalit omezení For each Employee-Day combination , number of associated Employee-Shift assignments is less than or equal to 1.

Výsledky

Rozšířené omezení kombinace zaměstnanec-den

Toto omezení kombinuje zaměstnance a dny s klíčovým slovem associated , takže výraz iteruje jak pro zaměstnance, tak pro den. Můžete vidět, že zaměstnanec v kombinaci den zaměstnance je mapován na zaměstnance v přiřazení směny zaměstnance. Také den v kombinaci den zaměstnance je mapován na vlastnost den přiřazené směny. Proto jsou tyto kombinace správně a automaticky zpracovány za vás.

Pomocí této vícekoncepční iterace můžete určit nové skupiny pravidel, které kombinují různé koncepty.

Definování vlastních rozhodnutí

O této úloze

Předpokládejme, že chcete také přiřadit povinnosti na zavolání. Můžete vytvořit další model s úmyslem přiřadit zaměstnance k povinnostem na zavolání, ale pak byste nebyli schopni stanovit pravidla závislosti mezi těmito dvěma modely. Přidáním vlastních rozhodnutí do existujícího modelu, jak je ukázáno v tomto příkladu, můžete definovat závislosti mezi přiřazením směny a povinnostmi na zavolání. Zde se vlastní rozhodnutí nazývá OnCallDuties.

Postup

Chcete-li definovat vlastní rozhodnutí, postupujte takto.

  1. Klepnutím na volbu Model sestavení zobrazíte formulaci modelu AssignmentWithOnCallDuties Scénáře.
    Pohled modelu sestavení zobrazující formulaci přiřazení směny

    Vlastní rozhodnutí OnCallDuties se používá ve druhém záměru. Tento cíl zajišťuje, že počet pracovních povinností je vyrovnaný oproti počtu zaměstnanců.

    Omezení Omezení služby při volání zajistí, že požadavky na pracovní pohotovost, které jsou uvedeny v tabulce Den, jsou splněny.

    Následující kroky ukazují, jak bylo toto vlastní rozhodnutí OnCallDuties definováno.

  2. Otevřete podokno Nastavení a všimněte si, že volba Vizualizovat a upravit rozhodnutí je nastavena na hodnotu true (nebo ji nastavte na hodnotu true, pokud je nastavena na výchozí hodnotu false).

    Toto nastavení přidá kartu Rozhodnutí do okna Přidat do modelu .

    Karta Rozhodnutí podokna Přidat do modelu se dvěma záměry

    Zde můžete vidět, že OnCallDuty je určeno jako rozhodnutí o přiřazení (pro přiřazení zaměstnanců k pracovním povinnostem). Jeho dvě dimenze jsou definovány s odkazem na datové tabulky Day a Employee. To znamená, že váš model také přidělí pracovní pohotovost zaměstnancům. Rozhodnutí o přiřazení pracovní směny zaměstnance je určeno z původního záměru.

  3. Volitelné: Zadejte vlastní text, který bude popisovat OnCallDuty v poli [ bude zdokumentováno] .
  4. Volitelné: Chcete-li vytvořit vlastní rozhodnutí na kartě Rozhodnutí , klepněte na volbu Zadejte název, zadejte název a klepněte na tlačítko Enter.
    Je vytvořeno nové rozhodnutí (záměr) s tímto názvem s některými zvýrazněnými poli, která mají být vyplněna pomocí rozevíracích nabídek. Pokud například vyberete přiřazení jako typ rozhodnutí, vytvoří se dvě dimenze. Vzhledem k tomu, že přiřazení zahrnuje přiřazení alespoň jedné věci k jiné, musí být definovány alespoň dvě dimenze. Chcete-li definovat dimenze, použijte pole vybrat tabulku .

Výsledky

Již nejste omezeni pouze na používání rozhodnutí odvozených z vašeho záměru. Nyní můžete definovat vlastní vlastní rozhodnutí pomocí rozšířených nastavení a karet rozhodnutí, kde můžete vybrat typ rozhodnutí a jeho rozměry (datová tabulka nebo sloupec). Poté můžete konfigurovat nová pravidla a záměry, které používají nově definované rozhodnutí.

Použití logických omezení

O této úloze

Předpokládejme, že chcete zajistit, aby se přiřazené pracovní pohotovosti nevyskytovaly, když je zaměstnanec na dovolené. Toho můžete dosáhnout pomocí logických omezení, jak je uvedeno níže.

Postup

Chcete-li použít logická omezení, postupujte takto:

  1. Podívejte se na omezení Návrh logického omezení
    Toto omezení zajišťuje, že pro každou kombinaci zaměstnance a dne, když neexistují žádná přidružená přiřazení (například zaměstnanec je na dovolené v daný den), nejsou tomuto zaměstnanci v daný den přiřazeny žádné pracovní pohotovost. Všimněte si použití klíčových slov if...then k definování tohoto logického omezení.
  2. Volitelné: Přidejte další logická omezení do svého modelu vyhledáním v návrzích.

Výsledky

Toto omezení propojí přiřazení zaměstnanců ke směnám s povinnostmi na zavolání. U samostatných modelů, jeden pro původní přiřazení směny a druhý pro povinnosti na zavolání, nemůžete dosáhnout tohoto propojení.

Pomocí logických omezení spolu s klíčovým slovem associated můžete určit, že pokud se použije jedno omezení, použije se také jiné omezení. Nezbytné logické spojení mezi pojmy, na které odkazujete, se vytvoří automaticky, aniž byste museli používat složitější výrazy spojení.

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more