Линейное программирование 3: поллекции (17 марта 2025)
- ♥️ Семинар: k-path от Кати Кравцовой
- Cutting planes (см. олимпиадную лекцию)
- Метод эллипсоидов (Хачиян'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).
- Двойственность
- Построение двойственных задач для Ax = b, x ≥ 0 | Ax ≤ b | Ax ≤ b, x ≥ 0
- Слабая и сильная теоремы двойственности
- Доказательство сильной теоремы двойственности: симплекс метод корректен и таскает за собой решения и прямой, и двойственной задач (откатываем решение с конца к началу)