Pull to refresh
22
Алексей Ложкинс@Lozkins

Специалист по математической оптимизации

31
Subscribers
Send message

Математическое программирование vs RL: может ли ИИ догнать классику в оптимизации?

Reading time17 min
Reach and readers4.9K

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

Проведем эксперимент на предмет того, есть ли у RL способности решать оптимизационные задачи. Для исследования возьмем не сложную практическую оптимизационную задачу и оценим как обучение с подкреплением справится.

Материал будет полезен как заядлым специалистам по мат.оптимизации, так и ml-инженерам или data scientist’ам. Рассматриваемая задача может быть интересна специалистам из области логистики/транспортных перевозок.

Читать далее

Планирование расписаний водителей: как математическая модель укрощает хаос перевозок

Level of difficultyEasy
Reading time12 min
Reach and readers5.9K

Что есть план, если ему не следуют? Системы планирования работы сотрудников представляют человека в виде последовательности операций: работа, обед, работа, сон. Иногда и того проще - оставляют без обеда. Такая саркастическая интерпретация жизни вызывает улыбку и наводит на грустные размышления. Но в этой статье мы не будем уделять внимание сентиментам, а сосредоточимся на бездушном повествовании об одной из таких систем, а точнее - о задаче планирования графиков работы водителей на круговых маршрутах.

Работа будет полезна специалистам в области логистики, транспортного планирования и оптимизации, а также исследователям в сфере математического моделирования транспортных задач.

Читать далее

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

Level of difficultyMedium
Reading time10 min
Reach and readers13K

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

Выпущено множество книг-рекомендаций про то, как писать "хороший" программный код: "Чистый код", "Совершенный код", "Программист-прагматик", "Чистая архитектура" и др. Такого рода литература задает некоторый стандарт качества и очертания "идеала".

Аналогичный свод рекомендаций существует и для разработчиков оптимизационных мат. моделей. В статье на примере задач целочисленного линейного программирования порассуждаем о хороших моделях. Рассмотрим различные нюансы математического моделирования и их влияние на скорость поиска решения задачи готовыми пакетами - солверами.

Читать далее

Разделяй и запускай: делим тестовый стенд между департаментами

Level of difficultyMedium
Reading time13 min
Reach and readers3.4K

Промышленное математическое программирование - тема раскрученная в академической среде для стандартизированных случаев, но детали реальных внедрений раскрываются редко и спустя много лет.

В настоящей статье делюсь опытом разработки и внедрения в процессы компании оптимизационного решения на базе математического программирования. Материал расширил исследовательскими элементами и локальным мини benchmark'ом.

Читать далее

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

Level of difficultyMedium
Reading time16 min
Reach and readers4.7K

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

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

Читать далее

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

Level of difficultyEasy
Reading time14 min
Reach and readers6.8K

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

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

Моделирование маршрута в виде задачи коммивояжера позволит построить маршрут по всем запланированным локациям без повторений с заданным критерием качества (время, стоимость). Рассмотрим несколько подходов к решению оптимизационной задачи (TSP) с использованием пакета ORTools.

Читать далее

Моделирование размещения хабов в pyomo

Level of difficultyMedium
Reading time11 min
Reach and readers2.9K

Транспортные, телекоммуникационные и компьютерные сети часто используют Hub-and-Spoke архитектуру для эффективной маршрутизации потоков между множеством отправителей и получателей. Особенность такой топологии заключается в использовании специального объекта сети - хаба. Хабом называется объект сети, который обеспечивает распределение, соединение, переключение, консолидацию, сортировку или перевалку в распределенных системах много-ко-многим. Кроме того, хабы позволяют соединить большой набор пар отправитель/получатель с использованием небольшого кол-ва соединений.

Задача размещения хабов (Hub Location Problem) относится к стратегическому уровню планирования сети. Это накладывает ограничения на возможность оперативной реализации и валидации решения. Одним из способов моделирования и анализа такого рода решений без рисков для текущей сети является математическое моделирование.

Читать далее

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

Level of difficultyMedium
Reading time7 min
Reach and readers7.9K

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

Читать далее

Робастная оптимизация: компромисс оптимальности и валидности решения

Level of difficultyMedium
Reading time9 min
Reach and readers2.2K

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

Рассуждение будет построено на основе классической задачи Диеты Стиглера, добавим немного неопределенности и рассмотрим, как с ней бороться. Обратим внимание на два противоборствующих фактора: затраты на диету и степень удовлетворенности ограничений при различных сценариях отдельно.

Читать далее

Прогулка по мостам Кёнигсберга с ORtools

Level of difficultyEasy
Reading time6 min
Reach and readers5.2K

На выходных впервые удалось выбраться в Калининград. Я уделил немало внимания исследованию уровня жизни и благополучия области, в основном, ориентируясь на стоимость покупки/аренды жилья, цены в ресторанах и заработок таксистов. Данные достаточно доступные и позволяют сформировать общее представление о положении дел в городе/области.

Помимо экономической составляющей, конечно, старался погрузиться в культурный/исторический аспект жизни города. За короткий промежуток времени достаточно сложно проникнуться всеми особенностями, однако в Калининграде я бы выделил верное следование ограничениям скорости! Благодаря этому, возникает ощущение безопасности, замедления времени и спокойствия.

История города богатая, и в этом мешке событий я нашел кое-что интересное для себя. Речь пойдет о задаче семи пешеходных мостов Кёнигсберга. В свое время Эйлер в процессе размышлений над решением этой задачи положил начало теории графов. В статье рассмотрим задачу с позиции задачи линейного программирования и подтвердим результаты трехсотлетней давности с помощью Python и OR-Tools.

Читать далее

Математическое моделирование в ORtools: задача планирования расписаний

Level of difficultyEasy
Reading time9 min
Reach and readers14K

Математическое моделирование, оптимизация, исследование операций, программирование в ограничениях … Продолжим двигаться в этом направлении.

Статья выполнена в рамках проекта “Make optimization simple”, который погружает в область бизнес задач с точки зрения математического моделирования и оптимизации. Посредством готовых библиотек демонстрируются примеры решения такого рода задач.

В этой статье разберем одну из таких постановок. На примере задачи планирования сменного графика сотрудников сети стоматологических клиник пройдем этапы: от формулирования бизнес ограничений до получения готового решения. Для моделирования и поиска решения будем использовать инструменты Python и библиотеку OR-Tools.

Читать далее

Математическая оптимизация и моделирование в PuLP: задача о назначениях

Level of difficultyEasy
Reading time11 min
Reach and readers16K

Приветствую! Я, Ложкинс Алексей, консультант и разработчик оптимизационных решений и математических моделей для бизнеса. Это первая в цикле работ обучающая статья, часть личного образовательного проекта "Make optimization simple". Цель проекта – продемонстрировать доступность технологий и показать на примерах, что моделировать можно без глубокого математического фундамента.

Из статьи вы узнаете об основных компонентах математической оптимизационной задачи на примере классической задачи о назначениях, в частности, распределение машин такси на заказы. Далее, я покажу, как реализовать программный прототип математической модели посредством Python и библиотеки PuLP, а также продемонстрирую, как получить оптимальное решение задачи всего в одной строке кода без реализации специальных алгоритмов.

Читать далее

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Аналитик по данным, Ученый по данным
Ведущий
Математическое моделирование
Оптимизация бизнес-процессов