Minsurf : 주어진 경계 조건으로 장애물 위에 있는 최소 면적의 표면 찾기

참조

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

카테고리 : 슬롯 사이트 추천 NOA 라이브러리


메인파일 : minsurf.gms

$onText
주어진 조건을 사용하여 장애물 위에 있는 최소 면적의 표면을 찾습니다.
경계 조건.

이 모델은 COPS 벤치마킹 제품군에서 나온 것입니다.

http://www-unix.mcs.anl.gov/~more/cops/를 참조하세요.

내부 그리드 포인트 수는 명령줄을 사용하여 지정할 수 있습니다.
매개변수 --nx 및 --ny.

nx-1 = 50, ny-1 = 25, 50, 75, 100에 대한 COPS 성능 테스트가 보고되었습니다.

Dolan, E D 등, J J, COPS를 사용한 벤치마킹 최적화 소프트웨어.
기술. 대표, 수학 및 컴퓨터 과학부, 2000.

Friedman, A, 과학과 기술의 자유 경계 문제.
공지 사항 Amer. 수학. Soc. 47 (2000), 854-861.
$offText

$설정되지 않은 경우 nx $set nx 70
$설정되지 않은 경우 $set ny 70

첫 번째 방향으로 nx개의 그리드 포인트를 설정합니다. / x0*x%nx% /
     두 번째 방향의 ny 그리드 점 / y0*y%ny% /

별칭(nx,i),(ny,j);

매개변수 hx x의 그리드 간격
           y에 대한 hy 그리드 간격
           삼각형의 면적;

hx := 1/(카드(nx)-1);
hy := 1/(카드(ny)-1);
면적 := 0.5*hx*hy;

변수 v(nx,ny)는 유한 요소 근사를 정의합니다.
          서핑;
양의 변수 v;

방정식 디서핑;

디서프..
서핑/면적 =e= sum((nx(i+1),ny(j+1)),
         sqrt(1+sqr((v[i+1,j]-v[i,j])/hx)+sqr((v[i,j+1]-v[i,j])/hy))) +
              합계((nx(i-1),ny(j-1)),
         sqrt(1+sqr((v[i-1,j]-v[i,j])/hx)+sqr((v[i,j-1]-v[i,j])/hy)));

v.fx['x0' ,j] = 0;
v.fx['x%nx%',j] = 0;
v.fx[i,'y0' ] = 1 - sqr(2*(ord(i)-1)*hx-1);
v.fx[i,'y%ny%'] = 1 - sqr(2*(ord(i)-1)*hx-1);

v.lo(i,j)$(((ord(i)-1) >= 바닥(0.25/hx) 및
            (ord(i)-1) <= ceil(0.75/hx)) 및
            ((ord(j)-1) >= 바닥(0.25/hy) 및
            (ord(j)-1) <= ceil(0.75/hy))) = 1;
v.l(i,j) = 1 - sqr(2*(ord(i)-1)*hx-1);

모델 minsurf / 모두 /;

$ifThenI x%mode%==xbook
$onEcho >minos.opt
  초기본 한도 5000
$offEcho
minsurf.workspace=125;
minsurf.reslim=6000;
$endIf

nlp를 사용하여 서핑을 최소화하는 minsurf를 해결합니다.

$ifThenI x%mode%==xbook
파일 rez /minsurf.dat/
rez를 넣어;
loop(i, loop(j, put v.l(i,j):6:2); put/;);put/;
$endIf

* 민서프 종료