Problem Plecakowy (Problem złodzieja okradającego sklep)

Slides:



Advertisements
Podobne prezentacje
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Advertisements

1 Badania operacyjne – metody optymalizacji w problemach decyzyjnych.
Ekonometria WYKŁAD 10 Piotr Ciżkowicz Katedra Międzynarodowych Studiów Porównawczych.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
Stężenia Określają wzajemne ilości substancji wymieszanych ze sobą. Gdy substancje tworzą jednolite fazy to nazywa się je roztworami (np. roztwór cukru.
Wyszukiwanie informacji w Internecie. Czym jest wyszukiwarka? INTERNET ZASOBY ZAINDEKSOWANE PRZEZ WYSZUKIWARKI Wyszukiwarka to mechanizm, który za pomocą.
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania 1 Metody optymalizacji - Energetyka 2015/2016 Metody programowania liniowego.
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Sposób oraz zakres gromadzonych informacji regulują następujące przepisy prawne: 1.ustawa z dnia 19 lutego 2004 r. o systemie informacji oświatowej (Dz.
Rozwiązywanie zadań tekstowych za pomocą równań, nierówności i układów równań Radosław Hołówko Konsultant: Agnieszka Pożyczka.
Zmienne losowe Zmienne losowe oznacza się dużymi literami alfabetu łacińskiego, na przykład X, Y, Z. Natomiast wartości jakie one przyjmują odpowiednio.
Analiza tendencji centralnej „Człowiek – najlepsza inwestycja”
Równowaga rynkowa w doskonałej konkurencji w krótkim okresie czasu Równowaga rynkowa to jest stan, kiedy przy danej cenie podaż jest równa popytowi. p.
Porównywarki cen leków w Polsce i na świecie. Porównywarki w Polsce.
Instalacja nienadzorowana windows xp Jakub klafta.
GRY DWUOSOBOWE O SUMIE NIEZEROWEJ Równowaga Nasha i rozwiązania niekooperacyjne. Dylemat więźnia. Piotr Włodarek, Piotr Stasiołek Matematyka finansowa.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
1 Definiowanie i planowanie zadań budżetowych typu B.
Renata Maciaszczyk Kamila Kutarba. Teoria gier a ekonomia: problem duopolu  Dupol- stan w którym dwaj producenci kontrolują łącznie cały rynek jakiegoś.
Opracowanie Joanna Szymańska Konsultacja Bożena Hołownia.
Jak tworzymy katalog alfabetyczny? Oprac.Regina Lewańska.
 Austriacki fizyk teoretyk,  jeden z twórców mechaniki kwantowej,  laureat nagrody Nobla ("odkrycie nowych, płodnych aspektów teorii atomów i ich zastosowanie"),
PORADNIK WPROWADZANIA AKCJI. OGÓLNIE: Akcja musi zostać utworzona i opublikowana co najmniej tydzień przed jej rozpoczęciem. W opisie muszą znajdować.
O PARADOKSIE BRAESSA Zbigniew Świtalski Paweł Skałecki Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski Zakopane 2016.
Test analizy wariancji dla wielu średnich – klasyfikacja pojedyncza
Rola książki w życiu człowieka
wspomaganej systemem komputerowym NABÓR 2017
PODZIELNOŚĆ WIELOMIANÓW
Schematy blokowe.
Wyznaczanie miejsc zerowych funkcji
WYBORY DELEGATÓW NA OKRĘGOWY ZJAZD LEKARZY W GDAŃSKU 2017
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
System wspomagania decyzji DSS do wyznaczania matematycznego modelu zmiennej nieobserwowalnej dr inż. Tomasz Janiczek.
Szkolenie dla partnerów KSOW
terminologia, skale pomiarowe, przykłady
On-the-Fly Garbage Collection
Przykładowe zadania z rozwiązaniami
MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH
Zintegrowane Inwestycje Terytorialne Aglomeracji Jeleniogórskiej
Liczby pierwsze.
ALGORYTMY I STRUKTURY DANYCH
Metoda projektu.
Czy parametry liczą się w ocenie parametrycznej
Wstęp do Informatyki - Wykład 3
Opracowała: Monika Grudzińska - Czerniecka
KOREKTOR RÓWNOLEGŁY DLA UKŁADÓW Z NIEMINIMALNOFAZOWYMI OBIEKTAMI Ryszard Gessing Instytut Automatyki, Politechnika Śląska Plan referatu Wprowadzenie.
Wykonała : Milena Dranka
Równania różniczkowe zwyczajne
BADANIA ZUZYCIA BOCZNEGO SZYN W ROZJAZDACH KOLEJOWYCH
Zagadnienie transportowe
TECHNIKI ALGORYTMICZNE – przybliżone i dokładne WPROWADZENIE DO ALGORYTMIKI
Próg rentowności K. Bondarowska.
Tornister Warto zauważyć, że problem przeciążonych tornistrów szkolnych wynika  z kilku przyczyn: - Dzieci często noszą w plecakach więcej podręczników.
EXCEL Wykład 4.
wspomaganej systemem komputerowym NABÓR 2018
Dobrobyt.
ALGORYTMY I STRUKTURY DANYCH
To naprawdę bardzo proste!
Implementacja rekurencji w języku Haskell
Znajdowanie liczb pierwszych w zbiorze
Doskonalenie rachunku pamięciowego u uczniów
Zarządzanie produkcją
MATEMATYKA Opracowała: Martyna Białas
Wyrok WSA w Bydgoszczy z dnia 27 października 2016 r., I SA/Bd 613/16
Program na dziś Wprowadzenie Logika prezentacji i artykułu
Mikroekonomia Wykład 4.
Andrzej Majkowski informatyka + 1.
To naprawdę bardzo proste!
Zapis prezentacji:

Problem Plecakowy (Problem złodzieja okradającego sklep) Jest jednym z najczęściej poruszanych problemów optymalizacyjnych. Polega na zapakowaniu do plecaka o ograniczonej wielkości możliwie jak najbardziej wartościowych rzeczy.

Ogólny problem plecakowy Główną cechą ogólnego problemu plecakowego jest nieograniczona ilość każdej rzeczy.

Ogólny problem plecakowy Dane: n rzeczy R1, R2, …, Rn, o nieograniczonej wielkości. Rzecz Ri ma wielkość wi i wartości pi. W – maksymalna wartość plecaka. Wynik: Ilości q1,q2,q3,…,qn poszczególnych rzeczy, których łączna waga nie przekracza W i ich sumaryczna wartość jest największa.

Ogólny Problem plecakowy Postać matematyczna Znaleźć wartości q1,q2,q3,…,qn, dla których wartość sumy, będącej całkowitą wartością plecaka, p1q1 + p2q2 + … + pnqn Jest największa, przy czym musi być spełniony warunek, że nie będzie przekroczona pojemność plecaka, czyli: w1q1 + w2q2 + …+ wnqn ≤ W oraz wielkości : q1,q2,q3,…,qn są nieujemnymi liczbami całkowitymi.

Rozwiązaniem dopuszczalnym nazywamy Ogólny Problem plecakowy Rozwiązaniem dopuszczalnym nazywamy Wartości q1,q2,q3,…,qn , które spełniają warunek: w1q1 + w2q2 + …+ wnqn ≤ W Gdzie q1,q2,q3,…,qn są nieujemnymi liczbami całkowitymi. Jeśli dodatkowo p1q1 + p2q2 + … + pnqn dla tych wartości jest największa, to wartości nazywamy Rozwiązaniem optymalnym.

Algorytm zachłanny dla ogólnego problemu plecakowego Ogólny Problem plecakowy Algorytm zachłanny dla ogólnego problemu plecakowego W jaki sposób pakujemy plecak??? Krok po kroku kompletowana jest zawartość plecaka Każda decyzja polega na dokonywaniu wyboru, który jest najlepszy w danym etapie

Kryteria wyboru kolejnych rzeczy do zapakowania Ogólny Problem plecakowy Kryteria wyboru kolejnych rzeczy do zapakowania Wybieramy najcenniejsze rzeczy (nierosnące wartości pi) Wybieramy rzeczy zajmujące najmniej miejsca (niemalejące wartości wi) Wybieramy rzeczy najcenniejsze w stosunku do swojej wagi (nierosnące wartości ilorazu pi/wi)

Wybieramy najcenniejsze rzeczy (nierosnące wartości pi) Przykład Ogólny Problem plecakowy Wybieramy najcenniejsze rzeczy (nierosnące wartości pi) Przykład Wybieramy rzecz nr.5 ponieważ jest najcenniejsza (ma wartość 10). Wybieramy jej aż 7 sztuk ponieważ wartość wagi wynosi 3. (3*7=21) W plecaku pozostało nam miejsce na rzecz o wadze 2 (23-21=2). Wybieramy rzecz nr.4 (1 szt), która ma wartość 7 Wartość plecaka wynosi 77 (7*10 + 7) i 1 2 3 4 5 6 W pi 7 10 wi 23

Wybieramy rzeczy zajmujące najmniej miejsca (niemalejące wartości wi) Ogólny Problem plecakowy Wybieramy rzeczy zajmujące najmniej miejsca (niemalejące wartości wi) Przykład Wybieramy rzeczy w kolejności wag (rosnących) Wybieramy 23 sztuki rzeczy nr.6 Każda rzecz nr.6 ma wartość 2 Wartość plecaka wynosi 46 (2*23) i 1 2 3 4 5 6 W pi 7 10 wi 23

Wybieramy 11 sztuk rzeczy nr. 4 (waga 2) Ogólny Problem plecakowy Wybieramy rzeczy najcenniejsze w stosunku do swojej wagi (nierosnące wartości ilorazu pi/wi) Przykład Pakujemy plecak wg nierosnącej kolejności ilorazów pi/wi czyli (7/2 (rzecz 4), 10/3 (5), 4/2 (2), 2/1 (6), 5/3 (3), 6/6 (1)) Wybieramy 11 sztuk rzeczy nr. 4 (waga 2) Pozostało nam 1 jednostka miejsca. Wybieramy 1 sztukę rzeczy nr. 6. (waga 1) Wartość plecaka wynosi 79 (11*7+1*2) i 1 2 3 4 5 6 W pi 7 10 wi 23

Żaden sposób nie daje nam najlepszego rozwiązania. Ogólny Problem plecakowy Wnioski: Żaden sposób nie daje nam najlepszego rozwiązania. Otrzymane rozwiązania są przybliżone do rozwiązania optymalnego. Najbardziej przybliżone jest 3 kryterium ( Są w nim uwzględnione oba parametry, zarówno waga jaki i wartość rzeczy)

Algorytm zachłanny dla ogólnego problemu plecakowego Ogólny Problem plecakowy Algorytm zachłanny dla ogólnego problemu plecakowego Dane: n rzeczy o nieograniczonej wielkości. Rzecz ma wielkość wi i wartości pi (i =1,2,3…,n). Rzeczy ponumerowane wg nierówności p1/w1≥p2/w2≥… ≥ pn/wn. W – maksymalna wartość plecaka. Wynik: Ilości q1,q2,q3,…,qn poszczególnych rzeczy (mogą być zerowe, których łączna waga nie przekracza W . Krok 1. Dla kolejnych rzeczy i =1,2,3…n, uporządkowanych zgodnie z nierównościami p1/w1≥p2/w2≥… ≥ pn/wn, wykonaj krok 2. Krok 2. Określ największą wartość qi, spełniającą nierówność wiqi≤W. przyjmij W:=W- wiqi Krok 3. Ładunek plecaka ma wartość p1q1 + p2q2 + … + pnqn

Programowanie dynamiczne dla ogólnego problemu plecakowego Ogólny Problem plecakowy Programowanie dynamiczne dla ogólnego problemu plecakowego Zapewnia znalezienie optymalnego rozwiązania ogólnego problemu plecakowego Zasada optymalności Bellmana W każdym kroku podejmować najlepszą decyzję z uwzględnieniem stanu wynikającego z poprzednich decyzji.

Programowanie dynamiczne dla ogólnego problemu plecakowego Tablica P 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 28 32 36 40 44 25 29 33 37 41 45 35 42 49 56 63 70 77 31 38 52 59 66 73 80 Tablica Q. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 i 1 2 3 4 5 6 W pi 7 10 wi 23

Ogólny Problem plecakowy Algorytm programowania dynamicznego dla ogólnego problemu plecakowego Dane: n rzeczy o nieograniczonej wielkości. Rzecz ma wielkość wi i wartości pi (i =1,2,3…,n). W – maksymalna wartość plecaka. Wyniki: Tablica Pi,j najlepszych upakowań plecaka o pojemności j rzeczami rodzajów od 1 do i, dla i=1,2,3 …n oraz j=1,2,3…W; skojarzona tablica rodzajów rzeczy Qi,j, dołożonych w ostatnim dopakowaniu plecaka. Krok 1. {Ustalenie wartości początkowych w tablicach P i Q rozszerzonych dla ujednolicenia obliczeń, o wiersze i kolumny zerowe.} Dla j=1,2,3…W przypisujemy P0,j:=0, Q0,j:=0. Dla i=1,2,3…n przypisz Pi,0:=0, Qi,0:=0. Krok 2. Dla kolejnych rzeczy i=1,2,3…n wykonaj krok 3. Krok 3. Dla kolejnych pojemności plecaka j=1,2,3…W wykonaj krok 4. Krok 4. Jeśli j≥wi { Czyli, gdy pojemność plecaka jest wystarczająca, by pomieścić rzecz i.} Oraz Pi-1,j < Pi,j-wi + pi, to przypisz Pi,j:=Pi,j-wi + pi oraz Qi,j:=i, A w przeciwnym razie pozostaw wartości z poprzedniego wiersza, czyli przypisz Pi,j:=Pi-1,j oraz Qi,j:=Qi-1,j.

Decyzyjny problem plecakowy Każda rzecz może być wybrana co najwyżej jeden raz.

Decyzyjny Problem plecakowy Algorytm zachłanny dla decyzyjnego problemu plecakowego Dane: n rzeczy o nieograniczonej wielkości. Rzecz ma wielkość wi i wartości pi (i =1,2,3…,n). Rzeczy ponumerowane wg nierówności p1/w1≥p2/w2≥… ≥ pn/wn. W – maksymalna wartość plecaka. Wynik: Ilości q1,q2,q3,…,qn poszczególnych rzeczy (mogą być zerowe, których łączna waga nie przekracza W . Krok 1. Dla kolejnych rzeczy i =1,2,3…n, uporządkowanych zgodnie z nierównościami p1/w1≥p2/w2≥… ≥ pn/wn, wykonaj krok 2. Krok 2. Jeśli wi≤W. przyjmij W:=W- wi w przeciwnym razie przyjmij qi=0. Krok 3. Ładunek plecaka ma wartość p1q1 + p2q2 + … + pnqn

Decyzyjny Problem plecakowy Przykład. W=10 1. Ustawiamy rzeczy zgodnie z kolejnością czyli 4,5,2,6,3,1 Wybieramy kolejno: 4,5,2,6 (razem ważą 8 jednostek) Wartość plecaka wynosi 23. 2. Gdy zamiast 6 wybierzemy 3 cały plecak będzie wypełniony a jego wartość będzie Wynosiła 26. i 1 2 3 4 5 6 W pi 7 10 wi 23

Algorytm programowania dynamicznego dla decyzyjnego problemu plecakowego Dane: n rzeczy o nieograniczonej wielkości. Rzecz ma wielkość wi i wartości pi (i =1,2,3…,n). W – maksymalna wartość plecaka. Wyniki: Tablica Pi,j najlepszych upakowań plecaka o pojemności j rzeczami rodzajów od 1 do i, dla i=1,2,3 …n oraz j=1,2,3…W; skojarzona tablica rodzajów rzeczy Qi,j, dołożonych w ostatnim dopakowaniu plecaka. Krok 1. {Ustalenie wartości początkowych w tablicach P i Q rozszerzonych dla ujednolicenia obliczeń, o wiersze i kolumny zerowe.} Dla j=1,2,3…W przypisujemy P0,j:=0, Q0,j:=0. Dla i=1,2,3…n przypisz Pi,0:=0, Qi,0:=0. Krok 2. Dla kolejnych rzeczy i=1,2,3…n wykonaj krok 3. Krok 3. Dla kolejnych pojemności plecaka j=1,2,3…W wykonaj krok 4. Krok 4. Jeśli j≥wi { Czyli, gdy pojemność plecaka jest wystarczająca, by pomieścić rzecz i.} Oraz Pi-1,j < Pi,j-wi + pi, to przypisz Pi,j:=Pi,j-wi + pi oraz Qi,j:=1, A w przeciwnym razie pozostaw wartości z poprzedniego wiersza, czyli przypisz Pi,j:=Pi-1,j oraz Qi,j:=0.

Decyzyjny Problem plecakowy Programowanie dynamiczne dla decyzyjnego problemu plecakowego 1 2 3 4 5 6 7 8 9 10 11 12 16 17 21 22 26 1.8 11.8 18.8 22.8 23.8 Tablica P Tablica Q 1 2 3 4 5 6 7 8 9 10