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

книги / Математические основы теории систем. Методы оптимизации

.pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
1.41 Mб
Скачать

2. Составляется симплекс-таблица:

 

1

2

3

4

 

5

1

1

1

1

7

6

–3

1

2

1

6

 

 

 

 

 

 

7

2

1

1

–1

2

 

 

 

 

 

 

 

0

–3

–4

–1

–15

 

 

 

 

 

 

Далее по симплекс-методу находится разрешающий элемент 1. Меняются местами переменные x3 и x7, причем столбец, соответствующий x7, вычеркивается из таблицы.

Новая симплекс-таблица имеет вид:

 

1

2

4

 

5

–1

0

2

5

 

 

 

 

 

6

–7

–1

3

2

 

 

 

 

 

3

2

1

–1

2

 

 

 

 

 

 

8

1

–5

–7

 

 

 

 

 

Теперь свободной становится переменная x6, следовательно, вычеркивается соответствующий столбец.

 

1

2

 

5

11/3

2/3

11/3

 

 

 

 

4

–7/3

–1/3

2/3

3

–1/3

2/3

8/3

 

 

 

 

 

–11/3

–2/3

–11/3

 

 

 

 

В результате всех преобразований получается таблица:

2

1 2/11 1

4 1/11 3

3 8/11 3

0 0

Как видно из таблицы, в результате тождественного преобразования исходные переменные делятся на базисные и свободные.

41

3. Переход к исходной целевой функции:

Q = − x1 + x2 + 2x3 x4 .

Записываются ограничения, полученные из итоговой симплекс– таблицы:

 

+

2

 

 

= 1,

x1

 

 

 

 

x2

11

 

 

 

 

 

 

 

 

1

 

 

 

x4

+

 

 

 

 

x2

= 3,

 

11

 

+

8

 

 

= 3.

x3

 

 

 

 

x2

11

 

 

 

 

Выражаются базисные переменные через свободные и подставляются эти выражения в целевую функцию:

Q = −1+

2

x2

+ x2

+ 6

16

x2

3 +

1

x2

= 2

2

x2 .

 

 

 

 

11

 

11

11

11

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

 

2

 

1

2/11

1

4

1/11

3

3

8/11

3

 

 

 

 

–2/11

–2

 

 

 

2.6.Алгоритм двойственного симплекс-метода

1.Составление симплекс-таблицы, как для обычного симплексметода.

2.Выбор разрешающей строки: среди отрицательных bi выбирается максимальный по модулю элемент.

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

42

4.Переход к новой симплекс-таблице; осуществляется аналогично обычному симплекс-методу.

5.Окончание решения, когда все bi неотрицательны.

Пример

x1

+ x3 1,

x1 + x2 x3 4,

 

, x2 , x3 0.

x1

Q = 10x1 + 10x2 + 14x3 min.

Решение:

 

 

 

 

 

 

 

 

 

1.

Вводим искусственные переменные:

 

 

 

 

 

 

x1 + x3 x4 = 1,

 

 

 

 

 

 

 

 

x1 + x2 x3 x5 = 4.

2.

Смена знака:

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 x3 + x4 = −1,

 

 

 

 

 

 

 

 

x1 x2 + x3 + x5 = −4.

3.

Симплекс-таблица:

 

 

 

 

 

 

 

 

 

 

1

2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

–1

0

–1

–1

 

––– разрешающая строка

 

 

5

 

–1

–1

1

–4

 

 

 

 

 

10

10

14

0

разрешающий столбец

4.

Новая симплекс-таблица:

 

 

 

 

 

 

 

 

 

 

 

 

2

3

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

4

–1

1

0

 

3

 

 

 

 

 

 

1

–1

1

1

 

4

 

 

 

 

 

 

 

10

0

4

 

–40

Правые части ограничений положительны, следовательно, найдено оптимальное решение.

Ответ: x1 = 4, x2 = 0, x3 = 0, x4 = 3, x5 = 0, Qmin = 40.

43

Задания для самостоятельной работы

1. f(x) = –3x1 + 2x2 – 2x3 + 2x4 x5 →min,

2. f(x) = –6x1 – 8x2 →min,

1 + x 2 x3 = 1,

2x1 + 5x 2 + x3 = 20,

x2 + x3 + x4 = 1,

12x1 + 6x2 + x4 = 72,

x2 + x3 + x5 = 2,

xj ≥ 0, j = 1,...4.

xj ≥ 0, j = 1,...5.

 

3. f(x) = –x1 – 4x4 → min,

4. f(x)= –34x1+x2+3x3–3x4→min,

–x1 – 2x 2 + 2x3 + x 4 + 5x5 = 13,

