wy125: What I was thinking for the derivative:
make a function f(x,q) where x is a list of sides, and q is a list of angles (around the center of the polygon). The function f should calculate the area/circumgerence for that polygon. Once you have the function f, all that's left is to derive it, and solve f'=0 (and f''<0).
The first problem is that you must make sure that all items in q are >0, and sum(q)=2p.
I think the easiest way to do this is give the function a list q, of ratios of the total angle(2p), so that q[n] = 2p*q[n] / sum(q)
the function need only be derived to q[1] or q[1] and x[1], since you can 'rotate' the polygon defined in the lists.

I hope this makes sense to anyone

DavidHooper: 1 is really easy, for if it's not equal you can always increase the area/circumference ratio, by flipping the part of the polygon that is facing inwards outwards. Example:
Code:
    _
\__/ \__/
can be changed to
\__   __/
   \_/
I don't know about 2 or 3 though.

wy125: It sounds too logical to be false. It is at least true for a n=infinite (a circle), beacause #1 above.