Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 4 (а). Линейное программирование1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
568.32 Кб
Скачать

1) Постановка задачи линейного программирования. Формы записи задачи лп.

Общая задача линейного программирования состоит в максимизации (или минимизации) линейной функции

(1.4)

от n вещественных переменных x1, x2,…, xn , удовлетворяющих условиям неотрицательности

(1.5)

и m линейным ограничениям

(1.6)

Среди ограничений могут одновременно встречаться знаки ≤, = и ≥ . Задача состоит в максимизации (минимизации) целевой функции. Значения bi , cj , aij предполагаются известными.

В матричных обозначениях задача может быть представлена следующим образом:

максимизировать (минимизировать) функцию

где

а

Индекс 0 в векторе x0 и в матрице A0 указывает на то, что это начальные значения.

2) Графический метод решения задачи лп.

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

П ример 1.2

Минимизировать функцию

z = − 3x1 − 4x2

при ограничениях x1, x2 ≥0,

Допустимой областью, изображенной на рис. 1.2, является четырехугольник PQRS.

Два последних ограничения усиливают условия неотрицательности. Функция z убывает в направлении вектора

Минимальное значение функции z = – 68 и достигается в точке R = (12, 8). Заметим, что, как и в примере 1, минимум достигается в вершине допустимой области. Оптимальным решением задачи является точках x1 =

12, x2 = 8 с минимальным значением функции z = – 68.

Из рассмотренного примера можно вывести несколько характерных черт задач линейного программирования:

  1. Допустимая область всегда является выпуклым многоугольником, даже в случае, когда она не ограничена.

  2. Оптимальное решение всегда достигается в вершинах допустимой области.

Задача линейного программирования могут быть приведены к стандартной форме.

3.1 Стандартная форма задачи лп

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

Привести задачу к стандартной форме очень просто, используя следующие правила:

а) Максимизация целевой функции равносильна минимизации целевой функции

б) Ограничение в виде неравенств, например , может быть приведено к стандартной форме , где новая переменная x4 неотрицательна.

Ограничение может быть приведено к стандартной форме , где новая переменная x5 неотрицательна.

в) Если некоторая переменная xk может принимать любые значения, а требуется, чтобы она была неотрицательная, ее можно привести к виду , где и .

Таким образом, приведение задачи к стандартной форме может потребовать введения дополнительных переменных (по-прежнему неотрицательных).

Аналогично соотношениям (1.7), (1.8), (1.9) выразим наиболее общую задачу линейного программирования в следующем виде (в ):

Если задача в таком виде является следствием задачи, рассмотренной выше, то в x наряду с исходными переменными будут входить новые переменные (и в матрицу А тоже).

Так, пример 2 может быть приведен к следующему виду:

минимизировать функцию z = − 3x1 − 4x2

при ограничениях

Пример 1 может быть приведен к следующему виду:

минимизировать функцию z = − 2x1 − 4x2

при ограничениях

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

Конечно, имея два уравнения с четырьмя неизвестными, можно получить решение (хотя не всегда допустимое), придавая двум неизвестным произвольные значения и разрешая уравнения относительно двух других неизвестных. Особенно интересны решения такого типа, когда два неизвестных приравниваются нулю. Если такое решение единственно, то оно называется базисным решением. Если оно к тому же допустимо, то называется базисным допустимым решением. Для общей задачи линейного программирования с n переменными, подчиненными m ограничениям (m < n), базисные решения ограничений могут быть получены, если приравнять нулю n m из переменных и решить m уравнений относительно оставшихся m переменных; предполагается, что эти уравнения имеют единственное решение. Переменные, приравненные нулю, называются небазисными переменными. Остальные называются базисными и образуют базис.

В рассмотренных выше задачах можно выбрать две небазисные переменные шестью способами. Легко видеть, что базисные решения могут быть сведены в таблицу, в которой каждое решение соответствует паре небазисных переменных (x1, x2), (x1, x3), (x1, x4), (x2, x3), (x2, x4), (x3, x4). Из этих шести базисных решений только четыре допустимы и соответствуют вершинам допустимой области рис. 1.1 (см. приведенную таблицу).

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

Мы увидим, что этот результат закономерен. Базисные решения системы m уравнений с n неизвестными соответствуют вершинам допустимой области; оптимальное решение (если оно существует) соответствует базисному допустимому решению и, следовательно, является вершиной допустимой области.