3x1 – 2x 2 + 3x3 +2 x 4 = 9,

– 2x1 + 2x2 + 4x4 + x5 = 5,

x1 + 2x2 x3 + x4 = 0,

x1 x 2 + x3 x 4 + 2x5 = 5,

x1 x 2 + 2x3 + x 4 = 6,

xj ≥ 0, j = 1,...5.

–xj ≥ 0, j = 1,...4.

5. f(x) = –x1 + x2 + 2x3 x4 → min,

6. f(x) = –3x1 + x3 – 2x4 → min,

x1 + x 2 + x3 + x 4 = 7,

15x1 + 2x 2 – 3x3 – 7x 4 + x5 = 4,

–3x1 + x2 + 2x3 + x4 = 6,

2x1 + x2 + x3 – 2x4 = 3,

2x1 + x 2 + x3 x 4 = 2,

x 3 + 5x4 + 2x5 = 7,

xj ≥ 0, j = 1,...4.

xj ≥ 0, j = 1,...5.

7. f(x) = –x2 → min,

8. f(x) = 3x1 – 2x2 + x3 → min,

x1 + x 2 ≥ 1,

3x1 + x 2 – 2x3 = 2,

x1 + x2 ≥ –1,

4x1 + 3x2 + 2x3 = 1,

2x 1 x2 ≥ 0,

x 3 + 5x4 + 2x5 = 7,

xj ≥ 0, j = 1, 2.

xj ≥ 0, j = 1, 2, 3.

9. f(x) = –2x1 + x2x3 + x5→min,

10. f(x)= –8x1 –2x2+5x3–15x4→min,

– 2x2 + x 4 + x5 = –3,

x1 + 3x 2 + x3 + 10x 4 ≤ 25,

x3 – 2x4 = 2,

2x1 + x2 + x3 + 5x4 ≤ 6,

x1 + 3x 2 x 4 ≤ 5,

10x1 + 2x 2 + 2x3 – 5x 4 ≤ 26,

x1 + x2 ≥ –3,

xj ≥ 0, j = 1,...4.

 

xj ≥ 0, j = 1,...5.

2.7. Целочисленное линейное программирование

Постановка задачи

К задачам целочисленного линейного программирования относятся такие задачи линейного программирования, в которых имеется дополнительное ограничение на целочисленность переменных [3].

44

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

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

2.7.1. Метод сечения Гомори

Сущность метода:

1. Решается задача линейного программирования без требования целочисленности. Получаем решение:

x

= x* , i =

1,n

.

i

i

2. Проверка полученного решения на целочисленность.

Если xi – целые числа, то задача решена, если нет – выполняются следующие действия:

от допустимого многогранника отсекается часть площади. Точка с координатами xi должна попасть в отсекаемую область (рис. 2.4). Математически это отсечение обозначает введение дополнительного ограничения;

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

Рис. 2.4. Метод сечения Гомори

45

Получение дополнительного ограничения

Введем следующие обозначения: [Х] – целая часть Х, [Х] ≤ Х .

Например, [4,2] = 4, [–4,2] = –5.

{Х} – дробная часть Х, {Х} = Х [Х], {Х}≥ 0.

Предположим, имеется задача линейного программирования, приведенная к каноническому виду (2.15):

Q = p1x1 + p2 x2 + ... + pn xn min.

a

x + a

x + ... + a x + x

= b ,

 

11 1

12 2

1n n

n+1

 

1

 

a21x1 + a22 x2 + ... + a2n xn + xn+

2 = b2 ,

 

 

 

 

 

 

 

 

(2.15)

...

 

 

 

 

 

 

a

x + a

x

+ ... + a x

+ x

+m

= b .

 

m1 1

 

m2 2

mn n

n

 

m

xi 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выразим базисные переменные через свободные:

 

 

 

 

n

 

 

 

 

 

xn+i

= bi aij xj i = 1,...,m.

(2.16)

j=1

Вэтом выражении хi должны быть целыми. Преобразуем (2.16):

xn+i = [bi ]+ {bi }

 

n

 

 

n

 

aij

xj {aij } xj =

 

 

 

 

 

j=1

 

 

j=1

 

= [bi ]

n

 

 

xj

+ {bi }

n

(2.17)

aij

{aij } xj .

 

j=

 

 

 

 

 

j=

 

1442443

1442443

 

 

L1

 

 

 

 

L2

 

Если xn+i – целочисленные, то L1 – всегда целочисленное, L2 – в общем случае может быть нецелочисленным, но для данной задачи L2 должно принимать следующие значения: 0, –1, –2,, т.е.

L2 0,

 

 

(2.18)

n

 

xj

0.

