Линейное программирование, часть 3 (20 октября 2016)
- Формы
- Каноническая: Ax ≤ b
- Стандартная: Ax = b, x ≥ 0 (базисная стандартная: строки линейно независимы)
- Два сведения
- Вершины
- Вершина: геометрия (любая форма). Нет окрестности.
- Вершина: алгебра (стандартная форма). Столбцы положительных xi линейно независимы (иначе можно шевелить x: ∃ dx)
- Базисное решение: |B|=n, столбцы линейно независимы
- Существует оптимальное решение-вершина. Симплекс находит именно вершину.
- Симплекс метод для задач Ax ≤ b, x ≥ 0, cTx → max
- Ax + z = b, z − базисный план, z ≥ 0 (переменная не жёсткости)
- Поиск начального решения: Ax - (t,t,...,t) + z ≤ b, t → 0 (+1 переменная). Случай не разрешимости.
- Инвариант: сTx не зависит от z, x = 0, z = b ≥ 0.
- Пересчёт базисного плана, выбор ci > 0, случай не ограниченности решения.
- Выражение xi и zj друг через друга, пересчёт A, b, c подстановкой. Операции с матрицей A.
- Откуда можно зациклиться? Правило Блэнда.
- Сложность симплекса
- Существование теста
- Randomized
- Диаметр, гипотеза Гирша
- В среднем по тестам полиномиальный
− Перерыв −
- Двойственность
- Двойственная к стандартной, к канонической формам.
- Слабая двойственность. Доказательство.
- Сильная двойственность, способы доказательства: через Симплекс, через лемму Фаракша.
- Сложность: LP ∈ NP ∩ coNP (следует из леммы Фаракша).
- Метод внутренней точки, primal-dual solution
- Искать параллельно оба решения, минимизировать разность
- Записываем разность, как xT*s > 0 (прямая Ax = b, двойственная ATy + s = c)
- Избавляемся от неравенств: F = q ln(xTs) + ∑ ln(xjsj) ≥ n ln n (выбираем q = n + n1/2)
- Когда F станет меньше -2n1/2L, алгоритм сошёлся. Уменьшение функционала: аффинное преобразование системы координат, сместиться на градиент.
- Паросчетания
- Полиэдр, политоп, целочисленность.
- Целочисленность, симплекс находит вершину ⇒ симплекс решает ILP.
- Политоп задаётся набором вершин (выпуклая оболочка вершин)
- Тотальная унимодулярность, целочисленность полиэдра.
- Перебор базисных решений (вершин), восстановления значения по множеству столбцов B: обратная матрица, det A в знаменателе.
- Политоп паросочетания для двудольного графа. Доказательство TU.
- Пример следствия: в регулярном двудольном графе есть совершенное паросочетания
- Другой пример: mincost circulation
- Политоп паросочетания произвольного графа. Пример с треугольником. Добавление нечётных компонент.