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

ИсследОпераций

.pdf
Скачиваний:
36
Добавлен:
08.05.2015
Размер:
4 Мб
Скачать
☆

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

т.д. до тех пор, пока решение очередной ЗЛП не будет удовлетворять требованию целочисленности.

Конкретные алгоритмы различных методов отсечения определяются конкретными способами построения правильных отсечений. Наиболее известны алгоритмы Гомори и их модификации.

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

§ 2. Построение правильного отсечения методом Гомори

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

ла a

0 a 1

и a a a . Так, например, 5,3 5 ,

5,3 0,3 и

5,3 5,3 5,3 ;

3,6 4, 3,6 0,4 и 3,6 3,6 3,6 .

Рассмотрим предложенный Гомори метод построения правильного отсечения для полностью целочисленных ЗЛП. Не умаляя общности рассуждений, ограничимся случаем ЗЛП с четырьмя переменными и двумя ограничениями

min z c , x

,

x E4 ,

 

Ax B,

B E2 ,

(2.1)

x 0,

 

 

 

 

на все переменные которой наложено требование целочисленности

 

 

 

 

 

 

xk – целые,

k 1, 4 .

(2.2)

Отбросив условие целочисленности (2.2), получим каноническую ЗЛП (2.1). В предположении, что решение этой задачи существует, решим ее сим- плекс-методом.

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

a x a x x

b ,

 

 

11

1

12

2

3

1

(2.3)

a21x1 a22 x2

 

x4 b2.

 

93

Известно, что система (2.3) равносильна системе ограничений задачи (2.1), а ее основное опорное решение x 0, 0, b1, b2 является оптимальным планом зада-

чи (2.1).

Теорема 2.1. Если число bk ( k 1 или 2) – нецелое, то неравенство

ak1 x1 ak 2 x2 bk

является правильным отсечением.

 

Д о к а з а т е л ь с т в о. Пусть b1 – нецелое число (случай, когда b2

– неце-

лое, аналогичен). Проверим, что неравенство

 

a11 x1 a12 x2 bk

(2.4)

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

Подставив компоненты плана x в неравенство (2.4), получим 0 b1 , что невозможно, так как по условию b1 – нецелое и, следовательно, b1 0. Значит,

оптимальный нецелочисленный план задачи (2.1) не удовлетворяет неравенству

(2.4).

Пусть теперь x x1, x2, x3, x4 – произвольный целочисленный план задачи

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

a11 a11 x1 a12 a12 x2 x3 b1 b1 .

Перепишем полученное равенство следующим образом

a11 x1 a12 x2 x3 b1 b1 a11 x1 a12 x2 .

(2.5)

Левая часть равенства (2.5) является целым числом, тогда и правая часть – целое число. Кроме того

b1 a11 x1 a12 x2 b1 1.

(2.6)

Учитывая неравенство (2.6) и доказанную целочисленность его левой части, получаем, что

b1 a11 x1 a12 x2 0

или

a11 x1 a12 x2 b1 .

Таким образом, все целочисленные планы задачи (2.1), (2.2) удовлетворяют

неравенству (2.4), а для компонент плана x это неравенство не выполняется. Следовательно, неравенство (2.4) является правильным отсечением.

94

§ 3. Алгоритм метода Гомори

Пусть дана полностью целочисленная ЗЛП. Процесс ее решения методом Гомори включает следующие этапы:

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

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

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

 

ae1

ae2

 

…

aen

 

be

 

 

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

 

 

ae1 x1 ae2 x2

... aen xn bn .

(3.1)

Вводя неотрицательную дополнительную переменную

xn 1 ,

преобразуем нера-

венство (3.1) в равенство. Изменяя знак у обеих частей полученного равенства (так чтобы новая переменная xn 1 входила в него с коэффициентом 1), приведем

его к виду

ae1 x1 ae2 x2 ... aen xn xn 1 be .

(3.2)

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

шив полученную ЗЛП, возвращаемся к этапу 2 данного алгоритма.

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

Пример 1. Решить ЗЛП

min z 3x1 x2 ,

4x1 x2 5,

 

 

x2 2,

 

 

 

