secure.gms : 보안 작업 파일 - 예 2

설명

이것은 보안 작업 파일 문서의 예 2입니다. 안전한 업무 파일
슬롯 무료체험의 선택된 데이터 및 공식 섹션을 숨길 수 있습니다.
신청.  다음 프로그램은 부록에 설명된 모델을 실행합니다.
슬롯 무료체험 사용자 가이드의 G.

소형 모델 유형 :슬롯 무료체험


카테고리 : 슬롯 무료체험 모델 라이브러리


메인 파일 : secure.gms

$title 보안 작업 파일 - 예 2 (SECURE,SEQ=343)

$onText
Secure Work 파일 문서의 예시 2입니다. 안전한 업무 파일
슬롯 무료체험의 선택된 데이터 및 공식 섹션을 숨길 수 있습니다.
신청.  다음 프로그램은 부록에 설명된 모델을 실행합니다.
슬롯 무료체험 사용자 가이드 G.

슬롯 무료체험 Development Corporation, 모델링 도구 상자.

키워드: 제한된 비선형 시스템, 비선형 프로그래밍, 슬롯 무료체험 언어 기능,
          안전한 작업 파일
$offText

$설정되지 않은 경우 MYPLICENSE $set MYPLICENSE "%슬롯 무료체험sysdir%plicense.txt"
$if 존재하지 않는 경우 "%MYPLICENSE%" $abort 대상 라이센스 파일 "%MYPLICENSE%"가 존재하지 않습니다. --MYPLICENSE=...를 통해 지정하세요.

$set env ide=%슬롯 무료체험ide% lo=%슬롯 무료체험lo%

'슬롯 무료체험 p1 s=p1 %env%'를 실행합니다.
'슬롯 무료체험 u1 r=p1 %env%'를 실행합니다.
'슬롯 무료체험 s1 r=p1 s=s1 plicense="%MYPLICENSE%" %env%'를 실행합니다.
'슬롯 무료체험 u1 s=s1 %env%'를 실행합니다.

$onEcho > p1.gms
$call gamslib -q trnsport
$include trnsport.gms

* 입력 데이터 계산 -- 모델 getc
변수 newc(i,j) '새로운 운송 비용';

방정식 defnewc(i,j) '새로운 운송 비용의 정의';

모델 getc '새 전송 데이터 계산' / defnewc /;

defnewc(i,j).. newc(i,j) =e= f*d(i,j)/1000;

cns를 사용하여 getc를 해결합니다.

* 목적 함수를 변경하고 x의 기본 값을 저장합니다. -- newtrans 모델
스칼라 베타 '규모 계수' / 1.1 /;

방정식 newcost '새로운 목적 함수의 정의';

모델 newtrans / newcost, 공급, 수요 /;

newcost.. z =e= sum((i,j), newc.l(i,j)*x(i,j)**beta);

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

매개변수 basex(i,j) 'x의 밑수';
basex(i,j) = x.l(i,j);

* 결과를 백분율 변화로 변환 - 모델 담당자
변수 delta(i,j) '기본 값 대비 백분율 변화';

방정식 defdelta(i,j) '델타 정의';

모델 대표 / defdelta /;

defdelta(i,j)$basex(i,j).. delta(i,j) =e= 100*(x.l(i,j) - basex(i,j))/basex(i,j);

cns를 사용하여 담당자를 해결합니다.
$offEcho

$onEcho > u1.gms
s / 하나, 둘, 셋 / 설정;

매개변수
   sbeta(s) / 1개 1.25, 2개 1.5, 3개 2.0 /
   SF(들) / 1개 85, 2개 75, 3개 50 /;

매개변수 보고서 '요약 보고서';
루프(들,
   베타 = s베타(들);
   f = SF(들);
   cns를 사용하여 getc를 해결합니다.
   z를 최소화하는 nlp를 사용하여 newtrans를 해결합니다.
   cns를 사용하여 담당자를 해결합니다.
   보고서(i,j,s) = delta.l(i,j);
   보고서('','베타',s) = 베타;
   보고서('','f',s) = f;
   Report('obj','z',s) = z.l;
);
보고서 표시;
$offEcho

$onEcho > s1.gms
$모두 숨기기
$expose getc newtrans 담당자
$expose i j z 델타
$expose f 베타 a b
$offEcho