• Nie Znaleziono Wyników

Programowanie liniowe

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie liniowe"

Copied!
24
0
0

Pełen tekst

(1)

Programowanie liniowe

Łukasz Kowalik

Instytut Informatyki, Uniwersytet Warszawski

April 8, 2016

(2)

Problem diety

Tabelka

wit. A (µg) wit. B1 (µg) wit. C (µg) (kcal)

kotlet schabowy 500 0 0 237

ziemniaki 70 0,8 1 60

kasza gryczana 90 0,5 0 141

sałatka 300 0,1 75 25

zapotrzebowanie 1000 1,2 100

Zadanie

zminimalizuj 237xk + 60xz+ 141xg + 25xs

z zachowaniem warunków 500xk+ 70xz+ 90xg + 300xs ≥ 1000 0.8xz+ 0.5xg + 0.1xs ≥ 1.2 xz+ 75xs ≥ 100 xk, xz, xg, xs ≥ 0

(3)

Co to jest program liniowy?

Definicja

Program liniowy (w skrócie PL) jest to problem

minimalizacji/maksymalizacji liniowej funkcji celu o n argumentach x1, x2, . . . , xn przy zachowaniu pewnej liczby równości lub nierówności liniowych (będziemy je nazywać ograniczeniami) zawierających zmienne xi.

(4)

PL a dyskretne problemy algorytmiczne

Wiele problemów algorytmicznych możemy zapisać jako programy liniowe.

Np. maksymalny przepływ:

zmaksymalizuj P

v ∈V fsv

z zachowaniem warunków fvw ≤ c(v , w ) v , w ∈ V fvw = −fwv v , w ∈ V P

w ∈Vfvw = 0 v ∈ V \ {s, t}

Najtańszy przepływ o wartości x? Proszę bardzo:

zminimalizuj P

v ,w ∈Va(v , w )fvw

z zachowaniem warunków fvw ≤ c(v , w ) v , w ∈ V

fvw = −fwv v , w ∈ V

P

w ∈Vfvw = 0 v ∈ V \ {s, t} P

v ∈V fsv = x .

(5)

PL a dyskretne problemy algorytmiczne

Wiele problemów algorytmicznych możemy zapisać jako programy liniowe.

Np. maksymalny przepływ:

zmaksymalizuj P

v ∈V fsv

z zachowaniem warunków fvw ≤ c(v , w ) v , w ∈ V fvw = −fwv v , w ∈ V P

w ∈Vfvw = 0 v ∈ V \ {s, t}

Najtańszy przepływ o wartości x? Proszę bardzo:

zminimalizuj P

v ,w ∈Va(v , w )fvw

z zachowaniem warunków fvw ≤ c(v , w ) v , w ∈ V

(6)

Notacja

Rozważmy PL o n zmiennych x1, . . . , xn.

Wartościowanie zmiennych: wektor x ∈ Rn. liniowa funkcja celu ma postać:

n

X

j =1

cjxj,

dla pewnego wektora c = (c1, . . . , cn) ∈ Rn. Inny zapis funkcji celu (iloczyn skalarny):

cx

Czasem piszemy też (jako iloczyn macierzy):

cTx

(7)

Definicje

x∈ Rn jest rozwiązaniem dopuszczalnym PL gdy x spełnia wszystkie ograniczenia.

x jest rozwiązaniem optymalnym PL gdy x jest dopuszczalny i optymalizuje f-cję celu, tzn

Dla każdego rozwiązania dopuszczanego y ∈ Rn, cx≤ cy

(dla problemu minimalizacyjnego)

PL jest dopuszczalny gdy istnieje rozwiązanie dopuszczalne, wpp. jest sprzeczny.

PL jest nieograniczony gdy istnieje rozwiązanie dopuszczalne, ale nie ma rozwiązań optymalnych, tzn.

∀λ ∈ R ∃rozw. dopuszczalne x ∈ Rn t.ż. xc < λ

(8)

Definicje

x∈ Rn jest rozwiązaniem dopuszczalnym PL gdy x spełnia wszystkie ograniczenia.

x jest rozwiązaniem optymalnym PL gdy x jest dopuszczalny i optymalizuje f-cję celu, tzn

Dla każdego rozwiązania dopuszczanego y ∈ Rn, cx≤ cy

(dla problemu minimalizacyjnego)

PL jest dopuszczalny gdy istnieje rozwiązanie dopuszczalne, wpp. jest sprzeczny.

PL jest nieograniczony gdy istnieje rozwiązanie dopuszczalne, ale nie ma rozwiązań optymalnych, tzn.

∀λ ∈ R ∃rozw. dopuszczalne x ∈ Rn t.ż. xc < λ

(9)

Definicje

x∈ Rn jest rozwiązaniem dopuszczalnym PL gdy x spełnia wszystkie ograniczenia.

x jest rozwiązaniem optymalnym PL gdy x jest dopuszczalny i optymalizuje f-cję celu, tzn

Dla każdego rozwiązania dopuszczanego y ∈ Rn, cx≤ cy

(dla problemu minimalizacyjnego)