xk 0,

xk целые,

k 1, 2.

 

95

 

Р е ш е н и е. Применяя метод Гомори, решаем сначала данную ЗЛП без учета требования целочисленности переменных. Для этого преобразуем задачу к канонической форме

min z 3x1 x2 ,

5,

x x 2,

2 44x1 x2 x3

 

 

 

xk 0,

k 1,4

инайдем симплекс-методом ее решение (табл. 9).

Встолбце B завершающей симплексной таблицы есть нецелые числа. Поэтому нужно перейти к новой ЗЛП, добавив к системе ограничений задачи (3.3) правильное отсечение

1

x

 

3

x

 

3

,

(3.4)

 

 

 

4

3

 

4

4

 

4

 

 

записанное по первой строке завершающей симплексной таблицы (табл. 9). Преобразовав неравенство (3.4) к виду

 

1

x

 

3

x

x

 

3

x

0 ,

(3.5)

 

 

 

 

4

3

 

4

4

5

 

4

5

 

 

составим первую симплексную таблицу новой задачи (табл. 10). Она получается из завершающей таблицы (табл. 9) добавлением строки соответствующей новому ограничению (3.5) и столбца переменной x5

 

 

 

 

 

 

 

 

 

Таблица 9

 

 

 

 

 

 

 

 

 

 

 

1)

 

cбаз

 

xбаз

x1

x2

x3

x4

 

B

 

 

3

1

0

0

 

 

 

 

 

 

 

 

 

0

 

x3

4

1

1

0

 

5

 

 

 

 

 

 

 

 

 

 

 

 

0

 

x4

0

1

0

1

 

2

 

 

 

 

z

3

1

0

0

 

0

 

 

 

 

 

2)

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

1

1 / 4

1 / 4

0

 

5 / 4

 

 

 

 

x4

0

1

0

1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

0

1 / 4

3 / 4

0

 

15 / 4

3)

 

 

 

x1

1

0

1 / 4

1 / 4

 

3 / 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

0

1

0

1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

0

0

3 / 4

1 / 4

 

17 / 4

96

 

 

 

 

 

 

 

 

Таблица 10

 

 

 

 

 

 

 

 

 

 

xбаз

x1

x2

x3

 

x4

 

x5

 

B

x1

1

0

1 / 4

 

1 / 4

 

0

 

3 / 4

x2

0

1

0

1

 

0

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x5

0

0

1 / 4

 

3 / 4

 

1

 

3 / 4

 

 

 

 

 

 

 

 

 

 

z

0

0

3 / 4

 

1 / 4

 

0

 

17 / 4

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

Таблица 11

 

 

 

 

 

 

 

xбаз

x1

x2

x3

x4

x5

B

x1

1

0

1 / 3

0

1 / 3

1

x2

0

1

1 / 3

0

4 / 3

1

 

 

 

 

 

 

 

x4

0

0

1 / 3

1

4 / 3

1

z

0

0

2 / 3

0

1 / 3

4

Так как

все элементы столбца B в табл. 11 – целые числа, план

x 1,1, 0,1, 0

оптимален не только для построенной ЗЛП, но и для исходной за-

дачи. Таким образом, для данной целочисленной ЗЛП

 

xопт 1,1 ,

zmin 4.

97

ГЛАВА 6. ТРАНСПОРТНАЯ ЗАДАЧА

§ 1. Постановка транспортной задачи

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

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

 

Пусть m поставщиков располагают ai i

 

единицами некоторой про-

1, m

дукции, которая должна быть

доставлена n потребителям в количествах b j

j

 

. Известны стоимости cij

перевозки единицы продукции от i -го постав-

1, n

щика к j -му потребителю. Требуется установить такие объемы перевозок xij от

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

m

Очевидно, что общий объем возможных поставок продукции равен ai , а

 

 

i 1

n

 

 

объем потребностей – bj . Если выполняется равенство

 

j 1

 

 

m

n

 

ai bj ,

(1.1)

i 1

j 1

 

т.е. сумма возможных поставок в точности равна сумме потребностей, то соответствующая ТЗ называется закрытой. Если же равенство (1.1) не выполняется, то говорят об открытой ТЗ.

