UNIONE EUROPEA
REGIONE CALABRIA
REPUBBLICA ITALIANA
Assessorato Istruzione, Alta Formazione e Ricerca
Ministero dell’Istruzione, Università e Ricerca Ministero dello Sviluppo Economico
Innovazione tecnologica, ricerca e servizi per il marketing dei prodotti agroalimentari tipici/di qualità e per la valorizzazione dei luoghi produttivi. AGROMATER-LAB Calabria WP3: Modelli e strumenti per la logistica distributiva.
Rapporto su modelli e metodologie per le aste combinatorie
Gruppo di Lavoro: Prof. R. Musmanno, Ing. O. Pisacane, Ing. F. Santoro, Ing. A. Violi, Dott. I. Cosentino, Dott. R. Costanzo, V. Caputi.
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
Sommario 1.
Introduzione ............................................................................................................................... 2
2.
Le aste combinatorie .................................................................................................................. 3
3.
Algoritmi per aste combinatorie .............................................................................................. 11 a.
Asta one-to-many ................................................................................................................. 11
b.
Asta many-to-one ................................................................................................................. 17
c.
Asta many-to-many .............................................................................................................. 18
Bibliografia ....................................................................................................................................... 21
Aggiornamento al 31/03/2011 1
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
1. Introduzione Negli ultimi anni un numero crescente di piccole e medie imprese ha preso coscienza degli enormi vantaggi che possono derivare da una stretta collaborazione con i fornitori, i clienti, gli operatori logistici e persino con i concorrenti. Questo approccio (noto come collaborative logistics) è oggi reso possibile dalla disponibilità di tecnologie informatiche e telematiche a costi contenuti, ed è reso sempre più urgente dalla crescente riduzione dei margini di profitto. Tradizionalmente, gli attori nel settore dei trasporti hanno tentato di ridurre i costi operativi attraverso una razionalizzazione dei propri processi. Per contro, la collaborative logistics mira a identificare e a ridurre i costi nascosti (hidden cost) che tutti i soggetti logistici si trovano a sostenere pur senza averne individualmente il controllo. L’approccio collaborative logistics, si concretizza nel ricorso a pratiche coordinate di continuous replenishment, vendor managed inventory, collaborative forecasting e nell'impiego di eMarketplace dei servizi logistici. Nel seguito concentreremo l’attenzione su quest’ultimo aspetto.
Aggiornamento al 31/03/2011 2
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
2. Le aste combinatorie Le aste sono un potente meccanismo di mercato, usato da tempi remoti per la vendita di beni e/o servizi. Sin dall’inizio sono state usate sia per la loro facilità di comprensione per i partecipanti, sia perché, spesso, generano alti profitti. Contrariamente alla pratica del prezzo fisso, infatti, che si basa su stime (indagini di mercato) per l’individuazione di tale valore, l’asta permette un’efficace determinazione del valore del bene o servizio oggetto dell’asta, avvicinando domanda ed offerta ad una posizione d’equilibrio attraverso la concorrenza di acquirenti/venditori. Tale meccanismo si contraddistingue per anonimità, imparzialità ed automaticità: una volta che le regole di svolgimento sono state diffuse, queste si applicano indifferentemente a tutti coloro che volontariamente vi prendono parte. Gli elevati costi di gestione associati a tale procedura di negoziazione ne hanno a lungo limitato il campo di applicazione. Un reale accrescimento della popolarità delle aste è dovuto alla diffusione delle tecnologie informatiche, e di internet in particolare. Superando i limiti di spazio e tempo, il web ha finalmente consentito a milioni di persone di accedere a servizi e meccanismi nuovi ed efficienti. Accanto alle aste “classiche”, che hanno come oggetto la compravendita di un solo bene o servizio, acquistano sempre maggiore rilievo le aste “combinatorie” (combinatorial auction), che si riferiscono a diversi beni e servizi, anche non identici tra loro. Con le aste combinatorie si possono esprimere preferenze non esprimibili ricorrendo alle aste classiche, come il concetto di complementarietà e di sostituibilità sui beni/servizi richiesti. Più precisamente, dati due beni/servizi A e B, indicando con v(∙) la preferenza di un partecipante, si dice che A e B sono complementari se risulta: v({A,B}) > v({A}) + v({B}) ossia che il valore dato da un partecipante aumenta se ottiene entrambi i beni/servizi (per esempio, A rappresenta un volo Roma-Milano, B un volo Milano-Roma), quindi il partecipante è disposto a pagare una somma maggiore, se ottiene entrambi i beni/servizi,
Aggiornamento al 31/03/2011 3
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
della somma del valore degli stessi presi singolarmente. Invece si dicono sostituibili se risulta: v({A,B}) < v({A}) + v({B}) ossia che il valore diminuisce se si ottengono entrambi (ad esempio, A rappresenta un volo Roma-Milano, B rappresenta un volo Roma-Londra), quindi il partecipante esprime l’idea di voler pagare di meno, per ottenerli entrambi, del loro valore complessivo. Gli aspetti principali relativi alle aste combinatorie sono: • il problema della determinazione del vincitore (Winner Determination Problem, WDP). A differenza delle aste classiche in cui l’offerta più alta risulta essere la vincente, nelle aste combinatorie il concetto è più complesso: vi sono differenti articoli messi all’incanto, di conseguenza si possono effettuare offerte su un sottoinsieme arbitrario di essi, quindi vi possono essere più vincitori in una singola asta; • la possibilità di esprimere dei giudizi nel proporre un’offerta (bid). Le aste combinatorie possono essere definite a partire dalle seguenti caratteristiche: • tipologia; • organizzazione; • item di riferimento; • formato delle offerte; • aggiornamento delle offerte; • regole di arresto. La tipologia di un’asta combinatoria stabilisce il numero, il tipo e il ruolo dei partecipanti. Le aste one-to-many prevedono un solo venditore (seller) e numerosi compratori (buyer). Il venditore mette all’asta i propri articoli (items) con un prezzo di partenza per ciascuno di essi; sarà poi la concorrenza fra i vari compratori a stabilire il prezzo di mercato dei vari item messi all’incanto, per cui i soggetti attivi in questo tipo di asta sono proprio i Aggiornamento al 31/03/2011 4
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
compratori, mentre il venditore svolge il ruolo di stabilire i vari criteri dell’asta. Lo scopo di questo tipo di asta è quello di massimizzare il profitto del venditore, cioè il profitto dell’asta stessa. Questo tipo di asta è definito anche one–side diretto, proprio perché solo una parte di attori risulta attivo. L’asta di tipo many–to–one, nota anche come asta inversa, rappresenta il caso opposto al precedente, in cui vi è presente un solo compratore in presenza di una molteplicità di venditori. Un compratore esprime l’intenzione di acquistare beni/servizi e indice un’asta di acquisto. I venditori propongono i propri prodotti (richiesti nell’asta) ad un determinato prezzo. Ovviamente il compratore acquisterà i prodotti al minor prezzo proposto. In questo tipo di asta, quindi, sono i venditori a rappresentare la parte attiva, determinando il prezzo di acquisto, riducendo le proprie richieste di vendita al fine di avere la meglio sugli altri concorrenti. Mentre il compratore svolge il ruolo di decidere (come per il venditore nell’asta one–to–many) se accettare o rifiutare le offerte fatte. Infine vi è l’asta many–to–many, più comunemente nota come combinatorial exchanges, in cui compaiono molti compratori e molti venditori. In questo tipo di asta tutti gli attori in gioco risultano attivi, per cui determinano il prezzo di mercato di ogni bene/servizio messo all’incanto. L’organizzazione indica il modo in cui si svolge l’asta. Dopo aver individuato il numero dei partecipanti e il loro ruolo, bisogna stabilire i criteri con cui l’asta va avanti. I tipi di organizzazione si possono suddividere, principalmente, in due categorie: a) progressive; b) single round. Le aste progressive racchiudono i tipi di aste in cui i prezzi dei beni/servizi vanno al rialzo (come nell’asta inglese) o al ribasso (come nell’asta olandese), ossia un giudizio espresso da un partecipante, su un determinato item, può essere modificato. Quelle single round, invece, rappresentano le aste in cui i vari concorrenti esprimono il proprio giudizio sugli articoli messi in vendita una sola volta, senza poter correggere le proprie valutazioni (un classico esempio di questa categoria sono le aste in busta chiusa). Come già accennato in precedenza, nelle aste di tipo inglese i vari concorrenti attribuiscono un valore soggettivo ad un determinato bene/servizio e successivamente, in base alle valutazione degli altri partecipanti, decidono se aumentare la propria offerta o rinunciare. Nelle aste combinatorie, oltre al rialzo del prezzo, è possibile intervenire anche sul numero di
Aggiornamento al 31/03/2011 5
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
beni/servizi richiesti. Infatti, poiché sono messi all’incanto più articoli, è possibile modificare l’offerta sia agendo sul prezzo che sugli item richiesti, per trasformare una offerta in vincente. Nelle aste combinatorie, tuttavia, non è possibile applicare il tipo di asta olandese, a meno che non viene proposto un prezzo di partenza per tutti gli articoli messi all’incanto e diminuendo lo stesso fino al momento in cui un partecipante accetta la proposta, ma così facendo si perderebbe la caratteristica principale delle aste combinatorie, ossia quella di poter offrire per un sottoinsieme degli articoli ed esprimere delle preferenze su di essi. Gli articoli (item) che possono essere messi all’incanto possono essere di diverso tipo. Innanzitutto si può individuare una suddivisione tra item semplici ed item multipli. La differenza risiede nel numero di unità vendute o richieste. Per gli item semplici la quantità offerta è di una unità, mentre per gli item multipli ve ne possono essere n. In un’asta combinatoria, quindi, con item multipli si possono effettuare offerte scegliendo oltre che il numero di item differenti anche la quantità di unità per ogni tipo di item richiesto: ovviamente, le unità degli articoli sono indistinguibili. Un’altra differenziazione necessaria è quella tra item divisibili e item indivisibili. Mentre i primi sono caratterizzati dal fatto che si può richiedere una porzione dell’articolo messo all’incanto, i secondi non godono di questa proprietà. Un esempio di item divisibili è la vendita di reti di telecomunicazione, mentre l’assegnazione di percorsi ferroviari non lo sono. Sulla base di queste due classificazioni si possono distingue quattro tipi di item: a) indivisibili semplici; b) indivisibili multipli; c) divisibili semplici; d) divisibili multipli. Tuttavia si può fare confusione tra divisibili semplici e indivisibili multipli. Infatti, entrambi permettono ad un partecipante la possibilità di effettuare un’offerta per una porzione degli articoli richiesti. Tuttavia, per la classe divisibili semplici si può effettuare una offerta su una frazione del singolo bene/servizio messo all’incanto, mentre per gli indivisibili multipli è possibile richiedere una frazione sulla quantità disponibile. La differenza dipende intrinsecamente dalla natura fisica del bene/servizio stesso ([LB03]).
Aggiornamento al 31/03/2011 6
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
Il formato delle offerte indica come possono essere effettuate le offerte da parte dei concorrenti, indicando il grado di espressività delle stesse. L’espressività di un’offerta indica la capacità, attribuita ai vari partecipanti, di esprimere, in modo più o meno dettagliato, le proprie preferenze. Si possono individuare due categorie: a) semplice; b) basato su un linguaggio (complessa). Il tipo di offerta semplice, effettuata su un’asta combinatoria, consente di richiedere un numero arbitrario di beni/servizi differenti disponibili e, in caso di item multipli, il numero di unità degli stessi (oppure una frazione se questi sono divisibili) con un prezzo associato, per cui è possibile formulare un’offerta tale da esprimere la complementarietà o la sostituibilità tra i beni/servizi. Con un linguaggio appropriato si possono formulare delle offerte più complesse, ossia con maggiore espressività. Ad esempio, è possibile dichiarare la volontà di pagare un prezzo unico per ottenere uno fra due tipi di beni/servizi, ma non si vogliono ottenere entrambi. Questa e altre tipologie di espressioni sono permesse se si fa uso di un linguaggio di offerte ben preciso. Teoricamente, sia l’offerta semplice che quella basata sul linguaggio, possono essere applicate a qualunque sia l’item di riferimento. Tuttavia, per ogni tipologia di item è necessario un algoritmo per il WDP sia per il tipo di offerta semplice che per quello complesso. Ad oggi, un linguaggio di offerte completo è stato sviluppato solo per la classe di items indivisibili semplici, per il quale è stato sviluppato un appropriato algoritmo per il WDP (Errore. L'origine riferimento non è stata trovata.). Altri studi, non ancora conclusi, sono condotti anche per la classe di oggetti divisibili semplici. In definitiva, non basta definire un linguaggio di offerte espressivo per la classe di item voluta, ma è necessario definire, anche, un appropriato algoritmo per il relativo WDP. L’aggiornamento delle offerte indica le regole permesse per aggiornare le proprie offerte nel momento in cui dovessero risultare non vincenti. Nelle aste classiche, con un solo articolo messo all’incanto, le offerte possono essere aggiornate modificando il prezzo offerto, dal momento che è l’unico vincolo. Quindi, per tramutare una offerta non vincente in una offerta vincente, è sufficiente offrire un prezzo superiore all’offerta
Aggiornamento al 31/03/2011 7
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
vincente attuale (vedi asta inglese). Le aste combinatorie non sono così limitate. Infatti, essendoci diversi articoli da prendere in considerazione, a volte non è sufficiente, e talvolta è addirittura impossibile, valutare il prezzo necessario per ottenere gli item richiesti nell’offerta. Per facilitare la comprensione, si consideri un’asta one–to–many, progressiva (tipo inglese), con item indivisibili semplici e formato di offerte semplice. Supponendo che questa asta sia composta da trenta articoli differenti, le varie offerte che si possono effettuare sono molteplici: in totale si possono effettuare 2 30 − 1 offerte differenti (più di un miliardo), cioè la permutazione di tutti gli articoli, indipendentemente dal prezzo proposto. Se si volesse un sottoinsieme degli articoli sarebbe difficile calcolare il prezzo tale per cui l’offerta risultasse vincente, proprio perché chi fa l’asta deve considerare tutte le possibili combinazioni delle offerte presenti, al fine di ottenere il profitto migliore. Inoltre non è detto che vi sia un’offerta composta esattamente dagli stessi articoli con cui fare un confronto. In definitiva, per trasformare una offerta in vincente può anche essere necessario modificare il numero beni/servizi richiesti, oltre che al prezzo offerto. L’aggiornamento delle offerte indica, quindi, le modifiche che sono permesse sulle offerte. Oltre all’aggiornamento delle offerte, è possibile anche indicare un termine di tempo per cui è possibile effettuare una offerta iniziale: ciò è fatto per evitare che un concorrente ne faccia una a lui vantaggiosa alla conclusione dell’asta, in modo tale che nessun altro possa controbattere alla proposta effettuata. Questo va a discapito di chi effettua l’asta, riducendo la negoziazione e non arrivando ad un responso ottimale. Per evitare ciò, quindi, si può scegliere un determinato tempo entro il quale poter effettuare una offerta, acquisendo il diritto di partecipare alla contrattazione dell’asta. Per questo motivo alcune volte si possono stabilire delle regole di attività dei partecipanti: ad esempio un partecipante con un’offerta non vincente deve modificare la stessa entro un determinato periodo di tempo, pena l’esclusione dall’asta stessa. Queste ed altre regole costituisco il decalogo dell’aggiornamento delle offerte. Le regole di arresto indicano le condizioni, stabilite all’inizio dell’asta, tali per cui si conclude la contrattazione e si elegge il vincitore (o i vincitori). Nelle aste di tipo inglese, ad esempio, chi esegue l’asta conta tre volte prima di dichiararla conclusa e il bene messo
Aggiornamento al 31/03/2011 8
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
all’incanto viene assegnato all’offerta più alta del momento. Nel caso dell’e-commerce, è chiaro che risulta improponibile una trattazione della chiusura dell’asta come nelle aste classiche. Le proposte attuate per le applicazioni di aste on-line esistenti, infatti, sono di tipo leggermente differente. Il metodo maggiormente utilizzato è quello di determinare un limite ultimo entro il quale si possono effettuare le offerte e modificarne il contenuto. Ad esempio, appena si avvia l’asta, si decide un termine di tempo indicando il periodo di vita dell’asta, scaduto il quale l’asta viene chiusa e si assegnano i beni/servizi ai vincitori. Il periodo di tempo può essere reso noto ai concorrenti, oppure no, in modo da evitare i comportamenti poco corretti precedentemente introdotti. Un altro criterio per stabilire il termine di un’asta è il profitto da raggiungere per chi esegue l’asta. Ad esempio, per un tipo di asta one–to–many si può decidere, sempre all’inizio della stessa, un guadagno da raggiungere, in modo che i partecipanti esprimano le proprie preferenze, negoziando per raggiungere i propri scopi. Detto guadagno è, generalmente, sconosciuto ai partecipanti all’asta. Allorquando si raggiunge un guadagno pari a quello stabilito, l’asta viene interrotta eleggendo i vincitori. Lo stesso si può dire per l’asta many–to–one: si comincia con alcune offerte di vendita iniziali, si continua al ribasso fintanto che il costo, sostenuto dal compratore per ottenere i beni/servizi richiesti, non raggiunga quello stabilito inizialmente. Questa strategia può portare ad alcuni inconvenienti: • il prezzo stabilito da chi fa l’asta può non essere raggiunto: in questo modo l’asta non avrà mai un termine ultimo; da qui si intuisce che è preferibile abbinare anche un termine di tempo se si dovesse adottare questa strategia di arresto; • è possibile che il prezzo stabilito inizialmente venga raggiunto immediatamente, ma potrebbe continuare a migliorare se l’asta non venisse dichiarata conclusa: questo succede se si stabilisce un prezzo poco coerente con le esigenze di mercato, tutto ciò a discapito di chi esegue l’asta. Si potrebbe pensare di fare una analisi più profonda, come, ad esempio, studiare l’incremento di guadagno in base al tempo per effettuare una previsione sul futuro. Ad esempio, si può notare che per registrare un aumento di guadagno di una data percentuale, all’inizio dell’asta, è necessario un determinato periodo di tempo, che
Aggiornamento al 31/03/2011 9
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
potrebbe essere relativamente breve. Si potrebbe notare come questo tempo si prolunghi per ottenere la stessa percentuale di guadagno quando l’asta va avanti. Ad un certo punto di vita dell’asta si potrebbe pensare di stimare, in base ai dati ottenuti dall’analisi, il tempo necessario per far aumentare il profitto di una data percentuale rispetto a quello attuale, valutando se è conveniente continuare oppure concludere. Come presentato in precedenza, vi è una molteplicità di aste combinatorie, una per ogni combinazione delle caratteristiche sopra citate.
Aggiornamento al 31/03/2011 10
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
3. Algoritmi per aste combinatorie Una volta chiusa l’asta bisogna assegnare i beni/servizi ai relativi vincitori. Come già accennato questo problema è noto come Winner Determination Problem (WDP). Oltre che alla chiusura dell’asta, valutare se una offerta rientra nella categoria delle vincenti può essere, ovviamente, interessante per chi ha effettuato l’offerta stessa, in modo tale da poter decidere se è necessario modificarla o meno. Questo problema rientra nei problemi NP-completi nel caso generale. Infatti, in una singola asta combinatoria sono venduti (o richiesti, dipende dal tipo di asta in esame) differenti item, di conseguenza può essere effettuata una quantità consistente di offerte date dalla combinazione degli articoli messi all’incanto. Il problema va valutato in funzione della tipologia di asta, perciò verrà considerato prima il tipo one–to–many, poi il tipo many–to–one e infine il tipo many–to–many.
a. Asta one-to-many In questa configurazione, un solo venditore (seller) possiede un set G di m indivisibili item da vendere ad n potenziali acquirenti (buyer). Si consideri inizialmente, per semplicità, che gli oggetti da trattare siano composti esclusivamente da unità singole. Un’offerta fatta da un compratore j (1 ≤ j ≤ n) è definita come una tupla (S, pj,s), dove S ⊆ G , mentre pj,s è il prezzo che il compratore j è disposto a pagare per ottenere il sottoinsieme S. Definito una variabile binaria xj,s che vale 1 se S viene allocato (cioè assegnato) al compratore j, vale 0 altrimenti, il WDP può essere formulato come il modello (M1):
max
∑ ∑p
j ,S
x j ,S
(1)
1≤ j ≤ n S ⊆G
s.t. ∑
∑δ
j,S
x j , S ≤ 1, ∀i ∈ G
(2)
1≤ j ≤ n S ⊆ G
∑x
j,S
≤ 1, ∀j ,1 ≤ j ≤ n
(3)
S ⊆G
Aggiornamento al 31/03/2011 11
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
x j , S ∈{0,1}, ∀S ⊆ G, ∀j, 1 ≤ j ≤ n
(4)
dove δ j , S = 1 se i ∈ S , 0 altrimenti. La condizione (2) stabilisce che nessun singolo item deve essere allocato a più di una persona (ovviamente un articolo può essere assegnato ad una ed una sola persona), mentre la condizione (3) assicura che nessun compratore si aggiudichi più di un sottoinsieme di articoli. L’obiettivo è quello di massimizzare il profitto del venditore date le offerte fatte dai compratori. Una prima soluzione al problema è stata proposta da Rothkopf et al. (0). Il problema si pone l’obiettivo di massimizzare il profitto del venditore, chiamato dagli autori optimal outcome Copt. Ogni combinazione di offerte B ∈ Copt rappresenta una combinazione vincente. L’algoritmo trova tutte le soluzioni possibili e dopo un confronto trova le offerte che compongono Copt. L’algoritmo ha una complessità di Ω(2n) e di O(22n). Questa soluzione sicuramente non risulta efficiente, infatti considerando un’asta con un input (numero di articoli messi i vendita) pari a 100, il numero di offerte fattibili possono essere 2100 e se, per esempio, possono essere immagazzinate un milione di offerte al secondo, sarà necessario un tempo maggiore di 4 ⋅1013 anni per immagazzinare solo le offerte effettuate. Quindi, per realizzare un algoritmo utilizzabile nella pratica, è necessario introdurre alcune restrizioni sul numero di offerte possibili da effettuare, non solo perché il problema è NP-completo, ma anche perché la dimensione dell’input stesso può diventare insostenibile. Una prima soluzione è quella di permettere che le offerte si compongano su una struttura ad albero (tree structure): dato un sottoinsieme di articoli S, una offerta può essere effettuata sul sottoinsieme stesso (S, pj,S), oppure su due sottoinsiemi S1 ed S2 che formano una partizione di S. I nodi dell’albero corrispondono alle offerte ammissibili; inoltre, due offerte sono disgiunte oppure una è un sottoinsieme dell’altra. Considerando un’asta in cui gli articoli messi in vendita siano {a,b,c,d,e,f,g,h} e le offerte ammissibili siano tutti gli articoli singoli e {a,b,c}, {d,e}, {a,b,c,d,e}, {f,g}, {f,g,h}, e tutto X (tutti gli articoli). La Figura 1 mostra la struttura ad albero di detto esempio. I nodi dell’albero rappresentano i tipi di offerte che si possono effettuare da parte dei compratori; inoltre si
Aggiornamento al 31/03/2011 12
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
può notare come ogni nodo sia disgiunto da un altro, oppure uno è il sottoinsieme di un altro.
Figura 1. Esempio di struttura ad albero
Adottando questa soluzione si riduce il numero di offerte effettuabili (infatti non si possono effettuare offerte se non quelle rappresentate dai nodi), e si riduce la complessità temporale dell’algoritmo stesso. In tal modo una soluzione ottima può essere trovata in un tempo pari a O(n|B|) ≤ o(n3), dove |B| = indica il numero di offerte permesse. Un’altra soluzione suggerita in grado di migliorare la complessità iniziale è quella della struttura basata sulla cardinalità (Cardinality-Based Structure). La restrizione è mirata al numero di articoli richiesti nell’offerta. In particolare viene suggerito di permettere offerte con al più due oggetti richiesti. Questa soluzione riesce a trovare una soluzione ottimale in un tempo pari a O(n3). Si è dimostrato che consentire la richiesta di numero di articoli maggiore di due (anche limitandosi a tre) non si apportano vantaggi evidenti. Un altro approccio, sempre basato sulla cardinalità degli articoli richiesti in una singola offerta, è quello di permettere offerte con un numero grande di articoli, oppure offerte richiedenti articoli singoli, ad esempio con B = {B ⊂ X : B = 1 or B > M } ; dove X rappresenta tutte le offerte possibili, mentre M=n/k, con n = numero di articoli e k
Aggiornamento al 31/03/2011 13
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
costante maggiore di uno. Se sono verificate queste condizioni, allora il Copt può essere trovato in un tempo pari a O(n|S|k). Un altro tipo di restrizione è stato proposto: Geometry-Based Structures, ossia una struttura basata sulla geometria. Questa strategia si basa sul fatto che alcune volte esiste un ordinamento totale sugli articoli messi in vendita. In altre parole, per ogni due articoli i, j ∈ X, risulta i < j oppure j < i . Per esempio, le licenze per la frequenza radio da assegnare per alcune città possono essere ordinate da nord a sud rispetto l’ordine geografico delle città stesse. Se si permettono offerte con richieste consecutive, cioè Bi,j:={x ∈ X : i ≤ x ≤ j}, ossia Bi,j è un intervallo di richieste, l’algoritmo può determinare la soluzione ottimale in un tempo pari a O(n2). Invece di considerare un intervallo disposto su una linea, si può considerare anche un intervallo su una circonferenza, ad esempio richieste di spazi portuali su un’isola può definire un struttura di questo tipo. La differenza risiede nel fatto che mentre lo spazio di richiesta su una linea ha un inizio e una fine, in questa seconda soluzione bisogna considerare n linee ognuna con un articolo diverso rappresentante il primo della lista. Con una struttura a forma circolare è possibile formulare offerte di intervalli del tipo {i, i+1, …,n-1, n, 1, …, j-1, j}, cioè l’intervallo arriva alla fine e ricomincia dall’inizio. Si può utilizzare l’algoritmo per la soluzione precedente, ripetuto n volte, essendoci n linee differenti, per cui Copt viene determinato in un tempo pari a O(n3). Un’altra struttura geometrica da considerare è quella a rettangolo, ossia gli articoli possono essere disposti su un rettangolo (vedi Figura 2). In questa soluzione, le offerte consentite sono composte da articoli semplici che risiedono su una riga, oppure che risiedono su una colonna. Questa può essere una soluzione appropriata per una situazione in cui gli articoli presentano due differenti proprietà di importanza per alcuni collezionisti (ad esempio, l’età e il valore di monete).
Aggiornamento al 31/03/2011 14
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
Figura 2. Esempio di struttura geometrica a rettangolo
Fujushima et al. in Errore. L'origine riferimento non è stata trovata. hanno proposto l’algoritmo CASS (Combinatorial Auction Structured Search). Si parte dal presupposto che quando il numero di articoli e di offerte è abbastanza piccolo, una ricerca esaustiva può essere usata per determinare L’allocazione ottima. In questo algoritmo sono state sviluppate due idee fondamentali. La prima è l’identificazione di un sottoinsieme di offerte mutuamente incompatibili (questi sottoinsiemi vengono chiamati “bins”). Detti bins hanno il compito di determinare più rapidamente le offerte che devono essere aggiunte alla allocazione parziale, senza creare conflitto. Quindi viene considerato un spazio di ricerca che esclude alcune delle offerte che rendono l’allocazione non fattibile. I bins sono ordinati da 1 a n, in cui n rappresenta il numero di articoli messi in vendita, indicando il generico bin con Di, che sarà composto da tutte le offerte avente l’articolo i e non l’articolo k con k < i . La seconda idea consiste nel “tagliare” l’albero di ricerca. Più precisamente: supponendo che si conosca il profitto massimo rc* che può essere ottenuto dalla vendita di C ⊆ G , dove G rappresenta tutti gli articoli messi in vendita, e si consideri ogni allocazione fattibile parziale del sottoinsieme F ⊆ G ad un dato passo della ricerca tale che
G \ F ⊆ C : se rc* + rF è minore del profitto della migliore allocazione fattibile trovata fino a questo punto, allora non è necessario esplorare l’albero al di la di F, poiché non si otterrebbe una soluzione migliore di quella attuale. Come dimostrano i risultati ottenuti, vi è un significativo miglioramento in termini di tempo rispetto all’algoritmo “brute force”. In Errore. L'origine riferimento non è stata trovata. è stato presentano l’algoritmo CABOB (Combinatorial Auction Branch On Bids), che rappresenta un algoritmo di ricerca
Aggiornamento al 31/03/2011 15
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
ad albero che esegue una ramificazione sulle offerte. L’idea di eseguire una ramificazione sulle offerte era già stata proposta in un precedente algoritmo, ma il contributo proposto introduce un’aggiunta fondamentale. L’ossatura di CABOB è un albero di ricerca “depthfirst” “branch-and-bound”, che esegue una ramificazione sulle offerte. Una struttura dati chiamata “bid graph”1 viene denotata con G. I nodi del grafo corrispondono alle offerte che sono attualmente ammissibili per essere aggiunti alla ricerca, per esempio, le offerte che non includono alcun articolo che sia già stato allocato nella soluzione parziale. L’idea aggiuntiva è quella di utilizzare un “upper bounding” e un “lower bounding”. La prima procedura viene utilizzata per calcolare il contributo di profitto che gli articoli non allocati possono apportare: se la soluzione corrente non può essere estesa ad una soluzione ottimale sotto l’assunzione ottimistica data dall’upper bound incontrato, CABOB “taglia” la ricerca proseguendo con il backtracking. La seconda procedura calcola un lower bound sul contributo di profitto che gli articoli rimanenti possono apportare. Se il lower bound è alto, esso permette alla soluzione ottima parziale di essere aggiornata, consentendo una maggiore possibilità di eseguire un taglio sulla ricerca e nello stesso tempo diminuendo lo spazio di ricerca nel sottoalbero instradato in quel nodo. Tra i metodi approssimati, probabilmente il più efficiente risulta essere l’algoritmo Casanova (Errore. L'origine riferimento non è stata trovata.). Casanova è un algoritmo di ricerca stocastica che utilizza nella sua esplorazione dello spazio di allocazione un semplice concetto di “vicinanza”. Più specificatamente, una singola offerta non eseguita nella soluzione, rappresentante l’allocazione fattibile attuale, è scelta per essere eseguita nella allocazione fattibile successiva. La scelta è fatta a secondo del punteggio delle offerte stesse: detto punteggio è calcolato dividendo il prezzo per il numero di articoli richiesti nell’offerta. Le aste combinatorie multi-unit (MUCA2) estendono il modello (M1). In questo caso il venditore possiede Mi unità disponibili di articoli i da vendere. Una offerta sottoposta da un compratore prende la forma seguente: b = ({ab ,i }i∈G , pb ) , dove ab,i è il numero di unità dell’articolo i che sono richiesti dall’offerta b, e pb è il prezzo che il compratore è disposto a pagare per ottenere la collezione {ab,i }i∈G . Si può indicare con B un insieme di tutte le 1 2
Grafo di offerte. MUCA: Multi-Unit Combinatorial Auction.
Aggiornamento al 31/03/2011 16
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
offerte fatte dai compratori, e con xb = 1 se l’offerta b vince, e con xb = 0 se perde, ∀b ∈ B . Il WDP può essere scritto in questo caso come il modello (M2):
max ∑ pb xb
(5)
b∈B
s.t.∑ ab,i xb ≤ M i , ∀i ∈ G
(6)
b∈B
xb ∈ {0,1}, ∀b ∈ B
(7)
Il modello (M2) è un problema di knapsack multidimensionale. Nel contesto delle aste combinatorie molti algoritmi di ricerca sono stati recentemente proposti. Un importante contributo è stato sostenuto in 0 dall’algoritmo CAMUS (“Combinatorial Auction MultiUnit Search”) in cui le principali tecniche introdotte dai precedenti algoritmi di ricerca sono generalizzate per trattare il modello multi-unit. L’algoritmo CAMUS è una estensione dell’algoritmo CASS visto in precedenza.
b. Asta many-to-one In una configurazione many–to–one delle aste combinatorie, come precedentemente accennato, chiamate anche reverse combinatorial auction, un compratore richiede un insieme G di articoli a diversi potenziali acquirenti. Un’offerta b fatta da un venditore può essere definita come b=(Sb,pb), dove Sb è un sottoinsieme di articoli, e pb rappresenta la richiesta di prezzo che il compratore deve pagare per ottenere il suddetto sottoinsieme. Si può considerare, ancora una volta, che l’insieme di tutte le offerte sia individuato da B, e definire una variabile di decisione binaria xb=1 se b è un’offerta vincente, 0 se è perdente, ∀b ∈ B . Il problema della determinazione del vincitore risulta essere quello di trovare il
minor prezzo da pagare per ottenere tutti gli articoli richiesti. Un modello corrispondente è (M3):
min ∑ pb xb
(8)
b∈B
s.t.
∑δ
i , Sb
xb ≥ 1, ∀i ∈ G
(9)
b∈B
Aggiornamento al 31/03/2011 17
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
xb ∈{0,1}, ∀b ∈ B
(10)
dove δ j ,Sb = 1 se i ∈ S b , 0 altrimenti. Il problema rientra nella categoria dei problemi NPdifficili. Si può notare come il modello sia caratterizzato da una vendita libera, cioè il compratore accetta più di una unità per ogni articolo fornito. Se questa accondiscendenza alle unità extra non può essere assunta in un particolare contesto di mercato, è necessario modificare la condizione (9) per ottenere l’esatto numero di beni/servizi richiesti. In pratica, le aste inverse sono utilizzate soprattutto nei meccanismi di mercato per acquisto di beni e servizi. Tra le maggiori applicazioni in cui le aste combinatorie inverse sono state impiegate negli ultimi anni, è possibile citare l’acquisizione di servizi di autotrasporto per Sears Logistical Services (Errore. L'origine riferimento non è stata trovata.), oppure si può menzionare la richiesta di materia prima per prodotti artigianali (Errore. L'origine riferimento non è stata trovata.). In una tipica applicazione di acquisto, alcune restrizioni sono spesso necessarie per garantire che siano soddisfatte alcune condizioni addizionali. Per esempio, restrizioni sull’insieme del numero di offerte vincenti e sulla quantità di articoli ricevuti da ogni venditore sono state proposte in Errore. L'origine riferimento non è stata trovata., oppure limitare (a) il numero totale di venditori vincenti, (b) il numero di unità di territorio (regione geografica) assegnato al venditore, (c) il numero di venditori che opereranno in una data regione (Errore. L'origine riferimento non è stata trovata.).
c. Asta many-to-many Nelle aste combinatorie many–to–many, chiamate comunemente Combinatorial exchanges, sono presenti molti venditori e molti compratori. Un partecipante di questa categoria di aste può
({ }
sottoporre un’offerta b = qb ,i
i∈G
)
, pb dove qb,i rappresenta la quantità di articoli i che sono
trattati nell’offerta b (qb,i>0 nel caso di un compratore, qb,i<0 nel caso di un venditore), e pb è il prezzo che il partecipante è pronto a pagare (pb>0) oppure chiede di ricevere (pb<0). Se le offerte
{ }
sono indivisibili, per esempio, set interi qb ,i
i∈G
sono trattati, allora si denota con G il set di tutte
le offerte e si può definire xb=1 se l’offerta b vince, 0 altrimenti. Il WDP è formulato come il modello (M5-a):
Aggiornamento al 31/03/2011 18
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
max ∑ pb xb
(11)
b∈B
s.t.
∑q
x ≤ 0, ∀i ∈ G
b ,i b
(12)
xb ∈ {0,1}, ∀b ∈ B
(13)
b∈B
Il modello (M5-a) massimizza il totale surplus del mercato sotto la condizione che le vendite dovrebbero coprire gli acquisti. Quando le offerte sono divisibili, la variabile xb, con b ∈ B , rappresenta l’esecuzione di una proporzione dell’offerta b, e pb(xb) è il prezzo che il partecipante è pronto a pagare o ricevere se la proporzione xb dell’offerta b è eseguita. Il problema dell’assegnazione dei vincitori può essere formulato come il modello (M4-b):
max ∑ pb (xb )
(14)
b∈B
s.t.
∑q
x ≤ 0, ∀i ∈ G
b ,i b
(15)
b∈B
0 ≤ xb ≤ 1, ∀b ∈ B
(16)
Mentre il modello (M5-b) è generalmente facile da risolvere, principalmente quando i prezzi
pb (⋅) sono lineari, il modello (M5-a) rimane NP-completo, inoltre il modello (M1) per il caso one– to–many con articoli indivisibili può essere visto come un caso particolare delle aste inverse con offerte indivisibili. In Errore. L'origine riferimento non è stata trovata. è possibile trovare l’algoritmo BOB in cui vengono adattate diverse tecniche di ricerca suggerite nelle proposte per il modello (M1). Inoltre è possibile trovare modelli ibridi per la soluzione del WDP per le aste inverse, in cui alcune offerte possono essere suddivise mentre altre no. Un’altra proposta in 0 considera insiemi di offerte che includono componenti di soli compratori o solo venditori. Molte altre applicazioni sono state suggerite, ad esempio: aste inverse per trattare mercati finanziari
Aggiornamento al 31/03/2011 19
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
(Errore. L'origine riferimento non è stata trovata.), mercati nei processi industriali (Errore. L'origine riferimento non è stata trovata.), ecc.. Nei mercati del mondo reale, tuttavia, viene spesso richiesto che i progettisti dei meccanismi delle aste combinatorie estendano le formulazioni di base con l’aggiunta di alcuni vincoli. Questi vincoli addizionali non limitano i partecipanti nella definizione delle offerte per ciò che riguarda gli insiemi di articoli richiesti, oppure il prezzo che si ha intenzione di pagare o ricevere, ma le offerte possono essere orientate, anche, su altri attributi: come la qualità del servizio, i tempi di consegna, ecc.. Tuttavia, sono state presentate solo le formulazioni di base del WDP per le aste combinatorie, e risultano importanti perché possono servire come punto di partenza per modellare molti scenari complessi.
Aggiornamento al 31/03/2011 20
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
Bibliografia [BH01] C. Boutilier, H.H. Hoos, Bidding languages for combinatorial auction, Proceedings of the 17th International Joint Conference on Artificial Intelligence (IJCAI-01), Seattle, WA, pp 1211-1217, 2001. [DK01] A.J. Davenport, J.R. Kalagnanam, Price negotiations for procurement of direct inputs, in Mathematics of the Internet: E-auction and markets. Springer, Berlin Heidelberg New York, 2001. [EHC02] R. Epstein, L. Henríquez, J. Catalán, G.Y. Weinstraub, C. Martínez, A combinatorial auction improves school meals in Chile, Interfaces, vol. 32 (6), pp. 1-14, 2002. [FSS02] M. Fan, S. Srinivasan, J. Stallaert, A.B. Whinston, Electronic commerce and the revolution in financial markets, South-Western Thomson Learning, 2002. [FLB99] Y. Fujushima, K. Leyton-Brown, Y. Shoham, Taming the computational complexity of combinatorial auctions, Proceedings of the 16th International Joint Conference on Artificial Intelligence (IJCAI-99), Stockholm, Sweden, pp. 548-553, 1999. [HB00] H.H. Hoos, C. Boutilier, Solving combinatorial auctions using stochastic local search, Proceedings of the 7th National Conference on Artificial Intelligence, Austin, pp. 22-29, 2000. [KD01] J.R. Kalagnanam, A.J. Davenport, Computational aspects of clearing continuous call double auctions with assignment constraints and indivisible demand, Electronic Commerce Research Journal, vol. 1 (3), pp. 221-237, 2001. [KSS02] A. Kothari, T. Sandholm, S. Suri, Solving combinatorial exchanges: optimality via a few partial bids, Workshop on AI for Intelligence Business, Edmonton, Canada, 2002. [LOP00] J.O. Ledyard, M. Olson, D. Porter, J.A. Swanson, D.P. Torma, The first use of a combined value auction for transportation services, Social Science Working Paper SSWP 1093, Caltech, 2000. [LB03] K. Leyton-Brown, Resource allocation in competitive multiagent systems, Doctoral dissertation, Stanford University.
Aggiornamento al 31/03/2011 21
Rapporto su modelli e metodologie per le aste combinatorie: AGROMATER-WP3
[RPH98] M.H. Rothkopf, A. Pekeč, R.M. Harstad, Computationally manageable combinatorial auctions, Management Science, vol. 44, pp. 1131-1147, 1998. [SSG01] T. Sandholm, S. Suri, A. Gilpin, D. Levine, CABOB: A fast optimal algorithm for combinatorial auctions, Proceedings of the 17th International Joint Conference on Artificial Intelligence (IJCAI-99), Seattle, pp. 1102-1108, 2001. [SS03] T. Sandholm, S. Suri, BOB: improved winner determination in combinatorial auctions and generalizations, Artificial Intelligence, vol. 145, pp. 33-58, 2003.
Aggiornamento al 31/03/2011 22