Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1ЭМММ-Линейное программирование

.pdf
Скачиваний:
33
Добавлен:
17.04.2015
Размер:
495.87 Кб
Скачать

Прямая задача (задача нахождения оптимального плана производства):

Целевая функция (функция прибыли)

z(x1,x2) := 17 × x1 + 25 × x2

x1:= 0

x2:= 0

Заданные ограничения

Given

Ограничения на объем имеющихся ресурсов

4x1 + 2 × x2 £ 50

2 × x1 + 5x2 £ 30

3x1 + 4x2 £ 60

Условия неотрицательности выпуска производства

x1 ³ 0 x2 ³ 0

Необходимо найти план производства, обеспечивающий максимум

функции прибыли

æ

x1 ö

:= Maximizez(,x1, x2)

 

 

 

 

è

x2 ø

æ x1 ö

 

æ

11.875 ö

 

=

Оптимальный план производства è x2 ø

è

1.25 ø

 

Максимальная прибыль

z(x1,x2) = 233.125

 

Таким образом, в результате решения прямой задачи получили оптимальный план производства: x1 = 11,875 x2 = 1,25

Х, при котором следует производить оба вида продукции, и прибыль от реализации будет максимальной Zmax = 233,125

рублей.

41

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

Двойственная задача (задача нахождения оптимального набора оценок на ресурсы):

Оптимальный план производства æ x1

ö

æ 11.875 ö

 

 

ç

x2

÷

= ç

÷

 

 

è

ø

è 1.25

ø

Максимальная прибыль

z(x1, x2) = 233.125

 

Целевая функция (функция затрат)

 

 

 

 

f(y1, y2,y3) := 50 × y1

+ 30 × y2 + 60y3

 

 

 

 

y1 := 0 y2 := 0 y3

:= 0

 

 

 

 

 

Заданные ограничения

Given

Создаваемая прибыль при производстве единицы каждого вида продукции должны быть не меньше прибыли от реализации единицы этой продукции

4y1 + 2 × y2 + 3y3 ³ 17

2 × y1 + 5y2 + 4y3 ³ 25

Условия неотрицательности цен (оценок) ресурсов

y1 ³ 0 y2 ³ 0 y3 ³ 0

Необходимо найти набор оценок на ресурсы, обеспечивающий

минимальные общие затраты на ресурсы

Решая двойственную задачу, нашли оптимальный набор оценок на ресурсы y1 = 2,188, y2 = 4,125, y3 = 0 , т.е. ресурсы R1

и R2 по оптимальному плану полностью использованы, и

объективно обусловленные оценки этих ресурсов ненулевые (данные ресурсы являются дефицитными). Ресурс R3 не

полностью используется, и объективно условленная оценка этого ресурса нулевая (ресурс недефицитный).

7. Двойственный симплекс-метод

Двойственный симплекс-метод является методом, при

котором сначала симплексным методом решается исходная

42

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

задача, а затем оптимальное решение двойственной задачи находится с помощью теорем двойственности.

П р и м е р . Составить и решить задачу, двойственную следующей задаче:

Z = 6 × x1 + x2 ® max

ì3× x1 - x2 ³ 9 ïí2 × x1 + 3× x2 £ 50 ïî- x1 + 4 × x2 ³ 18

x1³ 0, x2 ³ 0

Р е ш е н и е .

Сформулируем задачу, двойственную для исходной

задачи.

Поскольку исходная задача является задачей на отыскание максимума целевой функции, то для составления двойственной задачи, первоначально необходимо все ограничения-неравенства исходной задачи привести к виду, когда они имеют знак «». Для этого обе части неравенств со знаком «» умножим на (-1).

 

 

 

Тогда двойственная задача (задача минимизации

целевой функции

при ограничениях-неравенствах со знаком

«») будет иметь вид:

 

 

 

 

 

 

 

 

Исходная задача

 

 

 

 

Двойственная задача

 

линейного программирования

линейного программирования

Z = 6 × x1 + x2 ® max

Z = 6× x1 + x2 ® max

F = -9 × y1 + 50 × y2 -18 × y3 ® min

ì3 × x1 - x2 ³ 9

 

× (-1)

ì- 3× x + x

2

£ -9

 

ï

 

 

 

 

 

 

 

ï

1

 

 

ì- 3 × y1 + 2 × y2 + y3 ³ 6

× x1 + 3 × x2 £ 50

+ 3

× x2 £ 50

í2

í2× x1

í

ï- x + 4 × x ³ 18

 

× (-1)

ïx - 4× x

2

£ -18

îy1 + 3 × y2 - 4 × y3 ³1

 

ï

1

 

2

 

 

 

 

î 1

 

 

 

 

î

 

 

 

 

 

x1³ 0, x2 ³ 0

 

y1³ 0, y2 ³ 0, y3 ³ 0

x ³ 0, x

2

³ 0

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

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

43

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

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

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

(см. Таб.3.).

Согласно первой теореме двойственности, если одна из взаимно двойственных задач имеет оптимальное решение, то его имеет и другая задача, причем оптимальные значения их

функций равны: Fmin = Zmax = 87 115 .

