에서균형 문제우리는 지금까지 논의했으며 각 변수와 각 제약 조건은 단일 에이전트가 소유했습니다. 이 섹션에서는 각 제약 조건이 단일 에이전트에 의해 제어되어야 한다는 가정을 완화하고 다음을 소개합니다.메가 슬롯 제약조건. 메가 슬롯 제약조건은 여러 에이전트의 문제에 나타나는 제약조건입니다. 주로 에이전트 간에 메가 슬롯되는 리소스를 모델링하는 데 사용됩니다. 이 섹션의 예시는 Kim & Ferris(2017) [108].
다음 예를 고려해보세요:
\begin방정식 \tag 14
제약조건 \(g_i\)은 에이전트 \(i\)가 소유하는 반면, 제약조건 \(h\)는 모든 에이전트가 메가 슬롯합니다. 이 예는 각각 고유한 두 가지 방법으로 재구성될 수 있습니다.EMP 주석및 결과 MCP. 그러나 둘 다 아래 모델 공식을 메가 슬롯합니다.
변수 obj(i), x(i);
방정식 deff(i), defg(i), defh;
모델 sharedc / def, defg, defh /;
방정식을 관찰하세요데프메가 슬롯 제약 조건 \(h(x) \leq 0\) 구현은 색인화되지 않습니다. 이는 에이전트당 한 번이 아니라 한 번만 존재합니다. EMP 주석을 작성하는 첫 번째 방법은 다음과 같습니다.
파일 empinfo / '%emp.info%' /;
empinfo '평형' 입력 /;
루프(나,
'min', obj(i), x(i), deff(i), defg(i), defh를 넣습니다. /;
);
putclose empinfo;
여기 방정식defh각 에이전트의 최소화 문제에 나타납니다. 방정식으로defh에이전트별로 인덱싱되지 않고 각 에이전트의 문제에 나타나므로 메가 슬롯 제약임을 쉽게 알 수 있습니다. 이러한 주석이 제공되면 EMP 프레임워크는 각 에이전트의 FOC를 집계하여 다음 MCP를 생성합니다.
\begin방정식 \tag 15
방정식 \(h(\cdot)\)는 각 에이전트에 대해 복제되며 각 에이전트에는 별도의 승수 \(\mu_i\)가 할당됩니다.
- 주의
- 기본적으로 솔버 JAMS는 메가 슬롯 제약조건을 허용하지 않습니다. 옵션
SharedEqu옵션 파일에 지정해야 함jams.opt메가 슬롯 제약조건이 의도된 경우, 그렇지 않은 경우 감지되면 오류가 보고됩니다. 이러한 신중한 기본값은 예상치 못한 결과의 수를 최소화하는 데 도움이 됩니다.
JAMS 옵션 파일을 포함한 전체 모델이 제공됩니다.아래.
EMP 주석을 작성하는 두 번째 방법은 다음을 사용합니다.EMP 키워드 비솔다음을 지정하려면변형 평형계산됩니다. 즉, 승수 \(\mu_i\)가 모두 동일한 솔루션입니다.비솔키워드가 나타나야 합니다이후EMP 키워드평형그리고이전에이전트 모델에 대한 설명입니다.
put / 'VIsol defh';
같게 만드는 승수(또는 복제하지 않는 제약 조건)는 키워드 다음에 방정식 이름으로 표시됩니다.비솔. 이러한 제약 조건은 에이전트당 한 번이 아니라 결과 MCP에 한 번 나타납니다. EMP 도구는 다음 MCP를 생성합니다.
\begin방정식 \tag 16
제약 조건이 없는 경우 \(g_i(x)\), 그러면 - 제약 조건을 가정하면 - 메가 슬롯 제약 조건이 있는 평형 문제는 정확히 변분 불평등 \(VI(F,X)\)에 해당합니다. 여기서 \(X=\x \, | \, h(x) \leq 0\\) 및 \(F(x) = ((\bigtriangledown_x_if_i(x)^T)_i=1^N)^T\). 이는 솔루션에 승수 \(\mu_i\)가 모두 동일하다는 속성이 있는 경우 첫 번째 MCP(복제된 메가 슬롯 제약 조건 포함)의 솔루션에 해당합니다. 이것이 후자의 솔루션에 이름을 부여한 것입니다.변형 평형. 메가 슬롯 제약 조건이 있는 평형 문제에 고유한 솔루션이 있는 경우 두 MCP 재공식은 동일한 솔루션을 갖게 됩니다. 그렇지 않으면 두 개의 서로 다른 EMP 주석에 해당하는 두 개의 MCP가 서로 다른 솔루션을 가질 수 있습니다.
메가 슬롯 제약의 예는 Haurie & Krawczyk(1997)의 강 유역 오염입니다. [95] 및 Krawczyk & Uryasev(2000) [110], 강에 버려질 수 있는 오염물질의 총량이 제한되어 있습니다. 이는 일부 오염 물질 생성 물질의 환경적 제약이 메가 슬롯된다는 것을 의미합니다. 이 예는 다음과 같이 공식화될 수 있습니다. 여기서 \(i\)는 에이전트 인덱스이고 \(m\)은 메가 슬롯 제약 조건의 수를 나타냅니다.
\begin방정식 \tag 17
여기서 세 명의 대리인이 일부 상품을 생산하고 이익을 극대화하는 것을 목표로 합니다. \((c_1i + c_2i x_i) \, x_i\) 항은 각 에이전트의 총 비용 \(i\)을 나타내고 \( ( d_1 - d_2 ( \sum_j=1, \, j \neq i^3 x^*_j + x_i )) \, x_i\) 항은 각 에이전트의 수익을 나타냅니다. 각 에이전트가 강에 버리는 오염 물질의 양은 두 가지 메가 슬롯 제약 조건에 의해 제한됩니다. 이 문제는 다음과 같이 EMP를 사용하여 GAMS에서 구현할 수 있습니다.
i / 1*3 / 설정
m / 1*2 / ;
별칭(i,j) ;
변수 obj(i) ;
양의 변수 x(i) ;
매개변수 K(m) / 1 100, 2 100 /
d1 / 3 /
d2 / 0.01 /
e(i) / 1 0.5, 2 0.25, 3 0.75 / ;
테이블 c(m,i)
1 2 3
1 0.1 0.12 0.15
2 0.01 0.05 0.01 ;
테이블 u(i,m)
1 2
1 6.5 4.583
2 5.0 6.250
3 5.5 3.750 ;
방정식 objdef(i)
단점(m) ;
objdef(i).. obj(i) =e= (c('1',i) + c('2',i)*x(i))*x(i) - (d1 - d2*sum(j, x(j)))*x(i);
cons(m).. sum(i, u(i,m)*e(i)*x(i)) =l= K(m);
모델 m_shared / objdef, 단점 /;
파일 empinfo / '%emp.info%' /;
empinfo '평형' 입력 /;
'VIsol 단점'을 입력하세요. /;
루프(나,
put 'min', obj(i), x(i), objdef(i), 'cons' /;
);
putclose empinfo;
$echo SharedEqu > jams.opt
m_shared.optfile = 1;
emp를 사용하여 m_shared를 해결합니다.
x.l, 단점 표시;
메가 슬롯 환경 제약 조건은 다음 방정식으로 표현됩니다.단점. EMP 주석에서는 EMP 키워드가 포함된 공식을 선택했습니다.비솔. 이는 \(x^*=(21.145, 16.028, 2.726)\) 해로 이어집니다. 또는 EMP 키워드가 있는 줄을 삭제할 수도 있습니다.비솔따라서 프레임워크가 (에서 MCP를 계산하도록 요청합니다.15), 결과는 \(x^*=(0, 6.473, 22.281)\) 해가 됩니다.