PL jest dopuszczalny gdy istnieje rozwiązanie dopuszczalne, wpp.

jest sprzeczny.

PL jest nieograniczony gdy istnieje rozwiązanie dopuszczalne, ale nie ma rozwiązań optymalnych, tzn.

∀λ ∈ R ∃rozw. dopuszczalne x ∈ Rn t.ż. xc < λ

(10)

Definicje

x∈ Rn jest rozwiązaniem dopuszczalnym PL gdy x spełnia wszystkie ograniczenia.

x jest rozwiązaniem optymalnym PL gdy x jest dopuszczalny i optymalizuje f-cję celu, tzn

Dla każdego rozwiązania dopuszczanego y ∈ Rn, cx≤ cy

(dla problemu minimalizacyjnego)

PL jest dopuszczalny gdy istnieje rozwiązanie dopuszczalne, wpp.

jest sprzeczny.

PL jest nieograniczony gdy istnieje rozwiązanie dopuszczalne, ale nie ma rozwiązań optymalnych, tzn.

∀λ ∈ R ∃rozw. dopuszczalne x ∈ Rn t.ż. xc < λ

(11)

Postać kanoniczna

zmaksymalizuj Pn

j =1cjxj z zachowaniem warunków Pn

j =1aijxj ≤ bi i = 1, . . . , m gdzie {aij, bi, cj} są dane. Zapis macierzowy:

zmaksymalizuj cTx z zachowaniem warunków Ax ≤ b

Fakt 1

Każdy program liniowy można sprowadzić do równoważnego programu w postaci kanonicznej.

(12)

Postać kanoniczna

zmaksymalizuj Pn

j =1cjxj z zachowaniem warunków Pn

j =1aijxj ≤ bi i = 1, . . . , m gdzie {aij, bi, cj} są dane. Zapis macierzowy:

zmaksymalizuj cTx z zachowaniem warunków Ax ≤ b

Fakt 1

Każdy program liniowy można sprowadzić do równoważnego programu w postaci kanonicznej.

(13)

Postać kanoniczna

zmaksymalizuj Pn

j =1cjxj z zachowaniem warunków Pn

j =1aijxj ≤ bi i = 1, . . . , m gdzie {aij, bi, cj} są dane. Zapis macierzowy:

zmaksymalizuj cTx z zachowaniem warunków Ax ≤ b

Fakt 1

(14)

Równoważność programów liniowych

Rozważmy PL L i L0, maksymalizacyjne, z funkcjami celu c i c0.

L i L0 są równoważne gdy

dla każdego rozw. dopuszczalnego x programu L istnieje rozw.

dopuszczalne x0 programu L0 tż.

cx = c0x.

dla każdego rozw. dopuszczalnego x0 programu L0 istnieje rozw.

dopuszczalne x programu L tż.

cx = c0x.

(15)

Równoważność programów liniowych

Rozważmy maksymalizacyjny PL L i minimalizacyjny PL L0, z funkcjami celu c i c0.

L i L0 są równoważne gdy

dla każdego rozw. dopuszczalnego x programu L istnieje rozw. dopuszczalne x0 programu L0 tż.

cx = −c0x.

dla każdego rozw. dopuszczalnego x0 programu L0 istnieje rozw. dopuszczalne x programu L tż.

(16)

Postać standardowa

wersja max:

zmaksymalizuj cTx z zachowaniem warunków Ax ≤ b

x≥ 0 wersja min:

zminimalizuj cTx

z zachowaniem warunków Ax ≥ b x≥ 0 Fakt 2

Każdy program liniowy można sprowadzić do równoważnego programu w postaci standardowej.

(17)

Postać dopełnieniowa

zmaksymalizuj cTx z zachowaniem warunków Ax = b

x≥ 0

Fakt 3

Każdy program liniowy można sprowadzić do równoważnego programu w postaci dopełnieniowej.

(18)

Geometria programów liniowych

max x1+ 2x2

x2 ≤ x1+ 2 2x1+ x2 ≤ 4 2x2+ x1 ≥ 0 x2 ≥ 0

x f (x)

x2 = x1+ 2

2x2+ x1= 0 2x1+ x2 = 4

2x1+ x2= 3

−2 −1 0 1 2 3

−2

−1 1 2 3 4

(19)

Wnioski

2 zmienne:

ograniczenia ! półpłaszczyzny

zbiór rozwiązań dopuszczalnych ! wielokąt (wypukły), być może nieograniczony.

ogólnie:

zbiór punktów spełniających ax = b ! hiperpłaszczyzna zbiór punktów spełniających ax ≤ b ! półprzestrzeń zbiór rozwiązań dopuszczalnych PL ! wielościan (wypukły).

(20)

Równoważność pojęć wierzchołka

Wierzchołkiemwielościanu P nazywamy dowolny punkt x ∈ P, który jest jedynym rozwiązaniem optymalnym dla pewnej funkcji celu c.

Punktem ekstremalnym wielościanuP nazywamy dowolny punkt x∈P, który nie jest wypukłą kombinacją dwóch innych punktów y, z ∈P.