Установим соответствие между переменными исходной и двойственной задач (базисным переменным одной задачи соответствуют свободные переменные другой, и наоборот):

{x1

x 2

x 3

x 4

x 5 }

{y4

y5

y1

y2

y3}

Положительным

компонентам

оптимального решения

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

ì

 

3

 

 

 

9

 

 

 

 

 

ü

í x1

= 13

 

 

x 2

=

7

 

 

x 3 = 23

x 4

= 0 x 5

=

0

ý

11

11

î

 

 

 

 

 

 

 

 

 

þ

ì

 

 

 

 

 

3

 

 

 

5

ü

íy4

= 0

y5 = 0

y1 = 0

y2

= 2

 

 

 

y3

= 1

 

ý

11

 

î

 

 

 

 

 

 

 

11þ

 

Подставив найденные значения Y* = (0; 2

3

; 1

5

; 0; 0) в

 

11

 

 

 

 

 

 

 

 

 

 

F,

11

целевую

функцию

 

 

 

 

 

получим

F = -9×0 + 50×2

3

-18×1

5

= 87

5

, что

и подтверждается

 

 

 

min

11

11

11

 

 

 

 

 

первой теоремой двойственности.

 

 

 

 

 

 

Составим последнюю симплекс-таблицу оптимального

решения двойственной задачи по следующим правилам:

 

ü Компоненты оптимального решения

двойственной

задачи равны абсолютным

значениям

коэффициентов при

 

 

 

 

 

 

 

 

 

 

 

44

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

соответствующих переменных целевой функции задачи,

выраженной через свободные переменные её оптимального решения;

üМатрица коэффициентов свободных переменных симплекс-таблицы оптимального решения двойственной задачи (кроме строки целевой функции) получается путем

транспонирования матрицы коэффициентов свободных переменных симплекс-таблицы оптимального решения исходной задачи с противоположными знаками;

üКоэффициенты при свободных переменных в строке целевой функции в симплекс-таблице оптимального решения

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

В результате последняя симплекс-таблица оптимального решения двойственной задачи будет иметь вид:

Базисные

 

Свободные

 

 

Свободные переменные

 

 

 

переменные

 

 

члены

y4

 

 

 

y1

y5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y2

 

 

2

 

3

 

 

 

 

4

 

 

 

 

-1

 

 

1

 

 

 

11

 

 

11

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y3

 

 

1

 

5

 

 

 

 

3

 

 

 

 

-1

2

 

 

11

 

 

 

11

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

87

 

5

 

 

13

3

 

 

 

-23

7

9

 

 

11

 

 

11

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

F

 

= 87

5

при Y* = (0; 2

3

; 1

5

; 0; 0) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min

 

 

11

11

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Задача целочисленного линейного программирования

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

45

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

М а т ем а т и ч е с к а я м о д е л ь :

n

Z = å c j x j ® max(min) j=1

n

å aij x j = bi ,i = 1, m j=1

x j ³ 0, j = 1, n

x j - целые.

Для решения задач целочисленного линейного программирования используется ряд методов.

М ет о д ы о т с е ч е н и я .

Сущность методов отсечения состоит в том, что сначала задача решается без учета целочисленности. Если полученный оптимальный план целочисленный, то задача решена. В

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

Ограничение должно быть линейным;

Ограничение должно исключать из ОДР найденный оптимальный нецелочисленный план;

Ограничение не должно исключать из ОДР ни одно целочисленное решение.

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

М ет о д Г о м о р и ( о т с е ч е н и я ) . Этапы:

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

2.Если среди компонент есть нецелые, то необходимо

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

46

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

Предположим,

что

{x1, x2,..., xm}

-

базисные

переменные, {xm+1,..., xn} - свободные переменные.

 

Оптимальное

решение

(из последней

 

симплекс-

таблицы) имеет вид xi = βi -αim+1 × xm+1 - ... -αinxn ,i =1, m . В

результате оптимальное

решение запишется в

виде

X* = {β1, β2,...,βm,0,...,0} -

нецелочисленное решение

( βi -

нецелые).

Составляется неравенство правильного отсечения:

{βi}- {aim+1}xm+1 - ... - {ain}xn £ 0 , где { } - дробная часть числа1.

Правильное отсечениенеравенство преобразовать в

уравнение путем введения неотрицательной целочисленной переменной и ввести это уравнение в систему ограничений.

{βi}- {αim+1}× xm+1 - ... - {αin}xn + xn+1 = 0

 

xn+1 = -i} -{-αim+1}xm+1 - ... -{-xin}xn

(1)

Соотношение (1) добавляется в последнюю симплекс- таблицу как дополнительная строка. В результате симплекс- таблица представляет недопустимое решение.

4.Полученная расширенная задача снова решается симплексметодом. Если вновь полученное оптимальное решение нецелочисленное, то итерации повторяются.

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

1 Целой частью числа а называется наибольшее целое число [а], не превосходящее само число а. Дробной частью числа а называется число {а}, равное

разности между этим числом и его целой частью {а} =

а - [а]. Пример: 1. a = 2

1

,

3

[a]= 2 , {a}=

1

 

1

