설명
모든 항목에 여유 변수를 추가하는 EMP의 옵션 adjustEqu NYslp를 테스트하세요. 비선형 방정식. 각 슬랙스에 페널티 변수를 곱하고 더해집니다. 목표에 추가/감산됩니다. 기여자: Jan-H. Jagla, 2009년 4월
소형 모델 유형 :슬롯
카테고리 : 슬롯 테스트 라이브러리
메인 파일 : empadj01.gms
$title "EMPs adjustEqu/NYslp 옵션 테스트" (EMPADJ01,SEQ=441)
$onText
모든 항목에 여유 변수를 추가하는 EMP의 옵션 adjustEqu NYslp를 테스트하세요.
비선형 방정식. 각 슬랙스에 페널티 변수를 곱하고 더해집니다.
목표에 추가/감산됩니다.
기여자: Jan-H. 자글라, 2009년 4월
$offText
변수 x1,x2,y;
방정식 대상, e1, e2;
대상.. y =e= 2*x1 + x2;
e1.. x1*x1 + x2*x2 =l= 25;
e2.. x1*x1 - x2*x2 =l= 7;
모델 m /all/;
$echo adjustequ NYslp > "%emp.info%"
$onEcho > jams.opt
파일 이름 slpexample.gms
*하위 솔버 nyslp
하위 해결사 선택
사전 slpdict.txt
$offEcho
m.optfile=1;
emp를 사용하여 m max y를 해결합니다.
'sed "2d" slpexample.gms > slpexample_mod.gms'를 실행합니다.
'diff -I reslim -bw slpexample_mod.gms slp_ref.gms'를 실행합니다.
abort$errorlevel 'slpexample_mod.gms와 slp_ref.gms가 다릅니다';
'sed "1d" slpdict.txt > slpdict_mod.txt'를 실행합니다.
'diff -bw slpdict_mod.txt slpdict_ref.txt'를 실행합니다.
abort$errorlevel 'slpdict_mod.txt와 slpdict_ref.txt가 다릅니다';
$onEcho > slp_ref.gms
***********************************************
* 자세한 내용은 JAMS 옵션 "Dict"를 사용하세요.
***********************************************
변수 x1,x2,objvar,w2,w3,p2,p3,w4;
양수 변수 w2,w3;
방정식 e1,e2,e3,e4;
e1.. - 2*x1 - x2 + objvar =E= 0 - w4;
e2.. x1*x1 + x2*x2 =L= 25 + w2;
e3.. x1*x1 - x2*x2 =L= 7 + w3;
* e4는 페널티 집계 변수 w4를 정의합니다.
e4.. w4 =E= + p2*w2 + p3*w3;
* 기본이 아닌 경계를 설정
p2.fx = 0.0;
p3.fx = 0.0;
모델 m / 모두 /;
m.limrow=0; m.limcol=0;
* 첫 번째 여유 변수의 인덱스
m.integer1 = 4;
* 첫 번째 패널티 변수 지수
m.integer2 = 6;
* 페널티 집계변수 지수
m.integer3 = 8;
objvar를 최대화하는 DNLP를 사용하여 m을 해결합니다.
$offEcho
$onEcho > slpdict_ref.txt
********************************************************************************
목차
1 EMP 정보 파일의 내용
2 처리된 EMP 정보
3 사전
3.1 제약
3.2 변수
********************************************************************************
1 EMP 정보 파일의 내용
---------------------------------
1: 조정 NYslp
2 처리된 EMP 정보
--------------
지정된 조정된 제약 조건 수 = 2
Equ 유형 중량 매개변수 ...
e2 NYslp p2
e3 NYslp p3
세타함수 개수
2NYslp
3 사전
------------
3.1 제약
---------------
e1 객체
e2 e1
e3 e2
e4 신규: 페널티 집계 변수 w4를 정의
3.2 변수
--------------
x1 x1
x2 x2
객체 변수
w2 신규: 방정식 e2의 여유 변수
w3 신규: 방정식 e3의 여유 변수
p2 신규: 방정식 e2에 대한 페널티 변수
p3 신규: 방정식 e3에 대한 페널티 변수
w4 신규: 페널티 집계 변수