zastosowania optymalizacji kombinatorycznej w zakupach...

23
Streszczenie rozprawy doktorskiej w języku polskim Zastosowania optymalizacji kombinatorycznej w zakupach internetowych (org. ang. Applications of Combinatorial Optimization for Online Shopping) Jędrzej Musial Wspólpromotor: prof. dr hab. inż. Jacek Blażewicz Wspólpromotor: 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)

Upload: others

Post on 24-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

Streszczenie rozprawy doktorskiej w języku polskim

Zastosowania optymalizacjikombinatorycznej w zakupach

internetowych(org. ang. Applications of Combinatorial

Optimization for Online Shopping)

Jędrzej Musiał

Współpromotor: prof. dr hab. inż. Jacek BłażewiczWspółpromotor: prof. dr Pascal Bouvry

Politechnika PoznańskaInstytut Informatyki

University of LuxembourgComputer Science and Communications Research Unit

Poznań / Luksemburg, 2012 (rozprawa)Poznań, 2013 (streszczenie)

Page 2: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

2

Spis treści

1 Wprowadzenie 31.1 Cele rozprawy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Słownik pojęć 5

3 Podstawy optymalizacji kombinatorycznej 6

4 Systemy wspierające zakupy poprzez Internet 74.1 Serwisy oferujące porównywanie cen . . . . . . . . . . . . . . . . . . 74.2 Wspomaganie decyzji klienta - algorytm optymalnego podziału ko-

szyka produktów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5 Problem optymalizacji zakupów internetowych 105.1 Motywacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105.2 Definicja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

6 Problem ISOP - możliwe redukcje 13

7 Zakupy online - algorytm zachłanny kontra porównywarki cen 147.1 Środowisko testowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

8 Rozwiązania problemu Internet Shopping Optimization Problemwith Price Sensitive Discounts 168.1 Algorytmy heurystyczne . . . . . . . . . . . . . . . . . . . . . . . . . 168.2 Eksperyment doświadczalny - model . . . . . . . . . . . . . . . . . . 168.3 Eksperyment doświadczalny - wyniki . . . . . . . . . . . . . . . . . . 17

9 Podsumowanie 19

Bibliografia 20

A Publikacje 23

Page 3: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

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 jestjednocześnie najbogatszym krajem Unii Europejskiej [Fun11].

Niskie podatki (zarówno podatek dochodowy, jak i w szczególności podatekVAT), świetna infrastruktura drogowa, doskonałe położenie geograficzne to tylkoniektóre z powodów, dla których największe firmy decydują się na umieszczanieswoich głównych siedzib w Luksemburgu. Patrząc na rynek telekomunikacyjno -informatyczny możemy odnaleźć biura takich firm, jak choćby: AOL, Amazon, Mi-crosoft, eBay, Skype, iTunes. Można śmiało powiedzieć, że na dzień dzisiejszy Luk-semburg 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, Pol-sce [S.A08], jak i całej Europie (tendencje potwierdzają również zachowania wśródmieszkańców USA [Pro08]). Według raportu [Fou08] przewiduje się, że w roku 2013połowa mieszkańców Europy będzie dokonywać regularnych zakupów internetowych(wzrost z 21% notowanych w roku 2006). Trudno jednoznacznie określić, jakie pro-dukty 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 / au-tobusowe, 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ącegowspierać zakupy internetowe, gdzie użytkownik chce dokonać zakupu wielu produk-tów jednocześnie. Badania poprzedziła dokładna analiza obecnego rynku handluinternetowego wraz z istniejącymi narzędziami wspomagającymi zakupy. Ponadto,dokonano wyczerpującego przeglądu literatury naukowej. Wszelkie, podobne pro-blemy zostały poddane analizie.W rozprawie zdefiniowano kilka problemów związanych z zakupami internetowymi,

