Введение в математическую оптимизацию в Python

Изучение математической оптимизации в Python введение и основы

Основы науки о данных

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

Ученые-аналитики решают широкий спектр реальных проблем, используя данные и различные техники анализа данных. Математическая оптимизация, мощная техника, которую можно применять к широкому спектру проблем во многих областях, является важной частью инструментария ученых-аналитиков. В этой практической вводной статье мы познакомимся с тремя популярными библиотеками оптимизации в Python: OR-Tools от Google, DOcplex от IBM и PuLP от COIN-OR Foundation.

Фотография Ахилеша Шармы на Unsplash

📍 Обзор

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

  • Целевые функции: Показывают, насколько хорошим является решение и позволяют сравнивать решения. Оптимальное решение – это такое решение, которое максимизирует или минимизирует целевую функцию в зависимости от конкретной задачи. ▶ ️В некоторых случаях может быть несколько целевых функций. Это усложняет определение оптимального решения. ▶ ️В некоторых случаях может отсутствовать целевая функция. Такие задачи оптимизации называются задачами выполнимости.
  • Решения принятия решений: Представляют значение или значения, которые мы хотим найти, ответ, который мы ищем в количественной проблеме. Оптимизацию можно разделить на два вида в зависимости от типа решений принятия решений: ▶ ️Дискретная оптимизация: Решения принятия решений являются дискретными. Выделение расписания и поиск кратчайшего пути между двумя местами – это некоторые примеры дискретной оптимизации. Если вы хотите узнать больше о дискретной оптимизации, вас может заинтересовать этот курс и/или это руководство.▶ ️Непрерывная оптимизация: Решения принятия решений являются непрерывными. Возможно, вы уже слышали термин “оптимизация” в контексте машинного обучения. Машинное обучение – это одна из областей, где используется непрерывная оптимизация. Если вы хотите узнать больше о непрерывной оптимизации, вам может быть полезен этот учебник.
  • Ограничения: Определяют допустимый диапазон решений для переменных принятия решений. ▶ ️В некоторых задачах непрерывной оптимизации ограничений может не быть. Это называется безусловной оптимизацией.