Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Unele aplicaţii combinatoriale de curbe spacefilling

Source: http://www2.isye.gatech.edu/~jjb/mow/mow.html

Autor: John J. Bartholdi, III

Curba spacefilling sugerează un tur euristica a unui set de puncte

Figura 1: O soluţie euristică a problemei comis-voiajorului este de a vizita punctele în aceeaşi ordine ca pe curba de Sierpinski spacefilling.

O curba spacefilling este o aplicaţie continuă dintr-un spatiu mai mic-dimensional într-unul mai mare-dimensional. O curba celebru spacefilling este că, din cauza Sierpinski, care este format în mod repetat de copiere şi scădere un model simplu (tur complicat în figura 1).

O proprietate utilă a unei curbe spacefilling este faptul că tinde să viziteze toate punctele într-o regiune după ce a intrat în această regiune. Astfel, punctele care sunt apropiate în planul va tinde să fie apropiate în aparenţă de-a lungul curbei.

Aceasta constituie baza euristice, inventat de L. Platzman şi pe mine, pentru a produce un tur rezonabil de scurt n anumite locuri (Tour comis-voiajor aşa-numita Călătoriţi lui): Pur şi simplu le vizita în aceeaşi ordine ca nu curba spacefilling. De exemplu, un scurt tur de puncte marcate în citire este indicată de liniile verde, care leaga puncte în aceeaşi ordine ca apariţia lor pe curba spacefilling.

Euristică Curba spacefilling (SFC), are multe avantaje, dacă sunt dispuşi să accepte soluţii care sunt de aproximativ 25% mai mult decat optime (de aşteptat, pentru seturi punct aleatoriu). Aceste avantaje includ:

Euristic curba spacefilling a fost folosit în multe aplicaţii, inclusiv:

Ideea de rutare de spacefilling curba a fost ulterior inclus în sistemul ARC / Info informaţii geografice, CAPS Logistica Toolkit de sisteme de Baan, şi a altor sisteme comerciale de gestionare 2-dimensionale de date.

Un rezumat al ideilor, minus detaliile tehnice, dar cu indicatori la literatura de specialitate tehnice, pot fi găsite în clasa mea note Un sistem de dirijare bazat pe spacefilling curbe [format pdf, 22 pagini]. Pentru a însoţi această este un tabel de indici Sierpinski a punctelor de o grila de 100 x 100 [format pdf, 22 pagini], cu care aveţi posibilitatea să configuraţi propriul sistem de rutare într-o după-amiază. Detalii tehnice despre performanţa algoritmului, impreuna cu citatele la lucrările conexe, pot fi găsite în "curbe Spacefilling şi problema plan comis-voiajor", cu LK Platzman, în Jurnalul Oficial al Asociatiei pentru Tehnica de calculare 36 (4):719-737 (1989).

Soluţia Curba spacefilling la problema de a vizita 15112 oraşelor din Germania

Figura 2: Un tur de TSP 15112 orase din Germania. Acest tur a fost indusă de curba Sierpinski spacefilling în mai puţin de o secundă şi este de aproximativ 1 / 3 din nou, atâta timp cât mai scurt posibil.

Este interesant pentru a compara acest euristice uşor, cu un pachet de optimizare grele, cum ar fi cel dezvoltat de către D. Applegate, R. Bixby, V. Chvatal, şi W. Cook a. Pachetul lor TSP este un tur de forta a tehnologiei de optimizare matematice si a fost folosit pentru a rezolva o problema comis-voiajorului pentru 15112 orase din Germania. Aceasta este cea mai mare non-trivial problemă pentru care o soluţie optimă provably a fost generat. Applegate et al. descrie resursele de calcul utilizate:
"Calculul a fost efectuat pe o reţea de 110 procesoare situate la Rice University şi de la Princeton University timp de calculator totală utilizată în calcul a fost 22.6 ani, scalate la un Compaq Alpha EV6 procesor care rulează la 500 MHz.. Turul optimă are o lungime 1573084 în unităţile folosite în TSPLIB, acest lucru se traduce într-o călătorie de aproximativ 66000 km prin Germania ".

Pentru comparaţie, Pavel a folosit Goldsman euristice curba spacefilling pentru a rezolva aceeaşi instanţă. Soluţia noastră a fost de aproximativ 34% mai mult (Figura 2). La un îndelete 600 km de călătorie pe zi, acest lucru înseamnă că timpul de conducere total ar fi de aproximativ 147 zile fata de 110 zile. Dar de calcul noastre au luat mai puţin de o secundă pe un laptop ieftin. Deci, aici este compromisul: Folositi euristică noastre şi veţi obţine un traseu imediat, dar trebuie să vă de călătorie pentru o lună suplimentară. Alternativ, configuraţi o reţea de 110 procesoare şi a petrecut două luni pentru a calcula cea mai scurtă rută - pentru a salva o lună de conducere.

Bill Nulty, Paul Goldsman, şi am extins unele dintre aceste idei în mai multe direcţii:

Published (Last edited): 04-11-2011