참조
카테고리 : 슬롯 무료체험 NOA 라이브러리
메인파일 : steering.gms
$onText
일정한 추진력에 의해 작용하는 입자에 소요되는 시간을 최소화합니다.
주어진 고도와 최종 속도를 달성하기 위한 크기입니다.
이 모델은 COPS 벤치마킹 제품군에서 나온 것입니다.
http://www-unix.mcs.anl.gov/~more/cops/를 참조하세요.
이산화 지점 수는 다음 명령을 사용하여 지정할 수 있습니다.
라인 매개변수 --nh.
nh = 50, 100, 200, 400에 대한 COPS 성능 테스트가 보고되었습니다.
참고자료:
Dolan, E D 등, J J, COPS를 사용한 벤치마킹 최적화 소프트웨어.
기술. 대표, 수학 및 컴퓨터 과학부, 2000.
Betts, J, Eldersveld, S 및 Huffman, W, 희소 비선형 프로그래밍 테스트
문제. 기술. 담당자, 보잉 컴퓨터 서비스, 1993.
Bryson, A 및 Ho, Y, 최적 제어 적용: 최적화, 추정,
및 제어. 존 와일리와 아들, 1975.
$offText
$if 세트 n $set nh %n%
$설정되지 않은 경우 nh $set nh 800
h 간격을 설정합니다 / h0 * h%nh% /
c 좌표 /
y1 첫 번째 위치 좌표
y2 두 번째 위치 좌표
y3 첫 번째 속도 좌표
y4 초 속도 좌표 /
스칼라 파이
nh 간격 수 / %nh% /
힘의 크기 / 100.0 / ;
변수 u(h) 제어
y(c,h) 좌표
tf 마지막 시간 ;
양의 변수 단계 단계 크기 ;
y.l('y2',h) = 5*(ord(h)-1)/nh;
y.l('y3',h) = 45*(ord(h)-1)/nh;
단계 1 = 1.0/nh;
방정식 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*단계*(a*cos(u(h)) +
a*cos(u(h+1)));
velo2_eqn(h+1).. y('y4',h+1) =e= y('y4',h) + 0.5*단계*(a*sin(u(h)) +
a*sin(u(h+1)));
파이 = 2*arctan(inf);
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;
모델 조향 /all/;
tf를 최소화하는 nlp를 사용하여 스티어링을 해결합니다.
$ifThenI x%mode%==xbook
*파일 res /g7.dat/;
*res 넣어
*loop(h, u.l(h):10:7, put/)
$endIf
*엔드 스티어링