Для простоты предположим, что мы перемещаем и масштабируем систему координат так, что центр находится в (0, ..., 0), а радиус равен 1. Пусть u будет конечной точкой сегмента (так что ‖ u ‖² = 1) и пусть угол в радианах равен θ. Синий сектор - это все точки v такие, что ‖ v ‖² ≤ 1 и u · v ≥ ‖ < strong> u ‖ ‖ v ‖ cos θ = ‖ v ‖ cos θ. Чтобы найти выровненную по оси ограничивающую рамку в измерениях d, нам нужно найти 2 d вектора v, которые минимизируют / максимизируют каждую отдельную координату, т. е. задан вектор e, такой что либо + e, либо - e принадлежит осевому базису (например, e strong > = (0, −1, 0, ..., 0)) мы хотим максимизировать e · v с учетом ограничений на v strong >.
maximize e·v
subject to
‖v‖² ≤ 1
u·v ≥ ‖v‖ cos θ
Сначала заметим, что без ограничения общности v ‖ = 0 или ‖ v ‖ = 1, так как цель линейна, а другие точки лежат на выпуклой комбинации эти. Остановимся на последнем случае.
maximize e·v
subject to
‖v‖² = 1
u·v ≥ cos θ
Во-вторых, существует оптимальное решение, которое находится в пространстве, ограниченном e и u. При любом оптимальном решении мы можем взять ортогональную проекцию в это пространство, не увеличивая ее норму или не изменяя скалярное произведение с помощью e или u, поэтому проекция также возможна и оптимальна. .
Поэтому мы перепишем задачу в терминах коэффициентов α и β, положив v = α e + β u.
maximize e·(αe + βu)
subject to
‖αe + βu‖² = 1
u·(αe + βu) ≥ cos θ
Давайте расширим продукты и воспользуемся тем фактом, что ‖ e ‖² = ‖ u ‖² = 1.
maximize α + β(e·u)
subject to
α² + 2αβ(e·u) + β² = 1
α(e·u) + β ≥ cos θ
Теперь у нас есть анализ случая. Игнорируя линейное ограничение, цель не больше 1, следовательно, решение α = 1 и β = 0 (т.е. v = e) является оптимальным. Это решение возможно, только если e · u ≥ cos θ.
Если это решение невозможно, линейное ограничение должно быть жестким: α (e · u) + β = cos θ или β = cos θ - α ( e · u). Затем мы можем выполнить замену, решить полученное квадратное уравнение и выбрать решение, которое имеет более высокий балл (если они оба не имеют отрицательных результатов, и в этом случае оценка равна 0).
person
David Eisenstat
schedule
05.11.2020