Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка 1часть.doc
Скачиваний:
10
Добавлен:
16.11.2019
Размер:
464.9 Кб
Скачать

Основы теории линейного программирования

1. Двойственные задачи линейного программирования: графический метод решения основной задачи

1.1. Двойственные задачи линейного программирования. Линейное программирование занимается изучением экстремальных задач, в которых ищется максимум или минимум линейной функции в арифметическом конечномерном векторном пространстве на множестве векторов, удовлетворяющих конечному числу линейных уравнений и (или) неравенств.

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

Задача I. заданы вещественные числа

, , , ,

и фиксированные разбиения каждого из множеств

,

на два непересекающихся подмножества

, ; , .

Требуется максимизировать линейную функцию

(1)

на множестве n-мерных векторов.

, (2)

удовлетворяющих условиям

, ; (3)

, ; (4)

, . (5)

Вектор (2), удовлетворяющий условиям (3)–(5), называется допустимым, а искомый допустимый вектор, доставляющий максимум функции (1) – оптимальным.

Наряду с задачей 1 рассматривается следующая двойственная к ней экстремальная задача.

Задача I*. При исходных данных задачи I минимизировать линейную функцию

(6)

на множестве m-мерных векторов

, (7)

удовлетворяющих условиям

, ; (8)

, ; (9)

, . (10)

Вектор (7), удовлетворяющий условиям (8)–(10) называется допустимым, искомый допустимый вектор, доставляющий минимум функции (6) – оптимальным.

Каждому ограничению основной задачи отвечает в двойственной задаче переменная , а каждой переменной задачи I – ограничение с номером j задачи I*. При этом переменная неотрицательная, если . Аналогично в задаче I* ограничения, отвечающие неотрицательным , задаются в виде неравенств. Сказанное, с учетом одинаковых исходных данных < > позволяют без излишней формализации по заданной задаче I записать двойственную ей задачу I*.

Пример 1. Записать задачу, двойственную к следующей задаче ЛП. Максимизировать линейную функцию

μ(x)=2х1 х2 + 3х3 + х4 – 5х5

на множестве векторов

х=(х1, х2, х3, х4, х5),

удовлетворяющих условиям

х1 0, х2 ≥ 0, х4 ≥ 0,

3х1+ х2 – 4х3+ х5 – 6 ≥ 0,

3х2+4х3 – 2х4 +1 ≥ 0,

2х1 + х3 – 3х4 – 2х5 = 0.

В этой задаче I={1,2,3}; I1={3}; I2={1,2}; J={1,2,3,4,5}; J1={3,5}; J2 ={1,2,4}.

Тогда в двойственной задаче требуется минимизировать линейную функцию

ν(y)= – 6y1 + y2

на множестве векторов

y=(y1, y2, y3),

удовлетворяющих условиям:

у1 ≥ 0, у2 ≥ 0,

3у1 + 2у2 + 2 ≤ 0,

у1 + 3у2 – 1 ≤ 0,

–4у1 + 4у2 + у3 + 3 = 0,

– 2у2 – 3у3 + 1 ≤ 0,

у1 – 2у3 – 5=0.

Достаточный признак оптимальности в краткой форме. Для оптимальности допустимого вектора (2) в задаче I достаточно, чтобы в задаче I* нашелся допустимый вектор (7), удовлетворяющий условию

μ(x) = ν(y) (11)

при этом допустимый вектор (7) является оптимальным в задаче I*.

Достаточный признак оптимальности в развернутой форме. Для оптимальности допустимого вектора (2) в задаче I достаточно существования m-мерного вектора

y = (y1, y2,…, ym),

удовлетворяющего следующим условиям:

а) yj ≥ 0, ;

б) , ;

в) , ;

г) , если xj>0, ;

д) уi = 0, если , .

При этом вектор y = (y1y2,…, ym) является оптимальным в задаче I*.

Заметим, что ограничения а),б) и в) совпадают с условиями допустимости вектора (7) в задаче I*.

1.2.Графический метод решения задачи линейного программирования. Наглядным является графический метод решения основной задачи. Воспользуемся им для предварительного решения и анализа содержательной задачи ЛП. Однако он применим, когда n≤3.

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

Таблица 1 Таблица 2

промежуточный

продукт

выход из 1т

сырья, кг

1

460

2

200

3

340

промежуточный

продукт

расходы п. пр. на 1т конечного продукта., кг

1

2

1

250

800

2

250

200

3

500

---

Технологический процесс состоит из двух этапов. На первом этапе поступающее сырье перерабатывается в три промежуточных продукта, которые на втором этапе используются для получения конечной продукции. Выход промежуточных продуктов из одной тонны сырья указан в таблице 1., а расход на производство одной тонны конечной продукции каждого вида – в таблице 2. При этом цена тонны конечной продукции первого вида 50 у.е., а второго – 60 у.е.