Обычно условие закрытой ТЗ записывают в виде транспортной таблицы (табл. 12).

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

ствующей перевозки xij .

Отметим очевидные свойства транспортной таблицы (табл. 12):

1)сумма значений xij в клетках i -ой строки равна ai ;

2)сумма значений xij в клетках j -го столбца равна b j ;

98

3) сумма элементов последнего столбца равна сумме элементов последней строки.

 

 

 

 

 

 

 

 

Таблица 12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c11

c12

 

c13

 

…

 

c1n

 

a1

 

 

x11

x12

 

x13

 

x1n

 

 

 

 

 

 

 

 

 

 

 

c21

c22

 

c23

 

…

 

c2n

 

a2

 

 

x21

x22

 

x23

 

x2n

 

 

 

 

 

 

 

 

 

 

 

…

…

 

…

 

…

 

…

 

…

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cm1

cm2

 

cm3

 

…

 

cmn

 

am

 

 

xm1

xm2

 

xm3

 

xmn

 

 

 

 

 

 

 

 

 

 

 

b1

b2

 

b3

 

…

 

bn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Составим математическую модель закрытой ТЗ. Так как от i -го поставщи-

ка к j -му потребителю запланировано перевезти xij

единиц продукции, то стои-

мость такой перевозки составит

cij xij . Стоимость же всех перевозок выразится

двойной суммой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

n

 

 

 

 

 

 

 

 

 

z cij xij .

 

 

 

 

 

 

 

 

 

i 1

j 1

 

 

 

 

 

Систему ограничений получаем из следующих условий закрытой ТЗ: а) все запасы продукции у поставщиков должны быть вывезены, т.е.

n

xij ai , i 1, m ;

j 1

б) все запросы потребителей должны быть удовлетворены, т.е.

m

 

 

 

xij bj ,

 

 

 

j 1, n .

i 1

 

 

 

Таким образом, математическая модель закрытой ТЗ имеет следующий вид

 

m

 

n

 

 

 

 

 

 

min z cij xij ,

 

i 1

j 1

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xij ai ,

i 1, m;

j 1

 

 

 

 

(1.2)

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

j 1, n,

xij bj ,

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xij 0,

i 1,m;

j 1,n .

 

99

 

 

 

 

 

 

 

 

Очевидно, что это каноническая ЗЛП с m n переменными и m n ограничениями.

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

 

 

 

 

m

n

продукции над ее потребностями, т.е.

ai

bij , вводится фиктивный n 1 -й

 

 

 

 

i 1

j 1

 

 

 

m

 

n

 

 

 

потребитель с потребностью bn 1 ai bj и соответствующие стоимости cij

 

 

 

i 1

 

j 1

считаются равными нулю: ci n 1 0

i

 

.

1, m

 

m

n

 

 

 

 

 

 

Аналогично, при

ai

bj

вводится фиктивный m 1 -й поставщик с

 

i 1

j 1

 

 

 

 

 

 

 

n

m

 

со стоимостями cm 1, j 0 j

 

.

запасом продукции am 1

bj ai

 

1, n

 

j 1

i 1

 

 

 

 

 

 

§ 2. Разрешимость закрытой ТЗ

Теорема 2.1. Любая закрытая ТЗ имеет решение.

Д о к а з а т е л ь с т в о. Пусть дана задача (1.2), у которой

 

 

 

 

 

 

 

m

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ai bj S 0 .

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

Тогда величины xij

aibj

 

i

 

 

 

;

 

j

 

являются планом этой ТЗ, так как они

 

1, m

1,n

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

удовлетворяют ее системе ограничений. Действительно,

подставляя значения xij

в систему ограничений задачи (1.2), находим:

 

 

 

 

 

 

 

 

 

n

 

n

a b

 

 

 

 

a

 

n

 

 

a

 

 

 

 

 

 

 

 

xij

j

 

 

 

 

bj

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

i

S ai ,

i 1,m .

 

 

 

 

 

 

 

 

 

 

j 1

j 1

S

 

 

 

 

S

 

j 1

 

 

