Podręcznik
Wersja podręcznika: 1.0
Data publikacji: 01.01.2022 r.
Wykłady
W1…WN, odpowiadające w sumie ok. 10-12 godz. standardowego wykładu
2. Modelowanie zależności
2.4. Zależności dualne
Problem prymalny ma odpowiadający mu problem dualny, taki że zmienne dualne odpowiadają ograniczenim prymalnym, i vice versa. Np. dla postaci standardowej pary te zapisujemy:
\( \min_{x\in \mathcal{R}^n} f(x) = \mathbf{c}^T x \qquad\Leftrightarrow\qquad \max_{\lambda\in \mathcal{R}^m} y(\lambda) = \mathbf{b}^T \lambda\\ \begin{eqnarray} \mathbf{A}x \geq& \mathbf{b}\;\perp\lambda\qquad\qquad\qquad& \qquad\mathbf{A}^T \lambda \leq \mathbf{c}\; \perp x \nonumber\\ x\geq& 0\qquad\qquad\nonumber &\qquad\qquad\lambda\geq 0\end{eqnarray} \)
Parę problemów prymalnego i odpowiadającego mu dualnego nazywamy problemami sprzężonymi.
- Kierunek optymalizacji w problemie dualnym jest przeciwny, tj. problem dualny jest zadaniem maksymalizacji, gdy problem prymalny jest zadaniem minimalizacji; w przeciwnym przypadku problem dualny jest zadaniem minimalizacji dla maksymalizacji problemu prymalnego.
- Ograniczenia typu równościowego implikują zmienne swobodne odpowiedniego sformułowania sprzężonego, i vice versa.
- Ograniczenia typu \( \geq \) implikują zmienne nieujemne odpowiedniego sformułowania sprzężonego, i vice versa.
- Ograniczenia typu \( \leq \) implikują zmienne niedodatnie odpowiedniego sformułowania sprzężonego, i vice versa.
Z dualnością wiążą się ważne twierdzenia, to jest twierdzenie o słabej i silnej dualności, oraz o warunku komplementarności. Twierdzenia te są aplikacją warunków optymalności Karusha-Kuhna-Tuckera formułowanych dla funkcji nieliniowych, do specjalnego przypadku funkcji liniowych.
- Tw. o słabej dualności. Dla dowolnej pary rozwiązań dopuszczalnych \(x_0,\lambda_0\) zadań wzajemnie dualnych (przy \(\min c^Tx\)) zachodzi ogólna zależność, nazywana odstępem dualności (duality gap):
\(c^Tx \geq b^T \lambda\)
- Tw. o silnej dualności. Jeśli jedno z zadań sprzężonych ma rozwiązanie optymalne, to ma je również drugie zadanie i zachodzi równość wartości funkcji celu: \(c^T\hat{x_0} = b^T\hat{\lambda_0}\). Jeśli jedno z zadań wzajemnie dualnych jest sprzeczne (zbiór rozwiązań dopuszczalnych jest pusty), to zadanie dualne jest albo sprzeczne, albo nieograniczone.
- Warunek komplementarności. Zachodzi własność: \(x_s^T\lambda+\lambda_s^Tx=0\), gdzie \(x_s\) i \(\lambda_s\) są zmiennymi dopełniającymi dla ograniczeń nieaktywnych. W równoważnej wersji warunek ten ma postać: \(\lambda^T(Ax-b)=0\) oraz\((c^T-\lambda^TA)x=0\).
Dualność ma wiele ważnych zastosowań, w szczególności jest podstawą działania algorytmu simplex dualnego. W kontekście modelowania zależności liniowych niezwykle istotne jest zrozumienie znaczenia zmiennych dualnych, których wartość możemy odczytać rozwiązując dowolny problem optymalizacji liniowej w dowolnym solwerze.
- dla zadań maksymalizacji zysku zmienne dualne można interpretować jako koszty materiałowe (ograniczenie na materiały powoduje, że nie możemy zarobić więcej - ile warto zapłacić za ew. zwiększenie zasobów materiałowych?),
- dla zadań minimalizacji kosztu zmienne dualne można intepretować jako zyski jednostkowe (ograniczenie na zapotrzebowanie powoduje, że nie możemy bardziej obniżyć kosztów - które z wymagań ma największy wpływ na ponoszone koszty, czyli powinno być dla nas najbardziej wartościowe?).
- sformułuj zadanie maksymalizacji zysku, tj. różnicy między przychodem i kosztem;
- czy można uzasadnić charakter zależności zysku od pojemności silosa?
\( I_t = I_{t-1}-x_{t-1}+p_t,\qquad \forall t \in (1,\ldots, T), \)
gdzie \(I_0=x_0=0\) (przyjmując, że silos jest pusty, gdy rozpoczynamy planowanie).W każdym roku nie można sprzedać więcej ziarna, niż mamy w silosie. Ponadto, ilość ziarna w silosie nie może przekroczyć jego pojemności. Stąd ograniczenia:
\( x_t \leq I_t ,\qquad \forall t \in (1,\ldots, T), \)
\( I_t\leq K, \forall t \in (1,\ldots, T). \)
\(\max \sum_{t=1}^T \left( c^m_t x_t - c^s_t p_t - h_t I_t \right) \)
p.o.:\( I_t = I_{t-1}-x_{t-1}+p_t,\qquad \forall t \in (1,\ldots, T), \)
\(\qquad 0\leq I_t\leq K, \qquad \forall t \in (1,\ldots, T). \qquad \perp \lambda_t\)
Rozważmy teraz dualne sformułowanie powyższego problemu. Jedynym ograniczeniem, które ma niezerowy współczynnik prawej strony jest ograniczenie na pojemność silosa. Stąd funkcja celu zadania dualnego będzie postaci: \(\min \sum_{t=1}^T K\lambda_t\). Ponieważ \( K \) jest stałą, nie ma ona wpływu na optymalne wartości zmiennych decyzyjnych dualnego problemu, czyli wystarczy minimalizować \(\sum_{t=1}^T \lambda_t\). Oznacza to, że optymalny zysk jest liniowo zależny od pojemności silosa.Oferty uczestników rynku można opisać następującymi parametrami:
- \( d^{\max}_k \) maksymalna ilość towaru, którą chce nabyć kupujący \( k\);
- \( p^{\max}_s \) maksymalna ilość towaru, którą chce zbyć sprzedający \(s \);
- \( e_k \) maksymalna cenę jednostkową, którą jest skłonny zapłacić kupujący \( k \);
- \( c_s \) minimalna cenę jednostkową, którą jest skłonny zaakceptować sprzedający \( s \).
Odpowiednie zadanie optymalizacji ma prostą strukturę:
\( \max \sum_{k \in K} e_kd_k - \sum_{s \in S} c_sp_s \)
przy ograniczeniach:\( \begin{eqnarray} \sum_{k \in K} d_k &= &\sum_{s \in S} p_s,\\ d_k &\leq &d^{\max}_k,\;\;\forall k\in K\\ p_s &\leq &p^{\max}_s,\;\;\forall s\in S,\\ d_k , p_s &\geq &0.\\ \end{eqnarray} \)
Rozwiązaniem optymalnym powyższego zadania jest wielkość wolumenów wybranych do realizacji ofert kupna i sprzedazy, oraz jednolita cena rynkowa, która nie pojawia się jawnie w modelu, ale jest ceną dualną równania bilansu przepływu towarów.