Algoritmi per zaino a due e tre dimensioni


8

So che i problemi dello zaino 2D e 3D sono NPC, ma c'è un modo per risolverli in tempi ragionevoli se le istanze non sono molto complicate? Funzionerebbe la programmazione dinamica?

Con zaino 2D (3D) intendo che ho un quadrato (cubo) e un elenco di oggetti, tutti i dati sono in centimetri e sono al massimo 20m.


1
Quali forme hanno i tuoi oggetti? Quanto è grande l'area circostante; ha dimensioni limitate?
Raffaello

Stai cercando un risolutore esatto o l'euristica è sufficiente?
stefan,

1
Potresti essere più specifico? Che cosa sono le "dimensioni" e che cos'è m ? Qual è esattamente il tuo contributo, quali sono esattamente i tuoi vincoli e cosa stai esattamente cercando di ottimizzare?
JeffE,

1
Inoltre, cosa hai già provato?
JeffE,

4
Il problema di cui stai parlando non è generalmente indicato come un problema di zaino; di solito si chiama problema bin-packaging e dovresti essere in grado di trovare molte più informazioni al riguardo con quel nome.
Steven Stadnicki,

Risposte:


1

Zaino può essere risolto mediante programmazione dinamica in pseudo-polinomiale tempo con il numero di oggetti e la dimensione dello zaino. Pertanto, purché il contenitore sia piccolo (numericamente), è possibile risolvere il problema in modo efficiente. Si noti che è possibile regolare modificando la risoluzione; non è necessario misurare un container di spedizione in µm, ma i misuratori sono probabilmente grossolani (a seconda degli oggetti).O(nW)nWW

Lo zaino può anche essere approssimato arbitrariamente bene nel tempo polinomiale (vedi schemi di approssimazione del tempo polinomiale ).

Tuttavia, lo zaino considera solo l'inserimento di numeri in un altro numero; non gli importa della geometria. Se hai bisogno di "rompicapo", hai bisogno di un altro problema; considerando Tetris, questo è probabilmente molto più difficile di Zaino .


0

GREEDY troverà sempre una soluzione ragionevole, ma non necessariamente quella ottimale. Metti semplicemente l'oggetto più grande che si adatterà ogni volta nello zaino. Fermati quando non ci saranno più oggetti.


No, questo non è vero. Si noti che nel problema dello zaino, anche gli oggetti hanno dei valori. Riempire avidamente per dimensione può dare una soluzione arbitrariamente sbagliata.
Raffaello

@Raphael: Beh, non arbitrariamente male, ma non considererei la soluzione golosa una soluzione ragionevole . L'approccio avido peggiora per gli analoghi di dimensione superiore.
A. Schulz,

@ A.Schulz In realtà sì arbitrariamente male! L'avida euristica dello zaino, che usa la dimensione o il rapporto qualità-prezzo, può essere facilmente dimostrata non avere alcuna garanzia di approssimazione finita per OPT.
Aaron,

La gente ... per favore, smetti di dire "Beh, non lo so! Ma ..." prima di fare i tuoi % # $ ( compiti a casa!
MickLH,
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.