Page 4: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

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, ma-tematyczne definicje [BKM+10] (wraz z dowodami i twierdzeniami) z rzeczywistąaplikacją rozwiązująca zdefiniowany problem (przy pomoc 5 nowych, oryginalnychalgorytmó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 akro-nimów używanych w ramach rozprawy. Następnie przybliżono podstawy optymali-zacji kombinatorycznej / złożoności obliczeniowej. Ponadto, zaprezentowano prze-gląd literatury. Zaprezentowany został system wspierania decyzji, przy robieniuzakupów z odbiorem osobistym. Kolejne rozdziały opisują Problem optymaliza-cji zakupów internetowych wraz z wieloma jego specjalizacjami. Definicje, dowo-dy i twierdzenia zostały uzupełnione poprzez opis zaprojektowanych algorytmów.Wyczerpujące badania eksperymentalne zostały poddane analizie, a następnie sko-mentowane. Podsumowanie rozprawy poprzedza referencje i 3 dodatki (spis publi-kacji, tabele, opis problemu dotyczącego projektowania bazy danych dla aplikacjie-commerce).

Page 5: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

5

Rozdział 2

Słownik pojęć

Rozdział drugi rozprawy zawiera szczegółowe informacje o literach i symbolach uży-tych w ramach rozprawy. Objaśniono litery grackie z ich znaczeniem oraz akronimyi skróty używane w tekście.

Np.Symbole (fragment)

= równość6= 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ówN liczby naturalne∞ nieskończoność(, ) przedział otwarty∑

szereg∈ przynależność do zbioru∏

iloczyn kartezjańskimin minimummax maksimumO(n) asymptotyczne tempo wzrostu

Page 6: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

6

Rozdział 3

Podstawy optymalizacjikombinatorycznej

Jako, że poruszany w rozprawie Problem zakupów internetowych (ang. InternetShopping Optimization Problem) jest problemem kombinatorycznym, optymaliza-cyjnym niezbędne jest przedstawienie podstaw kombinatoryki. Rozdział trzeci za-wiera podstawowe definicje i pojęcia optymalizacji kombinatorycznej. Pojęcie złożo-ności obliczeniowej zostało przytoczone i scharakteryzowane, na podstawie kluczo-wych książek Błażewicza [Bla88], jak również Gareya, Johnsona [GJ79]. Następniescharakteryzowano problemy decyzyjne (podając przykłady) i problemy optymali-zacyjne.

Znajomość klas złożoności obliczeniowej problemów decyzyjnych jest niezbęd-na, dla poprawności definiowania i procesu wnioskowania, przy określaniu no-wych problemów. Podstawowe pojęcia i definicje zostały przytoczone (na podsta-wie [Bla88, GJ79, CLRS01]) i zdefiniowane.

W dalszej części rozdziału zaprezentowano podstawy algorytmiki. Zdefiniowanopojęcia algorytmu, wyjaśniono sposób i zasadność określania złożoności czasowej al-gorytmów. Następnie scharakteryzowane zostały algorytmy dokładne i ich związekz przynależnością problemów optymalizacyjnych do klasy NP-trudnej. Zaprezento-wano i opisano kilka kluczowych typów algorytmów: Branch & Bound [LD60], algo-rytmów zachłannych [CLRS01] czy algorytmów genetycznych [AL97, VMOR98].

Dwa powszechnie znane problemy optymalizacyjne zostały dokładniej scha-rakteryzowane, ze względu na ich podobieństwo (wstępne) do problemu po-ruszanego w rozprawie doktorskiej. Opisano zatem Facility Location Problem[KPP02, ES04, RED08, MNSdG09], jak i problem plecakowy (Knapsack Problem)z wieloma jego odmianami / specjalizacjami [MT90].

Page 7: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

7

Rozdział 4

Systemy wspierające zakupypoprzez Internet

Zawartość4.1 Serwisy oferujące porównywanie cen . . . . . . . . . . . . . . 7

4.2 Wspomaganie decyzji klienta - algorytm optymalnego po-działu koszyka produktów . . . . . . . . . . . . . . . . . . . . 9

4.1 Serwisy oferujące porównywanie cen

Niniejszy podrozdział zawiera kompletny opis systemów oferujących porównanieceny danego produkty (porównanie wśród ofert wielu sklepów).

Według danych pochodzących z serwisu sklepy24.pl, liczbę sklepów interneto-wych w Polsce pod koniec 2006r. można było szacować na ok. 2500 [6]. Dynamicznetempo rozwoju polskiego handlu internetowego, którego wartość już w 2005r.przekroczyła 1% wartości wszystkich obrotów handlowych w kraju, sprawia, żerośnie konkurencja wśród sprzedawców, którzy oferują swoje produkty w sieciInternet i chcą zainteresować klientów własną ofertą. Rosnąca konkurencja wśródsprzedawcó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 niekiedykilkudziesięciu procent. Chęć poszukiwania najkorzystniejszej oferty jest zatemzrozumiała i uzasadniona ekonomicznie. Z drugiej jednak strony mnogość sklepówinternetowych sprawia, że jest coraz trudniej, a często wręcz niemożliwe, abykupujący „manualnie” dokonał przeglądu wszystkich ofert handlowych z wybranejbranży w celu poszukania najkorzystniejszej dla siebie oferty. Gdyby nawet przyjąć,że kupujący dysponuje pełną wiedzą o adresach wszystkich sklepów internetowychoferujących poszukiwane przez niego produkty i jest on w stanie dokonać pełnegoprzeglądu ofert, to może się okazać, że wielogodzinna żmudna praca wcale niemusi przynieść oczekiwanego rezultatu, czyli znalezienia oferty korzystniejszejniż pierwsza napotkana w losowo wybranym sklepie. Można w takim przypadkupostawić pytanie, czy wykonanie pracy polegającej na przeszukaniu pozostałychofert ma dla kupującego jakąkolwiek wartość. Warto zauważyć, że w tym specy-ficznym przypadku klient co prawda nie poprawił jakości znalezionego rozwiązania

Page 8: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

4.1. Serwisy oferujące porównywanie cen 8

(łącznej ceny produktów z koszyka), ale wzrosło jego przekonanie co do słusznościdokonanego wyboru. Z matematycznego punktu widzenia znalezione rozwiązanienie poprawiło się na skutek wykonanej pracy, ale wzrosła pewność kupującego wzakresie słuszności podejmowanych decyzji. Wychodząc naprzeciw oczekiwaniomi potrzebom kupujących, wraz z rosnącą liczbą sklepów internetowych, pojawiłysię w Sieci usługi porównywania cen produktów w ofertach wielu sklepów. Nie-stety, należy stwierdzić, że zdecydowana większość tzw. porównywarek cen, maograniczony zakres swoich analiz do ofert e-sklepów. Jest to podyktowane prostotąrealizacji mechanizmu pobierania aktualnych ofert cenowych i łatwością nawiązaniawspółpracy z właścicielami sklepów wirtualnych, choć w sensie technicznym nie mabarier, 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ściposzczególnych rozwiązań generowanych przez porównywarkę cen, z punktu widze-nia klienta kupującego jeden produkt, może być różnica średniej ceny rynkowej inajlepszej oferty cenowej znalezionej przez porównywarkę cen dla zadanego pro-duktu. Wskaźnik ten można oczywiście wyrazić w procentach przez odniesienie dośredniej ceny rynkowej.

QK =cmkt − cpCmkt

[%] (4.1)

gdziecmkt - to średnia rynkowa cena badanego produktucp - 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ównywarkicen i policzyć następnie uśrednioną wartość tego wskaźnika (4.2).

QK =

n∑i=1

cimkt−cip

cimkt

n[%] (4.2)

gdziecimkt - to średnia rynkowa cena i-tego produktucip - to najlepsza oferta i-tego produktu (najniższa cena znaleziona przez porów-

nywarkę cen)n - to liczba produktów w bazie danych porównywarki cen

Page 9: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

4.2. Wspomaganie decyzji klienta - algorytm optymalnego podziałukoszyka produktów 9

4.2 Wspomaganie decyzji klienta - algorytm optymal-nego podziału koszyka produktów

Celem działania algorytmu jest zaproponowanie podziału koszyka produktów napodzbiory (podkoszyki), w taki sposób, aby łączny koszt zakupu. Dodatkowo za-kładamy, że koszt dostawy produktów jest pomijalnie niski lub wręcz zerowy. Zakła-damy, że wiedza o dostępności i cenach produktów w poszczególnych sklepach jestzapisana według schematu zaproponowanego powyżej, a produkty są identyfikowa-ne przez kody kreskowe, co gwarantuje, że towary oferowane przez różne sklepy, aleopisane tym samym kodem, posiadają identyczne cechy. Preferencje klienta odno-śnie miejsca realizacji zakupy dotyczą określenia obszaru geograficznego (promieniaposzukiwań), na którym mają się znajdować sklepy brane pod uwagę w proce-sie 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łów-nym kryterium optymalizacji jest minimalizacja łącznego kosztu. Zbiór sklepów S,których oferty brane będą rozpatrywane w procesie optymalizacji kosztu zakupukoszyka produktów jest ograniczony, a kwalifikacja do tego zbioru odbywa się napodstawie sprawdzenia, czy fizyczna lokalizacja nie wykracza poza okręg o wyzna-czonym przez decydenta promieniu r kilometrów, ze środkiem w aktualnej pozycjiklienta. W koszyku mogą znajdować się wyłącznie produkty osiągalne w co naj-mniej jednym ze sklepów w wyznaczonym przez klienta okręgu.Graniczną, minimalną, wartość zakupu całego koszyka produktów: copt można wy-znaczyć przez proste zapytanie o minimum ceny poszczególnych produktów zawar-tych w koszyku, do bazy danych zawierającej oferty wyselekcjonowanych sklepówze zbioru S, min pis, gdzie pis oznacza cenę produktu i w sklepie s ∈ S.W kolejnych krokach następuje poszukiwanie realizacji koszyka w minimalnej licz-bie 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 tymetapie poszukiwań c1min, czyli potencjalne realizacje koszyka w najniższej możliwejcenie w jednym sklepie są prezentowane decydentowi, nawet jeśli uzyskane rozwią-zania są gorsze od copt. Ten sposób postępowania umożliwia przerwanie procesuoptymalizacji jeśli klient uzna, że uzyskany wynik jest dla niego satysfakcjonujący inie chce on kontynuować optymalizacji zakładającej realizację zakupów w większejliczbie sklepów. Poszukiwanie optymalnej realizacji koszyka może być kontynuowanepoprzez zwiększenie o jeden liczby sklepów branych pod uwagę w realizacji koszykaaż do momentu znalezienia zbioru realizacji koszyka w cenie copt lub zatrzymaniuoptymalizacji przez decydenta.

W celu weryfikacji możliwości wykorzystania w praktyce opracowanej propozycjialgorytmu optymalizacji, zrealizowana została prototypowa aplikacja i przeprowa-dzono eksperyment obliczeniowy. Szerszy komentarz na temat proponowanych miarjakości, aplikacji wspomagającej decyzje klienta i badań można znaleźć w rozprawiedoktorskiej, lub w publikacji Musiała i Wojciechowskiego [MW09].

Page 10: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

10

Rozdział 5

Problem optymalizacji zakupówinternetowych

Zawartość5.1 Motywacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.2 Definicja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.1 Motywacja

Czynnikiem motywującym rozpoczęcie pracy, było zauważenie ułomności funkcjo-nalnej, związanej z serwisami porównującymi ceny produktów. Mianowicie, naj-większą ich wadą jest możliwość porównania ceny tylko jednego produktu w danymmomencie. Jeśli mamy zamiar kupić wiele produktów (np. wiele książek, płyt au-dio, itd.), otrzymujemy wiele oddzielnych list rankingowym. Zakupienie wszystkichżądanych produktów, w najniższej sumarycznej cenie, okazuje się zadaniem bardzotrudnym.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ła-nia algorytmu można przyjąć, że oferta na produkt niedostępny w danym sklepiejest 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 dlakażdego sklepu, niezależnie od ilości zamawianych produktów. Zadaniem jest doko-nanie możliwie najtańszego zakupu wszystkich produktów spośród ofert wszystkichsklepów.

5.2 Definicja

Problem optymalizacji zakupów internetowych (Internet Shopping OptimizationProblem - 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żdymsklepem i produktem związana jest oferta na dany produkt, a także stały kosztwysył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

Page 11: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

5.2. Definicja 11

Tabela 5.1: Problem definition - table of notation.Symbol Explanation

n number of productsm number of shopsNl multiset of products available in shop l

cjl cost of each product j ∈ Nldl delivery cost for shop l, l = 1, . . . ,m

X = (X1, . . . , Xm) sequence of selections of products in shops 1, . . . ,mF (X) sum of product and delivery costsδ(x) 0-1 indicator function for x = 0 and x > 0X∗ optimal sequence of selections of productsF ∗ optimal (minimum) total cost

Tabela 5.2: Prices of books and delivery costs offered by six Internet shops.Cost Book a Book b Book c Book d Book e Delivery Total

Shop 1 18 39 29 48 59 10 203Shop 2 24 45 23 54 44 15 205Shop 3 22 45 23 53 53 15 211Shop 4 28 47 17 57 47 10 206Shop 5 24 42 24 47 59 10 206Shop 6 27 48 20 55 53 15 218

dobrą jakość wyników (kontra rozwiązanie optymalne) działając w bardzo krót-kim czasie przy niewielkiej złożoności obliczeniowej. Notacja używana przy definicjiproblemu ISOP opisana jest w tabeli 5.1.

Problem optymalizacji zakupów internetowych można zapisać w postaci mate-matycznej jako:

minm∑i=1

∑j∈Ni

pijxij +m∑i=1

diyi, (5.1)

s.t.∑i∈Mj

xij = 1, j = 1, . . . , n,

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 (ofertamisklepów), jak i tabeli przedstawiającej optymalne rozwiązanie problemu. Celem jestzakup pięciu książek za minimalną możliwą kwotę (wliczając koszty wysyłki). Od-powiednio tabela 5.2 i 5.3.

W kolejnych częściach rozdziału piątego dokonano definicji i opisu wielu cieka-wych 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.

Page 12: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

5.2. Definicja 12

Tabela 5.3: Optimal purchase cost in selected shops.Book a Book b Book c Book d Book e Delivery Total

Cost 18 39 17 48 47 20 189Shop Shop 1 Shop 1 Shop 4 Shop 1 Shop 4

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 przeznaczonejna zakupy nie ulega zmianie. Drugim atrybutem, który w istotny sposób zmieniacharakterystykę problemu jest zdefiniowanie funkcji określającej rabaty obowiązu-jące dla sklepów. System rabatowy jest powszechnie stosowaną metodą na pozyska-nie klientów bądź utrzymanie dotychczasowych. Powoduje, że atrakcyjność sklepuwzrasta. Często spotykaną praktyką jest określenie wysokości rabatu, w stosunkudo kwoty wydanej na zakupy, przykładowo: ”Zrób zakupy na kwotę 100 zł a uzy-skasz 2% rabatu, jeśli wydasz 200 zł uzyskasz 4% rabatu, jeśli Twoje zamówienieprzekroczy 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 zaku-pów internetowych, w których występują rabatu możemy zatem zapisać w postacimatematycznej jako:

minm∑i=1

fi(diyi +∑j∈Ni

pijxij), (5.2)

p.o.∑i∈Mj

xij = 1, j = 1, . . . , n,

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ówzakupionych w tymże sklepie.

Page 13: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

13

Rozdział 6

Problem ISOP - możliweredukcje

W rozdziale 6 opisany został Facility Location Problem. Następnie przedstawionosposoby rozwiązywania tego problemu [KPP02, ES04, RED08, MNSdG09, IBI10].

W kolejnej części rozdziału przeprowadzono redukcję najprostszej wersji proble-mu ISOP do problemu FLP.

Rysunek 6.1: Przykład Facility Location Problem z podanymi pozycjami fabryk (F)i klientów (C).

Page 14: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

14

Rozdział 7

Zakupy online - algorytmzachł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 śro-dowiska testowego. Musiało przede wszystkim spełniać główne założenie - być jaknajbliższe rzeczywistej sytuacji na rynku sprzedaży internetowej. Do stworzeniamodelu użyto danych zebranych przez Clay et al. [CKW01]. Dane dotyczyły cenksiążek w internetowych księgarniach i były kolekcjonowane przez kilka lat. Następ-nie 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 razemdla 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}, atakż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 wpublikacji Clay et al. [CKW01]. Procentowy udział w poszczególnych przedziałachcenowych wygląda następująco:

Page 15: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

7.1. Środowisko testowe 15

[32%]minimum

minimum+ (median−minimum)4

[9%]minimum+ (median−minimum)

2[9%]

minimum+ (median−minimum)1.25

[8%]median

[13%]median+ (maximum−median)

4[6%]

median+ (maximum−median)2

[11%]median+ (maximum−median)

1.25[12%]

maximumSzczegół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ównywar-ki cen oraz 27,5% lepsze rozwiązanie, niż ulepszony algorytm porównywarki cenbiorący pod uwagę koszty wysyłki. Podczas całego eksperymentu (800 testowychprzebiegów) zaproponowany algorytm zachłanny nigdy nie okazał się gorszy od kon-kurencyjnych rozwiązań.

Page 16: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

16

Rozdział 8

Rozwiązania problemu InternetShopping Optimization Problem

with Price Sensitive Discounts

Zawartość8.1 Algorytmy heurystyczne . . . . . . . . . . . . . . . . . . . . . 16

8.2 Eksperyment doświadczalny - model . . . . . . . . . . . . . . 16

8.3 Eksperyment doświadczalny - wyniki . . . . . . . . . . . . . 17

8.1 Algorytmy heurystyczne

W niniejszym rozdziale zaprezentowano i dokładnie opisano 4 autorskie algoryt-my heurystyczne i jeden algorytm dokładny (również nowo stworzony). Na uwagęzasługuje fakt, iż zaproponowane algorytmy heurystyczne posiadają inny, odręb-ny charakter, a nie są kolejnymi wersjami jednego algorytmu. Wynika to z innychpodejść i pomysłów, na których bazują zaproponowane rozwiązania. Tak więc za-prezentowano:

• szybki i efektywny algorytm zachłanny,

• algorytm analizujący nie tylko lokalną sytuację, ale wykraczający o krok na-przó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.

Page 17: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

8.3. Eksperyment doświadczalny - wyniki 17

Funkcję rabatową określona jako: f(x) =

x if x ¬ 25,

0.95x if 25 < x ¬ 50,

0.90x if 50 < x ¬ 100,

0.85x if 100 < x ¬ 200,

0.80x if 200 < x.

8.3 Eksperyment doświadczalny - wyniki

W rozprawie opisano bardzo szczegółowo przeprowadzane eksperymenty doświad-czalne. Wyniki zostały poddane dogłębnej analizie, a wioski z tychże obserwacjiopisane. Poza porównaniem poszczególnych algorytmów, dokonano oceny ich jako-ści, stabilności i charakterystyki działania względem dobranych czynników ekspe-rymentu. Łącznie przeprowadzono niespełna 5000 testów. Wyniki uzyskane przezzaprojektowane algorytmy heurystyczne okazały się bardzo dobre, a zastosowaniealgorytmów należy dobrać odpowiednio do sytuacji - nie uzyskano jasnej odpowiedzina pytanie o faworyta. Niewielki fragment wyników badań przedstawiono w Tabe-li 8.1 (całość w rozprawie), natomiast przykładowe porównanie czasów działaniaalgorytmów w Tabeli 8.2.

Tabela 8.1: Porównanie wyników działania algorytmów. Każda komórka reprezen-tuje 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 BB2 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%

Page 18: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

8.3. Eksperyment doświadczalny - wyniki 18

Tabela 8.2: Porównanie czasów działania algorytmów. Każda komórka reprezentujeuś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 BB2 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%

Page 19: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

19

Rozdział 9

Podsumowanie

Korzystanie z oferty sklepów internetowych / aukcji internetowych posiada wie-le zalet w odniesieniu do tradycyjnych sklepów. Najważniejszymi mogą być niższeceny i możliwość zakupów z bardzo odległych miejsc. Należy jednak zauważyć, żezakupy związane są z dodatkowym kosztem wysyłki, który jest odrębny dla każdegoze 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 wy-syłki (jak również rabaty). Zadaniem jest dokonanie, możliwie najtańszego zakupuwszystkich produktów spośród ofert wszystkich sklepów.

W niniejszej rozprawie dokonano dogłębnej analizy rynku zakupów interneto-wych, wraz z narzędziami oferującymi wsparcie podczas dokonywania zakupów.Następnie zdefiniowano optymalizacyjny Problem optymalizacji zakupów interne-towych (ang. Internet Shopping Optimization Problem). Zostało udowodnione, żeproblem należy do klasy problemów silnie NP-trudnych.Dla najprostszej wersji zaprezentowanego problemu wykonano redukcję do po-wszechnie znanego Facility Location Problem. Stosowny przegląd literatury uzu-pełnił komentarz dotyczący redukcji.

W dysertacji, główną uwagę skupiono na analizie znacznie trudniejszej odmia-nie Problemu optymalizacji zakupów internetowych - zawierającej rabaty (im więk-sze zakupy dokonuje się w jednym sklepie, tym większy rabat się uzyskuje - takasytuacja jest powszechnie zauważana wśród ofert sklepów internetowych). Tę in-teresującą odmianę nazwano Internet Shopping Optimization Problem with PriceSensitive Discounts. Rozprawa zawiera dokładną analizę tejże wersji problemu. Za-projektowano i zaimplementowano pięć różnych algorytmów rozwiązujących pro-blem. Cztery z nich to algorytmy heurystyczne (co bardzo istotne nie są to kolejnewersje jednej koncepcji, a zupełnie odrębne algorytmy działające w oparciu o in-ne metody - zachłanne, genetyczne (komórkowe), oparte na szeregowaniu zadań,inne), jak i jeden algorytm dokładny (oparty na metodzie Branch & Bound). Licz-ne eksperymenty doświadczalne potwierdziły doskonałe wyniki, uzyskiwane przezwspomniane algorytmy. Rozprawę uzupełnia szczegółowy komentarz wyników, jaki analiza zmienności / rozproszenia.

Planuje się kontunuowanie badań naukowych w temacie optymalizacji zakupówinternetowych (metody programowania liniowego, nowe wersje problemów zawie-rające wielokryterialne decyzje, czy też kilka częściowych funkcji celu, dodatkoweparametry jak: czasy dostawy, transakcje wiązane, renoma sprzedawcy, inne).

Page 20: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

20

Bibliografia

[AL97] E. Aarts and J.K. Lenstra, editors. Local Search in CombinatorialOptimization. John Wiley & Sons, Inc., New York, NY, USA, 1stedition, 1997. (Cytowano na stronie 6.)

[BBKM13] J. Blazewicz, P. Bouvry, M.Y. Kovalyov, and J. Musial. Internet shop-ping with price sensitive discounts. 4OR-A Quarterly Journal of Ope-rations Research, 2013. (w druku). (Cytowano na stronie 4.)

[BKM+10] J. Blazewicz, M.Y. Kovalyov, J. Musial, A.P. Urbanski, and A. Woj-ciechowski. Internet Shopping Optimization Problem. InternationalJournal 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 nastronie 6.)

