설명
1) 슬롯 나라 Python 구문을 사용한 평형 모델 2) 슬롯 나라 Python 구문을 사용하여 simplevi.gms 예제를 공식화합니다. 3) 슬롯 나라 Python 구문을 사용하는 최적화 및 vi 에이전트의 조합 기고자: 김영대 (2019/02/17)
소형 모델 유형 :GAMS
카테고리 : GAMS 슬롯 나라 라이브러리
메인 파일 : emppython1.gms
$title 색인화된 슬롯 나라 구문과 Python 구문 분석기를 갖춘 세 가지 간단한 슬롯 나라 모델(EMPPYTHON1,SEQ=104)
$onText
1) 슬롯 나라 Python 구문을 사용한 평형 모델
2) 슬롯 나라 Python 구문을 사용하여 simplevi.gms 예제를 공식화합니다.
3) 슬롯 나라 Python 구문을 사용하는 최적화 및 vi 에이전트의 조합
기고자: 김영대 (2019/02/17)
$offText
* 주요 플랫폼(Windows, Linux, Mac)에서는 GMSPYTHONLIB가 자동으로 설정됩니다.
* sysdir/GMSPython에서 내부 Python 설치를 사용합니다.
$if setEnv GMSPYTHONLIB $abort.noError 내장 코드 Python을 사용할 준비가 되지 않았습니다.
$log --- Python 라이브러리 %sysEnv.GMSPYTHONLIB% 사용
$title 슬롯 나라 Python 구문을 사용한 평형 모델
i / 1*3 / 설정;
별칭(i,j);
변수 obj(i);
양의 변수 x1(i);
방정식 defobj1(i);
defobj1(i)..
obj(i) =E= x1(i)*(1 - sum(j, x1(j)));
모델 m1 / defobj1 /;
$onEcho > empinfo.txt
평형
최대 obj(i) st x1(i), defobj1(i)
$offEcho
$libInclude empmodel empinfo.txt
x1.up(i) = 1;
슬롯 나라를 사용하여 m1을 해결합니다.
$title 슬롯 나라 Python 구문을 사용하여 simplevi.gms 예제 공식화
세트
k / k1, k2 /
l / l1 * l3 /;
테이블 A(k,l)
l1 l2 l3
k1 1 1
k2 1 1;
매개변수 b(k) /
k1 6
k2 9
/;
양의 변수
x2(l) '원시 변수, perp to f(l)'
;
방정식
F(l)
g(k)
;
F(l).. 2 * x2(l) =n= 0 ;
g(k).. 합계 l, A(k,l)*x2(l) =g= b(k) ;
모델 m2 / F, g /;
$onEcho > empfile.txt
vi F(l), x2(l), g(k)
$offEcho
$libInclude empmodel empfile.txt
슬롯 나라를 사용하여 m2를 해결합니다.
$title 슬롯 나라 Python 구문을 사용하는 최적화 및 vi 에이전트의 조합
* 예제 1의 i, 별칭 j 및 변수 obj(i)를 설정합니다.
변수 y;
양의 변수 x3(i);
방정식 defobj3(i), defext;
defobj3(i)..
obj(i) =E= x3(i)*(1 - sum(j, x3(j))) + y;
디덱스..
1 - 합(j, x3(j)) - y =E= 0;
$onEcho > empfile.txt
평형
최대 obj(i) st x3(i), defobj3(i)
vi defext, y
$offEcho
$libInclude empmodel empfile.txt
모델 m3 / defobj3, defext /;
x3.up(i) = 1;
슬롯 나라를 사용하여 m3을 해결합니다.