Qual è il nome di questa variante logistica di TSP?


8

Ho un problema logistico che può essere visto come una variante di . È così naturale, sono sicuro che è stato studiato nella ricerca operativa o qualcosa di simile. Ecco un modo di vedere il problema.TSP

Ho magazzini sull'aereo cartesiano. C'è un percorso da un magazzino ad ogni altro magazzino e la metrica della distanza utilizzata è la distanza euclidea. Inoltre, ci sono elementi diversi. Ogni articolo può essere presente in qualsiasi numero di magazzini. Abbiamo un collezionista e ci viene dato un punto di partenza per esso, dice l'origine . Al collezionista viene dato un ordine, quindi un elenco di articoli. Qui, possiamo supporre che l'elenco contenga solo elementi distinti e solo uno di ciascuno. Dobbiamo determinare il tour più breve partendo da visitando un certo numero di magazzini in modo che prendiamo tutti gli articoli nell'ordine.Pn1ionS(0,0)S

Ecco una visualizzazione di un'istanza generata casualmente con . I magazzini sono rappresentati con cerchi. Quelli rossi contengono l'elemento , quelli blu l'elemento e quelli verdi l'elemento . Dato un punto iniziale e la cassa ( ), bisogna scegliere uno rosso, uno blu e un magazzino verde così l'ordine può essere completata. Per caso, in questo esempio non ci sono magazzini multicolori, quindi contengono tutti esattamente un articolo. Questa particolare istanza è un caso di set-TSP .P=35123S1,2,3

Un'istanza del problema.

Posso dimostrare che il problema è davvero -hard. Si consideri un'istanza in cui ciascun articolo si trova in un magazzino diverso . L'ordine è tale da contenere ogni articolo. Ora dobbiamo visitare tutti i magazzini e trovare il tour più breve per farlo. Ciò equivale a risolvere un'istanza di .NPioPioPioTSP

Essendo così ovviamente utile almeno nel contesto della logistica, del routing e della pianificazione, sono sicuro che questo è stato studiato in precedenza. Ho due domande:

  1. Qual è il nome del problema?
  2. Quanto si può sperare di approssimare il problema (assumendo )?PNP

Sono abbastanza contento del nome e / o dei riferimenti al problema. Forse la risposta al secondo punto segue facilmente o posso scoprirlo da solo.


1
Hai provato a formularlo in termini di problema del flusso multi-merce ?
uli

@uli No, né in nessun altro formalismo. Prima ho pensato a un programma intero lineare (binario), ma ho pensato che qualcuno potesse conoscere il nome e un riferimento per il problema. Potrebbe quindi risparmiare tempo e fatica. Grazie, lo considero anche io.
Juho,

1
impostare TSP? Non è esattamente equivalente perché gli insiemi sono disgiunti. Ma potrebbe essere un punto di partenza?
rahul,

@blufox In effetti, e in realtà l'esempio illustrato è un'istanza di set TSP. Quindi il problema ha anche questo come caso speciale.
Juho,

Risposte:


6

Il problema è dentro P se il numero di articoli è costante.

Permettere K essere il numero di elementi (indipendentemente da n). Per ogni ordine di articoli, utilizzare il backtracking per provare tutti i percorsi consentiti: prima si attraversa un magazzino per il primo articolo (provando tutti i magazzini), quindi uno per il secondo articolo e così via.

Ci sono O(K!)ordinazioni degli articoli. PermettereWio essere il numero di magazzini per articolo io. Il numero di percorsi èΠio=1KWioΠio=1Kn=nK. Pertanto, il tempo di esecuzione dell'algoritmo sopra èO(K!nK), che è polinomiale per fisso K.

