• Nie Znaleziono Wyników

Zastosowanie programowania liniowego ...

N/A
N/A
Protected

Academic year: 2021

Share "Zastosowanie programowania liniowego ..."

Copied!
6
0
0

Pełen tekst

(1)

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

Wstęp

Problem podejmowania decyzji jest jednym z zagadnień sterowania nadrzędnego. Proces podejmowania decyzji obejmuje trzy podstawowe fazy:

- rozpoznanie celu problemu,

- zbudowanie modelu sytuacji decyzyjnej, - wybór decyzji.

Budowa modeli ujmujących złożoność problemów decyzyjnych w logiczne ramy stanowi istotę podejścia charakterystycznego dla badań operacyjnych. Modele takie powinny jak najlepiej odzwierciedlać badany system produkcyjny (ekonomiczny), a jego zachowanie powinno być na tyle analogiczne do zachowania rzeczywistego systemu, aby na jego postawie móc badać i zmieniać w pożądany sposób dany system. W większości modele badań operacyjnych wykorzystywane są do wyznaczania działań optymalnych, dlatego nazywa się je modelami optymalizacyjnymi.

Spośród różnych analitycznych metod stosowanych do rozwiązywania takich problemów do najefektowniejszych zaliczane jest programowanie liniowe (linear programming). Zadanie programowania liniowego zawierające tylko dwie zmienne decyzyjne można prosto rozwiązać w sposób graficzny. Zagadnienia o większej liczbie zmiennych efektywnie można rozwiązać za pomocą programów służących do obliczeń numerycznych np. MATLAB-a.

Najczęściej stosowanymi problemami rozwiązywanymi za pomocą programowania liniowego są zagadnienia transportowe i problem optymalnych mieszanek:

1. Modele transportowe

Problem transportowy w praktyce najogólniej określany jest jako problem optymalnej dystrybucji towarów. Rozwiązanie problemu transportowego daje odpowiedź na pytanie, jak przy najmniejszych kosztach zorganizować przewozy masy towarowej od dostawców do odbiorców. Z problemami transportowymi wiążą się również takie zagadnienia jak: transportowo-produkcyjne, lokalizacji obiektów, problem obsady, problem pustych przebiegów itd.

(2)

Przykład 1

Dwa gatunki węgla A i B zawierają zanieczyszczenia fosforem i popiołem. W pewnym procesie przemysłowym potrzeba co najmniej 90 ton żeliwa zawierającego nie więcej niż 0.03% fosforu i nie więcej niż 4% popiołu. Procent zanieczyszczeń i ceny zakupu poszczególnych gatunków węgla (w jednostkach względnych) podaje tablica 1.

Tablica 1

Gatunek Procentowe zawartości zanieczyszczeń Cena zakupu

Węgla fosforu popiołu 1 tony węgla (j. wzg)

A 0,02 3 500

B 0,05 5 400

Problem:

Jak zmieszać wymienione dwa gatunki węgla, aby uzyskać paliwo o możliwie najniższym koszcie, spełniające wyżej wymienione wymagania ?

Rozwiązanie:

Należy zbudować model matematyczny opisujący przedstawioną sytuację. Niech X1 oznacza

gatunek węgla A, a X2 gatunek węgla B.

Pierwsze równanie dotyczy minimalnej ilości węgla (w tonach) potrzebnej w rozpatrywanym procesie przemysłowym:

X1 + X2 >= 90

Ograniczenia jakościowe są następujące:

0,02*X1 + 0,05*X2 <= 0,03*(X1 + X2 )

3*X1 + 5*X2 <= 4*(X1 + X2 )

Funkcja celu jest następująca:

F(X1, X2) = 500*X1 + 400*X2 --> min

W sytuacji gdy mamy do czynienia tylko z dwiema zmiennymi decyzyjnymi problem optymalizacji możemy rozwiązać metodą geometryczną.

(3)

Metoda geometryczna

Polega na wykreśleniu funkcji opisujących poszczególne zmienne na wykresie X1-0-X2. Otrzymamy w ten sposób obszar możliwych rozwiązań (rys.1). Tylko punkty przecięcia ograniczające poszczególne obszary mogą być rozwiązaniem zagadnienia.

