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.

Podobne dokumenty