Translation not up to date
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.
- 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.
- 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:
- Pobierz plik ShiftAssignment.zip z podfolderu Model_Builder w katalogu DO-samples. Wybierz odpowiedni podfolder produktu i wersji.
- Otwórz projekt lub utwórz pusty projekt.
- 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ę .
- Wybierz kartę Zasoby .
- W sekcji Praca z modelami wybierz opcję Nowe zadanie > Rozwiąż problemy z optymalizacją .
- Kliknij opcję Plik lokalny w oknie Rozwiązywanie problemów z optymalizacją , które zostanie otwarte.
- 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ść.
- Powiąż Machine Learning z projektem i przeładuj stronę.
- 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.
- Kliknij przycisk Utwórz.Tworzony jest model Decision Optimization o takiej samej nazwie jak przykład.
- 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.
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.
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.
- 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.
- Rozwiń ograniczenie
For each Employee-Day combination , number of associated Employee-Shift assignments is less than or equal to 1
.
Wyniki
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.
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:
- Sprawdź ograniczenie 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. - 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.