From: Drew Ringsmuth on
Hello,

I am working on a physical problem in which I need to compare an ordered system with a disordered system of the same density. The system is a large circle with smaller, uniform circles packed into it. The small circles have a fixed radius but the larger circle's radius is to be varied. For any given large circle radius, the important variable is the areal density. It would be nice to be able to generate the maximal density (maximal packing) but something submaximal but close will be ok too. I would like to be able to compare the square packing, hexagonal packing and random packing cases.

For the random case, I began by writing some code to implement the 'Metropolis shuffling' algorithm, in which one begins with a random, overlapping distribution and then randomly shuffles the contained circles repeatedly until a non-overlapping configuration is found. This worked ok for densities up to about 0.3 but computing time got ridiculous after that.

I am sure this problem will have been tackled before but I can't find code or a paper which treats is explicitly. Does anyone have any suggestions? Ideally, I'd like to be able to give the code the large and small radii, and the areal density required, and then just let it run.

It would be great if I could also get it to generate ordered packings with the same density as the random one. This will be easy enough (obviously, for densities achievable even with the lower-efficiency packings) if the ordered packing exists as a single aggregate (eg. a single square or hexagon concentrated in the middle of the containing circle) but this would not be like the physical system I want to model. It would be more realistic to have a few smaller, ordered 'crystals' spread around within the containing circle, rather than a single big one. Has anyone done this kind of thing before? Maybe something from materials science?

Any advice or references would be great. Pre-cooked code would be brilliant!

Many thanks.
From: ImageAnalyst on
Drew:
Have you seen The Mathworks demo on cell phone tower coverage? They
use it quite a bit in their demos. I don't know where it is but you
can call them and ask. They have circles which may overlap and then
they find the best positioning of them to fit into the required
boundaries and minimize overlap while maximizing white space
coverage. It looks like their coverage is way more than 30%.

All I could find was this:
http://www.mathworks.com/matlabcentral/newsreader/view_thread/271692
but I do know they have code SOMEWHERE that you can have for the cell
phone tower coverage demo.
Maybe it's in the Optimization Toolbox:
http://www.mathworks.com/access/helpdesk/help/toolbox/optim/ug/exampleindex.html
From: Jerry Mouse on
Have you a picture of your problem ?