1

I want to optimize a function w.r.t. $n$ circles parametrized by centers and radii:

$$\min_{C, R} f(C,R)$$

where $C\in\mathbb R^{n \times 2}$ and $R\in\mathbb R^n$. For example,

C[1,1]: x-coordinate of the first circle
C[1,2]: y-coordinate of the first circle
R[1]  : radius of the first circle

While optimizing, I want to impose a constraint that those circles do not collide with each other. Anyone to help with this?

jakeoung
  • 225
  • 1
  • 4
  • The constraint would be: for any pair of $C_{1}$ and $C_{2}$ and $R_{1}$ and $R_{2}$: $$||C_{2} - C_{1} || > R_{2} + R_{1}$$ – Mithridates the Great Mar 10 '20 at 13:54
  • @AloneProgrammer That would exclude the cases like $C_i$ are all the same but $R_i$ all different (e.g. set of concentric circles). Of course, there I am interpreting the word circle as the collection of points equidistant from a center and not the full area. IMO, it is a good constraint but not the constraint. Ideally, one would have the circles ahead of time and would know if they intersect before they start optimizing though. Why that is not the case?

    The constraint is as in https://stackoverflow.com/a/8367547

    – Abdullah Ali Sivas Mar 10 '20 at 15:04
  • @AloneProgrammer The rough constraint is enough to me. I actually try to write down in a linear inequality, but it seems hard :P Do you have any idea to optimize this constraint? – jakeoung Mar 10 '20 at 15:25
  • couldn't the constraint be formulated as the sum of all circle inner products with each other? Then if there is any overlap, its nonzero, and 0 means there is no overlap. – EMP Mar 10 '20 at 15:52
  • @EMP Can you specify inner products? Do you mean between the center positions? How can it be used to check the overlap? – jakeoung Mar 10 '20 at 16:50
  • @jakeoung: If your function is convex, then you can cast this problem as a second-order cone program (SOCP). If you can confirm, I can provide an example. – Richard Mar 10 '20 at 19:59
  • I think I can make my function convex but not 100% sure it's correct. The example would be very appreciated ! – jakeoung Mar 10 '20 at 20:11

0 Answers0