launch.gms : 발사체 설계 및 슬롯 게임

설명

이 모델은 3단 발사체를 설계합니다.
R&D 및 생산 슬롯 게임에 대한 계정 슬롯 게임 추정 관계
기체, 엔진 및 계기 장치용.

소형 모델 유형 :NLP


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


메인 파일 : launch.gms

$title 발사체 설계(LAUNCH,SEQ=161)

$onText
이 모델은 3단 발사체를 설계합니다.
R&D 및 생산 슬롯 게임에 대한 계정 슬롯 게임 추정 관계
기체, 엔진 및 계기 장치용.

Bracken, J 및 McCormick, G P, 7장. 선택된 응용 분야에서
비선형 프로그래밍의. 존 와일리 앤 선즈(John Wiley and Sons), 뉴욕, 1968년,
58-82페이지.

키워드: 비선형 프로그래밍, 발사체 설계, 에너지 경제학, 엔지니어링
$offText

세트
   s '단계' / stage-1*stage-3 /
   b '바운드 라벨' / 하위, 상위 /;

별칭(s,ss);

ge(s,ss)의 s가 ss보다 크다고 설정합니다.
ge(s,ss) = yes$(ord(s) >= ord(ss));

스칼라
   pl '지불 부하(천 파운드)' / 20 /
   numl '실행 횟수' / 10 /
   g '평균 중력(est)' / 31.8 /;

테이블 pwbound(s,b) '추진제 중량'
            하부 상부
   1단계 12 16
   2단계 10 12
   3단계 7 9;

매개변수
   iwf(s) '중량 비율' / stage-1 .5, stage-2 .6, stage-3 .7 /
   num(s) '엔진 수' / (stage-1,stage-2) 5, stage-3 1 /
   rde1(s) 'engine R&D cost 1'  / (stage-1,stage-2) -257.963, stage-3  32.591   /
   rde2(s) '엔진 R&D 슬롯 게임 2' / (stage-1,stage-2) 160.990, stage-3 181.806 /
   rde3(s) '엔진 R&D 슬롯 게임 3' / (stage-1,stage-2) -0.146, stage-3 0.539 /
   rde4(s) '엔진 R&D 슬롯 게임 4' / (stage-1,stage-2) 282.874, stage-3 232.570 /
   rde5(s) '엔진 R&D 슬롯 게임 5' / (stage-1,stage-2) 0.648, stage-3 0.772 /
   pre1(s) '엔진 슬롯 게임 1' / (stage-1,stage-2) 0.2085, stage-3 0.0705 /
   pre2(s) '엔진 슬롯 게임 2' / (stage-1,stage-2) 2.509 , stage-3 -0.01807 /
   pre3(s) '엔진 슬롯 게임 3' / (stage-1,stage-2) 0.736 , stage-3 -1.33 /
   pre4(s) '엔진 슬롯 게임 4' / (stage-1,stage-2) 0.9744, stage-3 16.687 /
   pre5(s) '엔진 슬롯 게임 5' / (stage-1,stage-2) -0.229 , stage-3 0.498 /;

* 3단계의 경우 c*(x/100)**b에서 (c*10**b)*(x/1000)**b로 조정
pre2('단계-3') = pre2('단계-3')*10**pre3('단계-3');
pre4('단계-3') = pre4('단계-3')*10**pre5('단계-3');

변수
   aweight(s) '기체 중량(천 파운드)'
   iweight(s) '불활성 중량(천 파운드)'
   pweight(s) '추진제 무게(천 파운드)'
   instweight '기기 단위 중량(천 파운드)'
   Weight(s) '총 초기 무게(천 파운드)'
   length(s) '무대 길이(피트)'
   추력(들) '추력(천 파운드)'
   ethrust(s) '단일 엔진 추력(수천 파운드)'
   ms(s) '질량 분율'
   t2w(s) '추력 대 중량 비율'
   t(s) '작동 시간'
   vfac(s) '속도 인자'
   v(s) '증분 속도'
   vt '총 속도'
   슬롯 게임 '총 슬롯 게임';

방정식
   diweight(s) '불활성 중량의 정의'
   dweight(s) '가중치 정의'
   dthrust(s) '추력의 정의'
   t2wr(s) '초기 중량비 정의에 대한 추력'
   msd(s) '질량분율 정의'
   pwlower(s) '추진제 중량의 하한'
   pwupper(s) '추진제 중량의 상한'
   defvfac(s) '속도 인자 정의'
   defv(s) '속도 정의'
   defvt '총 속도의 정의'
   costdef '슬롯 게임 정의';

