Что такое линейное программирование в науке о данных: обзор
Опубликовано: 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. Нужно ли выполнять линейное программирование вручную?
Нет, существуют различные инструменты — как с открытым исходным кодом, так и другие, — которые могут помочь вам выполнять линейное программирование.