Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2

Podobne dokumenty
INSTRUKCJA DO ĆWICZENIA NR 1

Definicja problemu programowania matematycznego

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE

Programowanie liniowe

Ekonometria - ćwiczenia 10

Laboratorium Metod Optymalizacji

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Wprowadzenie do badań operacyjnych - wykład 2 i 3

TOZ -Techniki optymalizacji w zarządzaniu

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

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

Elementy Modelowania Matematycznego

PROGRAMOWANIE KWADRATOWE

Elementy Modelowania Matematycznego

Microsoft EXCEL SOLVER

Programowanie liniowe

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

1.2. Rozwiązywanie zadań programowania liniowego metodą geometryczną

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

ZAGADNIENIE TRANSPORTOWE

PRZEWODNIK PO PRZEDMIOCIE

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Teoretyczne podstawy programowania liniowego

ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI

Optymalizacja procesów technologicznych przy zastosowaniu programowania liniowego

Metody numeryczne Wykład 4

. Funkcja ta maleje dla ( ) Zadanie 1 str. 180 b) i c) Zadanie 2 str. 180 a) i b)

Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Programowanie celowe #1

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

Programowanie liniowe

Metody systemowe i decyzyjne w informatyce

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Wykład 5. Metoda eliminacji Gaussa

Badania Operacyjne Ćwiczenia nr 2 (Materiały)

Elementy modelowania matematycznego

Programowanie liniowe metoda sympleks

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Programowanie matematyczne

= Zapiszemy poniższy układ w postaci macierzy. 8+$+ 2&=4 " 5 3$ 7&=0 5$+7&=4

Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Badania operacyjne. Temat ćwiczenia:

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Programowanie liniowe. Tadeusz Trzaskalik

Politechnika Wrocławska, Wydział Informatyki i Zarządzania. Optymalizacja

Schemat programowania dynamicznego (ang. dynamic programming)

Programowanie liniowe metoda sympleks

Poziom przedmiotu: II stopnia. Liczba godzin/tydzień: 2W, 2L, 1C PRZEWODNIK PO PRZEDMIOCIE

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

PRZEWODNIK PO PRZEDMIOCIE

Wielokryteriowa optymalizacja liniowa

Badania Operacyjne Ćwiczenia nr 4 (Materiały)

UKŁADY RÓWNAŃ LINIOWYCH - Metody dokładne

5. Rozwiązywanie układów równań liniowych

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Programowanie liniowe

Programowanie liniowe metoda sympleks

WYDZIAŁ ELEKTRYCZNY POLITECHNIKI WARSZAWSKIEJ INSTYTUT ELEKTROENERGETYKI ZAKŁAD ELEKTROWNI I GOSPODARKI ELEKTROENERGETYCZNEJ

Po zapoznaniu się z funkcją liniową możemy przyjśd do badania funkcji kwadratowej.

Optymalizacja systemów

UKŁADY RÓWNAŃ LINIOWYCH -Metody dokładne

Badania operacyjne Operation research. Transport I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Metoda simpleks. Gliwice

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Krzysztof Trajkowski. Przegląd pakietów do optymalizacji liniowej

Algorytm simplex i dualność

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metody Numeryczne Optymalizacja. Wojciech Szewczuk

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

FUNKCJA KWADRATOWA. Wykresem funkcji kwadratowej jest parabola o wierzchołku w punkcie W = (p, q), gdzie

Rozwiązywanie programów matematycznych

Zagadnienie transportowe

