ania matematycznego liniowe zagadnienia decyzyjne 1. wstęp · przez g. b. dantzig'a metody...

25
Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne Kazimierz Duzinkiewicz 1 Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych – metody dla zagadnień liniowego programowania matematycznego Liniowe zagadnienia decyzyjne część I Formułowanie, graficzne rozwiązywanie i graficzna analiza wrażliwości 1. Wstęp Programowanie liniowe należy do jednych z nowszych dziedzin matematyki. Stanowi ono dział szerszej dziedziny nazywanej programowaniem matematycznym. Programowanie matematyczne zajmuje się metodami poszukiwania rozwiązań zadań, które w sposób ogólny można sformułować następująco: x f z imalizowac min z lub zowac Zmaksymali (1.1) D x warunku przy (1.2) Symbol x może oznaczać nieznaną liczbę rzeczywistą, nieznany wektor, którego składowymi są liczby rzeczywiste, nieznaną funkcję, nieznany wektor, którego składowymi są funkcje itd. W przypadku programowania liniowego x jest wektorem, którego składowymi są liczby rzeczywiste, tzn. jeżeli składowych tych jest n , to jest on elementem przestrzeni n-wymiarowej n i oznaczamy go zwykle symbolem x . Symbol f oznacza daną funkcję, której wartość poszukiwany x powinien maksymalizować (lub minimalizować). Funkcję tę nazywany funkcją celu lub funkcją kryterialną. W przypadku programowania liniowego ma ona postać: n n j j 1 1 x c ... x c ... x c z , gdzie c j są liczbami rzeczywistymi, czyli jest ona funkcją liniową. Symbol D oznacza dany zbiór, z którego można wybierać x . Zbiór ten może być określony układem warunków, które mogą być sformułowane np. w postaci równań i nierówności. Warunki te nazywamy warunkami ograniczającymi. W przypadku programowania liniowego mogą one mieć postać:

Upload: vubao

Post on 28-Feb-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 1

Notatki do tematu

Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych –

metody dla zagadnień liniowego programowania matematycznego

Liniowe zagadnienia decyzyjne – część I

Formułowanie, graficzne rozwiązywanie i graficzna analiza wrażliwości

1. Wstęp

Programowanie liniowe należy do jednych z nowszych dziedzin matematyki. Stanowi

ono dział szerszej dziedziny nazywanej programowaniem matematycznym.

Programowanie matematyczne zajmuje się metodami poszukiwania rozwiązań

zadań, które w sposób ogólny można sformułować następująco:

xfzimalizowacminzlubzowacZmaksymali (1.1)

Dxwarunkuprzy (1.2)

Symbol x może oznaczać nieznaną liczbę rzeczywistą, nieznany wektor, którego

składowymi są liczby rzeczywiste, nieznaną funkcję, nieznany wektor,

którego składowymi są funkcje itd. W przypadku programowania liniowego

x jest wektorem, którego składowymi są liczby rzeczywiste, tzn. jeżeli

składowych tych jest n , to jest on elementem przestrzeni n-wymiarowej n

i oznaczamy go zwykle symbolem x .

Symbol f oznacza daną funkcję, której wartość poszukiwany x powinien

maksymalizować (lub minimalizować). Funkcję tę nazywany funkcją celu

lub funkcją kryterialną. W przypadku programowania liniowego ma ona

postać: nnjj11 xc...xc...xcz , gdzie c j są liczbami rzeczywistymi,

czyli jest ona funkcją liniową.

Symbol D oznacza dany zbiór, z którego można wybierać x . Zbiór ten może być

określony układem warunków, które mogą być sformułowane np. w postaci

równań i nierówności. Warunki te nazywamy warunkami ograniczającymi.

W przypadku programowania liniowego mogą one mieć postać:

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 2

ininjij11i bxa...xa...xa , lub ininjij11i bxa...xa...xa , lub

ininjij11i bxa...xa...xa , oraz 0x j , gdzie ija są liczbami

rzeczywistymi, czyli są one równaniami lub nierównościami liniowymi.

Rozwiązaniem dopuszczalnym zadania programowania matematycznego nazywamy

każdy element x zbioru D .

Rozwiązaniem optymalnym zadania programowania matematycznego nazywamy

