MO Moduł 3: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian
 
m Zastępowanie tekstu – „,</math>” na „</math>,”
 
(Nie pokazano 2 wersji utworzonych przez 2 użytkowników)
Linia 11: Linia 11:
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd3.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd3.png|thumb|500px]]
|valign="top"|
|valign="top"|Funkcja oceny jest tu liniowa, bo jest oczywiste, że dodanie do niej dowolnej liczby nie zmienia rozważań (zmienia wartość funkcji wyboru w punkcie minimalizującym, która jest oczywiście od tej liczby zależna, ale <u>rozwiązaniem zadania jest punkt minimalizujący</u>, który jest taki sam !).
|}
|}
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd4.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd4.png|thumb|500px]]
|valign="top"|
|valign="top"|Zamiast „przy ograniczeniach” będziemy pisali <math>\;\;\mathrm {p.o.}</math>
|}
|}
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd5.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd5.png|thumb|500px]]
|valign="top"|
|valign="top"|Z rysunku wynika, że ograniczenie (c) nie jest potrzebne, oraz że zbiór dopuszczalny jest wielokątem. Linie poziomicowe funkcji liniowej to proste, zatem rozwiązanie leży w wierzchołku wielokąta (albo rozwiązań jest wiele i leżą na brzegu wielokąta, gdy poziomice są równoległe do stosownego ograniczenia).
|}
|}
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd6.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd6.png|thumb|500px]]
|valign="top"|
|valign="top"|W przestrzeni zmiennych zadania liniowego optymalizacji
*'''zbiór dopuszczalny to (hiper)wielościan''',
*miejscem geometrycznym '''stałej wartości funkcji celu jest (hiper)-płaszczyzna''', a
*'''rozwiązanie zadania''' (o ile istnieje) '''leży w jego wierzchołku''' albo rozwiązań jest wiele i leżą na brzegu wielościanu albo na jego ścianie.
 
|}
|}
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd7.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd7.png|thumb|500px]]
|valign="top"|
|valign="top"|Na płaszczyźnie taki algorytm będzie działać, bo każdy wierzchołek ma tylko dwu sąsiadów, ale przy większej liczbie wymiarów będzie to bardzo powolne i nie wiadomo, czy algorytm się nie zapętli.
|}
|}
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd8.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd8.png|thumb|500px]]
|valign="top"|
|valign="top"|W Polsce, nie bardzo wiadomo dlaczego, algorytm Dantziga nazywa się metodą sympleks, simpleksową, a nawet metodą sympleksów.
Używane w matematyce pojęcie sympleksu nie ma nic wspólnego z metodą Simplex.
 
|}
|}
----
----
Linia 83: Linia 89:
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd15.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd15.png|thumb|500px]]
|valign="top"|
|valign="top"|Dla równania<center><math>Ax = b</math>,</center> gdzie <math>x</math> jest wektorem <math>n</math> wymiarowym, a <math>b</math> wektorem <math>p</math> wymiarowym, '''macierzą bazową''' nazywa się każdą kwadratową <u>nieosobliwą</u> macierz <math>B</math>, którą da się utworzyć z <math>p</math> kolumn macierzy <math>A</math>.
 
|}
|}
----
----
Linia 143: Linia 150:
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd25.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd25.png|thumb|500px]]
|valign="top"|
|valign="top"|Główne problemy implementacyjne związane są z szybkością i dokładnością tego algorytmu. Najwięcej kłopotów jest w nim z odwracaniem kolejnych macierzy bazowych. Przypominamy, że numerycznie macierz odwraca się drogą faktoryzacji.
|}
|}
----
----


{| border="0" cellpadding="4" width="100%"
{| border="0" cellpadding="4" width="125%"
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd26.png|thumb|500px]]
|width="500px" valign="top"|[[Grafika:MO_M3_Slajd26.png|thumb|500px]]
|valign="top"|
|valign="top"|Uznane pakiety komercyjne zawierające algorytm Simplex to np. CPLEX, MINOS, NAG, AMPL, MATLAB i Mathematica
|}
|}
----
----

Aktualna wersja na dzień 09:35, 5 wrz 2023



Funkcja oceny jest tu liniowa, bo jest oczywiste, że dodanie do niej dowolnej liczby nie zmienia rozważań (zmienia wartość funkcji wyboru w punkcie minimalizującym, która jest oczywiście od tej liczby zależna, ale rozwiązaniem zadania jest punkt minimalizujący, który jest taki sam !).

Zamiast „przy ograniczeniach” będziemy pisali p.o.

Z rysunku wynika, że ograniczenie (c) nie jest potrzebne, oraz że zbiór dopuszczalny jest wielokątem. Linie poziomicowe funkcji liniowej to proste, zatem rozwiązanie leży w wierzchołku wielokąta (albo rozwiązań jest wiele i leżą na brzegu wielokąta, gdy poziomice są równoległe do stosownego ograniczenia).

W przestrzeni zmiennych zadania liniowego optymalizacji
  • zbiór dopuszczalny to (hiper)wielościan,
  • miejscem geometrycznym stałej wartości funkcji celu jest (hiper)-płaszczyzna, a
  • rozwiązanie zadania (o ile istnieje) leży w jego wierzchołku albo rozwiązań jest wiele i leżą na brzegu wielościanu albo na jego ścianie.

Na płaszczyźnie taki algorytm będzie działać, bo każdy wierzchołek ma tylko dwu sąsiadów, ale przy większej liczbie wymiarów będzie to bardzo powolne i nie wiadomo, czy algorytm się nie zapętli.

W Polsce, nie bardzo wiadomo dlaczego, algorytm Dantziga nazywa się metodą sympleks, simpleksową, a nawet metodą sympleksów.

Używane w matematyce pojęcie sympleksu nie ma nic wspólnego z metodą Simplex.








Dla równania
Ax=b,
gdzie x jest wektorem n wymiarowym, a b wektorem p wymiarowym, macierzą bazową nazywa się każdą kwadratową nieosobliwą macierz B, którą da się utworzyć z p kolumn macierzy A.










Główne problemy implementacyjne związane są z szybkością i dokładnością tego algorytmu. Najwięcej kłopotów jest w nim z odwracaniem kolejnych macierzy bazowych. Przypominamy, że numerycznie macierz odwraca się drogą faktoryzacji.

Uznane pakiety komercyjne zawierające algorytm Simplex to np. CPLEX, MINOS, NAG, AMPL, MATLAB i Mathematica