Se il numero di elementi può essere lineare in n, il problema è almeno difficile da approssimare come TSP: puoi prendere un'istanza di TSP, crea un oggetto per ogni vertice come hai notato, quindi aggiungi vertici extra molto lontani da tutti gli altri vertici per gonfiarli n (e quindi consentire abbastanza elementi che ogni vertice di TSP esempio ha un oggetto diverso), senza distruggere la durezza di approssimabilità di TSP. Nota che se i tuoi punti si trovano sul piano euclideo, questo non ti aiuta in quanto esiste unPTUNS per planare TSP.


5

Tra l'altro, questo problema può essere visto come un'istanza del Problema dell'acquirente in viaggio. TPP è una generalizzazione di TSP ed è stato proposto per la prima volta da T. Ramesh, Problema dell'acquirente in viaggio, 1981. Il problema è il seguente:

Ci viene dato un set M={1,...,m} di mercati e un insieme di N={1,...,n}di prodotti. Inoltre ci viene datocioj, il costo del viaggio dalla città io in città je non negativo dioj, il costo di un prodotto io al mercato j. L'acquirente parte dalla sua città natale (ad esempio città1) e viaggia verso un sottoinsieme di m città e acquisti ciascuno dei nprodotti nelle città che visita e torna nella sua città natale. L'obiettivo è trovare un tour per l'acquirente in modo tale da ridurre al minimo la somma dei costi di viaggio e di acquisto.

Quindi, nei termini della domanda originale, i magazzini sono mercati. Ogni articolo disponibile in un mercato ha lo stesso prezzo. Se oggettoio non è disponibile in un mercato j, il suo prezzo dioj è impostato su un valore elevato.

Oltre a contenere TSP, TPP contiene raccolta premi TSP, problema di localizzazione della struttura non abilitato, problema dell'albero di Steiner del gruppo e problema della copertura del set come casi speciali immediati. Per la durezza, a seguito dei risultati di durezza attuali per la copertura impostata, ne consegue che non esiste un PTAS perTPP anche con costi di viaggio metrici il cui rapporto di prestazione è migliore di (1-o(1))lnn salvo che P=NP. Per ulteriori discussioni e formulazioni come IP, vedere ad esempio R. Ravi e FS Salman, Algorithms di approssimazione per il problema degli acquirenti in viaggio e le sue varianti nel Network Design, 1999 . La voce di Wikipedia per TPP fornisce anche collegamenti ad alcuni approcci euristici.


2

Quello che hai descritto sembra più un problema di pianificazione nell'intelligenza artificiale. Sembra quello che potrebbe essere modellato con un linguaggio di pianificazione, come STRIP , ADL, PDDL, ecc. Una volta modellato, il piano può quindi essere risolto da uno dei molti algoritmi / euristica di pianificazione, che in genere sono algoritmi di ricerca nello spazio degli stati. I link Wiki dovrebbero iniziare. Un capitolo di pianificazione in qualsiasi libro di testo AI può anche aiutare. Un esempio di planner PDDL è il software GraphPlanner .

Concessi alcuni casi piuttosto degenerati di questo problema possono essere equivalenti a TSP, questo problema non è in generale lo stesso di TSP, né è impostato TSP. Sia in TSP che in Set TSP, l'insieme di città (magazzini) da visitare è predefinito. Qui, non ci interessa davvero quali magazzini siano visitati, ma ci preoccupiamo solo di evadere un ordine nel modo più economico ed efficiente possibile. Potresti avere ordini che non possono essere evasi. Un pianificatore tornerà con un piano vuoto o parziale in tal caso - un rapporto di non soddisfacibilità. In generale, il problema della saturabilità del piano è noto per essere completo con PSPACE. In TSP o Set TSP, esiste sempre un tour ottimale, ma potrebbe non essere unico.


Trovo difficile credere che quei problemi di pianificazione non siano NP-difficili. Puoi dare un riferimento che dice / lo prova?
Raffaello

@Raphael: Chiaramente, se cerchiamo piani ottimali in generale, il problema è PSPACE-completo o NP-completo . Tuttavia, i pianificatori non sempre restituiscono un piano ottimale, poiché ciò non sarebbe pratico in generale.
rrufai,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.