W celu określenia minimum funkcji celu wartości współrzędnych poszczególnych punktów przecięcia wstawiamy do równania funkcji celu i obliczamy jej wartość. Wartość minimalna funkcji celu w jednym z punktów przecięcia określi poszukiwane wartości zmiennych decyzyjnych X1, X2. 0 10 20 30 40 50 60 70 80 90 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 X1 X2 0.02x1+0.05x2<=0.03*90 3x1+5x2<=4*90 x1+x2>=90

Rys.1 Obszary ograniczeń

W naszym przykładzie obszar ograniczający to: ABCD Punkty przecięcia to: A(60,30); B(90,18); C(120,0); D(90,0); Funkcja celu w tych punktach ma wartość:

F(X1A, X2A) =42000 --> minimum

F(X1B, X2B) =52200

F(X1C, X2C) =60000

(4)

Programowanie liniowe w MATLAB-ie

Problem programowania liniowego definiuje się w postaci :

min

f x

'

przy ograniczeniach liniowych

Ax

b

oraz więzach nakładanych na zmienne

vlb ≤ ≤x vub

gdzie:

x jest wektorem zmiennych optymalizowanych,

f, b są danymi wektorami współczynników liczbowych, A jest macierzą,

vlb , vub są wektorami ograniczającymi zakres zmiennych optymalizowanych.

Przy wystąpieniu ograniczeń równościowych powinny być one umieszczone w pierwszych wierszach macierzy A i wektora b.

Dla naszego przykładu macierz A i pozostałe wektory mają postać:

          − − − − = 1 1 02 , 0 01 , 0 1 1 A ,          − = 0 0 90 b ,       = 400 500 f ,      = 0 0 lb v ,      = 100 100 ub v Instrukcje w MATLABie: A=[-1 -1; -0.01 0.02; -1;1]; b=[-90 0 0]'; f=[500 400]'; vlb=[0 0]'; vub=[100 100]'; x0=[0 0]';

Rozwiązanie problemu optymalizacyjnego za pomocą polecenia:

x=lp(f,A,b,vlb,vub,x0,1)

przy założonych dowolnych wartościach x0 uzyskuje się rozwiązanie optymalne: x =

60.0000 30.0000

(5)

Przykład 2

Należy znaleźć min -> -5x1+4x2-10x3

przy ograniczeniach liniowych: x1+x2=0

x1 - x2 +x3 <= 30

x1 - 2x2 -5x3 <= 50

3x1-x2 <= 10

oraz więzach nakładanych na zmienne -10<= x1 <=10,

-5<= x2 <=15,

0<= x3 <=5,

Rozwiązanie:

W programie MATLAB należy przygotować poszczególne wektory i macierze w następującej postaci: A = − − −             1 1 0 1 1 1 1 2 5 3 1 0 , b =             0 30 50 10 , f = − −           5 4 10 , vlb = − −           10 5 0 , vub =           10 15 5 Instrukcje w MATLABie: A=[1 1 0; 1 -1 1;2 1 5; 1 -1 1]; b=[0 30 50 0]';

(6)

-2.5000 5.0000 Rozwiązanie: x1= 2.5 x2= -2.5 x3= 5.0

Cytaty

Powiązane dokumenty

Rozwiązywanie zadań programowania liniowego 13 Różne sposoby prowadzenia jądra lub jego reprezentacji, odnawiania go przy zmianie bazy oraz realizacji operacji z jego

Jako punkt uzyskany przy pomocy metody sympleksowej z∗ jest punktem wierzchołkowym zbioru Z.. Poniewaz˙ z∗ jest punktem wierzchołkowym zbioru Z, wiec ˛ to oznacza,

ii) Pan Aleksander stwierdzi l, ˙ze ´ srednie ryzyko portfela nie powinno przekroczy´ c 4 p. Zgodnie z nowymi przepisami firma budowalna Burz i buduj musi zagwarantowa´ c

[r]

PROJEKTOWANIE TRANZYSTOROWEGO UKŁADU LOGICZNEGO Z WYKORZYSTANIEM METODY PROGRAMOWANIA LINIOWEGO.. Bohdan WOJTOWICZ Pracy złożono

Znajdź funkcję celu oraz wartości, dla których funkcja celu przyjmuje największą

S p ro wa dz en ie problemu pr og ra mo wa ni a liniowego do problemu rozwiązania układu nier ów no śc i może być przeprowadzone no podstawie teo­.. rii du al no śc i

1. Firma produkuje dwa produkty A i B, których rynek zbytu jest nieograniczony. Każdy z produktów wymaga obróbki na każdej z maszyn I, II, III. Firma potrzebuje węgiel z