Линейное программирование − 3 (27-е марта 2024)
- Двойственность
- Построение двойственных задач для Ax = b, x ≥ 0 | Ax ≤ b | Ax ≤ b, x ≥ 0
- Слабая и сильная теоремы двойственности
- Доказательство сильной теоремы двойственности: симплекс метод корректен и таскает за собой решения и прямой, и двойственной задач (откатываем решение с конца к началу)
- Упражнения
- Даны k n-мерных сфер. Найти ∀ точку пересечения.
- Даны k n-мерных конусов. Найти ∀ точку пересечения в предположении, что она ∃ и имеет координаты до 1020.
- Запишите двойственную в общем виде для задачи Ax ≥ b, x ≥ 0, ctx → max
- Запишите двойственную к x1 + x2 ≤ 2, 3x1 + x2 ≤ 5, x1 + 3x2 ≤ 5, 2x1 + 3x2 → max. Нарисуйте обе задачи.
- Если у задачи нет решений, или максимум не ограничен, что с двойственной задачей?
- Алгебра
- Унимодулярная матрица. Минор. Тотальная унимодулярность (TU).
- Ax = b, Ax ≤ b, целочисленность решений для TU матрицы A.
- Тотальная унимодулярность матрицы инцидентности двудольного графа.
- Что будет для недвудольных? Раздвоение недвудольного, полуцелое решение.
- Метод эллипсоидов (Хачиян'1972), полиномиальных в худшем способ, на практике бесполезен
- Задача: Ax ≤ b, ищем любое решение. Начальное данное, нам дан n-мерный эллипсоид, содержащий ответ
- Переход: или центр эллипсоида подходит, или есть неравенство-полупространство, которое не подходит, ответ по ту сторону плоскости от центра эллипсоида, осталось выбрать меньший по объёму эллипсоиод, содержащий нужную нам половину
- Математика эллипсоидов: положительно опеределённая матрица (пример и связь с x2/a2 + y2/b2 = 1)
- Меняем систему координат, что наш эллипсоид - сфера, а плоскость x1 = 0
- Новый центр = (1/(n+1), 0, 0, ...), новый радиус = (n/(n+1),d,d,d...), где d = n/(n2-1)1/2
- Сходимость: V0 ≤ (nU)Θ(n2), Vend ≥ V0 ≥ (nU)Θ(-n3), за один шаг объём уменьшается в exp(-1/2n) раз. Итого за 2n*ln(Vend/V0) алгоритм сойдётся, O(2n*(n3+n2)*log(nU)) = O(n4*log(nU)) шагов.
- Общее время работы: число шагов * nm * точность вычислений = O*(n4 * nm * n2)
- Обобщение: метод эллипсоидов можно применить для поиска пересечения любых выпуклых множеств. Мы пользовались тем, что за t умеем проверять, лежит ли точка в выпуклом множестве и за T строить опорную плоскость, получили решение за O(n4log(nU)) шагов, каждый за O(tm + T).
- [skipped] Метод внутренней точки (Interior Point)
- [skipped] Постановка задачи, оптимизируемая функция m*ln(c*x-betta) + sumi ln(ai*x-bi) (m − просто большой коэффициент, обозначающий важность данного условия)
- [skipped] Основной шаг метода внутренней точки: чуть увеличить барьер (betta += 1/20m0.5 * (c*x-betta)) и шаг метода Ньютона
- [skipped] Метод Ньютона: как минимизировать функцию?
- [skipped] Матричные игры
- [skipped] Детерминированные стратегии. Вероятностные стратегии.
- [skipped] Оптимальная вероятностная стратегия: mini(∑aijxj) → max
- [skipped] Записываем задачу через LP для первого и второго игроков. Проверяем, что задача второго двойственна задаче первого.
- [skipped] ♥ Теорема Нэша для матричных игр (сильная теорема двойственности для уже записанных задач LP)
- [skipped] Сведения разных форм LP, частные случаи LP (m уравнений, n неизвестных)
- [skipped] Ax = b, x ≥ 0 в Ax > 0 (Перцептрон) (спроецировали, если попали гуд, если нет, ищем положительный луч)
- [skipped] Ax ≥ b для случая m ≤ n (через двойственность)
- [skipped] Время работы Симплекса
- [skipped] Hirsch_conjecture
- [skipped] Kalai and Kleitman ’93 : nlog2m
- [skipped] Выпуклая оболочка в k-D
- [skipped] Задача близкая к LP: построение выпуклой оболочки в d-мерном пространстве
- [skipped] Пример, для d-мерного пространства: кубик, 2d граней, 2d вершин.
- [skipped] Что ищем? Пример, для d-мерного пространства: 2d вершин, 2d граней (индукция)
- [skipped] Сведение через линейное выражение новых точек
- [skipped] Сведение через Ax ≥ λ