Dodatek Solver Teoria Dodatek Solver jest częścią zestawu poleceń czasami zwaną narzędziami analizy typu co-jśli (analiza typu co, jeśli?

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

WYKŁADY Z MATEMATYKI DLA STUDENTÓW UCZELNI EKONOMICZNYCH

Badania operacyjne Instrukcja do c wiczen laboratoryjnych Rozwiązywanie problemów programowania liniowego z użyciem MS Excel + Solver

3. FUNKCJA LINIOWA. gdzie ; ół,.

Obliczenia iteracyjne

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

OPTYMALIZACJA PROCESÓW LOGISTYCZNYCH

Estymacja wektora stanu w prostym układzie elektroenergetycznym

Przykład wykorzystania dodatku SOLVER 1 w arkuszu Excel do rozwiązywania zadań programowania matematycznego

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Uniwersytet Kardynała Stefana Wyszyńskiego Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych. Piotr Kaczyński. Badania Operacyjne

FUNKCJE I RÓWNANIA KWADRATOWE. Lekcja 78. Pojęcie i wykres funkcji kwadratowej str

1 Układy równań liniowych

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Programowanie liniowe

Excel - użycie dodatku Solver

2. DZIAŁANIA NA WIELOMIANACH

Transkrypt:

Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page1of8 PRZEDMIOT TEMAT KATEDRA MECHANIKI STOSOWANEJ Wydział Mechaniczny POLITECHNIKA LUBELSKA INSTRUKCJA DO ĆWICZENIA NR 2 Wybrane zagadnienia z optymalizacji elementów konstrukcji Programowanie liniowe 1. CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie studentów z problematyką zadań programowania liniowego. Przedstawione zostaną wybrane metody poszukiwania optimum w tej klasie zagadnień. Do rozwiązania przykładowego problemu wykorzystany będzie algorytm SIMPLEX. 2. PODSTAWY TEORETYCZNE Zadaniem programowania liniowego(ang. linear programming w skrócie LP) nazywamy zadanie optymalizacyjne, w którym zarówno funkcja celu, jak i wszystkie ograniczenia są funkcjami liniowymi zmiennych decyzyjnych. Zakładając, że rozpatrywany problem jest zagadnieniem n-wymiarowym x={x 1,x 2,...,x n } funkcjacelutegotypuzadaniamożebyćzatemzapisana w postaci minf(x)=c x 1 x 1 +c 2 x 2 +...c n x n n = c i x i =c x i=1 (1) gdzieposzczególnec i,i=1...,nsąwagamizmiennychdecyzyjnychwfunkcjiceluitworząkolumnowywektorc={c 1 c 2... c n }. strona1z8

Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page2of8 Podobniejakfunkcjacelu,takikażdezograniczeńzadaniaLPdasię zapisaćwpostacikombinacjiwyrażeńtypua i x i.funkcjeograniczeńg(x przyjmują zatem postać g j (x): a j1 x 1 +a j2 x 2 +a j3 x 3 +...a jn x n b j n a ji x i b j (2) i=1 gdzie j jest numerem porządkowym ograniczenia. Podobnie jak funkcja celu komplet nałożonych ograniczeń nierównościowych daje się to sprowadzić do zapisu macierzowego A x b (3) W standardowym sformułowaniu zagadnienia przyjmuje się, że każda ze zmiennychdecyzyjnychjestnieujemnax i 0,i=1,...,n. Dziedziną rozwiązań każdego zadania programowania liniowego w rozważanej przestrzeni n-wymiarowej jest wielościan wypukły(zwany także simpleksem). Można bowiem wskazać, że każde z wprowadzonych ograniczeń g j (x)odcinapółprzestrzeńpewnąhiperpłaszczyznąg j (x)=0.interpretacja tego faktu jest bardzo łatwa w przypadku zadań dwu-wymiarowych. Pełna płaszczyznazmiennychdopuszczalnych(x 1,x 2 )jestrozcinanaprostą-ograniczeniemg j (x 1,x 2 )=0ijednazpowstałychwtensposóbpółpłaszczyzn jest odrzucana. Kolejne ograniczenia/proste odrzucają następne fragmenty płaszczyzny. Utworzony w ten sposób zbiór rozwiązań dopuszczalnych (dziedzina) jest wielokątem wypukłym. Omawiane zadanie programowania liniowego(lp) należy tym samym do szerszej klasy zagadnień, a mianowicie do kategorii programowania wypukłego. Szczególnie istotną cechą zadań programowania wypukłego są własności jakieposiadarozwiązaniex takiegozadania.obowiązujebowiemtwierdzenie jeślifunkcjaliniowaf(x)maekstremumwarunkowewzbiorzewypukłymokreślonymukłademnierównościa x b,toleżyonowwierzchołku wielościanu będącego dziedziną rozwiązania tego zadania. Jednocześnie rozwiązanie to jest ekstremum globalnym. A zatem poszukiwanie rozwiązania zadania programowania wypukłego (a tym samym i liniowego) można ograniczyć do punktów będących narożnikami zbioru rozwiązań dopuszczalnych. Ten sposób postępowania jest efektywny jednak tylko dla stosunkowo mało złożonych problemów. Można strona2z8

Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page3of8 bowiem wykazać, że dziedzina zadania n-wymiarowego, w którym występuje n! m ograniczeń nierównościowych ma narożników.stądteżdorozwiązywania bardziej złożonych problemów, poza wspomnianą wcześniej metodą m!(n m)! rozwiązań bazowych polegającą na systematycznym przeglądzie narożników, stosuje się najczęściej jeden z poniższych sposobów: metoda Gaussa-Jordana, dekompozycja LU(działa dla macierzy kwadratowych), metoda SIMPLEX. Algorytm SIMPLEX Algorytm SIMPLEX jest metodą iteracyjną, polegającą na wyznaczaniu kolejnych rozwiązań dopuszczalnych zadania spośród punktów narożnych dziedziny. Wybór kolejnych rozwiązań jest prowadzony w ten sposób, aby uzyskać możliwie największą, możliwą w danym kroku i pożądaną zmianę wartości funkcji celu. Jeśli na danym etapie rozwiązania zadania nie można wykonać kroku poprawiającego wartość funkcji celu, to aktualnie wybrany wierzchołek jest rozwiązaniem optymalnym. Rozwiązanie zadania LP metodą SIMPLEX wymaga sprowadzenia zagadnienia(3) do tzw. postaci kanonicznej oraz A x=b (4) x 0 i b 0 (5) Zapisanie zagadnienia w postaci kananonicznej może wymagać pewnych modyfikacji w stosunku do pierwotnego sformułowania(3). W szczególności dotyczytoograniczeńtypu n i=1 a i x i b,któremożnasprowadzićdopostaci kanonicznej poprzez dodanie do pierwotnej nierówności tzw. zmiennej dopełniającejx n+1.otrzymujesięwtedyrówność n i=1 a i x i +x n+1 =b.podobnie ograniczenietypu a i x i bmożnazapisaćwżądanejpostacipoprzez uzupełnienienierównościotzw.zmiennąnadmiarową n i=1 a i x i x n+1 =b. Wprowadzone zmienne nadmiarowe i zmienne dopełniające tworzą wektor zmiennych bazowych(zmienne bazy), pozostałe zmienne decyzyjne stanowią wektor tzw. zmiennych swobodnych strona3z8

Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page4of8 Sposób rozwiązania LP za pomocą algorytmu SIMPLEX sprowadza się do kilkukrotnego wykonania poniższej sekwencji: (a) ustalenie dowolnego, bazowego rozwiązania dopuszczalnego, (b) ustalenie, którą ze zmiennych spośród zmiennych swobodnych należy do bazy wprowadzić, (c) ustalenie, którą zmienną z bazy należy usunąć. Szczegóły postępowania zostaną wyjaśnione w poniższym przykładzie. Przykład 1 Wyznaczyć maximum funkcji f(x 1,x 2,x 3 )=5x 1 +4x 2 +3x 3 (6) wobec ograniczeń 2x 1 +3x 2 +x 3 5 4x 1 +x 2 +2x 3 11 3x 1 +4x 2 +2x 3 8 x 1,x 2,x 3 0 Zapis w postaci kanonicznej: 2x 1 +3x 2 +x 3 +x 4 =5 4x 1 +x 2 +2x 3 +x 5 =11 3x 1 +4x 2 +2x 3 +x 6 =8 x 1,x 2,x 3,x 4,x 5,x 6 0 wymagawprowadzeniazmiennychdopełniającychx 4,x 5,x 6.Typujemybazowe rozwiązanie dopuszczalne(ad pkt.(a)) przyjmując tymczasowo, że zmiennymi bazy są wprowadzone zmienne dopełniające. Zmienne oryginalnego zadania są na tym etapie rozwiązania problemu zmiennymi swobodnymi i tymczasowo przyjmują wartość 0. Wobec powyższego tymczasowa wartość funkcji celu wynosi 0, zaś wprowadzone zmienne dopełniające przyjmą wartości prawej strony ograniczeń. Można zatem utworzyć 1-sze tzw. tableau x 4 = 5 2x 1 3x 2 x 3 0 x 1 5 /2 x 5 =11 4x 1 x 2 2x 3 0 x 1 11 /4 x 6 = 8 3x 1 4x 2 2x 3 0 x 1 8 /3 (7) (8) f(x 1,x 2,x 3 ) = 5x 1 +4x 2 +3x 3 strona4z8

Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page5of8 Namocywarunku(5)każdazezmiennychbazowychx 4,...,x 6 musibyć nieujemna. Przystępujemy do wytypowania zmiennej wchodzącej do bazy(ad pkt. (b)).spośródzmiennychswobodnychx 1,x 2,x 3 wybieramytę,któradaje największą możliwą poprawę wartości funkcji celu. W rozważanym zadaniu poszukiwane jest maksimum f(x)), a zatem zmienną, która da największy wzrostf(x)jestx 1 zuwaginanajwiększąwartośćmnożnika(liczba5). Aby ustalić zmienną wychodzącą z bazy(ad pkt.(c)) badamy ograniczenianałożonenazmiennąwchodzącąx 1,jakiewynikajązfaktu,żewszystkie zmiennex,wtymtakżezmiennebazysąnieujemne patrz(5).przykładowo1wiersztableaustanowi,żex 4 0gdziex 4 =5 2x 1 3x 2 x 3 ; azatempowprowadzeniux 1 dobazyipamiętając,żex 2 ix 3 jakozmienne swobodnesą0,dostajemywarunek5 2x 1 0 x 1 5 /2.Następnie sprawdzamy w ten sposób każdą zmienną aktualnej bazy(pozostałe 2 nierówności w tableau). Jako zmienną wychodzącą z bazy wybieramy tę, która daje najbardziej restrykcyjny warunek nakładany na wprowadzaną zmienną. Spośród trzech nierówności najsilniejsze ograniczenie wprowadza pierwszywiersztableau;tymsamymzmiennąwchodzącądobazyjestx 4. Przekształcając pierwszy wiersza uzyskuje się: x 1 = 5 2 3 2 x 2 1 2 x 3 1 2 x 4 (9) Równanie ro stanowi pierwszy nowego tableau Otrzymane wyrażenie(9) wstawiamy do pozostałych ograniczeń oraz do funkcji celu; powstaje w ten sposób drugie tableau x 1 = 5 2 3x 2 2 1x 2 3 1x 2 4 0 x 5 =11 4 ( 5 2 3x 2 2 1x 2 3 1x ) 2 4 x2 2x 3 0 x 6 = 8 3 ( 5 2 3x 2 2 1 x 2 3 1 x ) 2 4 4x2 2x 3 0 f(x 2,x 3,x 4 ) = 5 ( 5 2 3x 2 2 1x 2 3 1x 2 4) +4x2 +3x 3 Po wykonaniu przekształceń i uporządkowaniu otrzymujemy ostateczną postać drugiego tableau strona5z8

Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page6of8 x 1 = 5 2 3x 2 2 1x 3 3 1x 2 4 0 x 3 5 x 5 = 1+5x 2 +2x 4 0 bezogr. x 6 = 1 2 +1 2 x 2 1 3 x 3+ 3 2 x 4 f(x 2,x 3,x 4 ) = 25 5 7x 2 2+ 1x 3 3 5x 2 4 0 x 3 1 W nowym tableau zmienną wchodzącą do bazy(najbardziej poprawiającąwartośćfunkcjicelu)jestx 3.Sprawdzającograniczenianałożonena zmiennąwchodzącąznajdujemyzmiennąwychodzącązbazy jesttox 6. x 3 =1+x 2 +3x 4 2x 6 (10) Postępując jak poprzednio zapisujemy trzecie tableau: x 3 =1+ x 2 +3x 4 2x 6 0 x 1 =2 2x 2 2x 4 +x 6 0 x 5 =1+5x 2 +2x 4 0 f(x 2,x 4,x 6 ) =13 3x 2 x 4 x 6 Dalsza poprawa rozwiązania nie jest możliwa, bo wszystkie współczynniki wyrażeniafunkcjiceluf(x 2,x 4,x 6 )sąujemne.azatemzmiennymiswobodnymizadaniasązmiennex 2,x 4 ix 6 iprzyjmująonewartośćzero;zaś wartościzmiennychbazywynosząx 3 =1,x 1 =2ix 5 =1. Stądrozwiązaniemzadaniapierwotnegof(x 1,x 2,x 3 )sąwartościx 1 =2, x 2 =0ix 3 =1,amax.funkcjiceluwynosi13. 3. PRZEBIEG ĆWICZENIA Prowadzący zajęcia przydzieli każdemu zespołowi laboratoryjnemu zadnie do rozwiązania. Będzie to zadanie optymalizacji jednokryterialnej w dziedzinie wielowymiarowej. Studenci rozwiązują zadanie korzystając z oprogramowania Linear Programming Solver. W toku rozwiązywania problemy należy postępować według poniższej kolejności Ustalić zmienne decyzyjne zadania. Zapisać wzór określający funkcję celu patrz(1). Zapisać komplet zależności ograniczeń zadania patrz(2). Zapisaćzadaniewpostacikanonicznej patrz(4)i(5)oraz(??). strona6z8

Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page7of8 Zapisać pierwsze tableau metody SIMPLEX patrz Przykład 1. Wytypować zmienną wchodzącą do bazy oraz zmienną wychodzącą z bazy. Uruchomić na stanowisku komputerowym oprogramowanie Linear Programming Solver. Z menu głównego wybrać polecenie New Table model. W oknie Model Parameters(patrz Rysunek 1) wprowadzić liczbę zmiennych(ang. Number of variables), liczbę ograniczeń(ang. Number of constraints) oraz liczbę funkcji celu(ang. Number of objectives). Podać także typ zadania maksymalizacja czy minimalizacja funkcji celu. Zatwierdzić wprowadzone dane klawiszem OK. Korzystając z wyprowadzonego sformułowania zadania optymalizacyjnego wypełnić poszczególne komórki tabeli okna LiPS Model patrz Rysunek 2. Po wprowadzeniu wszystkich danych uruchomić obliczenia poleceniem LiPS Solve Model. Zapisać raport z obliczeń na nośniku zewnętrznym. Rysunek 1. Przykładowe okno Model Parameters programu LiPS 4. OPRACOWANIE WYNIKÓW Porównać tableau zapisane samodzielnie i tableau uzyskane z obliczeń; porównać także wytypowane zmienne wchodzące i wychodzące z bazy. strona7z8

Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page8of8 Rysunek 2. Tabela LiPS Model definiująca zadanie programowania liniowego programie LiPS Następnie przeanalizować uzyskany wynik zadania optymalizacyjnego. Sprawdzić, które z ograniczeń zadania są aktywne, a które nie. Odnieść uzyskane wyniki do analizowanej konstrukcji. 5. SPRAWOZDANIE Sprawozdanie z ćwiczenia powinno zawierać: 1. Tabelkę identyfikacyjną. 2. Cel ćwiczenia i schemat analizowanej konstrukcji. 3. Sformułowanie zadania optymalizacji wg.(1)-(2) 4. Sformułowanie kanoniczne zadania optymalizacji(4) z zaznaczeniem zmiennych dopełniających/nadmiarowych. 5. Pierwsze tableu algorytmu SIMPLEX. 6. Wydruk raportu z obliczeń. 7. Omówienie wyników. 8. Wnioski strona8z8