S

 

 

 

 

 

m

 

m

a b

 

 

 

 

b

 

 

m

 

b

 

 

 

 

 

 

 

 

 

xij

 

 

 

 

 

 

 

ai

 

 

 

 

 

 

 

 

 

 

i

j

 

 

j

 

 

 

j

 

 

S bj ,

j 1,n .

 

 

 

 

 

 

 

 

 

i 1

i 1

S

 

 

 

 

S i 1

 

S

 

 

 

 

 

 

 

 

Выберем из чисел cij наибольшее c и,

заменив в целевой функции задачи

(1.2) все коэффициенты на c , получим, что для любого плана этой задачи

 

 

 

 

m

 

n

 

 

 

 

 

m

 

 

 

 

n

 

(2.1)

 

z cij xij c xij

c S .

 

 

 

i 1

j 1

 

 

 

 

 

 

i 1

 

j 1

 

 

 

 

 

Кроме того очевидно, что

100

m

n

 

z cij xij 0 .

(2.2)

i 1

j 1

 

Объединяя неравенства (2.1), (2.2) в одно двойное, получаем, что для любого

плана задачи (1.2)

0 z c S .

Таким образом, допустимое множество задачи (1.2) не пусто, а ее целевая функция ограничена на этом множестве. Следовательно, по теореме 3.1 главы 2 задача 2.1 имеет решение.

§3. Понятие цикла. Теорема о существовании цикла

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

1) в этом наборе не менее четырех клеток; 2) любые две последовательные клетки данного набора, включая послед-

нюю и первую, расположены в одном ряду (строке или столбце) таблицы; 3) никакие три последовательные клетки этого набора не находятся в одном

итом же ряду таблицы.

Так, например, в табл. 13 размером 5 6 циклами являются следующие наборы клеток:

1)(1,1), (1,2), (4,2), (4,1);

2)(4,4), (4,6), (1,6), (1,5), (5,5), (5,4).

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

 

 

 

 

 

 

Таблица 13

 

1

2

3

4

 

5

6

 

 

 

 

 

 

 

 

 

 

 

1

…

…

 

 

 

 

…

…

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

…

…

 

…

…..

…

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

…

…

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теорема 3.1. Если в таблице размером m n m 1, n 1 произвольным

образом выделено m n клеток, то в этой таблице существует по крайней мере один цикл, состоящий только из выделенных клеток.

Д о к а з а т е л ь с т в о. Рассмотрим произвольную таблицу размером m nm 1, n 1 , в которой выделено m n клеток. Вычеркнем в этой таблице все ее

101

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

ний, предположим, что при последнем вычеркивании (на k -м шаге)

было вы-

черкнуто mk mk 0 строк. Ход описанного процесса представим в виде следу-

ющей таблицы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер шага

1

2

3

…

k 1

 

k

 

 

 

 

 

 

 

 

 

 

 

 

Число вычеркнутых строк

m1

m2

m3

…

mk 1

 

mk

 

 

Число вычеркнутых столбцов

n1

n2

n3

…

nk 1

 

 

 

Покажем, что вычеркнуты не все выделенные клетки. Действительно, всего было вычеркнуто m m1 m2 ... mk строк и N n1 n2 ... nk 1 столбцов.

Очевидно, что M m , N n , где m и n соответственно число строк и столбцов в исходной таблице. Но равенство N n невозможно, так как при его выполнении после k 1 -го шага вычеркнута вся исходная таблица и на k -м шаге нельзя вы-

черкнуть ни одной строки. Значит

M m, N n . (3.1)

Поскольку в каждом вычеркнутом ряду содержалась одна выделенная клетка, количество вычеркнутых выделенных клеток M N . Но, ввиду неравенств (3.1), M N m n . Следовательно, в исходной таблице остались невычеркнутыми некоторые выделенные клетки. Кроме того в любом невычеркнутом ряду этой таблицы либо нет ни одной выделенной клетки, либо находится не менее двух выделенных клеток.

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

§ 4. Циклические и ациклические планы

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

ются занятыми, остальные клетки – свободными. Свободные клетки принято заполнять прочерками.

102