Материал: 3376

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Количество заполненных клеток равно m n 1 3 4 1 6, поэтому построенный опорный план (обозначим его X 2 ) является невырожденным. Подсчитаем стоимость всех перевозок:

F X 2 20 30 20 20 40 5 40 5 60 2 80 18 2960 р.

Так как F X 2 F X 1 , то в качестве исходного опорного плана при

применении метода потенциалов выберем план X 2 .

Составим систему уравнений для нахождения потенциалов:

u1 v2 20,u1 v3 40,u2 v3 60,u2 v4 80,u3 v1 20,u3 v3 40.

Положим v3 0 . Тогда u1 40 , u2 60 , u3 40 , v2 20 , v4 20 , v1 20 . Проверяем, выполнено ли неравенство (12.4) для пустых клеток таблицы 12.4:

u1 v1 40 ( 20) 20 40, u1 v4 40 20 60 70,

u2 v1 60 ( 20) 40 70, u2 v2 60 ( 20) 40 60, u3 v1 40 ( 20) 20 20, u3 v4 40 20 60 50 c34.

Видим, что неравенство (6.4) не выполнено для клетки (3;4), поэтому план X 2 не является оптимальным. Составим цикл, соответствующий клетке (3;4), и пометим его клетки знаками + и – (см. табл. 6.5).

Таблица 6.5

+

c23

 

c24

 

2

 

 

18

 

 

 

 

 

c33

 

+

c34

 

 

23

 

 

 

 

5

 

 

Наименьшая величина перевозки в клетках со знаком – равна 5.

Помещаем эту величину в клетку (3;4) и делаем изменения в остальных клетках

цикла. Приходим к опорному плану (обозначим его X 3 ), записанному в табл.

12.6.

 

 

 

 

 

 

 

 

 

 

Таблица 6.6

 

Bj

B1

B2

B3

B4

Ai

 

30

20

12

18

A1

25

40

20

40

70

 

20

5

 

 

 

 

 

A2

20

70

60

60

80

 

 

7

13

 

 

 

 

A3

35

20

20

40

50

30

 

 

5

 

 

 

 

Подсчитаем стоимость всех перевозок:

 

 

F X 3 20 20 40 5 60 7 80 13 20 30 50 5 2910 р.

Видим, что новый план выгоднее предыдущего.

Переходим к следующему шагу. Составляем систему уравнений для нахождения потенциалов:

u1 v2 20,u1 v3 40,

u2 v3 60,u2 v4 80,

u3 v1 20,u3 v4 50.

Полагаем u1 0 . Тогда

v2 20 ,

v3 40 ,

u2 20,

v4 60 ,

u3 10 ,

v1 30 . Проверяем, выполнено ли неравенство (6.4) для пустых клеток таблицы

12.6:

24

u1 v1 0 30 40, u1 v4 0 60 70, u2 v1 20 30 70, u2 v2 20 20 60,

u3 v2 10 20 20, u3 v3 10 40 40.

Итак, неравенство (6.4) выполнено для всех пустых клеток последней таблицы. Следовательно, план X 3 является оптимальным.

Ответ: транспортные расходы являются минимальными при плане перевозок, содержащемся в таблице 6.6.

7. МЕТОД ОТСЕЧЕНИЙ РЕШЕНИЯ ЗАДАЧ

ЦЕЛОЧИСЛЕННОГО ПРОГРАММИРОВАНИЯ

Рассмотрим задачу целочисленного программирования: найти максимум (или минимум) линейной функции (5.1) при условиях (3.1), (5.2), а также при дополнительном условии:

x j – целые числа, j 1, 2, ..., n

(условия целочисленности).

Напомним, что целой частью b числа b называется наибольшее целое число,

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

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

2. Проверяем, является ли полученный оптимальный план целочисленным. Если оптимальный план удовлетворяет условию целочисленности, то процесс решения заканчивается. Иначе переходим к следующему этапу.

25

3. На основании последней симплексной таблицы составляем неравенство Гомори

hi0 j x j fi0 ,

j

где fi0 – наибольшее из значений дробных частей свободных членов (правых

частей), то есть fi

m a x fi ,

а hi

j – дробные части коэффициентов

0

i

0

 

при свободных неизвестных в строке с номером i0 . Неравенство Гомори добавляется к системе ограничений, в результате чего получается новая задача линейного программирования. После этого переходим к пункту 1.

Пример 7.1.

Доски длинной l 3,5 м, имеющиеся в достаточном количестве, нужно

распилить на заготовки двух видов: длиной l1 1 м и длиной l2

1,5 м, причем

заготовок первого вида должно быть получено не менее

n1 57 штук и

заготовок второго вида не менее n2 70 штук.

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

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

Решение.

Определим все возможные способы распила доски на заготовки нужной длины. Доску длиной 3,5 м можно распилить:

1)на 3 заготовки первого вида (длиной 1 м);

2)на 2 заготовки второго вида (длиной 1,5 м);

3)на 2 заготовки первого вида и 1 заготовку второго вида, причем в последнем случае доска раскраивается без остатка.

26

Пусть x1 , x2 , x3 – число досок, распиливаемых первым, вторым и третьим способами соответственно. Очевидно, x1 , x2 , x3 – целые неотрицательные числа.

Количество заготовок длиной 1 м и 1,5 м, полученных при использовании

всех трех

способов раскроя, составит

соответственно

3x1 2x3

штук и

2x2 x3 штук, а общее

количество

распиленных

досок

составит

x1 x2 x3

штук.

 

 

 

 

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

 

F X x1

x2 x3

 

(7.1)

 

при условиях, что переменные x1 , x2 , x3 удовлетворяют системе неравенств

3x1

2x3

57,

(7.2)

 

x3 70,

2x2

 

неотрицательны и, кроме того, целочисленны.

Введем дополнительные переменные x4 , x5 ( x4 0, x5 0 ) и заменим систему неравенств (7.2) системой уравнений

3x1 2x3 x4 57,

2x2 x3 x5 70,

или эквивалентной ей системой уравнений

x

 

2

 

x

 

 

1

 

x

 

19,

 

 

 

 

 

 

1

 

3 3

 

3

 

4

(7.3)

 

 

 

1

 

 

 

 

1

 

 

x

 

 

x

 

 

x

35.

2

2

 

 

 

 

 

 

 

 

2

 

 

 

 

 

3

 

 

 

 

 

5

 

Таким образом, мы получили задачу целочисленного программирования: требуется найти минимум функции (7.1) при условиях (7.3), где x j , j 1, 2, ..., 5

– неотрицательные целые числа.

Перейдем от этой задачи к следующей задаче: найти максимум функции

F X x1 x2 x3

(7.4)

 

27

Источник: https://studfile.net/preview/16413408/