Разбираем условия Каруша–Куна–Таккера. Решаем сложно простую задачу

Если Вы когда‑то учились в вузе на технической специальности или учитесь сейчас (иначе, зачем бы Вам эта статья), у Вас наверняка есть предмет, который назывался примерно так — «Методы оптимизации» / «Введение в оптимизацию» или что‑то похожее. Задачки там примерно такие: «завод производит продукцию типов, как бы произвести деталей первого типа,..., деталей k‑го и как можно дешевле». Потом рассказывалось про симплекс‑метод для задач линейного программирования и про метод Лагранжа для задач нелинейного. Про указанные выше условия где‑то упоминается, но без примеров, где‑то сразу абстрактные примеры с матрицами, а может быть Ваш препод и вовсе написал в своей методичке, мол, это выходит за рамки курса. В этой статье предлагаю аккуратно разжевать на простом примере, что такое условия ККТ. Что нам позволяют найти условия Каруша‑Куна‑Таккера (ККТ) Проверка условий ККТ позволяет решить условную задачу оптимизации, как линейную так и нелинейную, с ограничениями типа равенств и неравенств. Можно сказать, что ККТ это почти универсальный метод, позволяющий решить большинство «адекватных» задач.

https://habr.com/ru/articles/944628/

#линейное_программирование #нелинейное_программирование #методы_оптимизации #ккт

Разбираем условия Каруша–Куна–Таккера. Решаем сложно простую задачу

Если Вы когда-то учились в вузе на технической специальности или учитесь сейчас (иначе, зачем бы Вам эта статья), у Вас наверняка есть предмет, который назывался примерно так — «Методы оптимизации» /...

Хабр

Искусство создания эффективных математических моделей

За любой математической моделью стоит субъект-создатель, который имеет свое видение моделируемых процессов, свою креативность и виртуозность владения мат. аппаратом. Эти и другие источники субьективности формируют определенный почерк автора-разработчика. Но все ли модели хороши? Выпущено множество книг-рекомендаций про то, как писать "хороший" программный код: "Чистый код", "Совершенный код", "Программист-прагматик", "Чистая архитектура" и др. Такого рода литература задает некоторый стандарт качества и очертания "идеала". Аналогичный свод рекомендаций существует и для разработчиков оптимизационных мат. моделей. В статье на примере задач целочисленного линейного программирования порассуждаем о хороших моделях. Рассмотрим различные нюансы математического моделирования и их влияние на скорость поиска решения задачи готовыми пакетами - солверами.

https://habr.com/ru/articles/934632/

#математическое_моделирование #прикладная_математика #исследование_операций #математическая_оптимизация #бизнеспроцессы #линейное_программирование #целочисленное_программирование #задача_о_назначениях #производственное_планирования

Искусство создания эффективных математических моделей

За любой математической моделью стоит субъект-создатель, который имеет свое видение моделируемых процессов, свою креативность и виртуозность владения мат. аппаратом. Эти и другие источники...

Хабр

Кому нужна математика?

Недавно я прочёл книгу «Кому нужна математика?» Нелли Литвак и Андрея Райгородского — и она меня по-настоящему зацепила. Это короткие, живые рассказы о том, как математика помогает решать важные и неожиданные задачи: от составления расписаний до защиты интернет-трафика. В этом посте я перескажу три истории из книги, которые особенно меня удивили

https://habr.com/ru/articles/933332/

#математика #прикладная_математика #алгоритмы #научпоп #графы #линейное_программирование #криптография #диффихеллмана #оптимизация #книги

Кому нужна математика?

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

Хабр

Кому нужна математика?

Недавно я прочёл книгу «Кому нужна математика?» Нелли Литвак и Андрея Райгородского — и она меня по-настоящему зацепила. Это короткие, живые рассказы о том, как математика помогает решать важные и неожиданные задачи: от составления расписаний до защиты интернет-трафика. В этом посте я перескажу три истории из книги, которые особенно меня удивили

https://habr.com/ru/articles/933332/

#математика #прикладная_математика #алгоритмы #научпоп #графы #линейное_программирование #криптография #диффихеллмана #оптимизация #книги

Кому нужна математика?

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

Хабр

Как нам удалось в 100 раз ускорить решение оптимизационной задачи NBO в Альфа-Банке

В данной статье мы расскажем, как нам удалось найти решение задачи NBO на open source солвере CBC примерно в 100 раз и добиться повышения оптимального значения целевой функции на 0.5%.

https://habr.com/ru/companies/glowbyte/articles/838410/

#Математическая_оптимизация #исследование_операций #ускорение_солверов #cbc #pyomo #nbo #маркетинговая_оптимизация #линейное_программирование #машинное+обучение

Как нам удалось в 100 раз ускорить решение оптимизационной задачи NBO в Альфа-Банке

