Programowanie liniowe
Download
1 / 30

Programowanie liniowe - PowerPoint PPT Presentation


  • 205 Views
  • Uploaded on

Programowanie liniowe. Wykład 3. Optymalizacja bez ograniczeń Optymalizacja z ograniczeniami Programowanie Liniowe Programowanie Nieliniowe programming – arch. planning Elementy optymalizacji z ograniczeniami : Zmienne decyzyjne [ decision variables ]

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Programowanie liniowe' - dixie


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Programowanie liniowe

Programowanieliniowe

Wykład3


  • Optymalizacjabezograniczeń

  • Optymalizacja z ograniczeniami

    • ProgramowanieLiniowe

    • ProgramowanieNieliniowe

      programming – arch. planning

      Elementyoptymalizacji z ograniczeniami:

  • Zmiennedecyzyjne [decision variables]

  • Funkcjacelu [objective function]

  • Ograniczenia [constraints]

  • Ograniczeniazmiennych [variable bounds]


Firma rowerek
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


Rozwi zanie
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ń)


Wa ne s wierzcho ki
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


Za o enia programowania liniowego
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)


Zadanie p rogramowania liniowego zpl w formie standardowej the standard form lp
ZadanieProgramowaniaLiniowego (ZPL) w formiestandardowej [the standard form LP]

Charakterystyka:

  • Funkcjacelumaksymalizowana

  • Wszystkieograniczeniatypu ≤

  • Wszystkieograniczeniamająnieujemnąprawąstronę

  • Wszystkiezmiennesąnieujemne

    Reprezentacjaalgebraiczna:

  • Funkcjacelu:

  • m ograniczeńfunkcjonalnych

  • Ograniczenianieujemności


W praktyce
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


Model z 1963 roku
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


Par definicji
Parędefinicji

  • Rozwiązanie (solution)

  • Rozwiązaniewierzchołkowe (cornerpoint solution)

  • Dopuszczalnerozwiązaniewierzchołkowe (feasible cornerpoint solution)

  • Sąsiadującerozwiązaniawierzchołkowe (adjacent cornerpoint solutions)


Kluczowe w asno ci programu liniowego
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


Metoda simplex
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


Algebraiczne znajdowanie wierzcho k w
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


Dla firmy rowerek
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)


Ustalanie warto ci dla zmiennych
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.


  • 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)


Przej cie do lepszego dopuszczalnego rozwi zania bazowego
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 = {s1,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))


  • 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.


Algebraicznie
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


Test minimalnego u amka minimum ratio test
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)


Znajdowanie nowego bazowego rozwi zania dopuszczalnego
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.


M etoda simplex
Metoda simplex


Tabelka simplex
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


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)


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.


Kontynuujemy
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


Przypadki specjalne
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)


  • 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)


ad