/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
Antal identiske cirkler i et rektangel
Fra : Mogens


Dato : 14-10-10 21:55

Har brug for at finde ud af hvor mange flasker der kan være i
forskellige standard kartonkasser. Findes der ikke et freeware program
der kan lave en sådan simpel beregning?

Denne problematik er jo velkendt, eks. også hvor man skal optimere
udskæringen af eks. en plade i komponenter. Men som nævnt er det i mit
tilfælde relativt enkelt hvor man kender diameter på flaskerne, og
længde+bredde af rektanglet, og så ville jeg gerne have den optimale
fyldning, og gerne visualiseret.

Har Googlet temmelig meget, men indtil nu uden resultat.

 
 
Torben Ægidius Mogen~ (15-10-2010)
Kommentar
Fra : Torben Ægidius Mogen~


Dato : 15-10-10 10:05

Mogens <myname@mysite.dk> writes:

> Har brug for at finde ud af hvor mange flasker der kan være i
> forskellige standard kartonkasser. Findes der ikke et freeware program
> der kan lave en sådan simpel beregning?

Den er nu langt fra simpel. Der er f.eks. ikke nogen formel for det
mindste kvadrat, der kan indeholde N cirkler, og der er kun fundet
beviseligt optimale værdier for op til N=30. Se
f.eks. http://en.wikipedia.org/wiki/Circle_packing_in_a_square

> Denne problematik er jo velkendt, eks. også hvor man skal optimere
> udskæringen af eks. en plade i komponenter. Men som nævnt er det i mit
> tilfælde relativt enkelt hvor man kender diameter på flaskerne, og
> længde+bredde af rektanglet, og så ville jeg gerne have den optimale
> fyldning, og gerne visualiseret.
>
> Har Googlet temmelig meget, men indtil nu uden resultat.

Søg på "close packing of circles".

   Torben

Martin Andersen (15-10-2010)
Kommentar
Fra : Martin Andersen


Dato : 15-10-10 17:31

On 15-10-2010 11:05, Torben Ægidius Mogensen wrote:
> Mogens<myname@mysite.dk> writes:
>
>> Har brug for at finde ud af hvor mange flasker der kan være i
>> forskellige standard kartonkasser. Findes der ikke et freeware program
>> der kan lave en sådan simpel beregning?
>
> Den er nu langt fra simpel. Der er f.eks. ikke nogen formel for det
> mindste kvadrat, der kan indeholde N cirkler, og der er kun fundet
> beviseligt optimale værdier for op til N=30. Se
> f.eks. http://en.wikipedia.org/wiki/Circle_packing_in_a_square
>
>> Denne problematik er jo velkendt, eks. også hvor man skal optimere
>> udskæringen af eks. en plade i komponenter. Men som nævnt er det i mit
>> tilfælde relativt enkelt hvor man kender diameter på flaskerne, og
>> længde+bredde af rektanglet, og så ville jeg gerne have den optimale
>> fyldning, og gerne visualiseret.
>>
>> Har Googlet temmelig meget, men indtil nu uden resultat.
>
> Søg på "close packing of circles".
>
>    Torben
Men i Mogens' eksempel er både kassens mål og flaskernes diameter givet
på forhånd. Kun antallet er variabelt.

J. Nielsen (15-10-2010)
Kommentar
Fra : J. Nielsen


Dato : 15-10-10 14:01

On Thu, 14 Oct 2010 22:55:27 +0200, Mogens <myname@mysite.dk> wrote:

>Har brug for at finde ud af hvor mange flasker der kan være i
>forskellige standard kartonkasser. Findes der ikke et freeware program
>der kan lave en sådan simpel beregning?

Prøv at google "freeware nesting programs".
--

-JN-

Torben Ægidius Mogen~ (18-10-2010)
Kommentar
Fra : Torben Ægidius Mogen~


Dato : 18-10-10 09:32

Martin Andersen <dur@ikke.nu> writes:

> On 15-10-2010 11:05, Torben Ægidius Mogensen wrote:
>> Mogens<myname@mysite.dk> writes:
>>
>>> Har brug for at finde ud af hvor mange flasker der kan være i
>>> forskellige standard kartonkasser. Findes der ikke et freeware program
>>> der kan lave en sådan simpel beregning?
>>
>> Den er nu langt fra simpel. Der er f.eks. ikke nogen formel for det
>> mindste kvadrat, der kan indeholde N cirkler, og der er kun fundet
>> beviseligt optimale værdier for op til N=30. Se
>> f.eks. http://en.wikipedia.org/wiki/Circle_packing_in_a_square
>>
>>> Denne problematik er jo velkendt, eks. også hvor man skal optimere
>>> udskæringen af eks. en plade i komponenter. Men som nævnt er det i mit
>>> tilfælde relativt enkelt hvor man kender diameter på flaskerne, og
>>> længde+bredde af rektanglet, og så ville jeg gerne have den optimale
>>> fyldning, og gerne visualiseret.
>>>
>>> Har Googlet temmelig meget, men indtil nu uden resultat.
>>
>> Søg på "close packing of circles".
>
> Men i Mogens' eksempel er både kassens mål og flaskernes diameter
> givet på forhånd. Kun antallet er variabelt.

