Ograniczenia wyrażenia i ograniczenia tabeli w modelach konfiguracji produktu.
W tym artykule opisano zastosowanie ograniczeń wyrażenia i ograniczeń tabeli. Ograniczenia służą do kontroli wartości atrybutów, które można wybrać podczas konfigurowania produktów dla zamówienia sprzedaży, oferty sprzedaży, zamówienia zakupu lub zlecenia produkcyjnego. Można użyć ograniczeń wyrażenia lub ograniczeń tabeli, w zależności od preferencji dotyczących tworzenia ograniczeń.
Ograniczenia służą do kontroli wartości atrybutów, które można wybrać podczas konfigurowania produktów dla zamówienia sprzedaży, oferty sprzedaży, zamówienia zakupu lub zlecenia produkcyjnego. Można użyć ograniczeń wyrażenia lub ograniczeń tabeli, w zależności od preferencji dotyczących tworzenia ograniczeń.
Czym są ograniczenia wyrażenia?
Ograniczenia wyrażenia charakteryzują się wyrażeniem zawierającym operatory logiczne i arytmetycznego oraz funkcje. Ograniczenie wyrażenia jest przeznaczone dla określonego składnika w modelu konfiguracji produktu. Nie można ponownie zastosować lub współużytkować go z innym składnikiem. Jednakże, ograniczenia wyrażenia dla składnika mogą odwoływać się do atrybutów składników podrzędnych dla składników.
Czym są ograniczenia tabeli?
Ograniczenia tabeli to listy kombinacji wartości, które są dozwolone dla atrybutów podczas konfigurowania produktu. Definicje ograniczeń tabeli mogą być używane ogólnie. Podczas tworzenia ograniczenia tabeli dla składnika w modelu konfiguracji produktu, należy wybrać definicję ograniczenia tabeli. Aby utworzyć kombinacje, które są dozwolone, należy dodać atrybuty określonych typów do składników. Każdy typ atrybutu ma określoną wartość.
Przykład ograniczenia tabeli
Ten przykład pokazuje, jak można ograniczyć konfigurację głośnika do określonych wykończeń i maskownic. Pierwsza tabela pokazuje wykończenia i maskownice powszechnie dostępnych dla konfiguracji. Wartości są zdefiniowane dla atrybutów typu Wykończenia i Maskownica.
Typ atrybutu | Wartości |
---|---|
Wykończenie | Czarny, Dąb, Rosewood, Biały |
Maskownica | Czarny, Metal, Biały |
Następna tabela przedstawia kombinacje, które są definiowane przez ograniczenie tabeli Kolor i wykończenie. Za pomocą tego ograniczenia tabeli można skonfigurować głośnik w dębowym wykończeniem i czarną maskownicą, wykończeniem Rodewood i białą maskownicą itd.
Zakończenie | Maskownica |
---|---|
Dąb | Czarny |
Rosewood | Biały |
Biały | Czarny |
Biały | Biały |
Czarny | Czarny |
Czarny | Metal |
Można tworzyć ograniczenia tabeli zdefiniowane przez użytkownika lub przez system. Aby uzyskać więcej informacji, zobacz Ograniczenia tabeli zdefiniowane przez użytkownika lub przez system.
Jakiej składni należy używać w celu zapisywania ograniczeń?
Trzeba zapisać ograniczenia za pomocą składni Optimization Modeling Language (OML). System używa narzędzia Microsoft Solver Foundation do rozwiązywania ograniczeń.
Z których ograniczeń należy korzystać: ograniczeń wyrażenia czy ograniczeń tabeli?
Można użyć albo ograniczeń wyrażenia, albo ograniczeń tabeli, w zależności od preferencji dotyczących ograniczeń. Ograniczenie tabeli jest tworzone jako macierz, podczas gdy ograniczenie wyrażenia to indywidualna instrukcja. Podczas konfigurowania produktu, nie ma znaczenia, jaki rodzaj ograniczenia jest używany. W poniższym przykładzie pokazano, jak te dwie metody się od siebie różnią.
Jeśli konfigurujesz produkt za pomocą następujących ustawień ograniczenia, dozwolone są następujące kombinacje:
- Produkt w kolorze Czarny i rozmiarze 30 lub 50
- Produkt w kolorze Czerwony i rozmiarze 20
Konfiguracja ograniczenia tabeli
Kolor | Rozmiar |
---|---|
Czarny | 30 |
Czarny | 50 |
Czerwony | 20 |
Ustawienia ograniczenia wyrażenia
(Kolor == "Czarny" & (rozmiar == "30" | rozmiar == "50")) | (kolor == "Czerwony" & rozmiar = "20")
Czy używać operatorów czy notacji infix podczas zapisywania ograniczeń wyrażenia?
Możesz zapisać ograniczeń wyrażenia przy użyciu dostępnych operatorów prefiksu lub przy użyciu notacji infix. Dla operatorów Min, Max i Abs nie można użyć notacji infix. Operatory te są dołączane jako operacje standardowe w większości języków programowania.
Jakich operatorów i notacji infix należy używać podczas zapisywania ograniczeń wyrażenia?
W poniższych tabelach znajdują się listy operatorów i notacji infix, których można używać podczas zapisywania ograniczenia wyrażenia dla składnika w modelu konfiguracji produktu. W przykładach w tym pierwszej tabeli zobacz jak zapisać wyrażenie przy użyciu notacji infix lub operatorów.
Operator | Opis | Składnia | Przykłady |
---|---|---|---|
Implies | Jeśli warunek a jest spełniony, zastosuj ograniczenie b. | Implies[a, b], infix: a -: b |
|
i | Jest to możliwe tylko wtedy, gdy są spełnione wszystkie warunki. Jeśli liczba warunków wynosi 0 (zero), wówczas wartość to True. | And[args], infix: a & b & ... & z |
|
Lub | Wartość jest True, jeśli jest spełniony dowolny z warunków. Jeśli liczba warunków wynosi 0 (zero), wówczas wartość to False. | Or[args], infix: a | b | ... | z |
|
Plus | Sumuje warunki. Jeśli liczba warunków wynosi 0 (zero), wówczas wartość to 0. | Plus[args], infix: a + b + ... + z |
|
Minus | Zmienia to znak argumentu. To musi mieć dokładnie jeden warunek. | Minus[expr], infix: -expr |
|
Abs | Wartość bezwzględna dla warunku. To musi mieć dokładnie jeden warunek. | Abs[expr] | Operator: Abs[x] |
Czasy | Produkt jego warunków. Jeśli liczba warunków wynosi 0 (zero), wówczas wartość to 1. | Times[args], infix: a * b * ... * z |
|
Potęga | Wartość wykładnicza. Potęgowanie od prawej do lewej. (Innymi słowy jest łączna z prawej). Dlatego Power[a, b, c] jest równoznaczne z Power[a, Power[b, c]]. Operatora Power można użyć tylko pod warunkiem, że wykładnik jest dodatnią wartością stałą. | Power[args], infix: a ^ b ^ ... ^ z |
|
Maks. | Opcja zapewnia największy warunek. Jeśli liczba warunków wynosi 0 (zero), wówczas wartość to Infinity. | Max[args] | Operator: Max[x, y, 2] == z |
Min. | Opcja zapewnia najmniejszy warunek. Jeśli liczba warunków wynosi 0 (zero), wówczas wartość to Infinity. | Min[args] | Operator: Min[x, y, 2] == z |
Nie | Daje logiczną odwrotność danego warunku. To musi mieć dokładnie jeden warunek. | Not[expr], infix: !expr |
|
W następnej tabeli przedstawiono przykłady jak zapisać notację infix.
Notacja infix: | opis |
---|---|
x + y + z | Dodatek |
x * y * z | Mnożenie |
x - y | Odejmowanie binarne jest tłumaczona tak samo, jak binarnego dodawanie z zanegowaniem drugiego. |
x ^ y ^ z | Potęgowanie z łącznością do prawej |
!x | Wartość logiczna not |
x -: y | Logiczna implikacja |
x | y |
x & y & z | Wartość logiczna and |
x == y == z | Równość |
x != y != z | Określone |
x < y < z | Mniejsze niż |
x > y > z | Większe niż |
x <= y <= z | Mniejsze lub równe |
x >= y >= z | Większe lub równe |
(x) | Nawiasy zastępują domyślny priorytet. |
Dlaczego moje ograniczenia wyrażeń nie przechodzą pomyślnie sprawdzania poprawności?
Nie można używać zarezerwowanych słów kluczowych jako nazwy zamiennej dla atrybutów, komponentów czy podskładniki w modelu konfiguracji produktu. Oto lista zastrzeżonych słów kluczowych, których nie można używać:
- Pułap
- Element
- Taka sama
- Podłoga
- Jeśli
- Mniejsze
- Większe
- Implies
- Dziennik
- Maksimum
- Minimum
- Minus
- Plus
- Moc
- Czasy
- Przedział
- Model
- Decyzja
- Cel