# Инженерная оптимизация: как математика помогает выбирать между безопасностью и скоростью

Источник: https://www.youtube.com/watch?v=O7lQEjDYrOQ
Канал: Stanford Online
Опубликовано: 03.07.2025

---

В инженерном проектировании редко приходится оптимизировать лишь один параметр: чаще всего конструктор разрывается между стоимостью, надежностью, весом и производительностью. В рамках курса AA222 в Стэнфордском университете Сидни (Sydney), постдок лаборатории SISL (Stanford Intelligent Systems Laboratory), представила глубокий обзор методов многокритериальной оптимизации, объяснив, как математика помогает находить баланс в условиях неминуемых компромиссов.

## ⚖️ От одного к многим: суть многокритериальной оптимизации
[[JUMP:0:04]]

До этого момента в курсе рассматривались задачи с одной целевой функцией, где на выходе всегда получалось одно число [0:31]. В многокритериальной оптимизации (Multiobjective Optimization) ситуация меняется: теперь целевая функция возвращает вектор значений, каждое из которых представляет отдельную цель [0:48].

В качестве живого примера Сидни приводит жизнь аспиранта (PhD student), который одновременно пытается оптимизировать сразу несколько показателей [1:27]:

*   Проведение крутых исследований;
*   Написание статей;
*   Поддержание личного счастья;
*   Удовлетворенность научного руководителя;
*   Завершение учебы в разумные сроки.

По словам Сидни, некоторые цели могут быть согласованы — например, профессор Майкл Кочендерфер часто говорит, что счастье студента напрямую связано со счастьем руководителя [2:20]. Однако большинство целей конфликтуют: чем больше времени тратится на «крутые исследования», тем меньше шансов защититься вовремя. Это создает необходимость в поиске компромиссов (trade-offs) [3:15].

## 🏆 Парето-оптимальность и концепция доминирования
[[JUMP:03:15]]

Ключевым понятием в этой области является Парето-оптимальность. Проект считается оптимальным по Парето, если невозможно улучшить один показатель, не ухудшив при этом другой [3:31]. Совокупность всех таких точек образует «фронт Парето» (Pareto frontier) [4:54].

Для наглядности Сидни вводит понятие доминирования:

*   Дизайн A доминирует над дизайном B, если он не хуже по всем параметрам и хотя бы по одному параметру строго лучше [5:34].
*   В шуточном примере с языками программирования (читаемость против производительности) Сидни утверждает, что Julia доминирует над Python [5:47].

В классической оптимизации целью является поиск минимума, но в многокритериальной задаче целью становится генерация всего фронта Парето, чтобы проектировщик мог видеть весь спектр доступных компромиссов [7:30].

## 🛠️ Математические методы построения фронта
[[JUMP:10:12]]

Сидни подробно разобрала несколько классических подходов к решению таких задач:

**1. Метод ограничений (Constraint Method)** [10:26]
Одну цель оставляют в качестве основной для оптимизации, а остальные превращают в жесткие ограничения (например, «параметр $f_2$ должен быть не больше значения $C_2$»). Изменяя (сканируя) значение $C_2$, можно получить различные точки на фронте Парето [11:48].

**2. Лексикографический метод (Lexicographic Method)** [12:22]
Цели ранжируются по важности. Сначала оптимизируется самая важная цель. Затем вторая цель оптимизируется с условием, что первая не станет хуже полученного результата [13:15]. По мнению Сидни, этот метод часто дает только крайние точки фронта и не всегда эффективен для поиска промежуточных решений [14:36].

**3. Метод взвешенной суммы (Weighted Sum Method)** [15:44]
Это самый интуитивный подход: каждой цели присваивается вес, и они суммируются в единую функцию.

*   **Плюс:** Простота реализации.
*   **Минус:** Метод не способен находить точки в вогнутых (невыпуклых) частях фронта Парето [19:07]. Если фронт имеет сложную форму, взвешенная сумма просто «перепрыгнет» через целые сегменты возможных решений.

**4. Целевое программирование (Goal Programming)** [19:55]
Вместо весов задается «точка утопии» — идеальный, но недостижимый результат (например, нулевая вероятность столкновения самолетов при нулевом количестве предупреждений) [20:10]. Задача сводится к минимизации расстояния (нормы $L_1$, $L_2$ или $L_\infty$) от текущего дизайна до этой идеальной точки [20:36].

## 🧬 Популяционные методы и ранжирование
[[JUMP:27:17]]

Для сложных задач применяются эволюционные алгоритмы. Один из примеров — векторный генетический алгоритм (VEGA), где разные подпопуляции оптимизируются под разные цели, а затем скрещиваются [27:29].

Особый интерес представляет метод неблокируемого ранжирования (nondomination ranking) [28:39]:

1.  Из всей массы решений выделяются те, что лежат на текущем фронте Парето (Ранг 1).
2.  Они временно удаляются, и процедура повторяется для оставшихся точек (Ранг 2) [29:17].
3.  Это позволяет оценить, насколько далеко конкретное решение находится от идеального фронта.

Сидни также упомянула техники «нишевания» (niche techniques), которые предотвращают скучивание решений в одной области и обеспечивают равномерное распределение точек вдоль всего фронта Парето [30:25].

## 🍬 Извлечение предпочтений: эксперимент с конфетами
[[JUMP:30:54]]

Даже имея перед глазами фронт Парето, инженер должен выбрать одну конкретную точку для реализации. Но как выбрать веса, если заказчик (например, Федеральное управление гражданской авиации США — FAA) не знает точных математических коэффициентов? [31:33]

Для этого используется «извлечение предпочтений» (preference elicitation) через парные сравнения [31:47]. Сидни провела демонстрацию на примере выбора наборов конфет (M&M's, Sour Patch Kids и Skittles):

*   Волонтеру Элли предлагались два разных набора конфет (например, 1 M&M, 3 кислых мармеладки, 6 Skittles против другого варианта) [33:09].
*   Каждый выбор Элли формировал линейное неравенство в пространстве весов [34:49].
*   После четырех вопросов пространство возможных весов значительно сузилось, что позволило предсказать выбор Элли в новом, контрольном тесте [38:31].

Этот метод лежит в основе современных технологий, таких как RLHF (Reinforcement Learning from Human Feedback), используемых для настройки больших языковых моделей [40:43]. Сидни подчеркнула, что в реальности исследователи учитывают возможную иррациональность людей, используя вероятностные распределения вместо жестких неравенств [40:30].