Hvid du kender den mindste kvadratiske kasse, der kan rumme N flasker
med diameter 1 (det problem, Wikipediaartiklen omtaler), så kan du også
se, hvor mange flasker med diameter X, der kan pakkes i en kvadratisk
kasse med sidelængde Y: I listen af mindste kvadrater for N flasker (fra
N=1 og opad), find det største kvadrat, der er mindre end eller lig med
Y/X. Så har du det maksimale andtal flasker.

Det hjælper selvfølgelig ikke for ikke-kvadratiske kasser, men da der
øjensynlig ikke er nogen nem måde at beregne det for kvadratiske kasser,
er der nok heller ikke for ikke-kvadratiske kasser, undtagen i specielle
situationer. F.eks. når den smalle led af kassen er mellem 1 og
1+sqrt(3)/2 = 1.866 gange diameteren af flasken. Der er den bedste
pakning et zig-zag mønster, hvor den første flaske sættes i et hjørne,
og de efterfølgende flasker sættes skiftevis i den ene eller den anden
side.

Hvis flaskerne har diameter 1 og den korte led af kassen er y, så vil
delta-x (dvs. afstanden mellem flaskerne på x-aksen) være sqrt(2y-y^2).

N flasker kræver 1+(N-1)*delta-x, altså x >= 1+(N-1)*sqrt(2y-y^2).

Eksempler:

Hvis y = 1 er x >= 1+(N-1)*sqrt(2-1) = N (oplagt nok).

Hvis y = 3/2 er x >= 1+(N-1)*sqrt(3-9/4) = 1+(N-1)*sqrt(3)/2

Hvis y = 1+sqrt(3)/2 er

x >= 1+(N-1)*sqrt(2(1+sqrt(3)/2)-(1+sqrt(3)/2)^2)
= 1+(N-1)*sqrt(2+sqrt(3)-1-3/4-sqrt(3))
= 1+(N-1)*sqrt(1/4)
= 1+(N-1)/2
= (N+1)/2

Hvis y > 1+sqrt(3)/2, bliver det langt mere kompliceret.

   Torben


Torben Ægidius Mogen~ (19-10-2010)
Kommentar
Fra : Torben Ægidius Mogen~


Dato : 19-10-10 09:04

Mogens <myname@mysite.dk> writes:

> Torben Ægidius Mogensen wrote:
>
>>
>> Hvis y> 1+sqrt(3)/2, bliver det langt mere kompliceret.
>>
>>    Torben
>>
> Tusind tak for dit fyldestgørende svar! Jeg tror dog ikke at det er
> noget som kan beregnes "simpelt" matematisk. Mit udgangspunkt er at
> jeg skal vælge mellem nogle kasser i en række mulige standardmål, og
> heri skal jeg så kunne placere et antal cirkelrunde flasker.
>
> Cirklerne kan ikke bare stakkes ovenpå (ved siden af) hinanden, idet
> et kassemål udmærket kunne muliggøre at flaskerne stod i forskudte
> rækker. Så jeg tror det er en nesting algoritme som prøver at putte et
> antal objekter ind på et givent areal så pladsen udnyttes bedst
> muligt, der er brug for.
>
> Desværre er dette en meget udbredt problemstilling i mange industrier,
> så gratisprogrammer er det nok så som så med. Har prøvet et par
> enkelte, og de kunne netop ikke arbejde med forskudte rækker eller fri
> geometrisk placering.
>
> Men jeg finder nok en vej :)

I reglen bliver den slags problemer løst med numeriske metoder, der ikke
giver optimale løsninger men noget, der er tæt på.

En typisk fremgangsmåde er energiminimering:

Forestil dig, at kassen står på højkant på et hjørne. Så vil opfyldning
af flasker i kassen få dem til at søge så lang ned som muligt, og hvis
man ryster kassen lidt, kan de falde sammen til en lavere position. Når
man skal have den sidste flaske ind i hjørnet, kan man prøve at presse
den ind, mens man ryster lidt på kassen for at få de andre til at flytte
sig.

Den proces kan simuleres på en computer, og vil ofte give det maksimale
antal flasker, der kan pakkes i kassen, eller i hvert fald noget tæt
derpå.

   Torben

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste