0 / 0
Go back to the English version of the documentation
Dodawanie ograniczeń dotyczących wielu pojęć i decyzji niestandardowych: przypisanie zmiany
Last updated: 12 paź 2023
Tworzenie ograniczeń i decyzji niestandardowych za pomocą programu Decision Optimization Modeling Assistant

W tym przykładzie Decision Optimization Modeling Assistant przedstawiono sposób użycia iteracji z wieloma pojęciami, słowa kluczowego associated w ograniczeniach, definiowania własnych decyzji niestandardowych i definiowania ograniczeń logicznych. Na potrzeby ilustracji używany jest problem z przypisaniem zasobów ShiftAssignment, a jego kompletny model z danymi jest dostępny w sekcji DO-samples.

O tym zadaniu

Ten przykład dotyczy przypisywania pracowników do różnych zmian, a każdy dzień wymaga, aby wymagana liczba pracowników była na dyżury. Pliki używane w tym przykładzie są dostępne w sekcji DO-samples.

Ten film wideo stanowi alternatywę dla wykonywania kroków opisanych w tej dokumentacji. Po załadowaniu przykładu w eksperymencieproduktu Decision Optimization można obejrzeć film wideo.

Zastrzeżenie dotyczące filmu wideo: Niektóre niewielkie kroki i kroki graficzne w tym filmie wideo mogą różnić się od platformy. Interfejs użytkownika jest również często ulepszany.

Uwaga: Aby można było tworzyć i uruchamiać modele optymalizacji, do projektu musi być dodana zarówno usługa Machine Learning , jak i obszar wdrażania, który jest powiązany z eksperymentem:
  1. Dodaj plik Usługa systemu Machine Learning do projektu. Tę usługę można dodać na poziomie projektu (patrz sekcja Tworzenie instancji usługi Watson Machine Learning) lub podczas tworzenia nowego Decision Optimization eksperyment: należy kliknąć opcję Dodaj usługę systemu Machine Learning, wybrać lub utworzyć Nowa usługa, kliknąć opcję Powiąż, a następnie zamknąć okno.
  2. Powiąż obszar wdrażania z Decision Optimization eksperyment (patrz sekcja Obszary wdrażania). Obszar wdrażania można utworzyć lub wybrać podczas pierwszego tworzenia nowego Decision Optimization eksperymentu: kliknij opcję Utwórz obszar wdrażania, wprowadź nazwę obszaru wdrażania, a następnie kliknij opcję Utwórz. W przypadku istniejących modeli można również utworzyć lub wybrać obszar w panelu informacji Przegląd .

Procedura

Aby pobrać i otworzyć przykład:

  1. Pobierz plik ShiftAssignment.zip z podfolderu Model_Builder w katalogu DO-samples. Wybierz odpowiedni podfolder produktu i wersji.
  2. Otwórz projekt lub utwórz pusty projekt.
  3. Na karcie Zarządzanie projektu wybierz sekcję Usługi i integracje i kliknij opcję Powiąż usługę. Następnie wybierz istniejącą instancję usługi Machine Learning (lub utwórz nową). i kliknij opcję Powiąż. Po powiązaniu usługi zostanie wyświetlony komunikat o powodzeniu, a następnie można zamknąć okno Powiąż usługę .
  4. Wybierz kartę Zasoby .
  5. W sekcji Praca z modelami wybierz opcję Nowe zadanie > Rozwiąż problemy z optymalizacją .
  6. Kliknij opcję Plik lokalny w oknie Rozwiązywanie problemów z optymalizacją , które zostanie otwarte.
  7. Przeglądaj lokalnie, aby znaleźć i wybrać pobrane archiwum ShiftAssignment.zip . Kliknij przycisk Otwórz. Alternatywnie można użyć metody przeciągnij i upuść.
  8. Powiąż Machine Learning z projektem i przeładuj stronę.
  9. Jeśli z projektem nie powiązano jeszcze usługi Machine Learning , należy najpierw wybrać opcję Dodaj usługę Machine Learning , aby wybrać lub utworzyć usługę przed wybraniem obszaru wdrażania dla eksperymentu.
  10. Kliknij przycisk Utwórz.
    Tworzony jest model Decision Optimization o takiej samej nazwie jak przykład.
  11. Otwórz panel scenariuszy i wybierz scenariusz AssignmentWithOnCallDuties .