(2.19)

{bi } aij

j=1

 

 

 

 

46

Преобразуем ограничения-неравенства (2.19) в ограниченияравенства:

n

 

xl {aij } xj = −{bi }.

(2.20)

j=1

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

Алгоритм метода сечения Гомори

1.Задача линейного программирования приводится к каноническому виду и составляется симплекс-таблица.

2.Решается задача симплекс-методом без учетацелочисленности.

3.Окончание решения в случае целочисленности.

4.Если решение не целочисленно, то в таблицу вводится строка,

имеющая коэффициенты –{aij}, –{bi} той строки таблицы, которая имеет максимальную дробную часть коэффициента правой части ограничений.

5. Решается задача линейного программирования двойственным симплекс-методом.

Пример 1

2x1 + x2 + x3 = 4,2x1 + 3x2 + x4 = 6,

Q = − x1 x2 min.

1. Задача уже приведена к каноническому виду. Составляем сим- плекс-таблицу и решаем задачу симплекс-методом:

 

1

2

 

3

2

1

4

4

2

3

6

 

 

 

 

 

–1

–1

0

 

 

 

 

47

 

3

2

 

 

 

1

1/2

1/2

2

 

4

–1

2

2

 

 

 

 

 

 

 

 

1/2

–1/2

2

 

 

 

4

 

 

 

 

3

 

 

 

1

3/4

–1/4

 

3/2

2

–1/2

1/2

 

1

 

 

 

 

 

 

1/4

1/4

 

5/2

 

 

 

 

 

 

Полученооптимальноерешение, ноэторешениенецелочисленно. 2. Вводим дополнительную строку.

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

{3/4} = 1/4, {–1/4} = 3/4, {3/2} = 1/2:

 

3

4

 

1

3/4

–1/4

3/2

2

–1/2

1/2

1

 

 

 

 

5

–1/4

–3/4

–1/2

 

 

 

 

 

1/4

1/4

5/2

 

 

 

 

3. Далее решаем задачу двойственным симплекс-методом.

 

3

5

 

1

1

–1/3

5/3

2

–1

2/3

2/3

4

1

–4/3

2/3

 

 

 

 

 

0

1/3

7/3

 

 

 

 

4. Снова получено нецелочисленное решение. Вводим новое ограничение. При равенстве дробных частей выбирается любая строка (в данном примере рассмотрена последняя строка).

48

{1} = 0, {–4/3} = 2/3, {2/3} = 2/3

 

3

5

 

1

1

–1/3

5/3

2

–1

2/3

2/3

4

1

–4/3

2/3

 

 

 

 

6

0

–2/3

–2/3

 

 

 

 

 

0

1/3

7/3

 

 

 

 

Решаем полученную таблицу двойственным симплекс-методом:

 

3

6

 

1

1

–1/2

2

2

–1

1

0

4

1

–2

2

5

0

–3/2

1

 

0

1/2

2

 

 

 

 

Все переменные целочисленные, следовательно, получено искомое решение:

x1 = 2, x2 = 0, x3 = 0, x4 = 2, Qmin = –2.

Пример 2

x1 + 10x2 + x3 = 40,4x1 + 2x2 + x4 = 29, Q = x1 20x2 min.

Решение 1. Задача уже приведена к каноническому виду. Составляется

симплекс-таблица и решается задача симплекс-методом:

1 2

3

–1

10

40

 

 

 

 

4 4 2 29

1 –20 0

49

 

 

1

3

 

 

 

 

2

–1/10

1/10

 

4

 

 

4

42/10

–2/10

21

 

 

 

–1

2

 

80

 

 

 

4

3

 

 

 

 

 

 

 

 

 

2

1/42

4/42

 

9/2

 

 

1

10/42

–2/42

 

5

 

 

 

10/42

82/42

 

85

 

Полученооптимальноерешение, ноэторешениенецелочисленно. 2. Вводится дополнительная строка:

 

4

3

 

2

1/42

4/42

9/2

1

10/42

–2/42

5

5

–1/42

–4/42

–1/2

 

10/42

82/42

85

Для перехода к допустимому базисному решению находится разрешающий элемент и преобразуется симплекс-таблица:

 

5

3

 

2

1

0

4

1

10

–1

0

4

–42

4

21

 

10

1

80

Все переменные целочисленные, следовательно, получено искомое решение:

x1 = 0, x2 = 4, x3 = 0, x4 = 21, Qmin = –80.

2.8. Транспортная задача

Транспортная задача является разновидностью ЗЛП [4].

2.8.1. Постановка задачи

Дано:

n потребителей: 1...n. m складов: 1...m.

50

Соседние файлы в папке книги