diweight(s).. iwf(s)*iweight(s) =e= aweight(s);

dweight(s).. Weight(s) =e= sum(ss$ge(ss,s), iweight(ss) + pweight(ss)) + instweight + pl;

d추력(들).. 추력(들) =e= 숫자*추진(들);

t2wr(들).. t2w(들)*중량(들) =e= 추력(들);

msd(s).. (1 - ms(s))*weight(s) =e= pweight(s);

pwlower(들).. pwbound(s,'lower')*iweight(s) =l= pweight(s);

pwupper(s).. pweight(s) =l= pwbound(s,'upper')*iweight(s);

defvfac(들).. vfac(들)*pweight(들) =e= 추력(들)*t(들);

defv(s).. v(s) =e= vfac(s)*g*log(1/ms(s));

defvt..vt =e= sum(s, v(s));

슬롯 게임정의.. 슬롯 게임 =e=

* 기체 R&D 슬롯 게임
   + 5272.77*합계, 무게**1.2781*가중치**(-0.1959)
                  * ms(초)**2.4242*추력**0.38745*pweight(초)**(-0.9904))

* 기체 제작비
   + .185214*sum(s, aweight(s)**0.3322*ms(s)**(-1.5935)*pweight(s)**0.2362
                  * 길이**0.1079*수**0.1616*수**0.9)

* 엔진 연구개발 슬롯 게임
   + sum(s, rde1(s) + rde2(s)*(ethrust(s)/1000)**rde3(s) + rde4(s)*(ethrust(s)/1000)**rde5(s))

* 엔진 생산 슬롯 게임
   + sum(s, (pre1(s)*(ethrust(s)/1000) + pre2(s)*(ethrust(s)/1000)**pre3(s)
          + pre4(s)*(ethrust(s)/1000)**pre5(s))*(num(s)*numl)**0.93)

* 악기 유닛
   + 10.35*(15822e-6*(instweight*1000)**0.786 - 35.5)
   + numl**0.9*15822e-6*(instweight*1000)**0.786

* 발사 작전
   + 8.5*numl*(3*sum(s, pweight(s))/1000)**0.460;

모델 출시 / 모두 /;

t2w.lo('스테이지-1') = 1.2;
t2w.lo('스테이지-2') = .6;
t2w.lo('스테이지-3') = .7;
t2w.up('스테이지-1') = 1.4;
t2w.up('스테이지-2') = .75;
t2w.up('스테이지-3') = .9;

ms.lo('스테이지-1') = .25;
ms.lo('스테이지-2') = .24;
ms.lo('스테이지-3') = .16;
ms.up('스테이지-1') = .30;
ms.up('스테이지-2') = .29;
ms.up('스테이지-3') = .21;

length.lo('스테이지-1') = 125;
length.lo('스테이지-2') = 75;
length.lo('stage-3') = 50;
length.up('스테이지-1') = 150;
length.up('stage-2') = 100;
length.up('스테이지-3') = 70;

vfac.lo('스테이지-1') = 240;
vfac.lo('스테이지-2') = 240;
vfac.lo('스테이지-3') = 340;
vfac.up('스테이지-1') = 290;
vfac.up('stage-2') = 290;
vfac.up('스테이지-3') = 375;

vt.lo = 35000;
vt.up = 50000;
instweight.lo =   2.5;
instweight.up = 4.0;
v.lo(s) = 1000;
t.lo(들) = 100;
추력.lo(s) = 1;
aweight.lo(s) = 1;
iweight.lo(s) = 5;
pweight.lo(s) = 50;
ethrust.lo(s) = 20;

* 이 책의 솔루션 가치는 다음과 같습니다.
t.l('단계-1') = 155;
t.l('단계-2') = 314;
t.l('단계-3') = 403;

iweight.l ('단계-1') = 136;
iweight.l ('스테이지-2') = 47;
iweight.l ('단계-3') = 16;

pweight.l ('단계-1') = 2176;
pweight.l ('단계-2') = 564;
pweight.l ('단계-3') = 144;

ethrust.l('stage-1') = 746;
ethrust.l('stage-2') = 96;
ethrust.l('stage-3') = 129;

length.l('스테이지-1') = 125;
length.l('스테이지-2') = 75;
length.l('스테이지-3') = 50;

ms.l('스테이지-1') = .3;
ms.l('스테이지-2') = .29;
ms.l('스테이지-3') = .21;

instweight.l = 2.5;
vt.l = 38632;

nlp 최소화 슬롯 게임을 사용하여 출시를 해결합니다.