Wyniki

W Przygotowanie danych Widok AssignmentWithOnCallDuties Scenariuszmożna wyświetlić zaimportowane zasoby danych. Te tabele reprezentują zmiany, pracowników, którzy muszą być przypisani do tych zmian i dni z ich wymaganymi obowiązkami dyżurnymi.

Przygotuj widok danych przedstawiający dane przypisania personelu

Korzystanie z iteracji z wieloma pojęciami

O tym zadaniu

Załóżmy, że chcesz, aby formuła modelu wyrażać zasadę, że każdy pracownik nie może pracować na więcej niż jedną zmianę dziennie. Na przykład pracownik nie może być przypisany do dwóch zmian w tym samym dniu. Można użyć ograniczenia, jak pokazano w tym modelu, dla każdego dnia tygodnia.

Kilka ograniczeń, po jednym na każdy dzień, aby sformułować tylko jedną zmianę na pracownika na dzień

Jednak wyświetlanie ograniczeń dla każdego dnia tygodnia jest kłopotliwe: jeśli model był oparty na dniach w roku, należy podać setki ograniczeń tego typu. Poniższa procedura przedstawia sposób użycia iteracji z wieloma pojęciami i słowa kluczowego associated do wyrażenia iteracji z więcej niż jednym pojęciem. W ten sposób można wyrazić taką regułę za pomocą tylko jednej frazy.

Procedura

Aby użyć iteracji z wieloma pojęciami, wykonaj następujące kroki.

  1. Kliknij opcję Zbuduj model na pasku bocznym, aby wyświetlić formułę modelu.
    Sformułowanie modelu pokazuje zamiar przypisania pracowników do zmian wraz z jego celami i ograniczeniami.
  2. Rozwiń ograniczenie For each Employee-Day combination , number of associated Employee-Shift assignments is less than or equal to 1.

Wyniki

Rozwinięte ograniczenie dot. kombinacji pracownik-dzień

To ograniczenie łączy pracowników i dni ze słowem kluczowym associated , dzięki czemu wyrażenie jest iterowane zarówno dla pracownika, jak i dnia. Widać, że pracownik w kombinacji pracownik-dzień jest odwzorowany na pracownika w przydziale pracownik-zmiana. Również dzień w kombinacji pracownik-dzień jest odwzorowywany na właściwość dnia przypisanej zmiany. Oznacza to, że kombinacje są obsługiwane poprawnie i automatycznie.

Ta iteracja z wieloma pojęciami umożliwia określenie nowych grup reguł łączących różne pojęcia.

Definiowanie decyzji niestandardowych

O tym zadaniu

Załóżmy, że użytkownik chce również przypisać obowiązki na dyżurze. Można utworzyć inny model z zamiarem przypisania pracowników do obowiązków dyżurów, ale nie będzie można określić reguł zależności między tymi dwoma modelami. Dodając decyzje niestandardowe do istniejącego modelu, jak pokazano w tym przykładzie, można zdefiniować zależności między przypisaniem zmiany a obowiązkami dyżurnymi. W tym przypadku decyzja niestandardowa ma nazwę OnCallDuties.

Procedura

