Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Algorytm sympleksowy - Wikipedia, wolna encyklopedia

Algorytm sympleksowy

Z Wikipedii

Algorytm sympleksowy, inaczej metoda sympleks(ów) to stosowana w matematyce iteracyjna metoda rozwiązywania zadań programowania liniowego za pomocą kolejnego polepszania (optymalizacji) rozwiązania. Nazwa metody pochodzi od sympleksu, figury wypukłej będącej uogólnieniem trójkąta na więcej wymiarów.

Spis treści

[edytuj] Opis metody

Wielościan algorytmu sympleksowego w trzech wymiarach
Wielościan algorytmu sympleksowego w trzech wymiarach

Zadanie programowania liniowego z dowolną liczbą zmiennych można rozwiązać, wyznaczając wszystkie wierzchołkowe punkty wielościanu, a następnie porównując wartości funkcji w punktach wierzchołkowych. W związku z wielością punktów powstaje problem wyznaczenia wartości funkcji celu i znalezienie optymalnego wierzchołka, który spełniłby warunek zadania programowania liniowego. Istota metody sympleks sprowadza się do tego, że jeżeli jest znany jakikolwiek wierzchołkowy punkt i wartość w tym punkcie funkcji celowej, to wtedy wszystkie wierzchołkowe punkty, w których celowa funkcja przyjmuje gorsze wartości, są odrzucane. Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w którym celowa funkcja osiąga lepsze wartości. Iteracja kończy się, gdy kolejny przeglądany punkt wierzchołkowy jest najlepszy pod względem odpowiednich wartości funkcji celowej.

W metodzie sympleks dla układu równań Akx=bk w postaci kanonicznej istnieje tablica sympleksowa Yk o wymiarach (m+1)x(n+1) w postaci:


Y_{k}=\left[ \frac{A_{k} | b^{k}}{-(c^{-k})^{T}) | z_{0}^{k}} \right]

[edytuj] Kroki algorytmu

Dla wykonania algorytmu sympleks należy wykonać kroki:

  1. Podstawiamy k=0
  2. Sprawdzamy kryteria stopu dla j=1,...,n:
    y_{m+1,j}^{k}=-c_{j}^{-k} \leq 0
    Jeśli kryterium nie jest spełnione, to:
  3. Wyznaczamy indeksy s macierzy A dla kolumny wprowadzanej do bazy dla j z przedziału 1-n:
    y_{m+1,s}^{k}=max [y_{m+1,j}^{k}]
  4. Sprawdzamy kryterium nieograniczoności: dla i=1,...,m
    y_{i,s}^{k} \leq 0
    Jeśli kryterium nie jest spełnione, to:
  5. Wyznaczamy indeks r dla kolumny macierzy B, która jest usuwana z bazy
     \frac{y_{r,n+1}^{k}}{y_{r,s}^{k}}=min \left[ \frac{y_{r,n+1}^{k}}{y_{r,s}^{k}} : y_{i,s}^{k} >0 \right]
  6. Dokonujemy zmiany zastępując r-tą współrzędną wektora xB przez współrzędną xs i wyznaczamy nową tablicę sympleksową Yk+1
  7. Podstawiamy k=k+1 i kontynuujemy od kroku (2)

Inaczej, mając układ równań dokonujemy przekształceń:

Jeśli rozwiązanie podstawowe układu jest nieprawidłowe, wybieramy jedną z nieprawidłowych zmiennych.
Wybieramy jedną ze zmiennych po prawej stronie mającą dodatni współczynnik. Jeśli takowej by nie było, np.:
x5 = − 2 − x1x3
To układ nie ma żadnego rozwiązania, w którym lewostronna zmienna jest nieujemna.
Rozwiązujemy równania ze względu na wybraną zmienną po prawej stronie.
x_L = -\alpha + c_R x_R + \sum_{i=1}^n c_{j} x_j
x_R = \frac {\alpha} {c_R} + \frac 1 {c_R} x_L - \sum_{i=1}^n \frac {c_{j}}{c_R} x_j
Podstawiamy za wszystkie wystąpienia xR w pozostałych równaniach oraz w definicji funkcji bazowej, prawą stronę nowego równania.
Ponieważ \frac {\alpha} {c_R} jest dodatnie, tak przekształcone równanie nie łamie warunku nieujemności. Podstawienie pod cR prawej strony równania również nie uczyni żadnego z poprawnych równań niepoprawnym.
Jeśli rozwiązanie bazowe jest prawidłowe, sprawdzamy postać funkcji celu. Jeśli wszystkie współczynniki przy zmiennych występujące w niej są niedodatnie, przyjęcie zera za ich wartości da rozwiązanie optymalne.
Jeśli współczynnik ai przy zmiennej xi w funkcji celu jest dodatni, wybieramy jedno z równań i rozwiązujemy je ze względu na xi po czym postępujemy jako wyżej (na wybór zmiennej oraz równania do rozwiązania muszą być nałożone pewne ograniczenia, jeśli chcemy mieć gwarancję, że algorytm kiedyś się skończy).

[edytuj] Tabela sympleksowa

Tworzymy tablicę sympleksową w postaci:

tabela sympleks
x0 ... xj ... xk
x0 z00 ... y0j ... y0k
xB1 z10 ... y1j ... y0k
... ... ... ... ... ...
xBr zr0 ... yrj ... yrk
... ... ... ... ... ...
xBm zm0 ... ymj ... ymk
Stub sekcji Ta sekcja jest zalążkiem. Jeśli możesz, rozbuduj ją.

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com