Линейное программирование
- Линейное программирование
- Раздел прикладной математики, занимающийся нахождением оптимиумов линейных функций при линейных ограничениях.
Частными случаями линейного программирования является ЦелочисленноеПрограммирование? и дробно-линейное программирование.
В данной статье все вектора по умолчанию являются векторами-строками. Внимательно следите за размерностями матриц и векторов по ходу объяснения.
Содержание
Общая постановка задачи линейного программирования
Предположим, что у нас есть линейная функция
где — вектор коэффициентов, — вектор переменных.
Эту линейную функцию будем называть целевой функцией или функцией цели.
Задача линейного программирования (ЗЛП) заключается в нахождении такого вектора при котором целевая функция примет своё наименьшее значение.
Формальная математическая запись ЗЛП будет выглядеть следующим образом:
Любая задача на нахождение максимума линейной целевой функции может быть сведена к задаче на минимум. Для этого достаточно умножить целевую функцию на минус единицу:
Наиболее важным разделением ЗЛП является разделение на безусловные и условные ЗЛП. Формулировка безусловной ЗЛП приведена выше. Такие задачи встречаются относительно нечасто. Более частыми и востребованными в реальной практике (в задачах управления/самоуправления в технических, экономических и проч. системах) являются условные ЗЛП. Условная ЗЛП формулируется как безусловная ЗЛП и ограничения на модели, которые задаются линейными уравнениями и/или неравенствами. Приведём пример:
при условии
где — матрица коэффициентов линейных ограничений (содержит неравенств), а вектор — вектор свободных членов линейных ограничений.
Условная ЗЛП, приведённая выше, называется основной задачей линейного программирования (ОЗЛП). Задача, в которой все ограничения являются равенствами называется канонической задачей линейного программировани (КЗЛП). ОЗЛП можно свести к КЗЛП путём переноса в левую часть правой части и вычитания из левой части вектора который называют вектором инструментальных переменных (вроде бы).
Методы решения задач линейного программирования
Одним из наиболее эффективных методов решения ЗЛП является СимплексМетод?.
КатегорияПрикладнаяМатематика | КатегорияЛинейноеПрограммирование | КатегорияЛинейнаяАлгебра