Aby zdefiniować decyzje niestandardowe, wykonaj następujące kroki.

  1. Kliknij opcję Buduj model , aby wyświetlić formułę modelu w AssignmentWithOnCallDuties Scenariuszu.
    Widok modelu budowania przedstawiający formułę przypisania zmiany

    Decyzja niestandardowa OnCallDuties jest używana w drugim celu. Cel ten zapewnia, że liczba obowiązków dyżurnych jest zrównoważona w stosunku do liczby pracowników.

    Ograniczenie Ograniczenie dyżurnej pracy zapewnia, że spełnione są wymagania dyżuru wymienione w tabeli Day (Dzień).

    W poniższych krokach przedstawiono sposób zdefiniowania tej decyzji niestandardowej OnCallDuties .

  2. Otwórz panel Ustawienia i zauważ, że opcja Wizualizuj i edytuj decyzje jest ustawiona na wartość true (lub na wartość true, jeśli jest ustawiona na wartość domyślną false).

    To ustawienie powoduje dodanie karty Decyzje do okna Dodaj do modelu .

    Karta Decyzje w panelu Dodaj do modelu przedstawiająca dwa zamiary

    W tym miejscu widoczna jest wartość OnCallDuty określona jako decyzja o przypisaniu (w celu przypisania pracowników do obowiązków dyżurnych). Jego dwa wymiary są definiowane w odniesieniu do tabel danych Day i Employee. Oznacza to, że Twój model będzie również przydzielać pracownikom obowiązki na wezwanie. Decyzja o przypisaniu pracownika do zmiany jest określona w pierwotnym zamiarze.

  3. Opcjonalnie: Wprowadź własny tekst, aby opisać OnCallDuty w polu [ do udokumentowania] .
  4. Opcjonalnie: Aby utworzyć własną decyzję na karcie Decyzje , kliknij wprowadź nazwę, wpisz nazwę, a następnie kliknij klawisz Enter.
    Przy użyciu menu rozwijanych tworzona jest nowa decyzja (zamiar) o tej nazwie z podświetlonymi polami, które mają zostać wypełnione. Jeśli na przykład jako typ decyzjiwybrano przypisanie , zostaną utworzone dwa wymiary. Ponieważ przypisanie obejmuje przypisanie co najmniej jednej rzeczy do innej, należy zdefiniować co najmniej dwa wymiary. Użyj pól wybierz tabelę , aby zdefiniować wymiary.

Wyniki

Użytkownik nie jest już ograniczony do korzystania tylko z decyzji wywnioskowanych z jego intencji. Teraz można zdefiniować własne decyzje niestandardowe, korzystając z ustawień zaawansowanych i kart decyzyjnych, na których można wybrać typ decyzji i jej wymiary (tabela danych lub kolumna). Następnie można skonfigurować nowe reguły i cele, które korzystają z nowo zdefiniowanej decyzji.

Korzystanie z ograniczeń logicznych

O tym zadaniu

Załóżmy, że użytkownik chce się upewnić, że przypisane mu obowiązki dyżurne nie wystąpią, gdy pracownik jest na urlopie. W tym celu można użyć ograniczeń logicznych w następujący sposób.

Procedura

Aby użyć ograniczeń logicznych:

  1. Sprawdź ograniczenie Sugestia ograniczenia logicznego
    To ograniczenie zapewnia, że dla każdej kombinacji pracownika i dnia, gdy nie istnieją powiązane przypisania (na przykład pracownik jest na urlopie w tym dniu), nie są do niego przypisane żadne obowiązki na dyżur w tym dniu. Należy zwrócić uwagę na użycie słów kluczowych if...then do zdefiniowania tego ograniczenia logicznego.
  2. Opcjonalnie: Dodaj do modelu inne ograniczenia logiczne, wyszukując w sugestiach.

Wyniki

To ograniczenie łączy przydział pracowników do zmian z obowiązkami dyżurnymi. W przypadku oddzielnych modeli, jeden dla oryginalnego przypisania zmiany i drugi dla obowiązków dyżurów nie można osiągnąć tego powiązania.

Używając ograniczeń logicznych, razem ze słowem kluczowym associated , można określić, że jeśli jedno ograniczenie ma zastosowanie, to ma również zastosowanie inne ograniczenie. Niezbędne logiczne połączenie między pojęciami, do których się odwołuje, jest tworzone automatycznie, bez konieczności używania bardziej skomplikowanych wyrażeń łączenia.

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