[BM11a] J. Blazewicz and J. Musial. E-commerce evaluation - multi-item inter-net shopping. optimization and heuristic algorithms. In B. Hu, K. Mo-rasch, S. Pickl, and M. Siegle, editors, Operations Research Proceedings2010, Operations Research Proceedings, pages 149–154. Springer Ber-lin Heidelberg, 2011. (Cytowano na stronie 4.)

[BM11b] J. Blazewicz and J. Musial. Heuristic algorithm with forecasting foronline shopping. In 24th European Chapter on Combinatorial Optimi-zation, 2011. (Cytowano na stronie 4.)

[CKW01] K. Clay, R. Krishnan, and E. Wolff. Prices and price dispersion onthe web: Evidence from the online book industry. NBER WorkingPapers 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. Introductionto Algorithms. McGraw-Hill Higher Education, 2nd edition, 2001. (Cy-towano na stronie 6.)

[dsGDdL11] Le Portail des statistiques: Grand-Duche Luxembourg. Population:511 840 habitants au 1er janvier 2011, May 2011. (Cytowano na stro-nie 3.)

[ES04] H.A. Eiselt and C.L. Sandblom. Decision analysis, location mo-dels, and scheduling problems. Springer-Verlag, Berlin-Heidelberg-NewYork, 2004. (Cytowano na stronach 6 i 13.)