Задача состоит в определении производственной программы, при которой максимизируется цена выпускаемой продукции. Планируемые выпуски конечных продуктов обозначим через х1 и х2 соответственно. Требуется максимизировать величину

μ(х1, х2) = 50х1 + 60х2. (12)

производственная программа х = (х1х2) в том и только в том случае является допустимой (практически реализуемой) когда на ее выполнение достаточно промежуточных продуктов, т.е. выполняются условия

х1 ≥ 0, х2 ≥ 0,

250х1 + 800х2 ≤ 460,

250х1 + 200х2 ≤ 200, (13)

500х1+ 0х2 ≤ 340

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

Каждой паре неотрицательных вещественных чисел х1 и х2 сопоставим в первом квадранте плоскости х1 0 х2 точку М(х1х2). Точки (х1х2), удовлетворяющие условиям (13), заполнят пятиугольник 0АВСД (рис. 1), ограниченный осями координат и прямыми

250х1 + 800х2 = 460,

250х1 + 200х2 = 200,

500х1 + 0 х2 = 340.

Величина (12) пропорциональна расстоянию точки М(х1х2) от прямой ОЕ, задаваемой уравнением 50х1+60х2=0. поэтому оптимальной программе отвечает точка пятиугольника, наиболее удаленная от прямой ОЕ.

Рис. 1. Иллюстрация графического решения примера 1

Таковой в рассматриваемом случае является точка В, в которой пересекаются прямые

250х1 + 800х2 = 460,

250х1 + 200х2 = 200.

Решая систему уравнений, находим искомую оптимальную производственную программу х0=(0.453;0.433), при которой суммарная цена выпускаемой продукции в расчете на одну тонну сырья составляет

μ=50*0.453+60*0.433 у.е.

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

Задача I. максимизировать.

μ(х1, х2)= 50х1 + 60х2

на множестве векторов

х=(х1, х2),

удовлетворяющих условиям:

х1 ≥ 0, х2 ≥ 0,

–250х1 – 800х2 + 460 ≥ 0,

–250х1 – 200х2 + 200 ≥ 0, (14)

–500х1 + 340 ≥ 0.

Это случай, когда I={1,2}, I1= Ø , I2 =I; J={1,2,3}, J1=Ø, J2=J, называется симметричной канонической формой. Двойственной к ней является следующая

Задача I*. Минимизировать

ν(у)=460у1 + 200у2 + 340у3

на множестве векторов

у=(у1, у2, у3), у1 ≥ 0, у2 ≥ 0, у3 ≥ 0,

удовлетворяющих условиям:

а) –250у1 – 250у2 – 500у3 + 50 ≤ 0,

(15)

– 800у1 – 200у2 + 60 ≤ 0.

Проверим выполнение оптимальности для полученного графически вектора х0=(0,453;0,433). Прежде всего, отметим, что этот вектор допустимый и его координаты положительные, поэтому неравенства (15), должны выполняться как равенства, т.е. имеем

б) – 250у1 – 250у2 – 500у3 + 50 ≤ 0, (16)

– 800у1 – 200у2 + 60 = 0.

Для исследуемого вектора х0 первые два неравенства системы (14) выполняются как равенства, а третье ограничение – как строгое неравенство, следовательно имеем

в) у3=0. (17)

Таким образом, для оптимальности допустимого вектора х0=(0.453; 0.433) достаточно существования вектора у0=(у1у2у3) с неотрицательными компонентами, удовлетворяющего условиям (15), (16) и (17). Решая систему уравнений (16), (17). находим вектор у0=(0.033; 0.165;0) с неотрицательными компонентами удовлетворяющими (15). Таким образом, все условия (а), (б) и (в) для вектора у0 выполнены.

Следовательно, найденный графически вектор х0 является оптимальным в задаче I, а вектор у0 – оптимальный в задаче I*. При этом

μ(x0) = ν(y0)=48.63.

Выясним экономический смысл для рассмотренного примера планирования производственной программы. Каждому ограничению (14), несущему смысл расхода промежуточного продукта, сопоставим оценку уi единицы этого продукта. Тогда в задаче I* требуется минимизировать суммарную оценку промежуточных продуктов на множестве векторов у=(у1у2у3), неотрицательные компоненты которых имеют смысл оценки соответствующего промежуточного продукта при условии запрета на существование «сверх рентабельного» конечного продукта. А именно толкование условий (а) означает: оценка затраченных промежуточных продуктов на «производство единицы конечного продукта не может быть менее его цены». Вместе с тем условия (б) означают «производство только «рентабельных» конечных продуктов», а условий (в) «равенство нулю оценки избыточного промежуточного продукта».