Архив рубрики ~Лента новостей~

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

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

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

Делиться

NOVOSTI

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

Общая задача оптимизации с ограничениями состоит в выборе 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

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Новости робототехники Благодаря новому финансированию монументальный план привезти своих строительных роботов в США. Новости робототехники Телеуправляемый андроид Unitree G1 прооперировал свиней. Им лапароскопически удалили желчный пузырь Новости робототехники Weave Robotics запускает Айзека, своего первого представителя робота-гуманоида Новости робототехники Страх перед человекоподобными роботами подтолкнул рабочих к забастовке на автомобильном заводе Hyundai. Новости робототехники Основатель Максимо рассказывает, как робототехника строит строительство солнечной энергетики. Архив рубрики ~Обо всем~ Астрономы нашли кандидата в самый далекий галактический бар. Он существовал спустя почти 1,2 миллиарда лет после Большого Взрыва Новости робототехники По заключению Национального совета по безопасности на транспорте (NTSB), водитель Tesla, который объяснил аварию тем, что автопилот нажал на педаль газа на 100%. Новости робототехники Mondo Robotics представляет собой Beni, вездеходного робота с электрической розеткой и искусственным интеллектом для потребителей. Архив рубрики ~Обо всем~ «Парачастицы» могут стать представителями третьего царства квантовых частиц Архив рубрики ~Коротко из Telegram~ Нейросеть обучили подсчету и оценке качества семян Архив рубрики ~Коротко из Telegram~ «Комендантский час» на соцсети для подростков 16-17 лет хотят ввести… Архив рубрики ~Коротко из Telegram~ В Южной Корее создадут бесплатного ИИ-бота для всех граждан. Архив рубрики ~Коротко из Telegram~ В США 73% технических вакансий требуют навыков работы с ИИ,… Архив рубрики ~Обо всем~ Компания SpaceX внезапно прервала второй запуск Starship V3 после запуска двигателя. Новости робототехники Благодаря новому финансированию монументальный план привезти своих строительных роботов в США. Новости робототехники Телеуправляемый андроид Unitree G1 прооперировал свиней. Им лапароскопически удалили желчный пузырь Новости робототехники Weave Robotics запускает Айзека, своего первого представителя робота-гуманоида Новости робототехники Страх перед человекоподобными роботами подтолкнул рабочих к забастовке на автомобильном заводе Hyundai. Новости робототехники Основатель Максимо рассказывает, как робототехника строит строительство солнечной энергетики. Архив рубрики ~Обо всем~ Астрономы нашли кандидата в самый далекий галактический бар. Он существовал спустя почти 1,2 миллиарда лет после Большого Взрыва Новости робототехники По заключению Национального совета по безопасности на транспорте (NTSB), водитель Tesla, который объяснил аварию тем, что автопилот нажал на педаль газа на 100%. Новости робототехники Mondo Robotics представляет собой Beni, вездеходного робота с электрической розеткой и искусственным интеллектом для потребителей. Архив рубрики ~Обо всем~ «Парачастицы» могут стать представителями третьего царства квантовых частиц Архив рубрики ~Коротко из Telegram~ Нейросеть обучили подсчету и оценке качества семян Архив рубрики ~Коротко из Telegram~ «Комендантский час» на соцсети для подростков 16-17 лет хотят ввести… Архив рубрики ~Коротко из Telegram~ В Южной Корее создадут бесплатного ИИ-бота для всех граждан. Архив рубрики ~Коротко из Telegram~ В США 73% технических вакансий требуют навыков работы с ИИ,… Архив рубрики ~Обо всем~ Компания SpaceX внезапно прервала второй запуск Starship V3 после запуска двигателя.

Оставить комментарий