Pakkausongelmat ovat matematiikan optimointiongelmia, jotka yrittävät pakata esineitä kontteihin. Pakkaamisen tavoitteena on joko pakata yksi kontti mahdollisimman tiiviisti tai pakata kaikki esineet mahdollisimman pienellä määrällä kontteja. Monet näistä tehtävistä voivat liittyä todellisiin pakkaus- , varastointi- ja kuljetusongelmiin. Jokaisella pakkausongelmalla on kaksoispeitto- ongelma , joka kysyy, kuinka monta tuotetta tarvitaan peittämään säiliön kaikki alueet kokonaan, kun taas tuotteet voivat mennä päällekkäin.
Pakkausongelma määrittelee:
Tyypillisesti pakkauksessa esineet eivät saa leikkiä eivätkä esineet ylittää kontin seiniä. Joissakin suoritusmuodoissa tavoitteena on löytää konfiguraatio, joka pakkaa yhden säiliön suurimmalla tiheydellä. Yleisemmällä tasolla tavoitteena on pakata kaikki esineet mahdollisimman harvoihin astioihin [1] . Joissakin suoritusmuodoissa päällekkäisyys (objektien päällekkäin ja/tai säiliön reunoilla) on sallittu, mutta tämä päällekkäisyys tulisi minimoida.
Monet näistä ongelmista, jos säiliön koko kasvaa kaikkiin suuntiin, vastaavat esineiden mahdollisimman tiheän pakkaamisen ongelmia äärettömässä euklidisessa avaruudessa . Tämä ongelma kuuluu useille tieteenaloille ja saa paljon huomiota. Keplerin olettamus oletti optimaalisen ratkaisun pallojen pakkaamiseen satoja vuosia ennen kuin Thomas Hales todisti sen . Muut muodot ovat saaneet huomiota, mukaan lukien ellipsoidit [2] , platoniset ja arkimedelaiset kiinteät aineet [3] , mukaan lukien tetraedrit [4] [5] ja eri pallojen dimeerit [6] .
Nämä tehtävät ovat matemaattisesti erilaisia kuin ympyrän pakkauslauseen ideat . Tähän liittyvä ympyräpakkausongelma koskee mahdollisesti erikokoisten ympyröiden pakkaamista pinnalle, kuten tasolle tai pallolle.
Ympyrän analogeja muissa ulottuvuuksissa ei voida pakata absoluuttisella tehokkuudella mitoissa , jotka ovat suurempia kuin 1 (yksiulotteisessa avaruudessa ympyrän analogi on vain kaksi pistettä). Siten vain ympyröissä pakatessa jää aina tyhjää tilaa. Tehokkain tapa pakata ympyröitä, kuusikulmainen pakkaus , on noin 91 % :n tehoinen [7] .
Kolmiulotteisessa avaruudessa kasvokeskeinen hila antaa optimaalisen pallopakkauksen. On osoitettu, että 8-ulotteinen hila E8 ja 24-ulotteinen Leach-hila ovat optimaaliset vastaavissa tiloissa.
Kuutiot voidaan helposti sijoittaa 3D-avaruuteen niin, että ne täyttävät tilan kokonaan. Luonnollisin pakkaus on kuutiometriset kennot . Mikään muu säännöllinen monitahoinen ei voi täyttää tilaa kokonaan, mutta joitakin tuloksia tiedetään. Tetraedri voi antaa vähintään 85 % täytön. Yksi parhaista säännöllisistä dodekaedritiivisteistä perustuu edellä mainittuun kasvokeskeiseen kuutiohilaan.
Tetraedrit ja oktaedrit voivat yhdessä täyttää koko tilan konfiguraatiossa, joka tunnetaan nimellä tetraedri-oktaedrilaatoitus .
Runko | Optimaalinen hilan pakkaustiheys |
---|---|
ikosahedra | 0,836357… [8] |
dodekaedrit | [kahdeksan] |
oktaedrit | 18/19 = 0,947368… [9] |
Paikallisia parannusmenetelmiä ja satunnaisesti generoituja pakkauksia yhdistävä mallinnus viittaa siihen, että ikosaedrin, dodekaedrin ja oktaedrin hilapakkaukset ovat optimaalisia myös laajemmassa kaikkien täytteiden luokassa [3] .
Ongelma löytää pienin pallo, johon avoimet yksikköpallot voidaan pakata ilman päällekkäisyyttä , on yksinkertainen ja täydellinen vastaus -ulotteisessa euklidisessa avaruudessa, jos , ja äärettömässä ulottuvuudessa Hilbert-avaruudessa - ilman rajoituksia. On järkevää kuvata se tässä yleisen ongelman osoittamiseksi. Tässä tapauksessa pareittain koskettavien yksikköpallojen konfigurointi on mahdollista. Keskipisteet sijoitetaan säännöllisen ulotteisen simpleksin, jonka reuna on 2, kärkipisteisiin. Tämä on helppo tehdä ortonormaalisesta perustasta alkaen. Helpot laskelmat osoittavat, että etäisyys mistä tahansa kärjestä painopisteeseen on . Lisäksi millä tahansa muulla avaruuden pisteellä on suurempi etäisyys ainakin yhteen kärkeen. Mitä tulee pallojen sisällyttämiseen, pisteisiin keskitetyt avoimet yksikköpallot putoavat palloon, jonka säde on minimaalinen tällaisessa kokoonpanossa.
Osoittaaksemme, että tällainen kokoonpano on optimaalinen, oletetaan, että ne ovat ei-leikkautuvien avointen pallojen keskipisteet, jotka sijaitsevat pallossa, jonka säde on keskitetty . Harkitse kartoitusta äärellisestä joukosta , joka kartoittaa kaikille . Koska kaikille , tämä kuvaus on 1-Lipschitz ja Kirschbrownin lauseen mukaan se ulottuu globaalisti määriteltyyn 1-Lipschitz-kuvaukseen. Erityisesti on olemassa kohta sellainen, että kaikille meillä on , ja siten . Tämä osoittaa, että sädepallossa on ei-leikkausyksikön avoimia palloja, jos ja vain jos . Huomaa, että äärettömän ulottuvuuden Hilbert-avaruuden tapauksessa tämä tarkoittaa, että sädepallon sisällä on ääretön määrä ei-leikkausyksikön avoimia palloja, jos ja vain jos . Esimerkiksi yksikköpallot, joiden keskipiste on , jossa on ortonormaali kanta, eivät leikkaa ja sisältyvät palloon, jonka säde on keskitetty origoon. Lisäksi ei-leikkautuvien avointen pallojen enimmäismäärälle pallon sisällä, jonka säde on r, on yhtä suuri kuin .
Tehtävä määrittää halkaisijaltaan d olevien pallomaisten kappaleiden lukumäärän, jotka voidaan pakata kuutioon , jonka koko on a × b × c .
Tehtävä määrittää sylinterin minimikorkeuden h tietyllä säteellä R , johon on pakattu n identtistä kuulaa, joiden säde on r (< R ) [10] .
Pakkaamalla n yksikköympyrää pienimpään mahdolliseen ympyrään . Ongelma liittyy läheisesti pisteiden jakautumiseen yksikköympyrässä, jotta saavutettaisiin pisteiden välinen suurin minimietäisyys d n .
Optimaaliset ratkaisut on todistettu kohdille n ≤13 ja n =19.
Ympyrät neliössäPakkaa n yksikköympyrää mahdollisimman pieneen neliöön . Ongelma liittyy läheisesti pisteiden jakautumiseen yksikköneliössä, jotta saavutettaisiin pisteiden välinen suurin minimietäisyys d n [11] . Näiden kahden tehtävän muotoilun muuttamiseksi yksikköympyröiden neliön koko on L=2+2/d n .
Optimaaliset ratkaisut on todistettu arvolle n ≤30 [12] .
Ympyrät tasakylkisessä suorakulmaisessa kolmiossaPakkaa n yksikköympyrää pienimpään mahdolliseen tasakylkiseen suorakulmaiseen kolmioon . Hyvät approksimaatiot tunnetaan arvolle n <300 [13] .
Ympyrät tasasivuisessa kolmiossaPakkaamalla n yksikköympyrää pienimpään mahdolliseen säännölliseen kolmioon . Optimaaliset ratkaisut tunnetaan arvolle n <13 ja hypoteeseille tehdään n <28 [14] .
Pakkaa n yksikköneliötä pienimpään mahdolliseen neliöön .
Optimaaliset ratkaisut on todistettu n = 1-10, 14-16, 23-25, 34-36, 62-64, 79-81, 98-100 ja mille tahansa täysneliolle [15] .
Täyttämätön tila on asymptoottisesti O ( a 7/11 ) [16] .
Neliöt ympyrässäPakkaa n neliötä pienimpään mahdolliseen ympyrään.
Vähimmäisratkaisut: [17]
Neliöiden lukumäärä | Ympyrän säde |
---|---|
yksi | 0,707… |
2 | 1,118… |
3 | 1,288… |
neljä | 1,414… |
5 | 1,581… |
6 | 1,688… |
7 | 1.802… |
kahdeksan | 1,978… |
9 | 2,077… |
kymmenen | 2.121… |
yksitoista | 2.214… |
12 | 2,236… |
Ongelmalla pakkaamalla useita kopioita yhdestä suorakulmiosta, jonka koko on ( l , w ) 90° kiertoluvalla suurempaan suorakulmioon, jonka koko on ( L , W ), on useita sovelluksia, kuten lavauslaatikot ja lastulevyn pinoaminen.
Voit esimerkiksi pakata 147 137x95 suorakulmiota 1600x1230 suorakulmioon [18] .
Erilaisia suorakulmioita suorakulmion sisälläOngelmalla erileveisten ja -korkuisten suorakulmioiden pakkaaminen pienimmän pinta-alan suorakulmioon (mutta rajoittamatta tällaisen suorakulmion leveyttä ja korkeutta) on tärkeä sovellus kuvien kokoamisessa yhdeksi suureksi kuvaksi. Web-sivu, joka lataa yhden suuren kuvan, renderöityy usein nopeammin selaimissa kuin sivu, joka lataa useita pieniä kuvia, koska jokainen kuva on pyydettävä palvelimelta.
Tässä on esimerkki nopeasta algoritmista, joka pakkaa erikorkuisia ja -leveisiä suorakulmioita vähimmäispinta-alan suorakulmioon .
Laatoitusongelmissa ei saa olla aukkoja tai päällekkäisyyksiä . Monet tämän tyyppiset palapelit käyttävät suorakulmioiden tai polyominojen pakkaamista suurempaan suorakulmioon tai muuhun muotoon, joka on lähellä neliötä.
On olemassa tärkeä lause suorakulmioiden (ja kuutiomuotoisten ) laatoittamisesta suorakulmioiksi (kuutioiksi) ilman rakoja tai päällekkäisyyksiä:
Suorakulmio a × b voidaan pakata 1 × n -nauhalle, jos ja vain jos n on jaollinen a :lla tai n on jaollinen b :llä [19] [20] De Bruijnin lause : Suorakaiteen muotoinen laatikko voidaan pakata harmonisella tiilellä a × ab × abc , jos laatikon mitat ovat ap × abq × abcr joillekin luonnollisille luvuille p , q , r (eli laatikko on monikerta tiilestä.) [19]Polyominolaattojen tutkimus koskee suurelta osin kahta ongelmaluokkaa: suorakulmion laatoitus yhteneväisillä laatoilla ja suorakulmion laatoitus n -polyominolaattojen sarjalla.
Klassinen toisen tyyppinen pulmapeli on sijoittaa kaikki kaksitoista pentominolaattaa 3x20, 4x15 , 5x12 tai 6x10 suorakulmioihin.
Epäsäännöllisten esineiden pakkaaminen on ongelma, jota tuskin voi ratkaista suljetussa (analyyttisessä) muodossa. Ympäröivän maailman tieteessä tehtävä on kuitenkin erittäin tärkeä. Esimerkiksi epäsäännölliset maapartikkelit pakkaautuvat eri tavalla, kun hiukkasten koko ja muoto muuttuvat, mikä johtaa kasveille merkittäviä seurauksia juurten muodostumiseen ja veden kykyyn siirtää maaperässä. [21]
Monissa pulmakirjoissa ja matematiikan aikakauslehdissä on artikkeleita paketeista.
Pakkaustehtävät | |
---|---|
Pakkaa ympyrät |
|
Ilmapallon pakkaus |
|
Muut paketit | |
Palapeli |