Dualizm w liniowych problemach z programowaniem
Dualizm w problemach programowania liniowego!
Dla każdego problemu programowania liniowego istnieje odpowiedni unikalny problem obejmujący te same dane, a także opisuje pierwotny problem. Pierwotny problem nazywa się programem pierwotnym, a odpowiadający mu unikalny problem nazywa się Programem podwójnym. Oba programy są bardzo ściśle powiązane, a optymalne rozwiązanie dual daje pełne informacje o optymalnym rozwiązaniu pierwotnego i odwrotnie.
Różne użyteczne aspekty tej właściwości to:
(a) Jeśli pierwotny ma dużą liczbę stałych i małą liczbę zmiennych, obliczenia można znacznie zmniejszyć, przekształcając problem w Dual, a następnie rozwiązując go.
(b) Dualizm w programowaniu liniowym ma pewne daleko idące konsekwencje natury ekonomicznej. Może to pomóc menedżerom w odpowiadaniu na pytania dotyczące alternatywnych kierunków działań i ich względnych wartości.
(c) Obliczenie podwójnej kontroli dokładności pierwotnego rozwiązania.
(d) Dualizm w programowaniu liniowym pokazuje, że każdy program liniowy jest równoważny grze dwuosobowej o sumie zerowej. Wskazuje to na dość bliskie relacje między programowaniem liniowym a teorią gier.
1. Formowanie podwójne, gdy Primal jest w formie kanonicznej:
Z powyższych dwóch programów jasno wynikają następujące kwestie:
(i) Problem maksymalizacji w pierwotnym staje się problemem minimalizacji w systemie dualnym i vice versa.
(ii) Problem maksymalizacji ma () ograniczenia.
(iii) Jeśli pierwotny zawiera n zmiennych i m ograniczeń, dual będzie zawierać m zmiennych i n ograniczeń.
(iv) Stałe b 1 b 2, b 3 ......... b m w ograniczeniach pierwotnych pojawiają się w funkcji celu dwoistego.
(v) Stałe c 1, c 2, c 3 c n w funkcji celu pierwotnego pojawiają się w ograniczeniach dualu.
(vi) Zmienne w obu problemach są nieujemne.
Relacje więzów pierwotnych i podwójnych przedstawiono poniżej.
Przykład 1:
Zbuduj podwójny do pierwotnego problemu
Rozwiązanie:
Po pierwsze, ograniczenie ≥ jest przekształcane na ≤ ograniczenie przez pomnożenie obu stron przez -1.
Przykład 2:
Zbuduj podwójny do pierwotnego problemu
Rozwiązanie:
Niech Y 1, Y 2, V 3 i V 4 będą odpowiednimi podwójnymi zmiennymi, wtedy problem podwójny jest podany przez
Ponieważ problem podwójny ma mniejszą liczbę ograniczeń niż pierwotna (2 zamiast 4), wymaga mniejszej pracy i wysiłku, aby go rozwiązać. Wynika to z faktu, że trudności obliczeniowe w problemie programowania liniowego są związane głównie z liczbą ograniczeń, a nie liczbą zmiennych.
Przykład 3:
Zbuduj podwójny problem
Rozwiązanie:
Ponieważ problemem jest minimalizacja, wszystkie ograniczenia powinny być> typu. Mnożąc trzecie ograniczenie przez-1 po obu stronach otrzymujemy.
-8x 1 + 2x 2 + 2x 3 ≥ -10
Dwoistością danego problemu będzie
gdzie y 1, y 2, y 3, y 4 i y 5 są podwójnymi zmiennymi związanymi odpowiednio z pierwszym, drugim trzecim, czwartym i piątym ograniczeniem.