Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Algorytm - Notatki - Badania operacyjne, Notatki z Badania operacyjne

Notatki odnoszące się do badań operacyjnych: algorytm; definicja i załozenia.

Typologia: Notatki

2012/2013

Załadowany 05.03.2013

Osholom
Osholom 🇵🇱

4.5

(35)

304 dokumenty

1 / 4

Toggle sidebar

Ta strona nie jest widoczna w podglądzie

Nie przegap ważnych części!

bg1
Algorytm
1. Znaleźć rozwiązanie optymalne zadania programowania liniowego (bez warunku
całkowitoliczbowości).
2. Jeżeli rozwiązanie to jest całkowite, to problem został rozwiązany (koniec metody) w przeciwnym
wypadku idź do 3.
Konstruujemy dodatkowe ograniczenia (odcięcia):
3. Wybierz zmienną xk która ma wartość niecałkowitą w ostatnim rozwiązaniu.
4. W l-tym równaniu współczynnik przy tej zmiennej wynosi „1”. Zastąp współczynniki i stałą w l-
tym równaniu ich częściami ułamkowymi: -2 zastąp przez 0, 24/7 przez 4/7, -2/3 przez -2/3, -31/6
przez -1/6.
5. Dodaj 1 do każdego ujemnego ułamka wynikającego z kroku 4 i zapisz otrzymane równanie jako
ograniczenie nierównościowe ze znakiem „>=”
6. Zamień ograniczenie nierównościowe na równość (wprowadź zmienną osłabiającą i sztuczną).
Dołącz równanie na koniec układu równań z ostatniej tablicy sympleksowej i przydziel nowej
zmiennej dowolnie duży dodatni współczynnik kosztu M (czyli wprowadź ją do funkcji celu ze
współczynnikiem M)
7. Wykonaj dodatkowe iteracje metody sympleks dla nowej tablicy i wróć do kroku 2.
Przykład
min z=-x1-x2
2x1+x2<=6
4x1+5x2<=20
x1,x2>=0 i całkowite
Postać standardowa:
min z=-x1-x2
2x1+x2+x3=6
4x1+5x2+x4=20
x1,x2>=0 i całkowite
x3,x4>=0
docsity.com
pf3
pf4

Podgląd częściowego tekstu

Pobierz Algorytm - Notatki - Badania operacyjne i więcej Notatki w PDF z Badania operacyjne tylko na Docsity!

Algorytm

  1. Znaleźć rozwiązanie optymalne zadania programowania liniowego (bez warunku całkowitoliczbowości).
  2. Jeżeli rozwiązanie to jest całkowite, to problem został rozwiązany (koniec metody) w przeciwnym wypadku idź do 3.

Konstruujemy dodatkowe ograniczenia (odcięcia):

  1. Wybierz zmienną xk która ma wartość niecałkowitą w ostatnim rozwiązaniu.
  2. W l-tym równaniu współczynnik przy tej zmiennej wynosi „1”. Zastąp współczynniki i stałą w l- tym równaniu ich częściami ułamkowymi: - 2 zastąp przez 0, 24/7^ przez 4/7, -2/3 przez -2/3, -31/ przez -1/6.
  3. Dodaj 1 do każdego ujemnego ułamka wynikającego z kroku 4 i zapisz otrzymane równanie jako ograniczenie nierównościowe ze znakiem „>=”
  4. Zamień ograniczenie nierównościowe na równość (wprowadź zmienną osłabiającą i sztuczną). Dołącz równanie na koniec układu równań z ostatniej tablicy sympleksowej i przydziel nowej zmiennej dowolnie duży dodatni współczynnik kosztu M (czyli wprowadź ją do funkcji celu ze współczynnikiem M)
  5. Wykonaj dodatkowe iteracje metody sympleks dla nowej tablicy i wróć do kroku 2.

Przykład

min z=-x 1 -x 2 2x 1 +x 2 <= 4x 1 +5x2<= x 1 ,x 2 >=0 i całkowite

Postać standardowa: min z=-x 1 -x 2 2x 1 +x 2 +x 3 = 4x 1 +5x 2 +x 4 = x 1 ,x 2 >=0 i całkowite x 3 ,x 4 >=