Page 21: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

Bibliografia 21

[FA09] Alison Fennah and European Interactive Advertising Association. Me-diascope europe 2010, March 2009. (Cytowano na stronie 3.)

[Fou08] The Future Foundation. E-commerce across europe - progress andprospects, 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 Gu-ide 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 themulti-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 problemswith 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 discreteprogramming problems. Econometrica,, 28:497–520, 1960. (Cytowanona stronie 6.)

[MNSdG09] M.T. Melo, S. Nickel, and F. Saldanha-da Gama. Facility location andsupply 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 ofcross-border e-commerce in the eu, October 2009. (Cytowano na stro-nie 3.)

[MT90] S. Martello and P. Toth. Knapsack problems: algorithms and computerimplementations. Wiley-Interscience series in discrete mathematicsand optimization. J. Wiley & Sons, 1990. (Cytowano na stronie 6.)

[MW09] J. Musial and A. Wojciechowski. A customer assistance system: Opti-mizing 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. (Cy-towano na stronie 3.)

[RED08] C.S. Revelle, H.A. Eiselt, and M.S. Daskin. A bibliography for somefundamental problem categories in discrete location science. EuropeanJournal of Operational Research, 184(3):817–848, 2008. (Cytowano nastronach 6 i 13.)

Page 22: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

