Wiele rzeczywistych problemów wymaga użycia bardziej złożonych funkcji kosztów, niż tylko prostych liniowych współczynników. Funkcje kawałkami liniowe mogą być wtedy interpretowane jako przybliżenia zależności nieliniowych, np. kwadratowych, wykładniczych, logarytmicznych, i in. Ponadto, funkcje tego typu mają zastosowanie jako funkcje kary, umożliwiające pewne naruszanie tzw. miękkich ograniczeń.
W sytuacji, gdy funkcja kawałkami liniowa, którą chcemy użyć w zadaniu spełnia warunek ciągłości i wypukłości, to odpowiedni model optymalizacji może być formułowany jako zadanie PL.
Funkcja kawałkami liniowa \(f(x)\) składa się z
\(i\in I\) liniowych odcinków, z których każdy można opisać odpowiednią funkcją liniową:
\(f_i(x)=a_ix+b_i\), gdzie
\(a_i\) jest współczynnikiem nachylenia
\(i\)-tego odcinka, a
\(b_i\) jest współczynnikiem przesunięcia.
Funkcja jest wypukła, gdy współczynniki \(a_i\) dla kolejnych odcinków są niemalejące: \(a_i\leq a_{i+1}\).
Przykładową funkcję kosztów produkcji, przybliżoną funkcją kawałkami liniową przedstawia poniższy rysunek.

Zauważmy, że wypukłość funkcji powoduje, że prawdziwa jest zależność: \( f(x)= \max_i f_i(x)\), czyli przy minimalizacji kosztów mamy do czynienia z problemem typu minmax, który wyjaśniliśmy w poprzednim podrozdziale!
Stąd, stosując bezpośrednio technikę zamiany problemu minmax na zapis PL, możemy przedstawić odpowiedni zapis PL dla zadania, w którym występują funkcje kawałkami liniowe.
Minimalizacja funkcji kawałkami liniowej w zadaniu PL wymaga wprowadzenia dodatkowej zmiennej, symbolizującej wartość funkcji w konkretnym odcinku liniowym:
\(\min f(x)= \min \max_i\{ a_ix+b_i\} \equiv \min y\)
a następnie wprowadzenia tej zmiennej do ograniczeń : \(y \geq a_ix+b_i,\;\forall i.\)
Zauważmy przy tym, że rozważana wcześniej funkcja wartości bezwzględnej jest, de facto, funkcją kawałkami liniową. To prowadzi do równoważnego sformułowania problemu z wartością bezwzględną.
Innym sposobem na zapisanie w sposób liniowy
\(|x|\) jest spostrzeżenie że:
\(f(x) = |x| = \max\{x, -x\} \)
czyli możemy zastąpić tą wartość nową zmienną
\(y\), powiązaną z pierwotną zmienną
\(x\) ograniczeniami:
\(y \geq x,\)
\(y \geq -x\).
W zależności od konkretnego problemu, może być bardziej wygodne użycie pierwszego (przedstawionego w poprzednim podrozdziale), lub drugiego sposobu na przedstawienie wartości bezwzględnej, co pokażemy w poniższym przykładzie.
Niepewność współczynników macierzy \(A\).
Załóżmy, że w zadaniu
\(\{\min_x \mathbf{c}^T x, \mathbf{A}x \geq \mathbf{b}\}\), współczynniki macierzy
\(A\) nie mogą być wyznaczone w sposób dokładny. Oznaczmy je jako
\(\tilde{a}_i\), zatem problem ma postać:
\(\min\sum_i c_ix_i,\) p.o.:
\(\sum_i\tilde{a}_ix_i\geq b.\)
Jeśli można przyjąć, że wartości współczynników mieszczą się w pewnym zakresie
\([L_i, U_i]\) to
\([a_i-\delta_i,a_i+\delta_i]\), gdzie
\(\delta_i=0.5(U_i-L_i)\) oraz
\(a_i=0.5(U_i+L_i)\).
Aby rozwiązanie PL spełniało ograniczenia
\(\tilde{a}_ix\geq b\) w każdym przypadku, wystarczy jeśli spełni ograniczenia
w najgorszym przypadku:
-
dla \(x_i\geq 0\) to ograniczenie będzie spełnione jeśli \(\tilde{a}_ix\geq (a_i-\delta_i)x_i\),
- dla \(x_i\leq 0\) to ograniczenie będzie spełnione jeśli \(\tilde{a}_ix\geq (a_i+\delta_i)x_i\).
Czyli problem można sformułować jako:
\(\sum_i\tilde{a}_ix\geq a_ix_i-\sum_i\delta_i|x_i|\geq b\).
Wtedy stosując metodę przedstawienia wartości bezwzględnej jako f. wypukłej
\( |x_i| = y_i \), używamy teraz nowych zmiennych
\( y_i \) w początkowym ograniczeniu, dodając ograniczenia wiążące te zmienne z
\(x_i \) dla funkcji celu:
\(\min\sum_i c_ix_i,\) p.o.:
\begin{eqnarray}
& &\sum_i a_ix_i- \sum_i\delta_i y_i \geq b, \\
&-y_i \leq & x_i\leq y_i,\\
& &y_i\geq 0.
\end{eqnarray}
Uwaga, często warto uwzględnić dodatkowo współczynnik tolerancji
\(\epsilon\), pozwalający na nieznaczne naruszenie prawej strony ograniczeń:
\begin{eqnarray}
&& \sum_i a_ix_i-\sum_i\delta_i y_i\geq b-\epsilon\max(1,|b|).\end{eqnarray}
Przyjmij, że firma ponosi stały koszt utrzymania magazynu, wynoszący \(C\), o ile jego pojemność \(P\) jest wykorzystywana w nie więcej niż 80%. W sytuacji, gdy ilość przechowywanych towarów przekracza \(0.8\cdot P\), ponoszone są dodatkowe koszty, rosnące wraz ze współczynnikiem \(k\) za każdą nadmiarową jednostkę towaru. Przyjmując horyzont planowania \(T\) lat, oraz wielkość zapotrzebowania w wysokości \(d_t\) w każdym roku, zapisz w postaci PL problem wyznaczenia optymalnego planu zakupów towaru w każdym roku. Plan ten, przy znajomości cen zakupu \(c_t\), powinien minimalizować koszty magazynowania. Wskazówka - zauważ, że koszt magazynowania towaru można przedstawić w postaci funkcji, składającej się z dwóch liniowych kawałków.