Baza cB P 0 -1 -1 0 0 P 1 P 2 P 3 P 4 P 3 0 6 2 1 1 0 P 4 0 20 4 5 0 1 Wskaź niki

optym alności

Baza cB P 0 -1 -1 0 0 P 1 P 2 P 3 P 4 P 1 -1 3 1 1/2 1/2 0 P 4 0 8 0 3 -2 1 Wskaź niki

optym alności

Baza cB P 0 -1 -1 0 0 P 1 P 2 P 3 P 4 P 1 -1 5/3 1 0 5/6 -1/ P 2 -1 8/3 0 1 -2/3 1/ Wskaź niki

optym alności

Niech xk = x 2 ; l=2 - modyfikujemy więc równanie 2: 0x 1 +1x 2 -2/3x 3 +1/3x 4 =8/ Po przekształceniu mamy ograniczenie nierównościowe: 1/3x 3 +1/3x 4 >=2/ które przekształcamy do postaci równości: 1/3x 3 +1/3x 4 -x 5 +x 6 =2/

Stosujemy algorytm sympleks dla znalezienia rozwiązania optymalnego dla naszego zadania:

Baza cB P 0 -1 -1 0 0 0 M P 1 P 2 P 3 P 4 P 5 P 6 P 1 -1 5/3 1 0 5/6 -1/6 0 0 P 2 -1 8/3 0 1 -2/3 1/3 0 0 P 6 M 2/3 0 0 1/3 1/3 - 1 1 Wskaźniki optymalnośc i

M

M

M

- M

Baza cB P 0 -1 -1 0 0 0 M P 1 P 2 P 3 P 4 P 5 P 6 P 1 -1 0 1 0 0 -1 5/2 -5/ P 2 -1 4 0 1 0 1 -2 2 P 3 0 2 0 0 1 1 -3 3 Wskaźniki optymalnośc i

-M

Koniec zadania - po jednym odcięciu wszystkie rozwiązania są całkowitoliczbowe. Jedna ze zmiennych bazowych jest równa zeru - otrzymaliśmy więc rozwiązanie zdegenerowane.

Interpretacja geometryczna odcięcia: odcięcie 1/3x 3 +1/3x 4 >=2/3 możemy przedstawić jako x 3 +x 4 >=2; zmienne osłabiające x 3 i x 4 możemy wyrazić w funkcji x 1 i x 2 ( z ograniczeń) i otrzymamy nowe ograniczenie x 1 +x 2 <=

Optymalizacja dyskretna – wstęp (under construction)

Wstęp

Algorytmem nazywa się procedurę, która w skończonej liczbie dobrze zdefiniowanych operacji znajduje rozwiązanie danego problemu. Problemy dzielimy na decyzyjne i optymalizacyjne Problem optymalizacyjny jest to problem w których minimalizowana (maksymalizowana) jest pewna zadana funkcja celu. Optymalizacyjny problem kombinatoryczny jest to problem optymalizacyjny, w którym funkcja celu jest określona na skończonym zbiorze potencjalnych rozwiązań problemu (tzw. zbiorze rozwiązań dopuszczalnych). Algorytm jest algorytmem dokładnym jeśli gwarantuje uzyskanie rozwiązania optymalnego. Przykładem algorytmu dokładnego dla optymalizacyjnych problemów kombinatorycznych jest algorytm pełnego przeglądu.

Złożoność obliczeniowa

Wymagania czasowe danego algorytmu, wyrażone w funkcji rozmiaru instancji problemu, nazywa się złożonością czasową algorytmu. Algorytm o złożoności czasowej wielomianowej ( algorytm wielomianowy ), to taki którego złożoność czasowa jest O(w(n)), przy czym w(n) jest wielomianem, a n oznacza rozmiar instancji problemu. Jeżeli powyższy warunek nie jest spełniony, to algorytm nazywa się algorytmem o złożoności czasowej wykładniczej lub algorytmem wykładniczym.

Klasy złożonościowe problemów

Złożoność czasowa algorytmów dokładnych, rozwiązujących optymalizacyjne problemy kombinatoryczne, prowadzi do zdefiniowania klas złożonościowych tych problemów.