Что такое линейное программирование в науке о данных: обзор

Опубликовано: 2022-09-21

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

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

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

Ознакомьтесь с нашими сертификатами по науке о данных, чтобы повысить свою квалификацию.

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

В этой статье давайте рассмотрим, что такое линейное программирование, различные методы линейного программирования и пример задачи линейного программирования!

Оглавление

Ознакомьтесь с нашими популярными степенями по науке о данных

Высшая программа высшего образования в области науки о данных от IIITB Программа профессиональных сертификатов в области науки о данных для принятия бизнес-решений Магистр наук в области науки о данных Университета Аризоны
Расширенная сертификационная программа в области науки о данных от IIITB Профессиональная сертификационная программа в области науки о данных и бизнес-аналитики Университета Мэриленда. Степени науки о данных

Линейное программирование в прогнозной аналитике

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

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

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

Основные базовые навыки работы с данными, которые необходимо освоить в 2022 году

Сл. Нет Лучшие навыки работы с данными в 2022 году
1 Сертификаты анализа данных Сертификаты по логической статистике
2 Сертификаты проверки гипотез Сертификаты логистической регрессии
3 Сертификаты линейной регрессии Сертификаты линейной алгебры для анализа

Решение линейного программирования

Мы можем выполнить следующие четыре шага, чтобы успешно решить задачу линейного программирования:

  • Определение переменных решения
  • Разработка целевой функции
  • Указание ограничений
  • Установление ограничений неотрицательности

Мы углубимся в эти шаги позже, когда рассмотрим решенный пример линейного программирования. Но перед этим давайте рассмотрим различные способы решения проблемы линейного программирования. В общем, есть четыре подхода на выбор:

  • Графический метод: Графический метод — это самый простой метод, используемый для решения задачи линейного программирования с двумя переменными. Он в основном используется, когда необходимо учитывать только две переменные решения. Графический метод заключается в формировании набора линейных неравенств и подчинении их соответствующим условиям или ограничениям. Затем уравнения наносятся на плоскость XY, а область пересечения, образованная путем построения всех линейных уравнений, является допустимой площадью. В этой области указаны значения модели и оптимальное решение.
  • Симплексный метод: это мощный метод решения задач линейного программирования, который следует итеративной процедуре для достижения оптимального решения. В этом подходе основные переменные изменяются до тех пор, пока не будет достигнуто максимальное или минимальное значение (в зависимости от требований) для исходной целевой функции.
  • Северо-западный угол и метод наименьших затрат: это особые типы методов, которые в основном используются для решения транспортных задач, чтобы определить наилучший способ транспортировки продуктов или товаров. В результате это удобный метод оптимизации спроса и предложения. Предположение для этого метода состоит в том, что существует только один продукт. Однако спрос на этот продукт исходит из различных источников, которые в совокупности составляют общее предложение. Поэтому этот метод направлен на минимизацию транспортных расходов.
  • Решение с использованием R: R — один из наиболее широко используемых инструментов для науки о данных и анализа данных. R позволяет очень легко выполнить оптимизацию всего несколькими строками кода с помощью пакета IpSolve.
  • Решение с использованием инструментов с открытым исходным кодом: последний метод использует один из многих инструментов с открытым исходным кодом, доступных для задач оптимизации. Одним из примеров инструмента с открытым исходным кодом является OpenSolve, линейный оптимизатор для Excel, который без проблем работает со 100 переменными. Кроме того, CPLEX, MATLAB, Gurobi и другие полезные инструменты с открытым исходным кодом.

Читайте наши популярные статьи о науке о данных

Карьерный путь в науке о данных: подробное руководство по карьере Карьерный рост в науке о данных: будущее работы уже здесь Почему наука о данных важна? 8 способов, которыми наука о данных приносит пользу бизнесу
Актуальность науки о данных для менеджеров Окончательная шпаргалка по науке о данных, которую должен иметь каждый специалист по данным 6 главных причин, почему вы должны стать специалистом по данным
Один день из жизни Data Scientist: что они делают? Развенчан миф: Data Science не нуждается в кодировании Бизнес-аналитика и наука о данных: в чем разница?

Пример графического решения линейного программирования

Во время ежегодных праздничных сезонов компания учитывает два фактора — X и Y — для создания пользовательского пакета. Вес всего пакета должен быть 5 кг – Y должно быть не более 4 кг, а X – не менее 2 кг. X и Y вносят свой вклад в общую прибыль следующим образом – рупий. 5/кг для X и 6/кг для Y.

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

1. Работа с нашей основной функцией

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

  • Пусть кг X
  • Пусть b кг Y
  • Тогда наша целевая функция становится -> c = 5*a + 6*b, и нам нужно максимизировать c.

У нас есть a, b в качестве переменных решения, а c — наша требуемая функция.

2. Разработка ограничений из проблемы

В задаче заданы следующие ограничения:

  • Вес подарочной упаковки должен быть 5 кг => a + b = 5
  • Менее 4 кг Y и не менее 2 кг X => x>=2; у<=4

3. Неотрицательные ограничения

Величины для X и Y должны быть положительными => a, b> 0

Теперь давайте быстро суммируем всю проблему в том виде, в каком мы ее изложили до сих пор:

Нам нужно оптимизировать c = 5a+6b при следующих двух условиях:

  • а+б=5
  • а>=2
  • б<=4

Мы используем графический метод для решения этой задачи, поэтому давайте рассмотрим двухмерный график с осью XY и попробуем построить уравнения и неравенства. С собой у нас будут следующие вещи:

  • a + b = 5 — прямая линия, пересекающая ось x в точке (5,0) и ось y в точке (0,5). Поскольку в нашем выражении стоит знак равенства, мы уверены, что наша допустимая область лежит в области пересечения этих прямых.
  • a >= 2 — прямая линия, пересекающая ось x как (2,0). Поскольку наше выражение имеет ограничение «больше чем», наша допустимая область попадает в правую часть нашей линии.
  • b <= 4 — прямая линия, пересекающая ось y в точке (0,4). Поскольку у нас есть меньшее ограничение, наша допустимая область — это область под линией.
  • Наконец, поскольку a и b являются положительными значениями, нас интересует первый квадрант.

Если вы нанесли эти линии и ограничения на лист графика, вы получите конечную область, удовлетворяющую всем требуемым условиям. Две точки, лежащие на крайних точках этой линии, являются возможными соображениями для максимизации прибыли. Это точки (2,3) и (5,0). Чтобы выяснить, какой из этих двух способов дает большую прибыль, мы можем просто поместить точки в нашу целевую функцию и посмотреть, какой из них дает наилучший результат:

  • с = 5а + 6б ⬄ с = (5*2) +(6*3) = 28
  • c = 5a + 6b ⬄ z = (5*5) +(6*0) = 25

Как видите, мы получаем более высокое значение прибыли для варианта А. Итак, наше решение, дающее наибольшую прибыль, выглядит следующим образом => 2 кг фактора X и 3 кг фактора Y!

В заключение

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

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

В upGrad мы направляем студентов со всего мира с разным опытом и помогаем им развить соответствующие теоретические знания и практический опыт, необходимые для достижения успеха в науке о данных. Ознакомьтесь с нашей программой Executive Post Graduate Program в области науки о данных , чтобы получить дополнительную информацию о структуре нашего курса, программе и преимуществах upGrad!

1. Связано ли линейное программирование с компьютерным программированием?

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

2. Когда больше всего нужно линейное программирование?

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

3. Нужно ли выполнять линейное программирование вручную?

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