- •Введение 2
- •Глава 1. Линейные математические модели 4
- •Глава 2. Специальные задачи линейного программирования 32
- •Заключение 64 Список литературы 65
- •Глава 1. Линейные математические модели
- •1.1.Постановка задачи линейного программирования
- •1.2. Графический метод решения задачи линейного программирования
- •1.3. Основная задача линейного программирования
- •1.4. Симплекс-метод
- •1.5. Двойственная задача линейного программирования. Экономическая интерпретация
- •1.6. Целочисленное линейное программирование. Метод Гомори
- •Глава 2. Специальные задачи линейного программирования
- •2.1 Построение транспортной модели
- •2.2 Сбалансированные и несбалансированные транспортные модели
- •2.3 Определение начального плана транспортировок. Методы "северо-западного" угла, минимального элемента, Фогеля
- •2.4 Оптимальный план транспортной задачи. Метод потенциалов
- •2.5 Задача о назначениях
- •2.6 Венгерский метод решения задачи о назначениях
- •2.7 Применение задачи о назначениях к решению экономических проблем
- •Хазанова л.Э. Математическое моделирование в экономике. 141 с., изд-во «БеК», 1998 г.
1.3. Основная задача линейного программирования
В произвольной форме линейная математическая модель или задача линейного программирования имеет вид (1.1.1) —(1.1.4).
Наиболее распространенный метод ее решения — симплекс-метод. Заметим, что в случае двух переменных область допустимых решений, как правило, представляет собой замкнутый многоугольник (рис.1.2.2). Для n переменных областью допустимых решений является многомерный многогранник, подобный симплексу. Оптимальное решение, как правило, это вершина (граничная точка) такого многогранника. Симплекс-метод заключается в последовательном целенаправленном обходе вершин симплекса. В каждой следующей граничной точке симплекса значение целевой функции, в общем случае, улучшается.
Для применения симплекс-метода задачу следует записать в канонической форме:
В канонической форме записи все переменные неотрицательны, ограничениями являются уравнения, и требуется найти такие значения , при которых целевая функция имеет максимум.
Переход к канонической форме записи производится с помощью следующих простых действий.
Если требуется найти минимум , то заменяя на - , переходят к задаче максимизации, так как .
Если ограничение содержит неравенство со знаком , то от него переходят к равенству, добавляя в левую часть ограничения дополнительную неотрицательную переменную.
Если ограничение содержит неравенство со знаком , то от него переходят к равенству, вычитая из левой части дополнительную неотрицательную переменную.
Если в задаче какая-либо из переменных произвольна, то от нее избавляются, заменяя ее разностью двух других неотрицательных переменных. Например, для произвольной переменной , где .
Пример 1.3.1
Записать в канонической форме задачу
Решение.
Вычитая дополнительную неотрицательную переменную из левой части первого неравенства, переходим к равенству.
Добавляя дополнительную неотрицательную переменную к левой части второго неравенства, также переходим к равенству.
Произвольную переменную заменяем разностью двух неотрицательных переменных .
Окончательно получаем каноническую форму записи:
Задача (1.3.1) —(1.3.3) называется основной задачей линейного программирования (ОЗЛП).
ОЗЛП не всегда имеет решение.
Уравнения (1.3.2) могут оказаться несовместными.
Уравнения (1.3.2) могут оказаться совместными не в области неотрицательных решений.
Допустимые решения (1.3.2), (1.3.3) существуют, но среди них нет оптимального: функция не ограничена в области допустимых решений.
Предположим, что все уравнения (1.3.2) линейно независимы, т.е. выражают независимые друг от друга условия задачи. Если это не так, то лишние уравнения надо просто исключить. Задачу (1.3.1) —(1.3.3) имеет смысл решать, когда число уравнений в системе ограничений (1.3.2) меньше числа входящих в них неизвестных: . В противном случае, если , то система (1.3.2) имеет единственное решение, и задача максимизации функции (1.3.1) не имеет смысла; если , то система (1.3.2) переопределена и в общем случае не имеет решений.
Если , то система (1.3.2) имеет бесконечное множество решений и среди них можно выбрать оптимальное, доставляющее максимум функции (1.3.1).