- $x = (\xi_1, \dots, \xi_m) \in \mathbb{R}^m$;
- $y = (\eta_1, \dots, \eta_n) \in \mathbb{R}^n$;
- $c = (\gamma_1, \dots, \gamma_m) \in \mathbb{R}^m$;
- $b = (\beta_1, \dots, \beta_n) \in \mathbb{R}^n$;
- $A = \set{\alpha_{ij}}_{m \times n}$.
Рассмотрим матрицу \[ A = \paren{ \begin{array}{c} a_1 \\ \vdots \\ a_r \end{array} }, \quad \dim A = r \times n, \quad \rank A = r. \] По теореме о ранге матрицы у этой матрицы $r$ линейно независимых столбцов. Пусть для определённости это первые $r$ столбцов.
Рассмотрим вектор $m = (\alpha_1, \dots, \alpha_r)$. Его можно разложить по столбцовому базису матрицы $A$: \[ m = \sum_{j=1}^r \eta_j a^j = \sum_{j=1}^r \eta_j a^j + \sum_{j=r+1}^n 0 \cdot a^j. \] Таким образом, можно построить $y = (\eta_1, \dots, \eta_r, 0, \dots, 0) \in \mathbb{R}^n$.
Рассмотрим равенство \[ \sum_{i=1}^m \xi_i a_i = b, \] где $a_i$ — строки матрицы $A$.
Пусть существует решение системы $x = (\xi_1, \dots, \xi_m)$. Рассмотрим набор индексов \[ S \subset N = \set{1, \dots, m}. \]
Иными словами, решение базисное, если оно разлагает вектор $b$ по линейно независимым строкам.
Пусть $a_i$ линейно зависимы, тогда \[ \exists \vec{\lambda} \neq \vec{0}: \quad \sum_{i=1}^m \lambda_i a_i = 0. \] Для определённости будем считать, что $\lambda_1 \gt 0$.
Обозначим $\Theta = \max\limits_i \dfrac{\lambda_i}{\xi_i} \gt 0$. Опять для определённости $\Theta := \dfrac{\lambda_1}{\xi_1}$.
Проведём следующие преобразования: \[ \begin{aligned} \sum_{i=1}^m \xi_i a_i &= \sum_{i=1}^m \xi_i a_i - \sum_{i=1}^m \lambda_i a_i \\ &= \frac{1}{\Theta} \sum_{i=1}^m \Theta \xi_i a_i - \sum_{i=1}^m \frac{\lambda_i}{\xi_i} \xi_i a_i \\ &= \frac{1}{\Theta} \sum_{i=1}^m \paren{\Theta - \frac{\lambda_i}{\xi_i}} \xi_i a_i \\ &= \frac{1}{\Theta} \sum_{i=2}^m \paren{\Theta - \frac{\lambda_i}{\xi_i}} \xi_i a_i \\ &= b. \end{aligned} \] Таким образом, существует неотрицательное решение \[ \xi_i' := \frac{1}{\Theta} \paren{\Theta - \frac{\lambda_i}{\xi_i}} \xi_i, \quad i = \overline{2,m} \] для системы \[ \sum_{i=2}^m \xi_i' a_i = b, \] то есть существует неотрицательное базисное решение $(\bar\xi_2', \dots, \bar\xi_m')$, откуда следует, что $(0, \bar\xi_2', \dots, \bar\xi_m')$ также является базисным неотрицательным решением.
Воспользуемся свойством допустимых решений: для любых допустимых решений $x$ и $y$ ПЗ и ДЗ соответственно справедливо неравенство \[ cx \leqslant by. \]
Тогда \[ cx \leqslant b \bar y = c \bar x, \] то есть для любого допустимого решения $x$ ПЗ выполнено \[ cx \leqslant c \bar x, \] поэтому $\bar x$ — оптимальное решение.
Аналогично доказывается оптимальность решения $\bar y$.
Из стандартной формы в каноническую.
Рассмотрим ПЗ: \[ \begin{gathered} \max \dp{c}{x} \\ xA' \leqslant b' \\ x \geqslant 0, \end{gathered} \quad \text{где} \quad \begin{aligned} A' &:= (A, -A), \\ b' &:= (b, -b). \end{aligned} \] Составим для неё ДЗ: \[ \begin{gathered} \min \dp{b'}{y'} \\ A'y' \geqslant c \\ y' \geqslant 0. \end{gathered} \]
Пусть \[ y' = ( \underbrace{\eta_1, \dots, \eta_n}_{\eta}, \underbrace{\eta_1', \dots, \eta_n'}_{\eta'} ), \] тогда ДЗ примет вид \[ \begin{gathered} \min (\dp{b}{\eta} - \dp{b}{\eta'}) \\ A \eta - A \eta' \geqslant c \\ \eta \geqslant 0, \; \eta' \geqslant 0, \end{gathered} \implies \begin{gathered} \min \dp{b}{(\eta - \eta')} \\ A (\eta - \eta') \geqslant c \\ \eta \geqslant 0, \; \eta' \geqslant 0. \end{gathered} \] Проведём замену переменных: \[ y := \eta - \eta'. \] Заметим, что $y$ может принимать любые значения.Итак, приходим к канонической форме: \[ \begin{gathered} \min \dp{b}{y} \\ A y \geqslant c \\ \forall y \end{gathered} \]
Допустимые решения $x = (\xi_1, \dots, \xi_m)$ и $y = (\eta_1, \dots, \eta_n)$ ПЗ и ДЗ в канонической форме будут оптимальными тогда и только тогда, когда \[ \xi_i = 0, \quad \text{если} \quad a_i y \gt \gamma_i. \]
Если ПЗ имеет оптимальное решение, то она имеет оптимальное базисное решение.
Построим таблицу из коэффициентов $b_j = \sum\limits_{i=1}^m \tau_{ij} a_i$: \[ \begin{array}{c|ccccc} & b_1 & \dots & b_j & \dots & b_n \\ \hline a_1 & \tau_{11} & \dots & \tau_{1j} & \dots & \tau_{1n} \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ a_i & \tau_{i1} & \dots & \tau_{ij} & \dots & \tau_{in} \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ a_m & \tau_{m1} & \dots & \tau_{mj} & \dots & \tau_{mn} \end{array} \]
Допустим, хотим исключить $a_r$, а на его место поставить $b_s$: \[ \begin{array}{c|ccccc} & b_1 & \dots & b_s & \dots & b_n \\ \hline a_1 & \tau_{11} & \dots & 0 & \dots & \tau_{1n} \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ {\color{green}b_s} & \tau_{s1}' & \dots & 1 & \dots & \tau_{sn}' \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ a_m & \tau_{m1} & \dots & 0 & \dots & \tau_{mn} \end{array} \]
Допустим, известно первое базисное решение $y = (\eta_1, \dots, \eta_m, 0, \dots, 0)$.
Запишем симплексную таблицу: \[ \begin{array}{c|ccccccccc|c} & a^1 & \dots & a^r & \dots & a^m & \dots & a^s & \dots & a^n & c \\ \hline a^1 & 1 & \dots & 0 & \dots & 0 & \dots & \tau_{1s} & \dots & \tau_{1n} & \eta_1 \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots & \ddots & \vdots & \ddots & \vdots & \vdots \\ a^r & 0 & \dots & 1 & \dots & 0 & \dots & \tau_{rs} & \dots & \tau_{rn} & \eta_r \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots & \ddots & \vdots & \ddots & \vdots & \vdots \\ a^m & 0 & \dots & 0 & \dots & 1 & \dots & \tau_{ms} & \dots & \tau_{mn} & \eta_m \\ \hline z - b & 0 & \dots & 0 & \dots & 0 & \dots & \xi_s - \beta_s & \dots & \xi_n - \beta_m & \xi_0 \end{array} \]
Из теоремы замещения следует, что после этих операций снова получим симплексную таблицу.
Когда останавливаться?Допустим, известно первое базисное решение $y = (\eta_1, \dots, \eta_m, 0, \dots, 0)$.
Запишем симплексную таблицу: \[ \begin{array}{c|ccccccccc|c} & a^1 & \dots & a^r & \dots & a^m & \dots & a^s & \dots & a^n & c \\ \hline a^1 & 1 & \dots & 0 & \dots & 0 & \dots & \tau_{1s} & \dots & \tau_{1n} & \eta_1 \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots & \ddots & \vdots & \ddots & \vdots & \vdots \\ a^r & 0 & \dots & 1 & \dots & 0 & \dots & \tau_{rs} & \dots & \tau_{rn} & \eta_r \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots & \ddots & \vdots & \ddots & \vdots & \vdots \\ a^m & 0 & \dots & 0 & \dots & 1 & \dots & \tau_{ms} & \dots & \tau_{mn} & \eta_m \\ \hline z - b & 0 & \dots & 0 & \dots & 0 & \dots & \xi_s - \beta_s & \dots & \xi_n - \beta_m & \xi_0 \end{array} \]
Пусть $X$ и $Y$ — конечные множества: \[ \begin{aligned} \abs{X} &= m, & X \leftrightarrow M &= \set{1, \dots, m} \\ \abs{Y} &= n, & Y \leftrightarrow N &= \set{1, \dots, n} \end{aligned} \] Обозначим:
Игроки независимо друг от друга и одновременно выбирают стратегии.
Рассмотрим матрицу выигрышей \[ A = \paren{ \begin{matrix} \alpha_{11} & \dots & \alpha_{1n} \\ \vdots & \ddots & \vdots \\ \alpha_{m1} & \dots & \alpha_{mn} \end{matrix} } \]
Если экстремум достигается, то $\underline{V}$ называют максимином игры.
Если инфимум достигается, то $\overline{V}$ называют минимаксом игры.
Множество всех ситуаций равновесия в игре $\Gamma$ обозначим через $Z(\Gamma) \subset X \times Y$.
Пусть $Z(\Gamma)$ — множество ситуаций равновесия в игре $\Gamma = \angset{X, Y, K}$.
Свойства:Множество ситуаций равновесия по Нэшу обозначают $X^{NE}$.
Игра биматричная: \[ (A,B) = \begin{matrix} & \beta_1 & \beta_2 \\ \begin{matrix} \alpha_1 \\ \alpha_2 \end{matrix} & \left[ \begin{matrix} {\color{green}(4,1)} \\ (0,0) \end{matrix} \right. & \left. \begin{matrix} (0,0) \\ {\color{green}(1,4)} \end{matrix} \right] \\ & & \end{matrix}. \]
Возможные ситуации:Игра биматричная: \[ (A,B) = \begin{matrix} & \text{С}_2 & \text{НС}_2 \\ \begin{matrix} \text{С}_1 \\ \text{НС}_1 \end{matrix} & \left[ \begin{matrix} {\color{#47c7f0}(-7,-7)} \\ {\color{orange}(-10,0)} \end{matrix} \right. & \left. \begin{matrix} {\color{orange}(0,-10)} \\ {\color{orange}(-1,-1)} \end{matrix} \right] \\ & & \end{matrix}. \]
Возможные ситуации:Обозначение: $\alpha \overset{S}{\succ} \beta$.
Обозначение: $\alpha \succ \beta$.
Таким образом, $\beta$ является дележом.
Проверим, доминирует ли он делёж $\alpha$:
Таким образом, делёж $\beta$ доминирует делёж $\alpha$, что противоречит тому, что $\alpha \in C(N,v)$.
Рассмотрим $v(S) - v(S \setminus \{i\})$. Это вклад игрока $i$ в коалицию $S$, которая создаётся случайным образом:
Получаем ЗЛП: \[ \begin{gathered} xc \to \max \\ xv \leqslant V \\ xw \leqslant W \\ x \geqslant 0, \; x \in \mathbb{Z}^n \end{gathered} \]
Рассмотрим функцию Беллмана $\mathcal{F}_n(W, V)$, означающую максимальную ценность грузов, которая может быть перевезена самолётом с грузоподъёмностью $W$ и полезным объёмом $V$, при условии, что мы используем данные $n$ типов грузов.
Пусть мы загрузили в самолёт $\xi_n$ единиц груза $n$-го типа, тогда получили «новый» самолёт с новыми параметрами: \[ \mathcal{F}_{n-1} (W - \xi_n w_n, V - \xi_n v_n). \] Предположим, что остатком распорядились оптимально, тогда суммарная ценность перевозимого груза составит \[ \xi_n c_n + \mathcal{F}_{n-1} (W - \xi_n w_n, V - \xi_n v_n). \] Она зависит только от $\xi_n$, поэтому \[ \mathcal{F}_n(W, V) = \max_{\xi_n} \paren{\xi_n c_n + \mathcal{F}_{n-1} (W - \xi_n w_n, V - \xi_n v_n)}, \quad \text{где} \quad 0 \leqslant \xi_n \leqslant \min \left\{ \floor{\frac{W}{w_n}}, \floor{\frac{V}{v_n}} \right\}. \] Рассмотрим максимальную ценность при полной загрузке грузом первого типа: \[ \mathcal{F}_1(W, V) = c_1 \cdot \min \left\{ \floor{\frac{W}{w_1}}, \floor{\frac{V}{v_1}} \right\}. \] Таким образом, чтобы решить задачу, надо найти все $\mathcal{F}_k$ для $k = \overline{1, n}$.
Дано два прииска $A$ и $B$ с запасами золота $a$ и $b$ соответственно. При установке добывающего устройства на прииск $A$ добыча составит $xa$ в год, где $x \in (0,1)$. Аналогично с прииском $B$ — $yb$ в год, где $y \in (0,1)$.
Вероятность поломки устройства на прииске $A$ — $p$, а на прииске $B$ — $q$. Если устройство за год не сломалось, то снова решаем, куда его поместить на следующий год.
Математическое ожидание добычи золота в год
Введём в рассмотрение функцию Беллмана $F_n(a,b)$, означающую максимальное ожидаемое количество золота, которое может быть добыто за $n$ лет, если начальные запасы приисков равны $a$ и $b$ соответственно.
Рассмотрим случай $n=1$: максимальное количество добытого за год золота составит \[ \mathcal{F}_1 (a, b) = \max \left[ (1-p)ax, (1-q)by \right]. \]
Рассмотрим случай произвольного $n$: \[ \mathcal{F}_n(a,b) = \max \left\{ \begin{gathered} (1-p) ax + (1-p) \mathcal{F}_{n-1}(a - ax, b) \\ (1-q) by + (1-q) \mathcal{F}_{n-1}(a, b - by) \\ \end{gathered} \right\} \]
Рассмотрим марковский процесс принятия решения:
Для начального состояния $p_0$ выбираем управление $q_0$. Любой паре $(p_0, q_0)$ ставим в соответствие новое состояние $p_1$ при помощи преобразования $T: P \times Q \to P$:
Получаем последовательность состояний $\vec{p} = (p_0, \dots, p_n)$, которую называют траекторией процесса, а также последовательность управлений $\vec q = (q_1, \dots, q_n)$, которую называют программным управлением.
Предположим, что задана вещественная функция $H(\vec p, \vec q)$, характеризующая выигрыш (доход).
Так как $p_1, \dots, p_n$ определяются программным управлением, то \[ H(\vec p, \vec q) = K(p_0, \vec q). \] Поставим задачу о максимизации дохода, то есть \[ \max_{\vec q \in Q^n} K(p_0, \vec q). \] Нетрудно видеть, что максимальное значение зависит от начального состояния $p_0$, поэтому можно ввести функцию \[ V(p_0) = \max_{\vec q \in Q^n} K(p_0, \vec q). \] Если функция выигрыша имеет вид \[ K(p_0, \vec q) = \sum_{i=0}^{n-1} f(p_i, q_i) + g(p_n), \] то можно записать функцию Беллмана: \[ \begin{aligned} V_n(p_0) &= \max_{\vec q \in Q^n} K(p_0, \vec q) \\ &= \max_{\vec q \in Q^n} \paren{\sum_{i=0}^{n-1} f(p_i, q_i) + g(p_n)} \\ &= \max_{q_0 \in Q} \left[ f(p_0, q_0) + \underbrace{\max_{q_1 \in Q} \dots \max_{q_{n-1} \in Q} \paren{\sum_{i=0}^{n-1} f(p_i, q_i) + g(p_n)}}_{V_{n-1}(p_1)} \right] \\ &= \max_{q_0 \in Q} \left[ f(p_0, q_0) + V_{n-1}(p_1) \right] \\ &= \max_{q_0 \in Q} \left[ f(p_0, q_0) + V_{n-1}(T(p_0, q_0)) \right]. \end{aligned} \]
Рекурсивно решая уравнение Беллмана, получаем оптимальную траекторию $p^* = (p_0^*, \dots, p_n^*)$ и оптимальное управление $q^* = (q_0^*, \dots, q_{n-1}^*)$.
Пусть имеется некоторая конечная сеть $N$ из $m$ узлов, а $(x,y) \in N \times N$ — её ребро. Считаем, что сеть полная, то есть все рёбра возможны.
Обозначим за $t(x,y) \geqslant 0$ время перехода из узла $x$ в узел $y$, причём $t(x, x) = 0, x \in N$.
Задача заключается в том, чтобы перейти из начальной вершины $x_0 \in N$ в конечную $M \in N$ наискорейшим способом.
Введём в рассмотрение функцию Беллмана $T(x)$, означающую минимальное время перехода из точки $x$ в $M$.
Предположим, что первый шаг совершаем произвольно и переходим в точку $x_1$ за время $t(x, x_1)$, а дальнейшую последовательность рёбер строим оптимально. Тогда суммарное время составит $t(x, x_1) + T(x_1)$.
Функция Беллмана для данной задачи: \[ \begin{aligned} T(x_0) &= \min_{x_1 \in N} \left[ t(x_0, x_1) + T(x_1) \right] \\ T(M) &= 0. \end{aligned} \]
До сих пор не ясно, как искать $T(x_1)$. Для решения этой проблемы воспользуемся методом последовательных приближений:
Последовательность функций $T_0(x), \dots, T_k(x), \dots$ монотонно невозрастает, так как $t(x, y) \geqslant 0$, поэтому, по теореме Вейерштрасса, данная последовательность сходится за конечное число шагов к своему пределу, то есть \[ \exists n \in \mathbb{N}: \quad T_{n-1}(x) = T_n(x) = T_{n+1}(x) = \dots \]
Рассмотрим управляемую систему \[ \dv{x^i}{t} = f^i(x^1, \dots, x^n, u^1, \dots, u^r) = f^i(x, u), \quad i = \overline{1,n}, \] или, в векторной форме: \[ \pd{x}{t} = f(x, u). \] Считаем, что:
В любой сети $\Gamma$ существует максимальный поток $\overline f$ и минимальное сечение $(\overline S, \overline S')$m, и при этом \[ \overline f(s, N) = u(\overline S, \overline S'). \]
Построим множество $\overline S$ точек $x$, которые можно достичь из $s$ по пути, ненасыщенному относительно потока $\overline f$, и $\overline S' = N \setminus \overline S$.
Возможны два случая:$s' \in \overline S$, тогда существует ненасыщенный путь $\overline P(s, s')$ относительно потока $\overline f$.
Рассмотрим \[ \bar \delta = \min_{(x, y) \in \overline P} \left[ u(x,y) - f(x,y) \right] \gt 0. \] Построим функцию $f'(x,y)$ по следующему правилу: \[ f'(x,y) = \begin{cases} \overline f(x,y) + \bar \delta, & (x,y) \in \overline P, \\ \overline f(x,y) - \bar \delta, & (y,x) \in \overline P, \\ \overline f(x,y), & \text{в остальных случаях}. \end{cases} \]
Тогда переходим на новую итерацию при $f'(s, N) = \overline f(s,N) + \bar\delta \gt \overline f(s, N)$.
Если $D(x^*) = \varnothing$, то доказывать нечего.
От противного: пусть $x^*$ — оптимальное решение, но \[ \exists d \in D(x^*) \quad \dp{\nabla f(x)}{d} \gt 0. \] Тогда по предыдущей лемме следует, что \[ \exists d \gt 0 \quad f(x^* + \tau d) \gt f(x^*) \] и при этом $x^* + \tau d \in F$ для любого $\tau \in (0, \delta)$, что противоречит предположению о том, что $f(x^*)$ — оптимальное решение.От противного: пусть найдётся $d \in \mathbb{R}^n$ такой, что \[ d \in D(x), \quad \text{но} \quad d \not\in \widetilde{D}(x). \] Тогда $\exists i \in A(x)$ такой, что $\nabla g_i(x) d \geqslant 0$, значит, по первой теореме \[ g_i(x + \tau d) \lt \overbrace{g_i(x) = 0}^{\text{т.к. } i \in A(x)} \quad \forall \tau \in (0, \delta). \] Получается, что \[ \begin{cases} g_i(x + \tau d) \lt 0, \\ g_i(x) \geqslant 0, \end{cases} \] то есть, двигаясь по направлению $d$, мы выходим из множества допустимых решений, что противоречит тому, что $d \in D(x)$.
Пусть выполнено условие регулярности: \[ \overline D(x) = \widetilde D(x) \quad \forall x \in F. \]
Система \[ \begin{cases} qx \leqslant 0, \\ Ax \geqslant 0, \end{cases} \qquad q \in \mathbb{R}^n, \; A \in \mathbb{R}^{m \times n} \] разрешима тогда и только тогда, когда \[ \exists \vec l \in \mathbb{R}^m \geqslant 0: \quad q + lA = 0. \]
Если $x^*$ — оптимальное решение, то существует вектор $l = (\lambda_1, \dots, \lambda_m) \geqslant 0$ такой, что выполнены условия Куна-Таккера:
Если $x^*$ удовлетворяет необходимым условиям Куна-Таккера, а $f_i$ и $g_i$ — вогнутые на $F$, то $x^*$ — оптимальное решение ЗНЛП.
Таким образом, \[ F = \bigcap_{i=1}^m F_i \] также является выпуклым как пересечение выпуклых множеств.
Рассмотрим $x \in F$, тогда $d = x - x^* \in D(x^*)$ из-за выпуклости $F$. По условию $f$ вогнута, поэтому \[ \begin{aligned} f(\lambda x + (1 - \lambda) x^*) &\geqslant \lambda f(x) + (1 - \lambda) f(x^*) \\ f(x^* + \lambda (x - x^*)) &\geqslant f(x^*) + \lambda (f(x) - f(x^*)) \\ f(x^* + \lambda d) &\geqslant f(x^*) + \lambda (f(x) - f(x^*)) & \vert :\lambda \in (0; 1] \\ \frac{f(x^* + \lambda d) - f(x^*)}{\lambda} &\geqslant f(x) - f(x^*). \end{aligned} \] Устремим $\lambda \to +0$, получим \[ \nabla f(x^* + \lambda d) \geqslant f(x) - f(x^*). \] Из 2-го необходимого условия Куна-Таккера следует, что \[ 0 \geqslant - \sum_{i=1}^m \lambda_i \nabla g_i(x^*) \geqslant f(x) - f(x^*), \] значит, $f(x) \leqslant f(x^*)$, то есть $x^*$ — оптимальное решение.