lnts.gms : 입자 조종 COPS 2.0 #9

설명

추력에 의해 작용하는 입자에 소요되는 시간을 최소화합니다.
주어진 고도와 터미널을 달성하기 위해 일정한 크기
속도.

이 모델은 COPS 벤치마킹 제품군에서 나온 것입니다.
참조http://www-unix.mcs.anl.gov/~more/cops/.이산화 지점 수는 다음 명령을 사용하여 지정할 수 있습니다
라인 매개변수 --nh. NH에 대한 COPS 성능 테스트가 보고되었습니다.
= 50, 100, 200, 400

대형 모델 유형 :NLP


카테고리 : 슬롯 나라 모델 라이브러리


메인 파일 : lnts.gms

$title 입자 조종 COPS 2.0 #9 (LNTS,SEQ=237)

$onText
추진력에 의해 작용하는 입자에 소요되는 시간을 최소화합니다.
주어진 고도와 터미널을 달성하기 위해 일정한 크기
속도.

이 모델은 COPS 벤치마킹 제품군에서 나온 것입니다.
http://www-unix.mcs.anl.gov/~more/cops/를 참조하세요.

이산화 지점 수는 다음 명령을 사용하여 지정할 수 있습니다.
라인 매개변수 --nh. NH에 대한 COPS 성능 테스트가 보고되었습니다.
= 50, 100, 200, 400

Dolan, E D 등, JJ, 벤치마킹 최적화
COPS가 포함된 소프트웨어. 기술. 대표, 수학과 컴퓨터
과학부, 2000.

Betts, J, Eldersveld, S 및 Huffman, W, Sparse
비선형 프로그래밍 테스트 문제. 기술. 대표,
보잉 컴퓨터 서비스, 1993.

Bryson, A 및 Ho, Y, 최적 제어 적용:
최적화, 추정 및 제어. 존 와일리 앤 선즈,
1975.

키워드: 비선형 프로그래밍, 공학, 입자 조종
$offText

$설정되지 않은 경우 nh $set nh 50

세트
   h '간격' / h0*h%nh% /
   c '좌표' / y1 '첫 번째 위치 좌표'
                     y2 '두 번째 위치 좌표'
                     y3 '첫 번째 속도 좌표'
                     y4 '두 번째 속도 좌표' /;

스칼라
   nh '간격 수' / %nh% /
   '힘의 크기' / 100.0 /;

변수
   u(h) '통제'
   y(c,h) '좌표'
   tf '마지막 시간';

양수 변수 단계 '단계 크기';

방정식
   tf_eqn
   pos_eqn(c,h)
   velo1_eqn(h)
   velo2_eqn(h);

tf_eqn.. tf =e= 단계*nh;

pos_eqn(c+2,h+1).. y(c,h+1) =e= y(c,h) + 0.5*단계*(y(c+2,h) + y(c+2,h+1));

velo1_eqn(h+1).. y('y3',h+1) =e= y('y3',h) + 0.5*step*(a*cos(u(h)) + a*cos(u(h+1)));

velo2_eqn(h+1).. y('y4',h+1) =e= y('y4',h) + 0.5*step*(a*sin(u(h)) + a*sin(u(h+1)));

u.lo(h) = -pi/2;
u.up(h) = pi/2;

y.fx(c,'h0') = 0;
y.fx('y2','h%nh%') = 5;
y.fx('y3','h%nh%') = 45;
y.fx('y4','h%nh%') = 0;

단계 1 = 1.0/nh;
y.l('y2',h) = 5*(ord(h)-1)/nh;
y.l('y3',h) = 45*(ord(h)-1)/nh;

모델 lnts / all /;

$if set workSpace lnts.workSpace = %workSpace%

tf를 최소화하는 nlp를 사용하여 lnt를 해결합니다.