Streszczenie rozprawy doktorskiej
Transkrypt
Streszczenie rozprawy doktorskiej
Streszczenie rozprawy doktorskiej w języku polskim Zastosowania optymalizacji kombinatorycznej w zakupach internetowych (org. ang. Applications of Combinatorial Optimization for Online Shopping) Jędrzej Musiał Współpromotor: prof. dr hab. inż. Jacek Błażewicz Współpromotor: prof. dr Pascal Bouvry Politechnika Poznańska Instytut Informatyki University of Luxembourg Computer Science and Communications Research Unit Poznań / Luksemburg, 2012 (rozprawa) Poznań, 2013 (streszczenie) 2 Spis treści 1 Wprowadzenie 1.1 Cele rozprawy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 2 Słownik pojęć 5 3 Podstawy optymalizacji kombinatorycznej 6 4 Systemy wspierające zakupy poprzez Internet 4.1 Serwisy oferujące porównywanie cen . . . . . . . . . . . . . . . . . . 4.2 Wspomaganie decyzji klienta - algorytm optymalnego podziału koszyka produktów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 9 5 Problem optymalizacji zakupów internetowych 10 5.1 Motywacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2 Definicja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6 Problem ISOP - możliwe redukcje 13 7 Zakupy online - algorytm zachłanny kontra porównywarki cen 14 7.1 Środowisko testowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 8 Rozwiązania problemu Internet Shopping Optimization Problem with Price Sensitive Discounts 8.1 Algorytmy heurystyczne . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Eksperyment doświadczalny - model . . . . . . . . . . . . . . . . . . 8.3 Eksperyment doświadczalny - wyniki . . . . . . . . . . . . . . . . . . 16 16 16 17 9 Podsumowanie 19 Bibliografia 20 A Publikacje 23 3 Rozdział 1 Wprowadzenie Zawartość 1.1 Cele rozprawy . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Wielkie Księstwo Luksemburga jest jednym z najmniejszych krajów na Świecie. Powierzchnię 2 586,4 kilometrów kwadratowych zamieszkuje niewiele ponad pół miliona osób (511,840) [dsGDdL11]. Ten, jeden z najmniejszych krajów Świata jest jednocześnie najbogatszym krajem Unii Europejskiej [Fun11]. Niskie podatki (zarówno podatek dochodowy, jak i w szczególności podatek VAT), świetna infrastruktura drogowa, doskonałe położenie geograficzne to tylko niektóre z powodów, dla których największe firmy decydują się na umieszczanie swoich głównych siedzib w Luksemburgu. Patrząc na rynek telekomunikacyjno informatyczny możemy odnaleźć biura takich firm, jak choćby: AOL, Amazon, Microsoft, eBay, Skype, iTunes. Można śmiało powiedzieć, że na dzień dzisiejszy Luksemburg jest jednym z najszybciej rozwijających się krajów w branży e-commerce (zarówno w części biznesowej jak i naukowej). Zakupy poprzez Internet stają się coraz popularniejsze w Luksemburgu, Polsce [S.A08], jak i całej Europie (tendencje potwierdzają również zachowania wśród mieszkańców USA [Pro08]). Według raportu [Fou08] przewiduje się, że w roku 2013 połowa mieszkańców Europy będzie dokonywać regularnych zakupów internetowych (wzrost z 21% notowanych w roku 2006). Trudno jednoznacznie określić, jakie produkty cieszą się największą popularnością, ale należa do nich na pewno przedmioty (usługi) z takich grup jak [MPT09, FA09]: wakacje, bilety lotnicze / kolejowe / autobusowe, książki, elektronika, odzież, bilety na koncerty / festiwale, bilety do kina / teatru, płyty muzyczne CD, jak i wiele innych. 1.1 Cele rozprawy Głównym celem rozprawy doktorskiej było przygotowanie rozwiązania, mogącego wspierać zakupy internetowe, gdzie użytkownik chce dokonać zakupu wielu produktów jednocześnie. Badania poprzedziła dokładna analiza obecnego rynku handlu internetowego wraz z istniejącymi narzędziami wspomagającymi zakupy. Ponadto, dokonano wyczerpującego przeglądu literatury naukowej. Wszelkie, podobne problemy zostały poddane analizie. W rozprawie zdefiniowano kilka problemów związanych z zakupami internetowymi, 1.1. Cele rozprawy 4 z czego najbardziej kluczowym jest Problem optymalizacji zakupów internetowych (ang. Internet Shopping Optimization Problem) wraz z jego wieloma odmianami / specjalizacjami. Co jest niezmiernie istotne, udało się połączyć teoretyczne, matematyczne definicje [BKM+ 10] (wraz z dowodami i twierdzeniami) z rzeczywistą aplikacją rozwiązująca zdefiniowany problem (przy pomoc 5 nowych, oryginalnych algorytmów). Wyczerpujące badania eksperymentalne potwierdziły doskonałe właściwości zaprojektowanych algorytmów [BBKM13, BM11b, BM11a, WM10]. W kolejnych rozdziałach dokonano opisu symboli, greckich liter, skrótów i akronimów używanych w ramach rozprawy. Następnie przybliżono podstawy optymalizacji kombinatorycznej / złożoności obliczeniowej. Ponadto, zaprezentowano przegląd literatury. Zaprezentowany został system wspierania decyzji, przy robieniu zakupów z odbiorem osobistym. Kolejne rozdziały opisują Problem optymalizacji zakupów internetowych wraz z wieloma jego specjalizacjami. Definicje, dowody i twierdzenia zostały uzupełnione poprzez opis zaprojektowanych algorytmów. Wyczerpujące badania eksperymentalne zostały poddane analizie, a następnie skomentowane. Podsumowanie rozprawy poprzedza referencje i 3 dodatki (spis publikacji, tabele, opis problemu dotyczącego projektowania bazy danych dla aplikacji e-commerce). 5 Rozdział 2 Słownik pojęć Rozdział drugi rozprawy zawiera szczegółowe informacje o literach i symbolach użytych w ramach rozprawy. Objaśniono litery grackie z ich znaczeniem oraz akronimy i skróty używane w tekście. Np. Symbole (fragment) = 6 = > < ¬ ⊆ ⊇ ∪ ∩ \ N ∞ (, ) P ∈ Q min max O(n) równość nierówność nierówność ostra nierówność ostra nierówność nieostra nierówność nieostra [...] podzbiór nadzbiór suma zbiorów iloczyn zbiorów różnica zbiorów liczby naturalne nieskończoność przedział otwarty szereg przynależność do zbioru iloczyn kartezjański minimum maksimum asymptotyczne tempo wzrostu 6 Rozdział 3 Podstawy optymalizacji kombinatorycznej Jako, że poruszany w rozprawie Problem zakupów internetowych (ang. Internet Shopping Optimization Problem) jest problemem kombinatorycznym, optymalizacyjnym niezbędne jest przedstawienie podstaw kombinatoryki. Rozdział trzeci zawiera podstawowe definicje i pojęcia optymalizacji kombinatorycznej. Pojęcie złożoności obliczeniowej zostało przytoczone i scharakteryzowane, na podstawie kluczowych książek Błażewicza [Bla88], jak również Gareya, Johnsona [GJ79]. Następnie scharakteryzowano problemy decyzyjne (podając przykłady) i problemy optymalizacyjne. Znajomość klas złożoności obliczeniowej problemów decyzyjnych jest niezbędna, dla poprawności definiowania i procesu wnioskowania, przy określaniu nowych problemów. Podstawowe pojęcia i definicje zostały przytoczone (na podstawie [Bla88, GJ79, CLRS01]) i zdefiniowane. W dalszej części rozdziału zaprezentowano podstawy algorytmiki. Zdefiniowano pojęcia algorytmu, wyjaśniono sposób i zasadność określania złożoności czasowej algorytmów. Następnie scharakteryzowane zostały algorytmy dokładne i ich związek z przynależnością problemów optymalizacyjnych do klasy NP-trudnej. Zaprezentowano i opisano kilka kluczowych typów algorytmów: Branch & Bound [LD60], algorytmów zachłannych [CLRS01] czy algorytmów genetycznych [AL97, VMOR98]. Dwa powszechnie znane problemy optymalizacyjne zostały dokładniej scharakteryzowane, ze względu na ich podobieństwo (wstępne) do problemu poruszanego w rozprawie doktorskiej. Opisano zatem Facility Location Problem [KPP02, ES04, RED08, MNSdG09], jak i problem plecakowy (Knapsack Problem) z wieloma jego odmianami / specjalizacjami [MT90]. 7 Rozdział 4 Systemy wspierające zakupy poprzez Internet Zawartość 4.1 4.1 Serwisy oferujące porównywanie cen . . . . . . . . . . . . . . 7 4.2 Wspomaganie decyzji klienta - algorytm optymalnego podziału koszyka produktów . . . . . . . . . . . . . . . . . . . . 9 Serwisy oferujące porównywanie cen Niniejszy podrozdział zawiera kompletny opis systemów oferujących porównanie ceny danego produkty (porównanie wśród ofert wielu sklepów). Według danych pochodzących z serwisu sklepy24.pl, liczbę sklepów internetowych w Polsce pod koniec 2006r. można było szacować na ok. 2500 [6]. Dynamiczne tempo rozwoju polskiego handlu internetowego, którego wartość już w 2005r. przekroczyła 1% wartości wszystkich obrotów handlowych w kraju, sprawia, że rośnie konkurencja wśród sprzedawców, którzy oferują swoje produkty w sieci Internet i chcą zainteresować klientów własną ofertą. Rosnąca konkurencja wśród sprzedawców jest zjawiskiem jak najbardziej korzystnym dla kupujących, gdyż przekłada się bezpośrednio na obniżenie stosowanych marż i spadek cen. Rozpiętość cen identycznych produktów oferowanych przez różnych sprzedawców sięga niekiedy kilkudziesięciu procent. Chęć poszukiwania najkorzystniejszej oferty jest zatem zrozumiała i uzasadniona ekonomicznie. Z drugiej jednak strony mnogość sklepów internetowych sprawia, że jest coraz trudniej, a często wręcz niemożliwe, aby kupujący „manualnie” dokonał przeglądu wszystkich ofert handlowych z wybranej branży w celu poszukania najkorzystniejszej dla siebie oferty. Gdyby nawet przyjąć, że kupujący dysponuje pełną wiedzą o adresach wszystkich sklepów internetowych oferujących poszukiwane przez niego produkty i jest on w stanie dokonać pełnego przeglądu ofert, to może się okazać, że wielogodzinna żmudna praca wcale nie musi przynieść oczekiwanego rezultatu, czyli znalezienia oferty korzystniejszej niż pierwsza napotkana w losowo wybranym sklepie. Można w takim przypadku postawić pytanie, czy wykonanie pracy polegającej na przeszukaniu pozostałych ofert ma dla kupującego jakąkolwiek wartość. Warto zauważyć, że w tym specyficznym przypadku klient co prawda nie poprawił jakości znalezionego rozwiązania 4.1. Serwisy oferujące porównywanie cen 8 (łącznej ceny produktów z koszyka), ale wzrosło jego przekonanie co do słuszności dokonanego wyboru. Z matematycznego punktu widzenia znalezione rozwiązanie nie poprawiło się na skutek wykonanej pracy, ale wzrosła pewność kupującego w zakresie słuszności podejmowanych decyzji. Wychodząc naprzeciw oczekiwaniom i potrzebom kupujących, wraz z rosnącą liczbą sklepów internetowych, pojawiły się w Sieci usługi porównywania cen produktów w ofertach wielu sklepów. Niestety, należy stwierdzić, że zdecydowana większość tzw. porównywarek cen, ma ograniczony zakres swoich analiz do ofert e-sklepów. Jest to podyktowane prostotą realizacji mechanizmu pobierania aktualnych ofert cenowych i łatwością nawiązania współpracy z właścicielami sklepów wirtualnych, choć w sensie technicznym nie ma barier, które miałyby uniemożliwiać uwzględnianie w porównywarkach cen również ofert sklepów stacjonarnych. Miara jakości ofert znalezionych w porównywarce cen. Popularność usługi porównywania cen, pomimo swojej ułomności, jest bardzo duża. Porównywarki cieszą się uznaniem kupujących i sprzedawców. Miarą jakości poszczególnych rozwiązań generowanych przez porównywarkę cen, z punktu widzenia klienta kupującego jeden produkt, może być różnica średniej ceny rynkowej i najlepszej oferty cenowej znalezionej przez porównywarkę cen dla zadanego produktu. Wskaźnik ten można oczywiście wyrazić w procentach przez odniesienie do średniej ceny rynkowej. cmkt − cp QK = [%] (4.1) Cmkt gdzie cmkt - to średnia rynkowa cena badanego produktu cp - to najlepsza oferta badanego produktu (najniższa cena znaleziona przez porównywarkę cen) Wzór (4.1) i związaną z nim miarę jakości porównywarki cen można oczywiście policzyć dla wszystkich produktów zaindeksowanych w bazie danych porównywarki cen i policzyć następnie uśrednioną wartość tego wskaźnika (4.2). n ci −ci P p mkt QK = i=1 cimkt n [%] (4.2) gdzie cimkt - to średnia rynkowa cena i-tego produktu cip - to najlepsza oferta i-tego produktu (najniższa cena znaleziona przez porównywarkę cen) n - to liczba produktów w bazie danych porównywarki cen 4.2. Wspomaganie decyzji klienta - algorytm optymalnego podziału koszyka produktów 4.2 9 Wspomaganie decyzji klienta - algorytm optymalnego podziału koszyka produktów Celem działania algorytmu jest zaproponowanie podziału koszyka produktów na podzbiory (podkoszyki), w taki sposób, aby łączny koszt zakupu. Dodatkowo zakładamy, że koszt dostawy produktów jest pomijalnie niski lub wręcz zerowy. Zakładamy, że wiedza o dostępności i cenach produktów w poszczególnych sklepach jest zapisana według schematu zaproponowanego powyżej, a produkty są identyfikowane przez kody kreskowe, co gwarantuje, że towary oferowane przez różne sklepy, ale opisane tym samym kodem, posiadają identyczne cechy. Preferencje klienta odnośnie miejsca realizacji zakupy dotyczą określenia obszaru geograficznego (promienia poszukiwań), na którym mają się znajdować sklepy brane pod uwagę w procesie przeszukiwania ofert. Przyjmuje się również założenie, że klient chce dokonać zakupu wszystkich produktów z koszyka w minimalnej liczbie sklepów jednak głównym kryterium optymalizacji jest minimalizacja łącznego kosztu. Zbiór sklepów S, których oferty brane będą rozpatrywane w procesie optymalizacji kosztu zakupu koszyka produktów jest ograniczony, a kwalifikacja do tego zbioru odbywa się na podstawie sprawdzenia, czy fizyczna lokalizacja nie wykracza poza okręg o wyznaczonym przez decydenta promieniu r kilometrów, ze środkiem w aktualnej pozycji klienta. W koszyku mogą znajdować się wyłącznie produkty osiągalne w co najmniej jednym ze sklepów w wyznaczonym przez klienta okręgu. Graniczną, minimalną, wartość zakupu całego koszyka produktów: copt można wyznaczyć przez proste zapytanie o minimum ceny poszczególnych produktów zawartych w koszyku, do bazy danych zawierającej oferty wyselekcjonowanych sklepów ze zbioru S, min pis , gdzie pis oznacza cenę produktu i w sklepie s ∈ S. W kolejnych krokach następuje poszukiwanie realizacji koszyka w minimalnej liczbie sklepów ze zbioru S w cenie copt . W pierwszej iteracji sprawdza się, czy uda się zrealizować zakupy w jednym sklepie osiągając cenę copt . Najlepszy wynik na tym etapie poszukiwań c1min , czyli potencjalne realizacje koszyka w najniższej możliwej cenie w jednym sklepie są prezentowane decydentowi, nawet jeśli uzyskane rozwiązania są gorsze od copt . Ten sposób postępowania umożliwia przerwanie procesu optymalizacji jeśli klient uzna, że uzyskany wynik jest dla niego satysfakcjonujący i nie chce on kontynuować optymalizacji zakładającej realizację zakupów w większej liczbie sklepów. Poszukiwanie optymalnej realizacji koszyka może być kontynuowane poprzez zwiększenie o jeden liczby sklepów branych pod uwagę w realizacji koszyka aż do momentu znalezienia zbioru realizacji koszyka w cenie copt lub zatrzymaniu optymalizacji przez decydenta. W celu weryfikacji możliwości wykorzystania w praktyce opracowanej propozycji algorytmu optymalizacji, zrealizowana została prototypowa aplikacja i przeprowadzono eksperyment obliczeniowy. Szerszy komentarz na temat proponowanych miar jakości, aplikacji wspomagającej decyzje klienta i badań można znaleźć w rozprawie doktorskiej, lub w publikacji Musiała i Wojciechowskiego [MW09]. 10 Rozdział 5 Problem optymalizacji zakupów internetowych Zawartość 5.1 5.1 Motywacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2 Definicja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Motywacja Czynnikiem motywującym rozpoczęcie pracy, było zauważenie ułomności funkcjonalnej, związanej z serwisami porównującymi ceny produktów. Mianowicie, największą ich wadą jest możliwość porównania ceny tylko jednego produktu w danym momencie. Jeśli mamy zamiar kupić wiele produktów (np. wiele książek, płyt audio, itd.), otrzymujemy wiele oddzielnych list rankingowym. Zakupienie wszystkich żądanych produktów, w najniższej sumarycznej cenie, okazuje się zadaniem bardzo trudnym. Załóżmy, że mamy do kupienia pewną ilość produktów w dostępnych sklepach. Każdy ze sklepów oferuje dany produkt (dla łatwości obliczeń i zasadności działania algorytmu można przyjąć, że oferta na produkt niedostępny w danym sklepie jest nieproporcjonalnie wysoka – cena wielokrotnie wyższa niż w innych sklepach). Z każdym ze sklepów związany jest koszt wysyłki. Koszt wysyłki jest stały dla każdego sklepu, niezależnie od ilości zamawianych produktów. Zadaniem jest dokonanie możliwie najtańszego zakupu wszystkich produktów spośród ofert wszystkich sklepów. 5.2 Definicja Problem optymalizacji zakupów internetowych (Internet Shopping Optimization Problem - ISOP) odpowiada na pytanie, w jaki sposób klient powinien dokonać zakupów określonych produktów spośród oferty sklepów internetowych. Z każdym sklepem i produktem związana jest oferta na dany produkt, a także stały koszt wysyłki obejmujący wysyłkę całego zamówienia z danego sklepu. Zostało udowodnione, że problem należy do klasy problemów NP-trudnych [BKM+ 10]. Zaprezentowano również algorytm zachłanny , który uzyskiwał bardzo 5.2. Definicja 11 Tabela 5.1: Problem definition - table of notation. Symbol Explanation n number of products m number of shops Nl multiset of products available in shop l cjl cost of each product j ∈ Nl dl delivery cost for shop l, l = 1, . . . , m X = (X1 , . . . , Xm ) sequence of selections of products in shops 1, . . . , m F (X) sum of product and delivery costs δ(x) 0-1 indicator function for x = 0 and x > 0 ∗ X optimal sequence of selections of products F∗ optimal (minimum) total cost Tabela 5.2: Prices of books and delivery costs offered by six Internet Cost Book a Book b Book c Book d Book e Delivery Shop 1 18 39 29 48 59 10 Shop 2 24 45 23 54 44 15 Shop 3 22 45 23 53 53 15 Shop 4 28 47 17 57 47 10 Shop 5 24 42 24 47 59 10 Shop 6 27 48 20 55 53 15 shops. Total 203 205 211 206 206 218 dobrą jakość wyników (kontra rozwiązanie optymalne) działając w bardzo krótkim czasie przy niewielkiej złożoności obliczeniowej. Notacja używana przy definicji problemu ISOP opisana jest w tabeli 5.1. Problem optymalizacji zakupów internetowych można zapisać w postaci matematycznej jako: min m X X i=1 j∈Ni s.t. X pij xij + m X di yi , (5.1) i=1 xij = 1, j = 1, . . . , n, i∈Mj 0 ¬ xij ¬ yi , i = 1, . . . , m, j = 1, . . . , n, xij ∈ {0, 1}, yi ∈ {0, 1}, i = 1, . . . , m, j = 1, . . . , n. Aby zobrazować realną sytuację można zajrzeć do tabeli z danymi (ofertami sklepów), jak i tabeli przedstawiającej optymalne rozwiązanie problemu. Celem jest zakup pięciu książek za minimalną możliwą kwotę (wliczając koszty wysyłki). Odpowiednio tabela 5.2 i 5.3. W kolejnych częściach rozdziału piątego dokonano definicji i opisu wielu ciekawych specjalizacji problemu zakupów internetowych. Najciekawszym przypadkiem (bardzo realistycznym, ale zarazem też najbardziej skomplikowanym) jest problem, w którym mamy do czynienia z dodatkową funkcją określającą rabaty dla sklepów. 5.2. Definicja Cost Shop 12 Tabela 5.3: Optimal purchase cost in selected shops. Book a Book b Book c Book d Book e Delivery 18 39 17 48 47 20 Shop 1 Shop 1 Shop 4 Shop 1 Shop 4 Total 189 Zakłada się, że (póki co dla ułatwienia definicji) koszt wysyłki jest stały dla każdego sklepu i niezależnie od ilości zakupionych produktów czy kwoty przeznaczonej na zakupy nie ulega zmianie. Drugim atrybutem, który w istotny sposób zmienia charakterystykę problemu jest zdefiniowanie funkcji określającej rabaty obowiązujące dla sklepów. System rabatowy jest powszechnie stosowaną metodą na pozyskanie klientów bądź utrzymanie dotychczasowych. Powoduje, że atrakcyjność sklepu wzrasta. Często spotykaną praktyką jest określenie wysokości rabatu, w stosunku do kwoty wydanej na zakupy, przykładowo: ”Zrób zakupy na kwotę 100 zł a uzyskasz 2% rabatu, jeśli wydasz 200 zł uzyskasz 4% rabatu, jeśli Twoje zamówienie przekroczy wartość 500 zł przyznamy Ci 5% rabatu”. Oczywiście rzędy wielkości, przedziały i wielkości rabatów są ustalane odrębnie przez danego sprzedającego, nie panują w tej materii żadne z góry ustalone zasady. Problem optymalizacji zakupów internetowych, w których występują rabatu możemy zatem zapisać w postaci matematycznej jako: min m X fi (di yi + i=1 p.o. X X pij xij ), (5.2) j∈Ni xij = 1, j = 1, . . . , n, i∈Mj 0 ¬ xij ¬ yi , i = 1, . . . , m, j = 1, . . . , n, xij ∈ {0, 1}, yi ∈ {0, 1}, i = 1, . . . , m, j = 1, . . . , n. gdzie fi (T ) - funkcja rabatowa dla sklepu i, gdzie T określa łączny koszt produktów zakupionych w tymże sklepie. 13 Rozdział 6 Problem ISOP - możliwe redukcje W rozdziale 6 opisany został Facility Location Problem. Następnie przedstawiono sposoby rozwiązywania tego problemu [KPP02, ES04, RED08, MNSdG09, IBI10]. W kolejnej części rozdziału przeprowadzono redukcję najprostszej wersji problemu ISOP do problemu FLP. Rysunek 6.1: Przykład Facility Location Problem z podanymi pozycjami fabryk (F) i klientów (C). 14 Rozdział 7 Zakupy online - algorytm zachłanny kontra porównywarki cen Zawartość 7.1 Środowisko testowe . . . . . . . . . . . . . . . . . . . . . . . . 14 Niniejszy rozdział skupia uwagę na podstawowej wersji problemu ISOP (wcześniejsza część badań naukowych) [WM10]. 7.1 Środowisko testowe Niezmiernie istotnym, a zarazem skomplikowanym zadaniem było stworzenie środowiska testowego. Musiało przede wszystkim spełniać główne założenie - być jak najbliższe rzeczywistej sytuacji na rynku sprzedaży internetowej. Do stworzenia modelu użyto danych zebranych przez Clay et al. [CKW01]. Dane dotyczyły cen książek w internetowych księgarniach i były kolekcjonowane przez kilka lat. Następnie poprzez obserwacje obecnie działających serwisów model być dopracowywany, aby osiągnąć jak najbardziej zadawalające efekty. Budując model przyjęto, że dla aktualnych testów zostaną wybrane następujące dane - m ∈ {10, 15, 20, 25, 30}, n ∈ {2, 3, 4, 5}. Dodatkowo założono, że każda księgarnia (sklep) oferuje wszystkie potrzebne książki. Dla każdej pary (n, m), wygenerowano 10 testowych instancji problemu, gdzie za każdym razem dla każdego sklepu i oraz produktu j generowano kolejne dane. Koszt dostawy: di ∈ {5, 10, 15, 20, 25, 30}, rekomendowana cena książki j: rj ∈ {5, 10, 15, 20, 25}, a także cena książki j w księgarni i: pij ∈ [aij , bij ], gdzie aij 0.69rj , bij ¬ 1.47rj , oraz charakterystyka interwałów [aij , bij ] jest zbudowana zgodnie z Tabelą V w publikacji Clay et al. [CKW01]. Procentowy udział w poszczególnych przedziałach cenowych wygląda następująco: 7.1. Środowisko testowe [32%] 15 minimum minimum + (median−minimum) 4 minimum + (median−minimum) 2 minimum + (median−minimum) 1.25 [9%] [9%] [8%] median [13%] median + (maximum−median) 4 median + (maximum−median) 2 median + (maximum−median) 1.25 [6%] [11%] [12%] maximum Szczegółowy opis działania algorytmu heurystycznego (łącznie z pseudokodem), jak również opis eksperymentu doświadczalnego przedstawiono w rozprawie. Warto zauważyć, że podczas wszystkich wykonanych testów algorytm zachłanny dawał średnio 44,25% lepsze (o tyle tańsze) rozwiązanie niż algorytm porównywarki cen oraz 27,5% lepsze rozwiązanie, niż ulepszony algorytm porównywarki cen biorący pod uwagę koszty wysyłki. Podczas całego eksperymentu (800 testowych przebiegów) zaproponowany algorytm zachłanny nigdy nie okazał się gorszy od konkurencyjnych rozwiązań. 16 Rozdział 8 Rozwiązania problemu Internet Shopping Optimization Problem with Price Sensitive Discounts Zawartość 8.1 8.1 Algorytmy heurystyczne . . . . . . . . . . . . . . . . . . . . . 16 8.2 Eksperyment doświadczalny - model . . . . . . . . . . . . . . 16 8.3 Eksperyment doświadczalny - wyniki 17 . . . . . . . . . . . . . Algorytmy heurystyczne W niniejszym rozdziale zaprezentowano i dokładnie opisano 4 autorskie algorytmy heurystyczne i jeden algorytm dokładny (również nowo stworzony). Na uwagę zasługuje fakt, iż zaproponowane algorytmy heurystyczne posiadają inny, odrębny charakter, a nie są kolejnymi wersjami jednego algorytmu. Wynika to z innych podejść i pomysłów, na których bazują zaproponowane rozwiązania. Tak więc zaprezentowano: • szybki i efektywny algorytm zachłanny, • algorytm analizujący nie tylko lokalną sytuację, ale wykraczający o krok naprzód, • algorytm oparty na obliczeniach komórkowych – oferujący najlepsze wyniki, • algorytm zbudowany na podstawie obserwacji algorytmów minimalizujących, wykorzystywanych podczas problemów szeregowania zadań, • dokładny algorytm oparty na metodzie Branch & Bound. 8.2 Eksperyment doświadczalny - model Do testów użyto środowiska opisanego w rozdziale 7. 8.3. Eksperyment doświadczalny - wyniki Funkcję rabatową określona jako: f (x) = x 0.95x 0.90x 0.85x 0.80x 8.3 17 if x ¬ 25, if 25 < x ¬ 50, if 50 < x ¬ 100, if 100 < x ¬ 200, if 200 < x. Eksperyment doświadczalny - wyniki W rozprawie opisano bardzo szczegółowo przeprowadzane eksperymenty doświadczalne. Wyniki zostały poddane dogłębnej analizie, a wioski z tychże obserwacji opisane. Poza porównaniem poszczególnych algorytmów, dokonano oceny ich jakości, stabilności i charakterystyki działania względem dobranych czynników eksperymentu. Łącznie przeprowadzono niespełna 5000 testów. Wyniki uzyskane przez zaprojektowane algorytmy heurystyczne okazały się bardzo dobre, a zastosowanie algorytmów należy dobrać odpowiednio do sytuacji - nie uzyskano jasnej odpowiedzi na pytanie o faworyta. Niewielki fragment wyników badań przedstawiono w Tabeli 8.1 (całość w rozprawie), natomiast przykładowe porównanie czasów działania algorytmów w Tabeli 8.2. Tabela 8.1: Porównanie wyników działania algorytmów. Każda komórka reprezentuje uśrednioną wartość ze 100 testów (20 sklepów). Prezentowane jako odniesienie % do najlepszego wyniku = 100% - B&B rozwiązanie optymalne. products Greedy Forecasting Cellular MinMin BB 2 101.61% 100.61% 100.12% 104.58% 100.00% 3 103.49% 102.06% 101.47% 105.79% 100.00% 4 104.40% 103.48% 100.69% 106.16% 100.00% 5 106.12% 105.50% 101.28% 107.48% 100.00% 6 106.80% 107.13% 101.29% 106.78% 100.00% 7 107.79% 108.54% 101.41% 106.86% 100.00% 8 108.92% 109.32% 101.39% 108.20% 100.00% 9 109.15% 110.47% 101.24% 107.56% 100.00% 10 110.95% 111.71% 101.35% 107.59% 100.00% 8.3. Eksperyment doświadczalny - wyniki 18 Tabela 8.2: Porównanie czasów działania algorytmów. Każda komórka reprezentuje uśrednioną wartość ze 100 testów (20 sklepów). Prezentowane jako odniesienie % do najlepszego wyniku = 100% - najszybsze rozwiązanie w danym wierszu. products Greedy Forecasting Cellular MinMin BB 2 513.69% 986.99% 18166.08% 100.00% 41835.16% 4 413.90% 1022.48% 14256.02% 100.00% 22826.25% 4 267.39% 636.57% 9833.03% 100.00% 25644.03% 5 181.52% 437.42% 8116.69% 100.00% 55598.22% 6 100.00% 236.10% 4569.53% 112.69% 81453.10% 7 100.00% 203.68% 3051.36% 100.42% 230964.98% 8 100.00% 196.97% 2697.53% 103.94% 715958.54% 9 106.35% 177.95% 2654.51% 100.00% 2608561.85% 10 100.00% 183.78% 3048.78% 116.14% 9880131.55% 19 Rozdział 9 Podsumowanie Korzystanie z oferty sklepów internetowych / aukcji internetowych posiada wiele zalet w odniesieniu do tradycyjnych sklepów. Najważniejszymi mogą być niższe ceny i możliwość zakupów z bardzo odległych miejsc. Należy jednak zauważyć, że zakupy związane są z dodatkowym kosztem wysyłki, który jest odrębny dla każdego ze sklepów. Załóżmy, że mamy do kupienia pewną ilość produktów w dostępnych sklepach. Każdy ze sklepów oferuje dany produkt. Z każdym ze sklepów związany jest koszt wysyłki (jak również rabaty). Zadaniem jest dokonanie, możliwie najtańszego zakupu wszystkich produktów spośród ofert wszystkich sklepów. W niniejszej rozprawie dokonano dogłębnej analizy rynku zakupów internetowych, wraz z narzędziami oferującymi wsparcie podczas dokonywania zakupów. Następnie zdefiniowano optymalizacyjny Problem optymalizacji zakupów internetowych (ang. Internet Shopping Optimization Problem). Zostało udowodnione, że problem należy do klasy problemów silnie NP-trudnych. Dla najprostszej wersji zaprezentowanego problemu wykonano redukcję do powszechnie znanego Facility Location Problem. Stosowny przegląd literatury uzupełnił komentarz dotyczący redukcji. W dysertacji, główną uwagę skupiono na analizie znacznie trudniejszej odmianie Problemu optymalizacji zakupów internetowych - zawierającej rabaty (im większe zakupy dokonuje się w jednym sklepie, tym większy rabat się uzyskuje - taka sytuacja jest powszechnie zauważana wśród ofert sklepów internetowych). Tę interesującą odmianę nazwano Internet Shopping Optimization Problem with Price Sensitive Discounts. Rozprawa zawiera dokładną analizę tejże wersji problemu. Zaprojektowano i zaimplementowano pięć różnych algorytmów rozwiązujących problem. Cztery z nich to algorytmy heurystyczne (co bardzo istotne nie są to kolejne wersje jednej koncepcji, a zupełnie odrębne algorytmy działające w oparciu o inne metody - zachłanne, genetyczne (komórkowe), oparte na szeregowaniu zadań, inne), jak i jeden algorytm dokładny (oparty na metodzie Branch & Bound). Liczne eksperymenty doświadczalne potwierdziły doskonałe wyniki, uzyskiwane przez wspomniane algorytmy. Rozprawę uzupełnia szczegółowy komentarz wyników, jak i analiza zmienności / rozproszenia. Planuje się kontunuowanie badań naukowych w temacie optymalizacji zakupów internetowych (metody programowania liniowego, nowe wersje problemów zawierające wielokryterialne decyzje, czy też kilka częściowych funkcji celu, dodatkowe parametry jak: czasy dostawy, transakcje wiązane, renoma sprzedawcy, inne). 20 Bibliografia [AL97] E. Aarts and J.K. Lenstra, editors. Local Search in Combinatorial Optimization. John Wiley & Sons, Inc., New York, NY, USA, 1st edition, 1997. (Cytowano na stronie 6.) [BBKM13] J. Blazewicz, P. Bouvry, M.Y. Kovalyov, and J. Musial. Internet shopping with price sensitive discounts. 4OR-A Quarterly Journal of Operations Research, 2013. (w druku). (Cytowano na stronie 4.) [BKM+ 10] J. Blazewicz, M.Y. Kovalyov, J. Musial, A.P. Urbanski, and A. Wojciechowski. Internet Shopping Optimization Problem. International Journal of Applied Mathematics and Computer Science, 20(2):385– 390, 2010. (Cytowano na stronach 4 i 10.) [Bla88] J. Blazewicz. Złożoność obliczeniowa problemów kombinatorycznych. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988. (Cytowano na stronie 6.) [BM11a] J. Blazewicz and J. Musial. E-commerce evaluation - multi-item internet shopping. optimization and heuristic algorithms. In B. Hu, K. Morasch, S. Pickl, and M. Siegle, editors, Operations Research Proceedings 2010, Operations Research Proceedings, pages 149–154. Springer Berlin Heidelberg, 2011. (Cytowano na stronie 4.) [BM11b] J. Blazewicz and J. Musial. Heuristic algorithm with forecasting for online shopping. In 24th European Chapter on Combinatorial Optimization, 2011. (Cytowano na stronie 4.) [CKW01] K. Clay, R. Krishnan, and E. Wolff. Prices and price dispersion on the web: Evidence from the online book industry. NBER Working Papers 8271, National Bureau of Economic Research, Inc, May 2001. (Cytowano na stronie 14.) [CLRS01] T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein. Introduction to Algorithms. McGraw-Hill Higher Education, 2nd edition, 2001. (Cytowano na stronie 6.) [dsGDdL11] Le Portail des statistiques: Grand-Duche Luxembourg. Population: 511 840 habitants au 1er janvier 2011, May 2011. (Cytowano na stronie 3.) [ES04] H.A. Eiselt and C.L. Sandblom. Decision analysis, location models, and scheduling problems. Springer-Verlag, Berlin-Heidelberg-New York, 2004. (Cytowano na stronach 6 i 13.) Bibliografia 21 [FA09] Alison Fennah and European Interactive Advertising Association. Mediascope europe 2010, March 2009. (Cytowano na stronie 3.) [Fou08] The Future Foundation. E-commerce across europe - progress and prospects, 2008. (Cytowano na stronie 3.) [Fun11] International Monetary Fund, 2011. (Cytowano na stronie 3.) [GJ79] M.R. Garey and D.S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. New York, Freeman, 1979. (Cytowano na stronie 6.) [IBI10] C. Iyigun and A. Ben-Israel. A generalized weiszfeld method for the multi-facility location problem. Oper. Res. Lett., 38(3):207–214, 2010. (Cytowano na stronie 13.) [KPP02] J. Krarup, D. Pisinger, and F. Plastriab. Discrete location problems with push-pull objectives. Discrete Applied Mathematics, 123:363–378, 2002. (Cytowano na stronach 6 i 13.) [LD60] A.H. Land and A.G. Doig. An automatic method for solving discrete programming problems. Econometrica,, 28:497–520, 1960. (Cytowano na stronie 6.) [MNSdG09] M.T. Melo, S. Nickel, and F. Saldanha-da Gama. Facility location and supply chain management. European Journal of Operational Research, 196:401–412, 2009. (Cytowano na stronach 6 i 13.) [MPT09] K. Meier-Pesti and C. Trbenbach. Mystery shopping evaluation of cross-border e-commerce in the eu, October 2009. (Cytowano na stronie 3.) [MT90] S. Martello and P. Toth. Knapsack problems: algorithms and computer implementations. Wiley-Interscience series in discrete mathematics and optimization. J. Wiley & Sons, 1990. (Cytowano na stronie 6.) [MW09] J. Musial and A. Wojciechowski. A customer assistance system: Optimizing basket cost. Foundations of Computing and Decision Sciences, 34(1):59–69, 2009. (Cytowano na stronie 9.) [Pro08] Pew Internet & American Life Project. On-line shopping, 2008. (Cytowano na stronie 3.) [RED08] C.S. Revelle, H.A. Eiselt, and M.S. Daskin. A bibliography for some fundamental problem categories in discrete location science. European Journal of Operational Research, 184(3):817–848, 2008. (Cytowano na stronach 6 i 13.) Bibliografia [S.A08] 22 Gemius S.A. E-commerce in poland, 2008. http://gemius.pl/pl/ raporty/2008-06/03. (Cytowano na stronie 3.) [VMOR98] S. Voss, S. Martello, I. Osman, and C. Roucairol, editors. MetaHeuristics - Advances and Trends in Local Search Paradigms for Optimization. Kluwer Academic Publishers, Boston, MA, 1998. (Cytowano na stronie 6.) [WM10] A. Wojciechowski and J. Musial. Towards optimal multi-item shopping basket management: Heuristic approach. In Robert Meersman, Tharam Dillon, and Pilar Herrero, editors, On the Move to Meaningful Internet Systems: OTM 2010 Workshops, volume 6428 of Lecture Notes in Computer Science, pages 349–357. Springer Berlin / Heidelberg, 2010. (Cytowano na stronach 4 i 14.) 23 Dodatek A Publikacje Lista wybranych publikacji powiązanych merytorycznie z rozprawą doktorską. 1. J. Blazewicz, P. Bouvry, M.Y. Kovalyov and J. Musial. Internet Shopping with Price Sensitive Discounts. 4OR- A Quarterly Journal of Operations Research, 2013 (w druku). 2. J. Marszalkowski, J.M. Marszalkowski and J. Musial. Database scheme optimization for online applications. Foundations of Computing and Decision Sciences, 36(2):121-129, 2011. 3. J. Blazewicz and J. Musial. E-commerce evaluation. Multi-item Internet shopping. Optimization and heuristic algorithms. Bo Hu et al. (Eds.), Operations Research Proceedings 2010 - Selected Papers of the Annual International Conference of the German Operations Research Society, 149-154, Springer 2011. 4. J. Blazewicz and J. Musial. Heuristic algorithm with forecasting for online shopping. ECCO XXIV, 24th European Chapter on Combinatorial Optimization, 2011. 5. A. Wojciechowski and J. Musial. Towards Optimal Multi-item Shopping Basket Management: Heuristic Approach. R. Meersman et al. (Eds.), OTM 2010 Workshops, LNCS 6428:349-357, 2010. 6. J. Blazewicz, M.Y. Kovalyov, J. Musial, A.P. Urbanski and A. Wojciechowski. Internet Shopping Optimization Problem. International Journal of Applied Mathematics and Computer Science, 20(2):385-390, 2010. 7. A. Wojciechowski and J. Musial. A Customers Assistance System: Optimizing Basket Cost. Foundations of Computing and Decision Sciences, 34(1):59-69, 2009.