, [a]= −3 , {a}= −2

1

 

 

2

 

 

; 2. a = −2

− (−3) =

 

.

 

 

3

3

3

3

 

 

 

 

 

 

 

 

 

47

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

П р и м е р . Найти

решение

задачи целочисленного

линейного программирования:

 

 

 

Z = 6 × x1

+ x2 ® max

ì3× x1 - x2 ³ 9

ï

× x1 + 3× x2

£ 50

í2

ï- x + 4

× x

2

³ 18

î

1

 

 

x1³ 0, x2 ³ 0

x1, x2 - целые

В результате решения данной задачи симплексным методом без условия целочисленности получили симплекс- таблицу, соответствующую оптимальному решению (см. Таб.3.)

и

оптимальное

 

 

решение

Z max = 87

5

 

при

 

 

 

3

 

 

9

 

 

 

 

11

 

 

X* = (13

; 7

; 23; 0; 0) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

11

 

 

 

 

 

 

 

 

 

Поскольку среди компонент оптимального решения есть

нецелые

(13

3

 

 

и

7

9

), то для нахождения целочисленного

11

 

 

 

 

 

 

11

 

 

 

 

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

Наибольшую дробную часть имеет 7119 , т.к.

ì

3 ü

=

3

 

ì

 

9 ü

=

9

.

í13

 

ý

 

 

,

í7

 

 

ý

 

 

 

11

 

11

î

11þ

 

 

î

11þ

 

 

Поэтому сформируем правильное отсечение - неравенство по строке, соответствующей этой компоненте.

ì

 

9 ü

ì

1 ü

× x4

ì

 

2 ü

× x5

 

í7

 

 

ý

- í

 

ý

- í-

 

 

ý

£ 0

 

 

 

 

î

11þ

î11þ

 

î

11þ

 

 

Это неравенство введением дополнительной неотрицательной целочисленной переменной преобразуем в равносильное уравнение:

48

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

ì

 

9 ü

ì

1 ü

× x4

ì

 

2 ü

× x5

+ x6

 

í7

 

 

ý

- í

 

ý

- í-

 

 

ý

= 0

 

 

 

 

î

11þ

î11þ

 

î

11þ

 

 

 

119 - 111 × x4 - 119 × x5 + x6 = 0

x6 = - 119 + 111 × x4 + 119 × x5

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

 

Базисные

 

Свободные

 

 

 

 

 

Свободные

 

 

 

 

 

 

 

 

 

 

 

переменные

 

 

 

 

 

переменные

 

члены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x4

 

x5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

13

 

3

 

 

 

 

 

 

4

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

11

 

 

11

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

23

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

7

 

9

 

 

 

 

 

 

1

 

 

 

 

 

-

 

2

 

 

 

 

 

 

 

11

 

 

 

11

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x6

 

-

 

9

 

 

 

 

-

 

1

 

 

 

 

-

 

9

 

 

 

 

 

 

 

11

 

 

11

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z

 

87

 

5

 

 

 

2

 

3

 

 

 

 

1

5

 

 

 

 

 

 

 

11

 

11

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полученную расширенную задачу решаем симплекс-

методом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базисное

решение X = (13

3

 

; 7

9

; 23; 0; 0; -

 

9

) -

 

11

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

11

 

недопустимое, т.к. имеется

отрицательный

 

 

 

 

 

 

элемент,

ограничения совместны (в строке, имеющей отрицательный свободный член есть отрицательные элементы).

Столбец, соответствующий X 4 , принимаем в качестве

разрешающего. Для определения разрешающей строки найдем

минимальное положительное отношение свободных членов к

49

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

элементам

 

 

 

 

 

 

 

 

 

 

 

 

разрешающего

столбца:

ì

3

 

 

 

 

 

 

9

-

9

ü

-

9

 

 

ï13

 

 

 

 

23

 

7

 

 

 

 

 

ï

 

 

 

 

11

 

 

11

11

11

.

 

miní

 

 

 

 

 

,

 

,

 

 

 

 

 

,

 

 

 

ý

=

 

 

 

 

 

4

 

 

1

 

 

1

 

 

 

1

 

 

1

 

ï

 

 

 

 

 

 

 

-

ï

-

 

 

ï

11

 

 

 

 

11

11

ï

11

 

 

î

 

 

 

 

 

 

þ

 

 

 

 

Базисную переменную X 6 переводим в свободные переменные, а свободную переменную X 4 - в базисные.

В результате преобразования симплекс-таблицы получим:

Базисные

Свободные

Свободные

 

переменные

 

переменные

члены

 

 

 

 

 

 

x6

 

x5

 

 

 

 

 

x1

10

4

 

-3

 

x3

14

11

 

-8

 

x2

7

1

 

-1

 

x4

9

-11

 

 

9

 

 

 

 

 

 

 

Z

67

25

 

-19

 

Базисное решение X = (10; 7; 14; 9; 0;0)

- допустимое, т.к.

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

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

является строка X , т.к. minì9ü = 1.

4 í ý î9þ

Базисную переменную X 4 переводим в свободные переменные, а свободную переменную X 5 - в базисные.

50

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com