1 / 30

DMBO

DMBO. Programowanie Liniowe 1. Optymalizacja bez ograniczeń Optymalizacja z ograniczeniami Programowanie Liniowe Programowanie Nieliniowe programming – arch. planning Elementy optymalizacji z ograniczeniami : Zmienne decyzyjne [ decision variables ]

kenton
Download Presentation

DMBO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DMBO Programowanie Liniowe 1

  2. Optymalizacjabezograniczeń • Optymalizacja z ograniczeniami • ProgramowanieLiniowe • ProgramowanieNieliniowe programming – arch. planning Elementyoptymalizacji z ograniczeniami: • Zmiennedecyzyjne [decision variables] • Funkcjacelu [objective function] • Ograniczenia [constraints] • Ograniczeniazmiennych [variable bounds]

  3. Firma Rowerek • Firma Rowerekprodukujeręczniedwarodzajerowerów: • Rowerygórskie • Ścigaczeszosowe • I chcewyznaczyć tempo produkcjikażdegorodzajurowerutak, abyzmaksymalizowaćzyskzesprzedaży. • Firma Rowerekzakłada, żemożesprzedaćwszystko co wyprodukowała. • Dwaróżnezespołyprodukująróżnerodzajerowerów: • Zespół od rowerówgórskich max 2 rowerydziennie • Zespół od ścigaczyszosowych max 3 rowerydziennie • Do każdegotypurowerupotrzebny jest jednakowailośćczasunamaszynie do wykańczaniametalu • Maszynamożeobrobić do 4 rowerówdziennie • Księgowyszacuje, żerowerygenerująnastępującezyski: • Górski $15 • Szosowy $10

  4. Rozwiązanie • Rozwiązanieintuicyjne: • Produkujemynajwięcejgóralijaksię da (max 2) a resztęmocyprzeznaczamynaszosowe (2). • Tymsamymgenerujemyłącznydziennyzyskrówny $50. • Programowanieliniowe(rozwiązaniemusisięzgadzać z intuicją) • Zmiennedecyzyjne: liczbaprodukowanychgórali x1orazszosowych x2 • Zmiennetemusząbyćnieujemne x1≥0, x2≥0 • Funkcjacelu: max dziennyzysk: max Z=15x1+10x2 (w $ nadzień) • Ograniczenia: • Dzienny limit produkcjigórali: x1≤2(w rowerachnadzień) • Dzienny limit produkcjiszosowych: x2≤3 (w rowerachnadzień) • Limit prod.maszyny do wykańczaniametalu: x1+x2 ≤ 4 (w rowerachnadzień)

  5. Ważnesąwierzchołki • Region dopuszczalny (feasible region) • Liniejednakowegozysku to linierównoległe • Zyskpowiększasię w kierunkugradientu funkcji celu • Wierzchołki “najbardziejwystająnazewnątrz” • Optimum to wierzchołekbądźścianarazem z wierzchołkami • Optymalnymożebyćjedenwierzchołeklubdwasąsiadującezesobą • Jeślidwawierzchołkisąoptymalne, to linia je łączącateż jest optymalna

  6. Założeniaprogramowanialiniowego • Liniowywzględemzmiennychdecyzyjnych • Własnośćaddytywności i proporcjonalności • Wykluczakrzywe, funkcjekrokoweorazczynnikiinterakcji, np. 5x1x2, kosztywystartowaniastart-up • Zakłada, żezmienneprzyjmująwartościrzeczywiste • Wykluczazmiennecałkowitoliczbowe • Programowanie w ogólnościzakłada, żeznanesąwszystkieparametry • Jednakmożnaprzeprowadzićanalizęwrażliwości (sensitivity analysis)

  7. ZadanieProgramowaniaLiniowego (ZPL) w formiestandardowej [the standard form LP] Charakterystyka: • Funkcjacelumaksymalizowana • Wszystkieograniczeniatypu ≤ • Wszystkieograniczeniamająnieujemnąprawąstronę • Wszystkiezmiennesąnieujemne Reprezentacjaalgebraiczna: • Funkcjacelu: • m ograniczeńfunkcjonalnych • Ograniczenianieujemności

  8. Parędefinicji • Rozwiązanie (solution) • Rozwiązaniewierzchołkowe (cornerpoint solution) • Dopuszczalnerozwiązaniewierzchołkowe (feasible cornerpoint solution) • Sąsiadującerozwiązaniawierzchołkowe (adjacent cornerpoint solutions)

  9. Kluczowewłasnościprogramuliniowego • Punktoptymalny jest zawszewdopuszczalnymrozwiązaniuwierzchołkowym • Jeśliwartośćfunkcjiceludladanegodopuszczalnegorozwiązaniawierzchołkowego jest wyższalubrównawartościfunkcjiceludlawszystkichsąsiadującychdopuszczalnychrozwiązańwierzchołkowych, to to rozwiązanie jest optymalne • Jest skończonaliczbadopuszczalnychrozwiązańwierzchołkowych Konsekwencje • Szukajtylkowśródwierzchołków • Łatwostwierdzićkiedydanypunkt jest optimum • Jest zagwarantowane, żemetodaosiągnie optimum

  10. Metoda simplex Dwiefazy: • Fazapierwsza (start-up) – znajdźjakiekolwiekdopuszczalnerozwiązaniewierzchołkowe • dlatego ZPL w postacistandardowej jest wygodne, ponieważpoczątekukładuwspółrzędnychzawsze jest dopuszczalnymrozwiązaniemwierzchołkowym • Jeślinie ma postacistandardowej, wymagana jest specjalnametoda, o którejpóźniej • Fazadruga (iteracje) – przesuwajsię do sąsiadującychdopuszczalnychrozwiązańwierzchołkowych, któresąlepsze od poprzedniego, ażniebędziejużlepszych

  11. Algebraiczneznajdowaniewierzchołków • Prawdziweproblemymająmilionyzmiennych • Nie da sięprzedstawićgraficznie • Stądpotrzebnyalgebraicznysposób • Dlaproblemu w postacistandardowejtrzebazamienićograniczenia w postacinierówności w ograniczenia w postacirówności • A następniewyznaczyćrozwiązanieukładupodzbiorurównań • Podzbiór – ponieważzwyklewszystkierównościniemogąjednocześniezachodzić • Potrzebujemysposobu, abypamiętać, którerównaniasąobecniewybrane do podzbioru (czyliaktywne) • Rozwiązaniempowyższychproblemów jest włączeniezmiennychluzu (slack variables), naprzykład: x1 ≤ 2 zamieniamyna x1 + s1 = 2, gdzie s1≥ 0 jest zmiennąluzu

  12. DlafirmyRowerek • Problem w dwóchwymiarach jest terazproblemem w 5 wymiarach • Zmiennaluzuprzyjmujedodatniąwartośćtylkowtedy, gdydaneograniczenienie jest aktywne Więcejterminologii • Rozwiązanierozszerzone (augmented solution): wartościwszystkichzmiennychłączniezezmiennymiluzu, np. optymalnerozwiązanierozszerzonedlaRowerka to x1,x2,s1,s2,s3 = (2,2,0,1,0) • Rozwiązaniebazowe (basic solution): rozszerzonerozwiązaniewierzchołkowe (możebyćdopuszczalnelubniedopuszczalne), np. (2,3,0,0,-1) jest rozwiązaniembazowymniedopuszczalnym • Dopuszczalnerozwiązaniebazowe (basic feasible solution), dopuszczalnerozszerzonerozwiązaniewierzchołkowenp. (0,3,2,0,1)

  13. Ustalaniewartościdlazmiennych • Stopnieswobody(degrees of freedom df) df = (liczbazmiennych w postacirównania) - (liczbaniezależnychrównań) • Metoda simplex automatycznieprzyporządkujewartość zero (odpowiednieograniczenie jest aktywne) dladfsposródzmiennych a następniewyznaczywartościpozostałychzmiennych • x1=0 znaczy, żeograniczenie x1 ≥ 0 jest aktywne • x2=0 znaczy, żeograniczenie x2≥ 0 jest aktywne • s1=0 znaczy, żeograniczenie x1 ≤ 2 jest aktywne • s2=0 znaczy, żeograniczenie x2≤ 3 jest aktywne • s3=0 znaczy, żeograniczenie x1+x2 ≤ 4 jest aktywne • W naszymprzykładziedf=2, zatem simplex przyporządkujedwómspośródpięciuzmiennychwartość 0.

  14. Ostatnieuwagiterminologiczne: • Zmiennaniebazowa (nonbasic variable): zmienna, którejmetoda simplex obecnieprzyporządkowujewartość 0 • Zmiennabazowa (basic variable): zmienna, którejmetoda simplex obecnienieprzyporządkowujewartości 0 • W postacistandardowejdodatnie • Ale mogąbyćzerowe w specjalnychokolicznościach • Baza (a basis): Zbiórobecnychzmiennychbazowych Niebazowa, wartośćzmiennej do zera, ograniczenieaktywne • Możemyzgadnąćbazę, ale trzebauważać, ponieważ • Możemydostaćniedopuszczalnywierzchołek (rysunekwcześniej) • Możemynawetniedostaćwierzchołka w ogóle (rysunekponiżej)

  15. Przejście do lepszegodopuszczalnegorozwiązaniabazowego • Wierzchołeksąsiadujący jest dobrymkandydatem, ponieważ: • W dwóchsąsiadującychwierzchołkachzbiórbazowyorazniebazowysąidentycznezawyjątkiemjednegoelementu • Na przykład: • Punkt A: zbiórniebazowy = {s2,s3}, zbiórbazowy = {x1,x2,s1} • Punkt B: zbiórniebazowy = {s1,s2}, zbiórbazowy = {x1,x2,s3} Nie jest to jednakwarunekwystarczający, abydwawierzchołkisąsiadowały (patrzpunkty (0,4) oraz (4,0))

  16. Trzywarunkiprzyprzejściumiędzywierzchołkami: • Muszązesobąsąsiadować • Oba musząbyćdopuszczalne • Nowypunktmusimiećlepsząwartośćfunkcjicelu • Dwakrokiprocedury: • Wyznaczzmiennąniebazową, któranajbardziejpoprawifunkcjęcelu, jeślibędziemiałaniezerowąwartość. Przesuńtązmiennązezbioruniebazowego do zbiorubazowego (zmiennabazowawchodzącaentering basic variable) • Podnieśwartośćzmiennejbazowejwchodzącej do momentu, w którymjednazezmiennychbazowychosiągniewartość zero. Przenieśtązmienną do zbioruniebazowego (zmiennabazowawychodzącaleaving basic variable) • x1najbardziejpoprawifunkcjęcelu • Ograniczenie x1≥ 0 przestajebyćaktywne • Wiemy, w którymkierunkusięporuszamy, botylko x1możewzrastać • Ograniczenie, którezostanie “przecięte” jakopierwsze to x1 ≤ 2.

  17. Algebraicznie • W początkuukładuodniesieniasytuacja jest następująca: • Zmiennebazowe: s1,s2,s3 • Zmienneniebazowe: x2 • Bazowazmiennawchodząca: x1 • W nowymwierzchołku, któryznajdujesięnaprzecięciukrańcowychwartościograniczeń x2 ≥ 0 i x1 ≤ 2 (punkt (2,0)), bazato: • Zmiennebazowe: x1,s2,s3 • Zmienneniebazowe: x2,s1 • Nastąpiławymianazmiennych x1oraz s1

  18. Test minimalnegoułamka (minimum ratio test) • Abyznaleźćbazowązmiennąwychodzącąmusimyznaleźćnajmniejsząwartośćnastępującegowyrażenia • W naszymprzykładziemianownikbyłzawsze 1, ale ogólniemożebyćróżny od 1 • Dwaszczególneprzypadki: • Jeśliwspółczynnikbazowejzmiennejwchodzącej jest 0 (ograniczenienieprzecinaciągleaktywnychograniczeńreprezentowanychprzezpozostałezmienneniebazowe) • Jeśliwspółczynnikbazowejzmiennejwchodzącej jest ujemny (ograniczeniecoprawdaprzecinaciągleaktywneograniczenia, ale kierunekwzrostubazowejzmiennejwchodzącej jest w przeciwnymkierunku do punktuprzecięcia)

  19. Znajdowanienowegobazowegorozwiązaniadopuszczalnego • Znaleźliśmynowąbazę – co dalej? • Możnapodstawićwartość zero pod wszystkiezmienneniebazowe i następniemetodąeliminacjiGaussarozwiązaćpozostały system m×mrównańliniowych • Bardziejefektywnąmetodą jest uaktualnienieobecnegozbiorurównańprzywykorzystaniutylkoczęścieliminacjiGaussa • Kiedyprzerwaćiterowanie? • Kiedyniemożemyznaleźćbazowejzmiennejwchodzącej.

  20. Metoda simplex

  21. Tabelka simplex • Oto tabelka simplex dla początkowego punktu • Tabelka podana jest w formie właściwej (proper form) • Dokładnie jedna zmienna bazowa na równanie • Współczynnik zmiennej bazowej jest zawsze +1 a współczynniki nad i pod zmienną bazową są 0 • Z jest traktowana jak zmienna bazowa równania funkcji celu • Zaletą formy właściwej jest to, że obecne rozwiązanie można bezpośrednio odczytać z tabelki

  22. 2.1 Czy już jesteśmy w optimum? Nie, ponieważ mamy 2 ujemne współczynniki w rzędzie pierwszym 2.2 Wybieramy bazową zmienną wchodzącą Najbardziej ujemny współczynnik jest przy zmiennej x1 2.3 Wybieram bazową zmienną wychodzącą Test minimalnego ułamka: • Jeśli w kolumnie pivot(pivotcolumn) jest zero bądź liczba ujemna wpisz „no limit” • Najmniejsza wartość 2: to jest wiersz pivot (pivotraw) Element pivot (Pivot element)

  23. 2.4 Uaktualnij tabelkę • W kolumnie zmienna bazowa, zastąp bazową zmienną wychodzącą przez bazową zmienną wchodzącą • Jeśli element pivot nie jest równy 1, podziel wszystkie elementy wiersza pivot przez wartość elementu pivot (my nie musimy) • Eliminujemy wszystkie współczynniki w kolumnie pivot poza elementem pivot.

  24. Kontynuujemy • Nowe rozwiązanie (x1,x2,s1,s2,s3)=(2,0,0,3,2), Funkcja celu Z=30 2.1 Nie jesteśmy jeszcze w optymalnym punkcie 2.2, 2.3 Nowa bazowa zmienna wchodząca i zmienna wychodząca 2.4 Z powrotem do formy właściwej

  25. Przypadki specjalne • Remis przy wyborze bazowej zmiennej wchodzącej, np. Z = 15x1+15x2 • Remis przy wyborze bazowej zmiennej wychodzącej - Wybierz jaką chcesz – i tak wierzchołek będzie ten sam. • Zmienna, która nie zostanie wybrana na bazową zmienną wychodzącą pozostanie bazowa, ale będzie miała wyliczoną wartość 0 • Zmienna, która została wybrana będzie miała przyporządkowaną przez simplex wartość 0 Bazowe rozwiązanie dopuszczalne w takim przypadku nazywamy rozwiązaniem zdegenerowanym (degeneratesolution) – może prowadzić do cykli (cycles) w więcej niż dwóch wymiarach (wierzchołki A,C – B,C – A,C)

  26. Załóżmy, że test minimalnego ułamka daje wszędzie „no limit” – wówczas problem jest nieograniczony (unbounded)i ma nieograniczone rozwiązanie • Najczęściej znaczy, że zapomniałeś/aś ograniczenia • W optimum współczynniki niektórych zmiennych niebazowych mają wartość zero w wierszu funkcji celu • Wybór tej zmiennej do bazy nie ma wpływu na wartość funkcji celu • Ale zmienia się bazowe rozwiązanie dopuszczalne • Taka sytuacja znaczy, że mamy wiele więcej niż jedno rozwiązanie optymalne (multiple optimum solutions)

  27. W praktyce • Solveryużywane w praktycewykorzystująróżnerodzajeinput formats: • Bezpośredniareprezentacjaalgebraicznaz ograniczeniamizapisanymiexplicite • Reprezentacjaarkuszukalkulacyjnego, ogólnie z kolumnamijakozmiennymi i wierszamijakoograniczeniami • Językalgebraiczny, którypozwalanawykorzystanie sum i indeksówprzez co model zapisany jest bardzokompaktowo – najlepsze w praktyce • Indywidualneformaty

  28. Model z 1963 roku • Mamy dwie fabryki (Seattle i San Diego) i trzy rynki zbytu (New York, Chicago i Topeka) • Uwzględniając popyt rynków zbytu oraz podaż fabryk celem jest minimalizacja kosztów transportu homogenicznego towaru pomiędzy fabrykami a rynkami zbytu

More Related