В данной статье мы, Advanced Analytics GlowByte , расскажем, как нам удалось ускорить решение задачи NBO на open source солвере CBC примерно в 100 раз и добиться повышения оптимального значения...

Хабр

Задача коммивояжёра в общем виде. Наибыстрейшее точное решение

Эта работа является заключением пятилетнего марафона по поиску самого быстрого способа нахождения минимального точного решения для задачи коммивояжёра в общем виде. Тут я хочу подытожить все опробованные подходы и выбрать лучший по моему мнению.

https://habr.com/ru/articles/839804/

#задача_коммивояжера #линейное_программирование

Задача коммивояжёра в общем виде. Наибыстрейшее точное решение

К величию есть только один путь, и этот путь проходит через страдания. - Альберт Эйнштейн Эта работа является заключением пятилетнего марафона по поиску самого быстрого способа нахождения минимального...

Хабр

Сбалансированный рацион питания

В сети существует много материалов из серии «ешьте то… не ешьте это… и будете здоровее». Проблема в том, что эти материалы часто противоречат друг другу, обрывочны и бессистемны. Поэтому мне стало интересно разобраться с тем, какие же всё-таки продукты включать в рацион, чтобы одновременно: • получать все требуемые элементы в минимально необходимых нормах, • не превышать безопасные нормы элементов, • оптимизировать меню относительно некоторого показателя, например цены, или относительной «вкусности», или др.

https://habr.com/ru/articles/834734/

#рацион_питания #линейное_программирование #витамины #правильное_питание #здоровое_питание

Сбалансированный рацион питания

В сети существует много материалов из серии «ешьте то… не ешьте это… и будете здоровее». Проблема в том, что эти материалы часто противоречат друг другу, обрывочны и бессистемны. Поэтому мне стало...

Хабр

Задача о сумме подмножеств

Задача о сумме подмножеств в общей формулировке звучит так: Существует множество S чисел, вопрос состоит в том, будет ли сумма некоторого подмножества от S равна заданному числу Т. Известно, что данная задача NP-полная. Мы будем решать эквивалентную задачу, где все числа являются натуральными. Частным случаем задачи о сумме подмножеств является задача разбиения множества чисел : Множество чисел S необходимо разбить на два подмножества S1 и S2, где сумма S1 равна сумме S2. (От задачи о сумме подмножеств текущая отличается только тем, что T = SUM(S1) / 2 = SUM(S2) / 2) Хочу предложить вам простой и элегантный способ относительно быстрого решения обеих задач методом целочисленного линейного программирования (ЦЛП). Мы получим не только точный ответ на вопрос, но и найдём искомое подмножество.

https://habr.com/ru/articles/806715/

#сумма_подмножеств #Subset_sum_problem #линейное_программирование #Pylp

Задача о сумме подмножеств

Задача о сумме подмножеств в общей формулировке звучит так: Существует множество S чисел. Вопрос состоит в том, будет ли сумма некоторого подмножества от S равна заданному числу Т. Известно, что...

Хабр

Алгоритм генерации столбцов (Column Generation)

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

https://habr.com/ru/articles/800527/

#column_generation #линейное_программирование #генерация_столбцов #математическая_оптимизация #задача_раскроя #задача_покрытия #ortools #задача_планирования_расписаний

Алгоритм генерации столбцов (Column Generation)

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

Хабр

Планируем путешествие — задача коммивояжера (TSP) для построения оптимального маршрута

С вами Алексей Ложкинс, эксперт по анализу данных и машинному обучению в ПГК Диджитал. Мы разрабатываем цифровые продукты для логистической отрасли, в первую очередь, для ж/д перевозок. В кулуарах московского офиса ПГК мы обсуждаем и нерабочие темы. Топовую строчку в темах неформального общения занимает отпуск. Мы решили рассмотреть задачу планирования отпуска, как задачу оптимизации маршрута по выбранным достопримечательностям. Для этого воспользовались классической постановкой задачи коммивояжера. Моделирование маршрута в виде задачи коммивояжера позволит построить маршрут по всем запланированным локациям без повторений с заданным критерием качества (время, стоимость). Рассмотрим несколько подходов к решению оптимизационной задачи (TSP) с использованием пакета ORTools.

https://habr.com/ru/companies/pgk/articles/778782/

#задача_коммивояжера #ortools #целочисленное_программирование #tsp #линейное_программирование #точное_решение

Планируем путешествие — задача коммивояжера (TSP) для построения оптимального маршрута

С вами Алексей Ложкинс, эксперт по анализу данных и машинному обучению в ПГК Диджитал. Мы разрабатываем цифровые продукты для логистической отрасли, в первую очередь, для ж/д перевозок. В кулуарах...

Хабр