Suppose that I have a complete, undirected graph G with a distance associated with each edge. The meaning of edge (u, v) having length l is "points u and v can't be any closer to each other than l." My goal is to lay the nodes of this graph out in a plane so that none of these distance constraints are violated and such that the convex hull of the points has the least total area. As an example, suppose that I have a bunch of electrical components I want to put onto a chip, each of which generates some amount of electrical interference. If I put the components too close together, they'll start interfering with one another, rendering the whole system useless. Given the minimum distances each point should be from each other point, what's the most space-efficient way of putting the components on a chip?
I have no idea how to even start thinking about this. I also don't know how the problem might generalize to the higher-dimensional case (packing points into a hyperplane). Does anyone know of a good way of tackling this problem?
I have an optimal solution, but you aren't going to like it :).
Let's label our nodes x0, x1, ..., xn. Let B = maxi,j < n(dist(xi, xj)), where dist(xi, xj) is the minimum distance between xi and xj. For each i, place node xi at position (0, i*B). Now each node is at least B away from all the others, and the convex hull has area 0.
The real point here is that minimizing the area of the convex hull alone will give you a nonsensical solution. A possibly better measure would be the diameter of the convex hull.