슬롯 머신은 최적화에서 발생하는 많은 문제에 대한 일반적인 수학적 틀을 제공합니다. 예를 들어, LP 및 NLP와 같은 제한된 최적화 문제는 VI의 특별한 경우이며 방정식 시스템 및 상보성 문제는 VI로 캐스팅될 수 있습니다. 따라서 VI 문제는 교통 네트워크, 신호 처리, 회귀 분석 및 게임 이론을 포함하여 많은 응용 분야를 가지고 있습니다.
이 섹션에서 우리는 다음을 제시합니다.수학적 공식슬롯 머신의, 제공예GAMS EMP를 사용하여 슬롯 머신를 모델링하는 방법 및 소개슬롯 머신 관련 EMP 주석. 이 섹션의 일부를 완전하고 적절하게 이해하려면 다음을 참고하세요.MCP 소개유용한 배경을 제공합니다.
슬롯 머신: 수학적 공식
주어진 연속 함수 \(F: \mathbbR^n \rightarrow \mathbbR^n\)과 고정된 닫힌 볼록 집합 \(K \subset \mathbbR^n\)에 대해 변분 불평등 문제 \(슬롯 머신(F,K)\)는 다음과 같은 점 \(x^* \in K\)을 찾는 것입니다.
\begin방정식
여기서 \(\langle \cdot, \cdot \rangle \)은 일반적인 내부 곱을 나타냅니다.
슬롯 머신가 많은 문제 클래스를 일반화한다는 것을 관찰하십시오:
- \(F(x)=0\) 및 \(K \equiv \mathbbR^n\)인 경우, 슬롯 머신는 비선형 방정식 시스템입니다.
- \(F(x) = \bigtriangledown f(x)\)인 경우 슬롯 머신는 볼록 최적화 문제입니다.
- 만약 \(F(x) = \bigtriangledown f(x)\) 및 \(K = \x \, | \, Ax = b, Hx \leq h \\), 슬롯 머신는NLP.
- 만약 \(F(x) = \bigtriangledown f(x) = p \) 및 \(K = \x \, | \, Ax = b, Hx \leq h \\), 슬롯 머신는LP.
가능한 영역이 상자인 경우 \(B = \x \in \mathbbR^n | \, l_i \leq x_i \leq u_i, \, \textrmforMCP, 여기서 \( x^* \in B\)는 각 \(i = 1, \dots , n\)에 대해 다음 조건 중 하나가 충족되는 경우 해당 MCP의 해입니다.
\begin방정식
세트 \(K\)는 종종 다음과 같은 방식으로 정의된다는 점에 유의하십시오:
\begin방정식
또한 \(슬롯 머신(F,K)\)는 일부 목적 함수 \(f\)에 대해 \(F(x) \neq \bigtriangledown f(x)\)가 발생할 때마다(또는 동등하게 \(F\)의 야코비 행렬이 대칭이 아닐 때) 기존 최적화보다 더 넓은 범위의 문제를 나타냅니다. 예를 들어, 슬롯 머신로 변환할 수 있는 문제에는 (일반화된) 내쉬 게임 및 내쉬 평형 문제, 방정식 시스템, 상보성 문제 및 고정 소수점 문제가 포함됩니다.
EMP를 사용한 변형 부등식: 간단한 예
다음의 간단한 3차원 선형 예를 고려하십시오(Yashtini & Malek(2007)에서 채택됨) [204]. 하자
\begin방정식
여기서 \(l=(-6,-6,-6)^T\), \(u=(6,6,6)^T\). 참고: \(F\)는 어떤 함수 \(\mathbbR^3 \rightarrow \mathbbR\)의 기울기가 아닙니다. 이 \(슬롯 머신(F,K)\)에는 고유한 해(\(x=(2/3, -1/3, -2/3)\)가 있습니다. 이 문제는 다음과 같이 EMP를 사용하여 GAMS에서 구현할 수 있습니다.
i /1*3/ 설정;
변수 x(i);
x.lo(i) = -6;
x.up(i) = 6;
방정식 F(i), h1, h2, h3;
F(i).. (22*x('1') - 2*x('2') + 6*x('3') - 4)$sameas(i,'1')
+ (2*x('1') + 2*x('2'))$sameas(i,'2')
+ (6*x('1') + 3*x('3'))$sameas(i,'3')
=n= 0;
h1.. x('1') -x('2') =g= 1;
h2.. -3*x('1') - x('3') =g= -4;
h3.. 2*x('1') + 2*x('2') + x('3') =e= 0;
모델 linVI / F, h1, h2, h3 /;
파일 주석 /'%emp.info%'/;
주석을 달다;
putclose '슬롯 머신 F x h1 h2 h3';
EMP를 사용하여 linVI를 해결합니다.
함수 \(F\)와 제약 조건 \(h\)이 표준 GAMS 구문을 사용하여 공식화되는 것을 관찰하세요. \(F\)는 다음 방정식으로 구현됩니다.유형 =n=, 이는 왼쪽과 오른쪽 사이의 관계를 암시하거나 강요하지 않습니다. 대신, 이 관계는 경계를 기준으로 일치하는 변수(EMP 정보 파일에 제공됨)의 위치에 의해 암시됩니다.주석EMP 정보 파일에서 슬롯 머신의 구조를 정의합니다. 어떤 함수가 어떤 변수와 일치하는지, 어떤 제약 조건이 세트 \(K\)를 정의하는 데 사용되는지를 정의합니다.EMP 키워드 슬롯 머신모델이 슬롯 머신이고 슬롯 머신 기능이 있음을 나타냅니다.F변수와 일치합니다x, 그리고 그 제약 조건h1 h2 h3세트 \(K\)를 정의합니다.
또는 EMP 주석을 다음과 같이 작성할 수 있습니다:
putclose '슬롯 머신 F x';
여기서 방정식-변수 쌍 뒤의 방정식은 생략되었습니다. 이는 기본적으로 모델의 일부이지만 변수와 일치하지 않는 방정식이 자동으로 집합 \(K\)를 정의하는 데 사용되기 때문에 허용됩니다.
슬롯 머신 문제에는 목적이 없으므로,약식solv 문이 사용됩니다.
솔버 JAMS는 슬롯 머신를 MCP로 재구성하고 이를 MCP 하위 솔버에 전달합니다.EMP 요약JAMS에서 생성된 내용에는 다음 줄이 포함됩니다:
--- EMP 요약
...
슬롯 머신 함수 = 3
...이 출력은 위 모델에 세트의 각 구성원에 하나씩 세 개의 슬롯 머신 함수가 있다는 사실을 반영합니다.i.
GAMS EMP 라이브러리에는 여러 슬롯 머신 모델이 있다는 점에 유의하세요. 예를 들어, 모델[간단함]그리고[VI_MCP]MCP 또는 슬롯 머신 구문을 사용하여 일부 모델을 지정하는 방법을 보여줍니다. 간단한 비선형 슬롯 머신가 모델에 제공됩니다.[SIMPLEVI2]. 교통수단 모델은 너무나 잘 알려져 있듯이, 모델[TRANSVI]슬롯 머신로 변환하는 방법을 보여줍니다.
슬롯 머신에 대한 EMP 구문
일반 구문은EMP 주석변형 부등식을 지정하는 데 사용되는 것은 다음과 같습니다.
슬롯 머신 [var|*] [-] equ var [[-] equ]
그EMP 키워드 슬롯 머신은 이것이 슬롯 머신 사양임을 나타냅니다. VI 사양의 핵심은 방정식-변수 쌍(들)의 목록입니다. 다른 부분은 선택 사항입니다. 쌍은 방정식과 일치합니다.equ변수 포함var. 이는 다음을 나타냅니다.equ슬롯 머신 함수 \(F\)의 일부를 정의하며 \(F\)의 이러한 행은 다음에서 가져온 열과 수직입니다.var. 여러 방정식-변수 쌍이 허용됩니다. 쌍이 호출되기 전의 선택적 변수이전 변수. 이는 모델의 제약 조건에 나타나는(종종 정의되는) 변수이지만 슬롯 머신 함수 \(F\)를 통해 명시적으로 일치되지는 않습니다. 대신 자동으로 0 기능과 일치됩니다. 모델 보기[ZEROFUNC]예제와 더 자세한 토론을 보려면. 방정식-변수 쌍이 호출된 후의 선택적 방정식후행 방정식. 이는 세트 \(K\)를 정의하며 슬롯 머신 사양에서 생략될 수 있습니다. 기본적으로 모델에 포함되어 있지만 변수와 일치하지 않는 방정식은 \(K\) 집합을 정의하는 데 자동으로 사용됩니다. 앞선 변수와 뒤따르는 방정식이 모두 슬롯 머신 사양에서 생략될 수 있더라도 이를 명시적으로 나열하는 것이 좋습니다. 이렇게 하면 의도가 명확해지고 모호함이 사라집니다.
위 구문의 "-" 기호는 표시된 방정식을 뒤집는 데(즉, 방향을 바꾸거나 부정하는 데 사용됩니다. 그래서 그x**1.5 =L= y되다y =G= x**1.5. EMP에서 뒤집힌 방정식은 다음과 같은 방식으로 동작합니다.MCP에서 뒤집힌 방정식.
- 참고
- 하나 이상의 슬롯 머신 사양이 모델에 나타날 수 있습니다. 여러 등가-변수 쌍이 동일한 슬롯 머신 사양의 일부인지 별도의 슬롯 머신 사양인지 여부는 별 차이가 없는 경우가 많지만 일반적인 경우는 그렇지 않습니다. 예를 보려면 모델을 참조하세요.[SIMPLEVI4].