element x zbioru D maksymalizujący (lub minimalizujący) wartość funkcji )x(f .

W przypadku maksymalizacji jest to więc taki element x zbioru D , że:

xfxfmaxx D

Chociaż pierwsze opracowania na temat programowania liniowego pojawiły się

w latach trzydziestych ubiegłego stulecia, to jednak zasadniczy rozwój tej dziedziny

przypada na jego lata pięćdziesiąte. Rozwój ten związany był z zaproponowaniem

przez G. B. Dantzig'a metody rozwiązywania zadań programowania liniowego

nazwanej metodą simpleksową oraz opracowaniem programów komputerowych

w których zastosowano tę metodę do ich rozwiązywania. Miało to miejsce w latach

1951-54. Obecnie istnieją również inne metody rozwiązywania zagadnień

programowania liniowego, które zostaną przedstawione w innym opracowaniu.

Programowanie liniowe znalazło bardzo wszechstronne zastosowanie

w rozwiązywaniu zagadnień optymalizacji statycznej. Wynika to przede wszystkim

z prostoty formułowania zadań programowania liniowego oraz dużej efektywności

obliczeniowej metody simpleksowa. Metody programowania liniowego znalazły

najwcześniej zastosowanie głównie w trzech dziedzinach: w zagadnieniach

wojskowych, w zagadnieniach ekonomii gałęzi przemysłu oraz w zagadnieniach tzw.

gier dwuosobowych. Później główny ciężar zastosowań programowania liniowego

przesunął się na dziedzinę zastosowań przemysłowych. Można tutaj wymienić

następujące:

Przemysł chemiczny. Zastosowania w przemyśle chemicznym związane były głównie

z zagadnieniami sterowania (planowania) produkcji i zapasów.

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 3

Przemysł węglowy. W tej gałęzi przemysłu zastosowania programowania liniowego

związane były z zagadnieniami rozplanowania dostaw węgla z składnic do miejsc

zapotrzebowania.

Cywilne linie lotnicze. Prace w tej dziedzinie związane były z planowaniem lotów

i eksploatacją linii lotniczych.

Łączność. Główne prace dotyczyły optymalnego projektowania i wykorzystania sieci

telekomunikacyjnych.

Hutnictwo. W tej dziedzinie sformułowano szereg modeli odnoszących się do

planowania produkcji.

Przemysł papierniczy. Zastosowania w tej dziedzinie dotyczyły alokacji zamówień

w kilku zakładach, planowania transportu i asortymentu papierów.

Przemysł rafineryjny i petrochemiczny. Ta dziedzina przemysłu dostarczyła wielu

różnorodnych i interesujących zastosowań programowania liniowego. Najważniejsze

wśród nich dotyczyły komponowania różnych gatunków benzyn, optymalizacji dostaw

surowców do kilku rafinerii oraz optymalnego planowania produkcji i zapasów.

Kolejnictwo. Model programowania liniowego został tu zastosowany do optymalnego

planowania przebiegu pociągów towarowych na głównych trasach kolejowych.

Poza zastosowaniami przemysłowymi rozwijały się również zastosowania w innych

dziedzinach. Można tutaj wymienić zastosowania w agrotechnice, w analizach

ekonomicznych, w analizie ruchu drogowego.

2. Charakterystyka zadań programowania liniowego

2.1. Formułowanie zadań programowania liniowego

Załóżmy, że badamy system, istniejący rzeczywiście lub dopiero projektowany, na

którego działanie, to znaczy na to, jakie działalności będą przez niego realizowane,

jakie będą rozmiary tych działalności, ma wpływ szereg różnorakich czynników, jak

na przykład ludzie, surowce, wyposażenie technologiczne, pieniądze itp. Załóżmy

także, że dla systemu tego jesteśmy w stanie wskazać określony cel działania.

Podejście od strony programowania liniowego do takiego systemu polega na tym, iż

traktuje się system jako rozkładalny w tym sensie, że można w nim wyróżnić pewne

elementarne funkcje zwane działalnościami. Przykładem działalności może być

proces przerobu surowca na określonej instalacji technologicznej, proces

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 4

magazynowania surowca, półproduktu lub produktu, proces sprzedaży produktu lub

półproduktu itd. Każda, w taki sposób wyróżniona, działalność może być rozumiana

jako "magiczna skrzynka" do której wpływają pewne czynniki, które będziemy

nazywali wsadami, takie jak np. surowce, półprodukty, a z której wypływają inne

czynniki, które będziemy nazywali uzyskami, takie jak np. półprodukty, produkty.

Szczegóły tego co dzieje się wewnątrz skrzynki interesują jedynie technologa lub

konstruktora. Formułującego zadanie programowania liniowego interesują jedynie

strumienie wsadów i uzysków oraz ich rozmiary. Różne postacie wsadów i uzysków

stanowią składniki działalności. Po określeniu zbioru działalności składających się

na badany system należy wybrać dla każdej z nich, spośród jej składników, takie

wielkości, które w sposób jednoznaczny określają jej intensywność. Wielkością taką

może być np. jeden z wsadów. Wielkości te nazywa się zwykle zmiennymi

decyzyjnymi lub wielkościami decyzyjnymi. W zadaniach programowania liniowe-

go dla tak określonych działalności spełnione są następujące założenia:

Założenie 1: PROPORCJONALNOŚĆ

Wartości wsadów i uzysków różnych składników działalności są zawsze

proporcjonalne do jej intensywności. Jeżeli chcemy realizować jakąś działalność

z podwójną intensywnością, to musimy się liczyć z dwukrotnym zwiększeniem

wielkości wsadów i uzysków.

Założenie 2: NIEUJEMNOŚĆ

Wartości wybranej wielkości charakteryzującej intensywność określonej działalności

muszą być nieujemne.

Założenie 3: ADDYTYWNOŚĆ

Poszczególne składniki zdefiniowanych działalności systemu, wsady i uzyski,

powiązane są ze sobą szeregiem zależności. System jest również zwykle połączony

z otoczeniem np. przez działalności zakupu surowców, sprzedaży produktów itd.

W zadaniu programowania liniowego wszystkie te zależności muszą być wyrażone

za pomocą zależności liniowych.

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 5

Założenie 4: LINIOWOŚĆ FUNKCJI CELU

Miara efektywności osiągania celu systemu musi być funkcją liniową intensywności

działalności zdefiniowanych w systemie.

REASUMUJĄC: w procesie formułowania zadania programowania liniowego należy

uwzględnić następujące podstawowe etapy:

(1) Rozłożyć badany system na pewne elementarne funkcje zwane działalnościami;

dla każdej z nich określić wsady i uzyski

(2) Dla każdej działalności określić zbiór wielkości decyzyjnych określających

jednoznacznie rozmiary ilościowe działalności

(3) Zbudować układ algebraicznych zależności liniowych opisujących system i jego

powiązania z otoczeniem.

(4) Utworzyć liniową funkcję celu systemu.

2.2. Postać matematyczna zadań programowania liniowego

Na podstawie przedstawionego przykładu widać, że w ogólnej postaci sformułowania

zadania programowania liniowego wystąpią następujące składniki:

(1) funkcja celu postaci:

nnjj11 xc...xc...xczimalizowacminzlubzowacZmaksymali (2.7)

(2) zasadnicze warunki ograniczające o jednej z następujących postaci:

a x a x a x b i k i Ni ij j in n i1 1 11 ... ... , , , (2.8)

a x a x a x b i k k i Ni ij j in n i1 1 1 21 ... ... , , , (2.9)

a x a x a x b i k m i Ni ij j in n i1 1 2 1 ... ... , , , (2.10)

(3) warunki nieujemności postaci:

ns,s,1j,0x j (2.11)

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 6

Warunki nieujemności nie muszą dotyczyć wszystkich zmiennych. Jeżeli ns , to

warunki nieujemności nazywamy pełnymi.

Przedstawiona powyżej postać sformułowania zadania programowania liniowego

nazywana jest postacią mieszaną.

Metoda simpleksowa wykorzystuje postać zapisu zadania programowania liniowego

zwaną postacią standardową. Postać ta charakteryzuje się tym, że:

(1) zasadnicze warunki ograniczające są dane w postaci równań;

(2) elementy prawej strony ograniczeń bi są liczbami nieujemnymi;

(3) warunki nieujemności są pełne.

Zatem zadanie programowania liniowego w postaci standardowej ma postać:

Zapis I standardowej postaci zadania programowania liniowego:

nnjj11 xc...xc...xcz

:celufunkcjeliniowaimalizowacminzlubzowacZmaksymali

(2.12)

przy ograniczeniach:

0b,bxa...xa...xa

....................................................

0b,bxa...xa...xa

....................................................

0b,bxa...xa...xa

mmnmnjmj11m

iininjij11i

11nn1jj1111

(2.12)

n,1j,0x j (2.13)

Przy rozwiązywaniu zadań programowania liniowego

metodą simpleks, należy je zapisać w postaci standardowej

Jeżeli sformułowane przez nas zadanie programowania liniowego ma postać

mieszaną musimy przed przystąpieniem do jego rozwiązania sprowadzić go do

postaci standardowej. Można to zrobić korzystając z następujących zasad:

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 7

Zasada 1.

Jeżeli 0bi , to i-te ograniczenie należy pomnożyć przez -1

Zasada 2.

Jeżeli zmienna jx ma być ujemna, dokonujemy podstawienia:

x x xj j j 0 (2.14)

Zasada 3.

Jeżeli zmienna jx nie ma ograniczenia na znak, dokonujemy podstawienia:

0x,0x,xxx jjjjj (2.15)

Zasada 4.

Każda nierówność:

ininjij11i bxa...xa...xa (2.17)

jest równoważna układowi warunków:

a x a x a x x b xi ij j in n n i i n i1 1 0 ... ... , (2.18)

Zasada 5.

Każda nierówność:

a x a x a x bi ij j in n i1 1 ... ... (2.19)

jest równoważna układowi warunków:

a x a x a x x b xi ij j in n n i i n i1 1 0 ... ... , (2.20)

Zmienną xn i , którą dodajemy lub odejmujemy od lewej strony nierówności, aby tę

nierówność zamienić na równoważne równanie, nazywamy zmienną swobodną lub

uzupełniającą. Zmienną dodawaną do lewej strony nierówności nazywamy zmienną

niedoboru, zaś zmienną odejmowaną od lewej strony nierówności nazywamy

zmienną nadmiaru. Wprowadzone zmienne uzupełniające wchodzą do funkcji celu

ze współczynnikami równymi zeru.

W zadaniach programowania liniowego możemy, jak to zaznaczono wyżej, rozważać

dwa rodzaje optymalizacji funkcji celu: maksymalizację lub minimalizację. Z punktu

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 8

widzenia postępowania obliczeniowego wygodnie jest ograniczyć się do

rozpatrywania zadań o jednym rodzaju optymalizacji np. maksymalizacji. Nie

zmniejsza to ogólności rozważań ponieważ zawsze można zastąpić jeden rodzaj

optymalizacji rodzajem przeciwnym. Rozważać będziemy zadania maksymalizacji.

Twierdzenie 2.1:

Zadanie programowania liniowego z funkcją celu:

nnjj11 xc...xc...xczwacMinimalizo (2.21)

jest równoważne zadaniu programowania liniowego z funkcją celu:

nnjj11 xc...xc...xczowacMaksymaliz (2.22)

Jest przy tym spełniona zależność:

zminzmax

Słuszne jest również następujące twierdzenie:

Twierdzenie 2.2:

Jeżeli w zadaniu programowania liniowego zastąpimy funkcję celu postaci:

z c x c x c xj j n n 1 1 ... ... (2.23)

funkcją celu postaci:

0p,dxc...xc...xcpz nnjj11 (2.24)

to rozwiązanie optymalne, o ile ono istnieje, dla obu zadań będzie identyczne.

Dla standardowej postaci zadania programowania liniowego stosuje się różne jej

zapisy. Poza zapisem I przedstawionym powyżej można najczęściej spotkać

następujące:

Zapis II:

n

1j

jj xczzowacZmaksymali (2.25)

n

1j

iijij m,1i,0b,bxaiachograniczenprzy (2.26)

n,1j,0x j (2.27)

Zapis III:

xcTzzowacZmaksymali (2.28)

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 9

0bbxA ,iachograniczenprzy (2.29)

x 0 (2.30)

gdzie:

m

i

1

n

j

1

n

j

1

mnmj1m

inij1i

n1j111

b

b

b

,

c

c

c

,

x

x

x

,

aaa

aaa

aaa

bcxA

Zapis IV:

n

1j

jj xczzowacZmaksymali (2.31)

0bba

,xiachograniczenprzyn

1j

jj (2.32)

n,1j,0x j (2.33)

gdzie:

m

i

1

mj

ij

j1

j

b

b

b

,

a

a

a

ba

2.3. Graficzne rozwiązywanie zadań programowania liniowego - studium

przypadków

Powyżej podany był przykład pokazujący w jaki sposób można formułować zadania

programowania liniowego. Pokażemy w jaki sposób można graficznie rozwiązywać

zadania programowania liniowego. W sposób graficzny można rozwiązywać zadania

z dwiema zmiennymi decyzyjnymi. W praktyce zadań o takim rozmiarze raczej się

nie spotyka, jednakże na takich przykładach można dobrze zilustrować pewne

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 10

podstawowe pojęcia wykorzystywane przy rozwiązywaniu i analizie zadań

programowania liniowego o dużych rozmiarach.

Przykład 1.

Pewna firma produkuje dwa rodzaje farb: dla prac wewnętrznych (I) i zewnętrznych

(E). Wyprodukowane farby kierowane są do sprzedaży hurtowej. Do produkcji farb

stosuje się dwa surowce A i B. Maksymalne dostępne dziennie ilości tych surowców

wynoszą odpowiednio 6 i 8 t. Zużycie surowców A i B na jedną tonę odpowiedniej

farby podaje tabela.

Surowiec Zużycie surowca w tonach Maksymalna

na tonę farby dostępna dziennie

Farba E Farba I ilość surowca

A 1 2 6

B 2 1 8

Badanie rynku pokazało, że dzienny popyt na farbę I nigdy nie przewyższa popytu na

farbę E o więcej niż 1 tonę. Poza tym ustalono, że popyt na farbę I nigdy nie

przekracza 2 ton na dobę. Ceny hurtowe jednej tony farb są równe: 3j.p. dla farby E, i

2j.p. dla farby I.

Jakie ilości farby E i I powinna produkować firma, aby dochód z produkcji był

maksymalny?

Rozwiązując to zadanie można wyróżnić dwie działalności: produkcja farby E i

produkcja farby I. Jako zmienne decyzyjne dla tych działalności dogodnie jest

przyjąć:

1x - dzienna produkcja farby E w tonach;

2x - dzienna produkcja farby I w tonach.

Funkcja celu:

Zmaksymalizować z x x 3 21 2

Ograniczenia:

Zasoby dzienne surowca A 6x2x 21

Zasoby dzienne surowca B 2 81 2x x

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 11

Różnica popytu na farbę I i E x x1 2 1

Popyt na farbę I x2 2

Warunki nieujemności x x1 20 0 ,

Pierwszy krok przy graficznym rozwiązywaniu zadania programowania liniowego -

graficzne przedstawienie obszaru rozwiązań dopuszczalnych. Obszar ten dla

przykładu przedstawiony jest jako zacieniowany wielokąt ABCDEF na rys. 2.7.

W każdym punkcie tego obszaru spełnione są wszystkie ograniczenia zadania.

Rys.2.7. Przykład 1. Obszar rozwiązań dopuszczalnych i linia stałej wartości funkcji

celu

Drugi krok to wrysowanie lini stałej wartości funkcji celu i zaznaczenie kierunku jej

wzrostu. Na rys. 2.7 jest to prosta przechodząca przez początek układu

współrzędnych.

Aby znaleźć rozwiązanie optymalne przemieszczamy prostą stałej wartości funkcji

celu w kierunku jej wzrostu (rozwiązujemy zagadnienie maksymalizacji) dopóty,

dopóki nie znajdzie się ona na granicy obszaru rozwiązań dopuszczalnych (rys.2.8).

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 12

W naszym przykładzie nastąpi to w punkcie C. Punkt C jest punktem przecięcia

prostych ograniczeń (1) i (2); wartości zmiennych 1x i 2x w tym punkcie można

zatem otrzymać jako rozwiązanie układu równań:

8xx2

6x2x

21

21

Rozwiązanie to wynosi: x x11

3 21

33 1 , , a odpowiadająca temu rozwiązaniu wartość

funkcji celu wynosi z 12 23 .

Rys. 2.8. Przykład 1. Znajdowanie rozwiązania optymalnego

Zwróćmy uwagę, że rozwiązanie optymalne związane jest z punktem

wierzchołkowym obszaru rozwiązań dopuszczalnych. Jest to cecha

charakterystyczna rozwiązań optymalnych zadań programowania liniowego.

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 13

Zwróćmy uwagę na jeszcze jeden fakt. Zasadnicze ograniczenia naszego zadania

sprowadzone do postaci standardowej mają postać (układ równań liniowych):

2xx

1xxx

8xxx2

6xx2x

62

521

421

321

Mamy zatem 6n , 4m . Ustaliliśmy już, że w punkcie optymalnym

x x11

3 21

33 1 , . W punkcie tym oczywiście x x3 4 0 . Nietrudno policzyć, że

x x5 62

33 , . Rozwiązanie optymalne naszego zadania, sformułowanego w postaci

standardowej wynosi zatem:

32

31

31

3

0

0

1

3

x

Widać, że w rozwiązaniu tym liczba niezerowych składowych wynosi 4 (pozostałe

składowe są równe zeru) i jest równa liczbie zasadniczych ograniczeń naszego

zadania. Rozwiązanie o takich właściwościach nosi nazwę rozwiązania bazowego.

Można, postępując podobnie jak powyżej, pokazać, że rozwiązania związane z

wszystkimi punktami wierzchołkowymi obszaru rozwiązań dopuszczalnych są

rozwiązaniami bazowymi tzn. mają co najwyżej m składowych niezerowych.

Pokażemy teraz, wykorzystując możliwości metody graficznej rozwiązywania zadań

programowania liniowego, w jaki sposób można analizować wrażliwość otrzymanego

rozwiązania optymalnego na zmiany parametrów modelu. Później pokażemy, w jaki

sposób analizy takie można uzyskać korzystając z danych obliczeniowych metody

simpleks.

Pierwsze zadanie analizy wrażliwości

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 14

Po znalezieniu rozwiązania optymalnego w pełni uzasadnione jest pytanie o to, jak

mogą wpłynąć na to rozwiązanie zmiany zasobów odpowiednich składników

procesów. Interesujące są dwa następujące aspekty:

(1) O ile można zwiększyć zasób określonego składnika dla poprawienia wartości

funkcji celu z ?

(2) O ile można zmniejszyć zasób określonego składnika przy zachowaniu

otrzymanej wartości funkcji celu z .

Ponieważ zasoby każdego ze składników określone są przez prawe strony

ograniczeń, ten rodzaj analizy wrażliwości zwykle nazywa się analizą wrażliwości

na zmiany prawej strony ograniczeń.

Zanim odpowiemy na te pytania dokonamy pewnej klasyfikacji ograniczeń modelu

liniowego. Dla otrzymanego rozwiązania optymalnego możemy ograniczenia

modelu podzielić na: aktywne i nieaktywne. Jeżeli ograniczenie odpowiadające

danemu składnikowi przechodzi przez punkt rozwiązania optymalnego, to

ograniczenie takie nazywamy aktywnym; w przeciwnym przypadku nazywamy je

nieaktywnym. W naszym przykładzie dla otrzymanego rozwiązania ograniczeniami

aktywnymi są ograniczenia (1) i (2), nieaktywnymi (3) i (4). Jeżeli jakieś ograniczenie

jest aktywne to odpowiadający mu składnik nazywamy deficytowym, ponieważ jest

on wykorzystywany w całości. Składnik z którym związane jest ograniczenie

nieaktywne nazywamy niedeficytowym tzn. posiadanym w pewnym nadmiarze.

W analizie wrażliwości na zmiany prawej strony określa się:

(1) największe dopuszczalne zwiększenie zasobu składnika deficytowego,

pozwalające zwiększyć wartość funkcji celu z;

(2) największe dopuszczalne zmniejszenie zasobu składnika niedeficytowego, nie

zmieniające otrzymanej wartości funkcji celu z.

W naszym przykładzie deficytowymi składnikami są zasoby surowców A i B. Na rys.

2.9 przedstawiono sposób określenia granicy do jakiej można by zwiększyć zasób

składnika A, aby poprawić wartość funkcji celu z . W punkcie K ograniczeniami

aktywnymi są ograniczenia (2) i (4), a obszarem rozwiązań dopuszczalnych staje się

wielokąt ABKEF. W punkcie tym ograniczenie (1) (na zasób surowca A) staje się

ograniczeniem zbędnym, ponieważ jakikolwiek dalszy wzrost zasobu surowca A nie

wpływa na obszar rozwiązań dopuszczalnych. Zatem, ilość zasobu surowca A nie

należy zwiększać ponad wartość, przy której odpowiadające mu ograniczenie stanie

się zbędnym tj. prosta (1) przejdzie przez nowy punkt optymalny K. Nietrudno

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 15

policzyć współrzędne tego punktu: x x1 23 2 , i odpowiadający mu zasób surowca

A wynoszący 7t.

Rys. 2.9. Przykład 1. Analiza wrażliwości rozwiązania na zmianę prawej strony –

ograniczenia aktywne

Na rys. 2.9 przedstawione jest też zobrazowanie analogicznej analizy dla zasobów

surowca B.

Rozważymy teraz zagadnienie zmniejszania elementów prawej strony dla ograniczeń

nieaktywnych. Zilustrowanie tej analizy przedstawione zostało na rys. 2.10.

Ograniczenie (4) określa graniczny poziom popytu na farbę I. Z rysunku wynika, że,

nie zmieniając optymalnego rozwiązania, można prostą (4) obniżyć aż do przecięcia

się jej z punktem optymalnym: x x11

3 21

33 1 , - obniżenie popytu na farbę I do

poziomu x21

31 nie wpłynie na rozwiązanie optymalne. Podobną analizę można

przeprowadzić dla ograniczenia (3) - różnicy popytu. Nie zmieniając optymalnego

rozwiązania można prostą (3) przesunąć aż do przecięcia się jej z punktem optymal-

nym. W punkcie tym prawa strona ograniczenia (3) przyjmie wartość -2. Zatem -

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 16

rozwiązanie optymalne nie zmieni się, jeżeli popyt na farbę E przewyższy popyt na

farbę I o nie więcej niż 2t. Wyniki przeprowadzonej analizy można zawrzeć w tabeli.

Maksymalna Maksymalna

Zasób Rodzaj zasobu zmiana ilości zmiana dochodu

zasobu przy zmianie

1 Deficytowy + 1 + 1/3

2 Deficytowy + 4 + 5 1/3

3 Niedeficytowy - 3 0

4 Niedeficytowy - 2/3 0

Rys. 2.10. Przykład 1. Analiza wrażliwości rozwiązania na zmianę prawej strony –

ograniczenia nieaktywne

Drugie zadanie analizy wrażliwości

W pierwszym zadaniu analizy wrażliwości badaliśmy wpływ na rozwiązanie

optymalne zasobów deficytowych składników. Przy ograniczeniach na nakłady,

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 17

związane z pozyskaniem większej ilości zasobów istotne może być pytanie: który z

zasobów należy powiększać w pierwszej kolejności? W tym celu wprowadzimy

charakterystykę cenności każdej dodatkowej jednostki zasobu składnika

deficytowego:

zasobu iy przyrostlnay dopuszczlnMaksyma

lu zfunkcji ce wartosci y przyrostlnMaksymai

Korzystając z danych uzyskanych w poprzednim zadaniu możemy określić cenności

każdego z zasobów. Wyniki zestawione są w tabeli.

Zasób Rodzaj zasobu Wartość i

j.p./t

1 Deficytowy 3

11

2 Deficytowy 3

42

3 Niedeficytowy 03

4 Niedeficytowy 04

Uzyskane wyniki wskazują, że dodatkowe nakłady w pierwszej kolejności należy

skierować na pozyskanie dodatkowych ilości składnika B, a potem składnika A.

Trzecie zadanie analizy wrażliwości

W trzecim zadaniu analizy wrażliwości próbujemy odpowiedzieć na pytanie: jak na

otrzymane rozwiązanie optymalne wpływają zmiany współczynników funkcji celu?

Zmiana współczynników funkcji celu wpływa na nachylenie prostej stałej wartości

funkcji celu. Można zauważyć, że wybór tego lub innego punktu wierzchołkowego

jako punktu rozwiązania optymalnego zależy, przy określonym zbiorze rozwiązań

dopuszczalnych, właśnie od nachylenia prostej stałej wartości funkcji celu. Oznacza

to, że zmiana współczynników funkcji celu może prowadzić do zmiany punktu

rozwiązania optymalnego i związanej z tym zmiany zbioru ograniczeń aktywnych i

statusu tego lub innego składnika (tzn. składnik deficytowy może stać się

niedeficytowy i na odwrót). Można zatem rozważać następujące zagadnienia:

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 18

(1) Jaki jest przedział zmian (zmniejszenia lub zwiększenia) tego lub innego

współczynnika funkcji celu, dla którego nie dochodzi do zmiany rozwiązania

optymalnego?

(2) O ile należy zmienić ten lub inny współczynnik funkcji celu, aby uczynić

określony składnik niedeficytowy deficytowym i na odwrót?

Rozważymy najpierw pierwsze zagadnienie dla naszego przykładu. Postać funkcji

celu w przykładzie jest następująca:

2211 xcxcz

Dla przykładu spróbujmy określić przedział zmian const2 przy cc 21 , a potem

c c const2 1 3 przy . Zilustrowanie takiej analizy przedstawione jest na rys. 2.11. Jej

wynik jest następujący:

przy

przy 32

c const c

c const c

2 1

1 2

2 1 4

3 6

Dla każdej z tych sytuacji, jeżeli wartości współczynników funkcji celu wyjdą poza

wskazany przedział, otrzymamy albo alternatywne rozwiązania optymalne (punkty C

i D lub C i B) albo nowe rozwiązanie optymalne (punkt D lub B).

Dla pierwszej analizowanej sytuacji, kiedy tylko cena c1 1 , składnik 2 staje się

niedeficytowym, a składnik 4 deficytowym. Oznacza to że, jeżeli cena farby E stanie

się mniejsza niż 1 j.p. należy zmienić plan produkcji - produkować maksymalnie

dopuszczalną ilość farby I i ograniczyć produkcję farby E. Podobne analizy można

przeprowadzić dla pozostałych możliwych sytuacji.

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 19

Rys. 2.11. Przykład 1. Analiza wrażliwości na zmiany współczynników funkcji celu

Przykład 2.

21 xx3zzowacZmaksymali

przy ograniczeniach:

x x

x x

x x

x x

x x

1 2

1 2

1 2

1 2

1 2

4

4 3 12

1

6

0 0

,

Ilustracja graficzna przykładu przedstawiona jest na rys. 2.12. Jest to przykład

zawierający ograniczenia zbędne. Rozwiązanie optymalne osiągane w punkcie B

wynosi 043.2029.429.229.1T x i zawiera 4 = m składowych niezerowych.

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 20

Rys. 2.12. Przykład 2. Zbędne ograniczenia

Przykład 3.

21 x9x3zzowacZmaksymali

przy ograniczeniach:

x x

x x

x x

1 2

1 2

1 2

4 8

2 4

0 0

,

Ilustracja graficzna przykładu przedstawiona jest na rys. 2.13. Jest to przykład

zawierający ograniczenie zbędne, przechodzące przez punkt rozwiązania

optymalnego. Rozwiązanie optymalne osiągane w punkcie C wynosi

0020T x zawiera 1 < m = 2 składową niezerową. Rozwiązanie takie

nazywamy rozwiązaniem zdegenerowanym. Punkty rozwiązań zdegenerowanych

mogą wystąpić w zadaniu również jako rozwiązania nieoptymalne.

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 21

Rys. 2.13. Przykład 3. Rozwiązanie optymalne zdegenerowane

Przykład 4.

21 x2x3zzowacZmaksymali

przy ograniczeniach:

x x

x x

x x

x x

1 2

1 2

1 2

1 2

2 4

3 2 14

3

0 0,

Ilustracja graficzna przykładu przedstawiona jest na rys. 2.14. Jest to przykład

ilustrujący możliwość wystąpienia rozwiązań optymalnych wielokrotnych.

Punktami wierzchołkowymi rozwiązań optymalnych są punkty C

( 00614T x ) oraz D ( 75.3005.35.2T x ). W obydwu tych

punktach wartość funkcji celu wynosi 14z . Taką samą wartość funkcji celu daje

oczywiście każdy punkt leżący na prostej (2). Współrzędne tych punktów można

obliczyć w następujący sposób:

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 22

xxx )1(

To ostatnie wyrażenie mówi, że punkt x jest wypukłą kombinacją liniową punktów

xx i .

Rys. 2.14. Przykład 4. Rozwiązania optymalne wielokrotne

Przykład 5.

21 xxzzowacZmaksymali

przy ograniczeniach:

5 0

2 4

2 0

0 0

1 2

1 2

1 2

1 2

x x

x x

x x

x x,

Ilustracja graficzna przykładu przedstawiona jest na rys. 2.15. Jest to przykład

ilustrujący możliwość wystąpienia rozwiązań dających nieskończoną wartość funkcji

celu czyli tzw. rozwiązań nieograniczonych. Przypadek ten jak widać może

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 23

wystąpić (chociaż nie musi - patrz przykład 6), jeżeli obszar rozwiązań

dopuszczalnych jest nieograniczony.

Rys. 2.15. Przykład 5. Rozwiązania nieograniczone

Przykład 6.

21 x2x6zzowacZmaksymali

przy ograniczeniach:

4

x1

2 2

0 0

1 2

1

2

x x

x

x

,

Ilustracja graficzna przykładu przedstawiona jest na rys. 2.16. Jest to przykład

ilustrujący istnienie skończonych rozwiązań optymalnych przy nieograniczonym

obszarze rozwiązań dopuszczalnych.

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 24

Rys. 2.16. Przykład 6. Skończone rozwiązanie optymalne przy nieograniczonym

obszarze rozwiązań dopuszczalnych

Przykład 7.

21 xxzzowacZmaksymali

0,x0 x

5xx5

10xx2

2xx5.0

4xx2 iczeniach:przy ogran

21

21

21

21

21

Ilustracja graficzna przykładu przedstawiona jest na rys. 2.17. Jest to przykład

ilustrujący możliwość braku rozwiązań dopuszczalnych.

Komputerowe wspomaganie decyzji 2008/2009 Liniowe zagadnienia decyzyjne

Kazimierz Duzinkiewicz 25

Rys. 2.17. Przykład 7. Brak rozwiązań dopuszczalnych