다각형 : nv 변과 직경 d 값이 최대 1인 모든 다각형 중에서 최대 면적 중 하나 찾기

참조

  • Neculai Andrei, 슬롯 머신 기술을 사용한 비선형 최적화 애플리케이션, 스프링거 최적화 및 그 애플리케이션, 모델다각형(3.5) 장슬롯 머신 기술의 일부 수학적 알고리즘 및 문제점, 2013

카테고리 : 슬롯 머신 NOA 라이브러리


메인파일 : polygon.gms

$onText
다각형
nv 변을 갖는 모든 다각형 중에서 최대 면적의 다각형을 찾습니다.
직경이 1보다 작거나 같습니다.
$offText

$if 세트 n $set nv %n%
$설정되지 않은 경우 nv $set nv 10
i 면 설정 /i1 * i%nv%/;
별칭(i,j)

스칼라 파이

긍정적인 변수
  r(i)
  세타(i)
변수
  다각형_지역;

방정식
  객체
  거리(i,j)
  주문한(i);

* 목적 함수:
obj..polygon_area =E= 0.5 * sum(j(i+1), r(i)*r(i+1)*sin(theta(i+1)-theta(i)));

* 제약:
거리(i,j)$(ord(j)>ord(i)).. sqr(r(i))+sqr(r(j))-
                                2*r(i)*r(j)*cos(세타(j)-세타(i)) =L=1;
순서(i+1).. 세타(i) =L= 세타(i+1);

파이 = 2*arctan(inf);

r.up(i) = 1;
theta.up(i) = 파이;

r.l(i) = 4*ord(i)*(카드(i)+1-ord(i))/sqr(카드(i)+1);
theta.l(i) = pi*ord(i)/card(i);

모델 다각형 /all/;

$ifThenI x%mode%==xbook
다각형.iterlim=5000;
옵션 reslim = 3620;
$endIf

Polygon_area를 최대화하는 nlp를 사용하여 다각형을 해결합니다.
다각형 영역을 표시합니다.l;
* 끝 다각형