# # written in AMPL by Yu-Ju Kuo and Hans D. Mittelmann, 6/2001 param NGON:=24; param N:=2*NGON; param NH:=2; param NG:=NGON-1+NGON*(NGON-1)/2; param pi:=4*atan(1); param L{i in 1..NGON-1}:=(i-1)*NGON-i*(i-1)/2; param JJ{i in 1..NG-NGON+1,j in 1..NGON-1}:=if(i > L[j]) then j else 0; param J{i in 1..NG-NGON+1}:=max{j in 1..NGON-1}JJ[i,j]; param K{i in 1..NG-NGON+1}:=i-((J[i]-1)*NGON-J[i]*(J[i]-1)/2)+J[i]; var x{i in 1..N}:=if(i <=NGON) then i*pi/NGON else (4*(i-NGON)*(NGON+1-(i-NGON)))/(NGON+1)^2; minimize obj: -0.5*sum{ i in 2..NGON}x[i+NGON]*x[i+NGON-1]*sin(x[i]-x[i-1]); s.t. hx1 : x[NGON]-pi=0; s.t. hx2 : x[2*NGON]=0; s.t. gx{i in 1..NGON-1}: x[i+1]-x[i]>=0; s.t. gx1{i in 1..NG-NGON+1}:1-(x[J[i]+NGON]^2+x[K[i]+NGON]^2- 2*x[J[i]+NGON]*x[K[i]+NGON]*cos(x[K[i]]-x[J[i]]))>=0;