Белая лестница с плавным изгибом и перилами в современном архитектурном пространстве.

Краткое введение в нелинейную оптимизацию с ограничениями и кусочно-линейными приближениями

Кусочно-линейные аппроксимации — это практичный способ обработки нелинейных моделей с ограничениями, использующих решатели LP/MIP, такие как Gurobi.

Делиться

841e43f824bbbddaf59198c659f761d4

В задаче оптимизации с ограничениями цель состоит в том, чтобы найти наилучшее (максимальное или минимальное) значение целевой функции путем выбора вещественных переменных, удовлетворяющих набору равенств и неравенств.

Общая задача оптимизации с ограничениями состоит в выборе nn действительных переменных решения x0, x1, …, xn−1x_0, x_1,dots,x_{n-1} из заданной допустимой области таким образом, чтобы оптимизировать (минимизировать или максимизировать) заданную целевую функцию.

[f(x_0,x_1,dots,x_{n-1}).]

Обычно мы обозначаем xx вектором из nn действительных переменных решения x0, x1, …, xn−1.x_0, x_1, …, x_{n-1}. То есть, x=(x0, x1, …, xn−1)x=(x_0, x_1, …, x_{n-1}), и записываем общую нелинейную программу следующим образом:

[begin{aligned}text{ Максимизировать }&f(x)\text{ При условии }&g_i(x)leq b_i&&qquad(i=0,1,dots,m-1)\&xinmathbb{R}^nend{aligned}]

где каждая из функций ограничения g0g_0 до gm−1g_{m-1} задана, а каждый bib_i является константой (Брэдли и др., 1977).

Это лишь один из возможных способов сформулировать задачу. Минимизация f(x)f(x) эквивалентна максимизации −f(x)⋅-f(x). Аналогично, равенство h(x)=bh(x)=b можно выразить как пару неравенств h(x)≤bh(x)leq b и −h(x)≤−b⋅-h(x)leq-b. Более того, добавив дополнительную переменную, любое неравенство можно преобразовать в равенство (Bradley et al., 1977).

Подобные проблемы встречаются во многих областях применения, например, в бизнесе, где компания стремится максимизировать прибыль или минимизировать затраты, работая в условиях ограниченных ресурсов или финансирования (Черри, 2016).

Если f(x) — линейная функция, а ограничения — линейные, то задача называется задачей линейного программирования (ЛП) (Черри, 2016).

«Задача называется задачей нелинейного программирования (НЛП), если целевая функция нелинейна и/или допустимая область определяется нелинейными ограничениями» (Брэдли и др., 1977, с. 410).

Допущения и приближения, используемые в линейном программировании, иногда позволяют получить подходящую модель для интересующих диапазонов переменных решения. Однако в других случаях нелинейное поведение целевой функции и/или ограничений имеет важное значение для точной формулировки приложения в виде математической программы (Брэдли и др., 1977).

Нелинейное программирование относится к методам решения задач нелинейного программирования. Хотя существует множество зрелых программ для решения задач линейного программирования, задачи нелинейного программирования, особенно те, которые включают нелинейности более высокого порядка, как правило, сложнее решить (Cherry, 2016).

Сложные задачи нелинейного программирования возникают в таких областях, как проектирование электронных схем, оптимизация финансового портфеля, оптимизация газовых сетей и проектирование химических процессов (Черри, 2016).

Один из способов решения задач нелинейного программирования — линеаризация и использование решателя линейного программирования для получения хорошего приближения. Это желательно по нескольким причинам. Например, линейные модели обычно решаются быстрее и могут быть более численно устойчивыми.

Чтобы перейти от теории к работающей модели на Python, мы рассмотрим следующие разделы:

  • Разделяемые функции
  • Пример
  • Комплекты типа 2, изготавливаемые по специальному заказу.
  • О выпуклых и вогнутых функциях
  • Реализация на Python
  • Дополнительная литература
  • Заключение
  • Ссылки

Данный текст предполагает некоторое знакомство с математическим программированием. После определения разделяемых функций мы приводим пример разделяемой нелинейной максимизации и описываем подход, основанный на кусочно-линейных (PWL) аппроксимациях нелинейной целевой функции.

Далее мы определяем специальные упорядоченные множества типа 2 и объясняем, как они подтверждают численную формулировку.

Далее мы представим теоретические основы, изложенные в работе «О выпуклых и вогнутых функциях», а также инструменты, используемые на протяжении всей оставшейся части этой работы по нелинейному программированию (НЛП).

В заключение мы представляем процедуру реализации на Python, которая использует аппроксимации нелинейной целевой функции с помощью Gurobipy и PWL, что позволяет решателям задач линейного программирования/целочисленного линейного программирования получать полезные аппроксимации для достаточно больших задач нелинейного программирования.

Источник: towardsdatascience.com

✅ Найденные теги: Краткое, Кусочно-Линейные Приближения, Нелинейная Оптимизация, новости, Ограничения

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Интерфейс управления командой агентов для исследования тем Reddit, веба и Twitter.
Карта Эквадора на фоне Земли, проигрывается Radio Complice FM.
Программное окно Dangerzone, выбор и сохранение безопасных PDF-документов.
ideipro logotyp
Интерфейс Sentry с описанием ошибок и деталями инцидента для macOS.
Карта Германии с маршрутом, указателями и видом на сельскую местность рядом с Штраленом.
Веб-дизайн с графиками и изображениями: апельсины, диаграммы, кот с бокалом.
ideipro logotyp
ideipro logotyp
Image Not Found
ideipro logotyp

В Южной Корее разработали лёгкую роборуку с человеческой ловкостью

Современные роботы обладают уже достаточно высоким уровнем интеллекта, засчёт ИИ или машинного обучения. Однако их руки по-прежнему ограничены в выполнении повседневных задач. Южнокорейская компания Tesollo стремится решить эту проблему как для дроидов так и для людей с…

Апр 2, 2026
Процессор AMD Ryzen 5 8400F, крупный план, марка, серийный номер, маркировка Made in Malaysia.

Покупатель подержанного стокового кулера AMD получил в подарок Ryzen 5 8400F

Просторы ресурса Reddit, судя по всему, бесконечны, ведь что ни день, то получается найти на них интересные моменты, так или иначе связанные с компьютерными комплектующими. Например, в одном из прошлых материалов рассказывалось о покупке комплекта оперативной памяти…

Апр 1, 2026
Процессор AMD Ryzen 5 8400F в руке, видна маркировка и детали корпуса.

Подержанный стоковый кулер для платформы AMD AM4: удивительная подарковая история

Просторы ресурса Reddit, судя по всему, бесконечны, ведь что ни день, то получается найти на них интересные моменты, так или иначе связанные с компьютерными комплектующими. Например, в одном из прошлых материалов рассказывалось о покупке комплекта оперативной памяти…

Апр 1, 2026
Печатная плата с сенсором, тепловизор, график люминесценции материалов.

Светящиеся наночастицы помогут определять температуру работающих микрочипов

Реализация метода люминесцентной термометрии в микроэлектронике © Ilya E. Kolesnikov et al / Applied Materials Today, 2026 Ученые разработали бесконтактный способ измерения температуры микроэлектронных устройств, основанный на способности «термометра» менять свое свечение при нагреве. Авторы использовали наночастицы,…

Апр 1, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых