maxmin.gms : 단위 정사각형 내 점의 최대 최소 위치

설명

이 테스트 문제는 단위 사각형에서 점을 찾습니다.
두 점 사이의 거리가 최대화됩니다. 특정 번호의 경우
우리는 최적의 배치를 알고 있습니다. 이 지식은 또한
완벽함을 찾아 목표의 하한을 찾는 데 사용됩니다.
정사각형 배열(S Dirkse가 제안함).

좋은 예가 되는 몇 가지 공식이 제시됩니다.
다양한 솔루션 접근 방식의 성능을 조사합니다. 는
문제는 원래 Dick van Hertog가 제안했으며 구현되었습니다.
Janos Pinter가 작성했으며 LGO에서 13점과 20점으로 광범위하게 사용했습니다.

소형 모델 유형 :DNLP


카테고리 : 무료 슬롯 사이트 모델 라이브러리


메인 파일 : maxmin.gms

$title 단위 정사각형 내 점의 최대 최소 위치(MAXMIN,seq=263)

$onText
이 테스트 문제는 다음과 같은 단위 사각형의 점을 찾습니다.
두 점 사이의 거리가 최대화됩니다. 특정 번호의 경우
우리는 최적의 배치를 알고 있습니다. 이 지식은 또한
완벽함을 찾아 목표의 하한을 찾는 데 사용됩니다.
정사각형 배열(S Dirkse가 제안함).

좋은 예가 되는 몇 가지 공식이 제시됩니다.
다양한 솔루션 접근 방식의 성능을 조사합니다. 는
문제는 원래 Dick van Hertog가 제안했으며 구현되었습니다.
Janos Pinter가 작성했으며 LGO에서 13점과 20점으로 광범위하게 사용되었습니다.

E. 스틴스트라, D. 덴 헤르토그, H.P. Stehouwer, A. Vestjens,
컴퓨터 실험을 위한 제한된 Maximin 설계,
Technometrics, 2002. (개정 중)

Janos Pinter, LGO - 사용자 가이드, Pinter 컨설팅 서비스, Halifax,
캐나다, 2003.

키워드: 비선형 계획법, 불연속 도함수, 수학,
          최대화된 최소 거리, 정사각형 안에 원 채우기
$offText

$eolCom //
$설정 포인트가 아닌 경우 $설정 포인트 13

세트
   d '공간의 차원' / x, y /
   n '포인트 수' / p1*p%points% /
   low(n,n) '하부 삼각형';

별칭(n,nn);

low(n,nn) = ord(n) > ord(nn);

변수
   point(n,d) '점의 좌표'
   dist(n,n) '모든 점 사이의 거리'
   정신주의자;

방정식
   defdist(n,n) '거리 정의'
   mindist1(n,n) '최소 거리 공식 1'
   mindist1a(n,n) 'dist가 없는 최소 거리 공식 1'
   mindist2 '최소 거리 공식 2'
   mindist2a 'dist가 없는 최소 거리 공식 2';

defdist(low(n,nn)).. dist(low) =e= sqrt(sum(d, sqr(point(n,d) - point(nn,d))));

mindist1(낮음).. mindist =l= dist(낮음);

mindist1a(low(n,nn)).. mindist =l= sqrt(sum(d, sqr(point(n,d) - point(nn,d))));

mindist2.. mindist =e= smin(low, dist(low));

mindist2a.. mindist =e= smin(low(n,nn), sqrt(sum(d, sqr(point(n,d) - point(nn,d)))));

모델
   maxmin1 / defdist, mindist1 /
   maxmin2 / defdist, mindist2 /
   maxmin1a / mindist1a /
   maxmin2a / mindist2a /;

스칼라 p;                     // 핀터의
p = 0;

loop((n,d), // 원본
   p = round(mod(p,10)) + 1;  // 명목상
   point.l(n,d) = p/10;       // 포인트 0.1,.2, ... 1.0, 0.1, ...
);

point.lo(n,d) = 0;
point.up(n,d) = 1;
point.l (n,d) = 균일(0,1);
dist.l(low(n,nn)) = sqrt(sqr(point.l(n,'x') - point.l(nn,'x')) + sqr(point.l(n,'y') - point.l(nn,'y')));

point.fx('p1',d) = 0;   // 한 점 수정

매개변수 bnd '목표의 하한';
bnd = 1/무료 슬롯 사이트(ceil(sqrt(카드(n)))-1,1);
디스플레이 BND;

옵션 limCol = 0, limRow = 0;
if(카드(n) > 9, 옵션 solPrint = off;);

* 실험을 위해 다른 모델 버전을 결합합니다.
* 다양한 경계와 시작점이 있음
*
* dist.lo(low) = -inf;
* dist.lo(낮음) = 0;
* dist.lo(낮음) = 0.01;
* dist.lo(low) = bnd/2;
* dist.lo(low) = bnd;
*
* nlp를 사용하여 maxmin1 무료 슬롯 사이트 mindist를 해결합니다.
* nlp를 사용하여 maxmin1a 무료 슬롯 사이트 mindist를 해결합니다.
* dnlp를 사용하여 maxmin2 무료 슬롯 사이트 mindist를 해결합니다.
* dnlp를 사용하여 maxmin2a 무료 슬롯 사이트 mindist를 해결합니다.

* 경계가 없는 maxmin2 및 maxmin2a는 LGO에 적합합니다.
* 경계가 있는 maxmin1a는 conopt3에 매우 적합합니다(경계 200포인트는 괜찮습니다).

dnlp를 사용하여 maxmin1a 무료 슬롯 사이트 mindist를 해결하세요.

bnd,mindist.l, point.l을 표시합니다.