Bibliografia 22

[S.A08] 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. Meta-Heuristics - Advances and Trends in Local Search Paradigms for Opti-mization. Kluwer Academic Publishers, Boston, MA, 1998. (Cytowanona stronie 6.)

[WM10] A. Wojciechowski and J. Musial. Towards optimal multi-item shop-ping basket management: Heuristic approach. In Robert Meersman,Tharam Dillon, and Pilar Herrero, editors, On the Move to MeaningfulInternet Systems: OTM 2010 Workshops, volume 6428 of Lecture No-tes in Computer Science, pages 349–357. Springer Berlin / Heidelberg,2010. (Cytowano na stronach 4 i 14.)

Page 23: Zastosowania optymalizacji kombinatorycznej w zakupach …fc.put.poznan.pl/sites/default/files/Musial... · 2013-02-25 · wspierać zakupy internetowe, gdzie użytkownik chce dokonać

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 withPrice Sensitive Discounts. 4OR- A Quarterly Journal of Operations Research,2013 (w druku).

2. J. Marszalkowski, J.M. Marszalkowski and J. Musial. Database scheme opti-mization for online applications. Foundations of Computing and DecisionSciences, 36(2):121-129, 2011.

3. J. Blazewicz and J. Musial. E-commerce evaluation. Multi-item Internet shop-ping. Optimization and heuristic algorithms. Bo Hu et al. (Eds.), OperationsResearch Proceedings 2010 - Selected Papers of the Annual International Con-ference of the German Operations Research Society, 149-154, Springer 2011.

4. J. Blazewicz and J. Musial. Heuristic algorithm with forecasting for onlineshopping. ECCO XXIV, 24th European Chapter on Combinatorial Optimiza-tion, 2011.

5. A. Wojciechowski and J. Musial. Towards Optimal Multi-item Shopping Ba-sket Management: Heuristic Approach. R. Meersman et al. (Eds.), OTM 2010Workshops, 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 AppliedMathematics and Computer Science, 20(2):385-390, 2010.

7. A. Wojciechowski and J. Musial. A Customers Assistance System: OptimizingBasket Cost. Foundations of Computing and Decision Sciences, 34(1):59-69,2009.