(tzn. dowolny punkt postaci λy + (1 − λ)z dla pewnego λ ∈ [0, 1].) Bazowe rozwiązanie dopuszczalne(brd) PL o n zmiennych to rozwiązanie dopuszczalne x ∈ Rn takie, że istnieje n liniowo

niezależnych ograniczeń (w sensie wektorów współczynników przy xi, tzn. x1+ 2x2 ≥ 1 i x1+ 2x2 ≤ 2 są liniowo zależne), które dla x są spełnione z równością.

Fakt 4

Powyższe pojęcia są równoważne (dowód → tablica)

(21)

Równoważność pojęć wierzchołka

Wierzchołkiemwielościanu P nazywamy dowolny punkt x ∈ P, który jest jedynym rozwiązaniem optymalnym dla pewnej funkcji celu c.

Punktem ekstremalnym wielościanuP nazywamy dowolny punkt x∈P, który nie jest wypukłą kombinacją dwóch innych punktów y, z ∈P.

(tzn. dowolny punkt postaci λy + (1 − λ)z dla pewnego λ ∈ [0, 1].)

Bazowe rozwiązanie dopuszczalne(brd) PL o n zmiennych to rozwiązanie dopuszczalne x ∈ Rn takie, że istnieje n liniowo

niezależnych ograniczeń (w sensie wektorów współczynników przy xi, tzn. x1+ 2x2 ≥ 1 i x1+ 2x2 ≤ 2 są liniowo zależne), które dla x są spełnione z równością.

Fakt 4

Powyższe pojęcia są równoważne (dowód → tablica)

(22)

Równoważność pojęć wierzchołka

Wierzchołkiemwielościanu P nazywamy dowolny punkt x ∈ P, który jest jedynym rozwiązaniem optymalnym dla pewnej funkcji celu c.

Punktem ekstremalnym wielościanuP nazywamy dowolny punkt x∈P, który nie jest wypukłą kombinacją dwóch innych punktów y, z ∈P.

(tzn. dowolny punkt postaci λy + (1 − λ)z dla pewnego λ ∈ [0, 1].) Bazowe rozwiązanie dopuszczalne(brd) PL o n zmiennych to rozwiązanie dopuszczalne x ∈ Rntakie, że istnieje n liniowo

niezależnych ograniczeń (w sensie wektorów współczynników przy xi, tzn. x1+ 2x2 ≥ 1 i x1+ 2x2 ≤ 2 są liniowo zależne), które dla x są spełnione z równością.

Fakt 4

Powyższe pojęcia są równoważne (dowód → tablica)

(23)

Równoważność pojęć wierzchołka

Wierzchołkiemwielościanu P nazywamy dowolny punkt x ∈ P, który jest jedynym rozwiązaniem optymalnym dla pewnej funkcji celu c.

Punktem ekstremalnym wielościanuP nazywamy dowolny punkt x∈P, który nie jest wypukłą kombinacją dwóch innych punktów y, z ∈P.

(tzn. dowolny punkt postaci λy + (1 − λ)z dla pewnego λ ∈ [0, 1].) Bazowe rozwiązanie dopuszczalne(brd) PL o n zmiennych to rozwiązanie dopuszczalne x ∈ Rntakie, że istnieje n liniowo

niezależnych ograniczeń (w sensie wektorów współczynników przy xi, tzn. x1+ 2x2 ≥ 1 i x1+ 2x2 ≤ 2 są liniowo zależne), które dla x są spełnione z równością.

(24)

Struktura rozwiązań optymalnych

Twierdzenie

Każdy ograniczony PL w postaci standardowej max cTx, Ax ≤ b, x ≥ 0 ma rozwiązanie optymalne, które jest punktem ekstremalnym.

(dowód → tablica)

Cytaty

Powiązane dokumenty

Tutaj w celu znalezienia oryginaªu którego transformata Laplace'a jest postaci (7) skorzystamy z metody rozkªadu na uªamki proste.. Rozwi¡zanie: Transformuj¡c obustronnie

Udowodnij, ˙ze ka˙zdy z tych idea l´ ow jest g l´ owny i wypisz wszystkie idea ly pierwsze oraz wszystkie idea ly maksymalne tego pier´scienia.

Teraz udowodnimy, ˙ze mno˙zenie wielomian´ ow jest rozdzielne wzgl edem ich dodawania , oraz mno˙zenie wielomian´ ow jest l aczne.. Oznacza to, ˙ze dla takich pier´scieni

[r]

INFORMACJE O OBLICZANIU FUNKCJI PIERWOTNYCH 221 Mianownik jest iloczynem wielomianów pierwszego i drugiego stopnia.. Obliczymy całkę nieoznaczoną funkcji wymiernej z przykładu 9.4.18

A quasi-leftmost reduction is an infinite reduction sequence with infinitely many leftmost steps....

Udowodnij

Zdarzenie A 4 polegaj¸ace na niewypadni¸eciu ani or la ani reszki nie mo˙ze zaj´s´c w wyniku naszego do´swiadczenia losowego.. Jest to