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

2701

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

Будем обозначать оптимальное решение задачи ЛП (4.1) - (4.3) вектором x(D, с), а оптимальное целочисленное решение задачи ЦЛП (4.1) - (4.4) — вектором х(Dц, с).

Условие целочисленности (4.4) приводит к тому, что задача ЦЛП отличается от задачи ЛП следующими свойствами:

- максимальное значение линейной формы в задаче ЦЛП меньше, чем максимальное значение этой же линейной формы в задаче ЛП:

T, х (Dц, с)) ≤ (сT, х (D, с));

-оптимальное решение задачи ЦЛП х (Dц, с) может находиться и внутри области допустимых решений D (в то время как в задаче ЛП оптимальное решение х (D, с) достигается только в крайних точках многогранника условий D);

-в задаче ЦЛП, кроме глобального максимума, могут существовать решения, которые являются локальными максимумами по отношению к соседним точкам решетки Dц;

-в задаче ЦЛП оптимальное решение может содержать все n управляемых переменных с положительным знаком, в то время как в невырожденной задаче ЛП число строго положительных переменных равно числу линейных ограниче-

ний (4.2).

Одним из подходов к решению задачи ЦЛП является

алгоритм

 

, реализующий метод округления, который

включает в

себя следующие действия.

 

 

1.Условие целочисленности (4.4) исключается из рассмотрения и с помощью симплекс-метода определяется оптимальное решение х (D, с) задачи ЛП (4.1) - (4.3).

2.Если полученное оптимальное решение х (D, с) удовлетворяет условию целочисленности (4.4), то исходная задача ЦЛП (4.1) - (4.4) решена: х (Dц, с) = х (D, с ). В противном случае переходят к следующему шагу.

91

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

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

5.В качестве оптимального решения выбирается то целочисленное решение х (Dц, с) Dц, для которого линейная форма принимает максимальное значение.

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

В качестве иллюстрации метода округления рассмотрим решение следующей задачи ЦЛП:

max {21х1 + 11х2}

(4.5)

при условии, что:

7x1 + 4x2 ≤ 13; x1 ≥ 0, x2 ≥ 0;

x1, x2 — целые числа.

Оптимальным решением х (D, с) задачи ЛП является

крайняя точка 1 ,0 , в которой значение линейной формы

равно 39 (рис. 4.1,а), в то время как для задачи ЦЛП точка (1,1) ц является локальным максимумом со значением линейной формы, равным 32, а точка (0,3) ц — глобальным максимумом со значением линейной формы, равным 33 (рис.

92

4.1, б). Согласно методу округлений произведем округление нецелочисленной компоненты х1 оптимального решения х(D,с) до ближайших целых чисел 1 и 2 (рис. 4.2). Целочисленное решение (2,0) не принадлежит области допустимых решений Dц, а допустимое целочисленное решение (1,0) со значением линейной формы, равным 21, находится далеко от истинного оптимального решения х (Dц, с) = (0,3).

а

б

Рис. 4.1. Области допустимых решений D = {7x1 + 4x2 ≤ 13, x1

≥ 0, x2 ≥ 0} задачи ЛП (а) и Dц = {(0,0), (0,1), (0,2), (0,3), (1,0), (1,1)} задачи ЦЛП (б)

Недостатки, свойственные методу округления, можно исключить, если исходную задачу ЦЛП свести к вспомогательной задаче ЛП, связанной с максимизацией линейной формы (4.1) на множестве допустимых решений, которые принадлежат выпуклой линейной оболочке V(Dц) совокупности допустимых целочисленных точек Dц:

max ( ц){∑

}

(4.6)

93

 

 

Рис. 4.2. Дерево целочисленных решений, полученное с помощью метода округлений

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

Выпуклую оболочку V(Dц) можно представить конечным множеством линейных ограничений. Например, для задачи ЦЛП (4.5) выпуклая линейная оболочка V(Dц) задается системой линейных ограничений: {2х1 + x2 ≤ 3; х1 ≤ 1; х1 ≥ 0; х2 ≥ 0} (рис. 4.3). В общем случае найти в явном виде систему линейных ограничений, задающих множество V(Dц), задача не менее трудная, чем решение исходной задачи ЦЛП. Однако, в сущности, все линейные ограничения, задающие выпуклую оболочку V(Dц), знать не обязательно. Достаточно построить такую вспомогательную задачу ЛП (4.6), для которой выполняются следующие два условия:

-множество целочисленных решений совпадает с областью допустимых решений Dц исходной задачи ЦЛП;

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

94

Рис. 4.3. Выпуклая оболочка V(Dц) = {xц 2x1 + x2 ≤ 13; 0 ≤ x1 ≤ 1; x2 ≥ 0} множества допустимых целочисленных решений Dц

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

1. Условие целочисленности (4.4) исключается из рассмотрения и в качестве текущей вспомогательной задачи ЛП используется задача (4.1) - (4.3) с областью допустимых решений Dr = D.

2. С помощью симплекс-метода определяется оптимальное решение х (Dr, с) текущей вспомогательной задачи ЛП. Если вектор х (Dr, с) является целочисленным решением, то исходная задача ЦЛП решена: х (Dц, с) = х (Dr, с). В противном случае, если в оптимальном решении х (Dr, с) имеются

95

нецелочисленные компоненты, то переходим к следующему шагу.

3. В нецелочисленном оптимальном решении х (Dr, с) Dr выбирается базисная переменная хk = xk(Dr, с), которой соответствует число с наибольшей дробной частью:

{xk} = xk – [xk],

где [xk] — целая часть действительного числа хk (наибольшее целое число, меньшее или равное хk);

{хk} — дробная часть действительного числа xk.

4. Для выбранной базисной переменной Хк составляется дополнительное линейное ограничение:

( , ) ≥ ,

(4.7)

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

- свойством отсечения: полученное на предыдущем шаге нецелочисленное решение х (Dr, с) не удовлетворяет неравенству (4.7):

, ( , ) < ,

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

- свойство правильности: любое целочисленное решение задачи ЦЛП из области допустимых решений ц( ц ц) заведомо удовлетворяет неравенству (4.7):

( , ц) ≥ .

96

5. Дополнительное правильное отсечение (4.7) присоединяется к линейным ограничениям предыдущей задачи ЛП, что превращает область допустимых решений Dr в многогранник условий Dr+1 в котором оптимальное решение х(Dr,с) становится недопустимым. Построенная таким образом расширенная задача ЛП рассматривается теперь как текущая вспомогательная задача ЛП и все вычисления повторяются с шага 2.

Остановимся теперь более подробно на процедуре построения правильного отсечения (4.7).

Пусть х(Dr, с) — оптимальное решение текущей задачи ЛП, полученное с помощью метода симплекс-таблиц, которое не удовлетворяет условию целочисленности (4.4). Тогда для некоторого k (1 ≤ k ≤ m) базисная переменная xk = xk(Dr,с), находящаяся в k-й строке последней симплекс-таблицы, где все оценки j ≤ 0, j = 1, n, имеет значение xk0 — нецелое число из столбца констант:

часть среди{

} = max

xk0 = [xk0] + {xk0},

 

(4.8)

{ } > 0

 

k0

 

дробная

где

 

 

— наибольшая

базисных переменных (0 ≤ {х

 

} < 1}; N — множе-

ство индексов внебазисных переменных в оптимальном решении х (Dr, с).

Тогда правильное отсечение (4.7) задается с помощью

неравенства:

 

( ) = ∑

− { } ≥ 0,

 

где xj,

 

(4.9)

 

 

r

 

 

— внебазисные переменные в

 

оптимальном решении х (D , с);

 

{xkj},

 

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

 

разложения из k-й строки последней симплекс-

таблицы (0 ≤ {хkj} < 1).

97

Полученное линейное ограничение (4.9) обладает следующими свойствами.

Если хц- допустимое целочисленное решение задачи ЦЛП (хцDц), тогда Zk(xц) - целое неотрицательное число (Zk(xц) ≥ 0); для оптимального решения х (Dr, с) справедливо неравенство:

Zk(x(Dr, C)) < 0,

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

Рассмотрим в качестве иллюстрации метода отсечений решение задачи ЦЛП (4.5).

Запишем текущую задачу ЛП в канонической форме:

min{-21x1

– 11x2}

(4.10)

при условии, что

 

 

7x1 + 4x2

+ x3 = 13;

(4.11)

xj ≥ 0,

= 1,3

(4.12)

Первой и второй симплекс-таблицам решения задачи ЛП (4.10) - (4.12) соответствуют рис. 4.4 и 4.5.

 

 

x3

x1

x2

 

 

 

 

 

ключевая

x3

13

1

[7]

4

 

 

строка

 

0

0

21

11

 

 

 

 

 

 

 

ключевой

столбец

Рис.4.4. Первая симплекс-таблица решения задачи ЛП

98

 

 

x3

x1

x2

x1

1 6/7

1/7

1

4/7

 

-39

-3

0

-1

Рис.4.5. Вторая симплекс-таблица решения задачи ЛП

Оптимальное решение х ( ,с) = (1 ,0) является не-

целочисленным решением. Следовательно, согласно соотношению (4.9) для базисной переменной х1 (рис. 4.5) можем записать правильное отсечение:

или

6

+

1

+

4

≥ 0

 

 

7

x37+ 4x2

7

(4.13)

 

 

 

 

 

 

≥ 6.

Подставляя в (4.13) значение х3, полученное из равенства (4.11) как функция от х1 и x2, окончательно для дополнительного линейного ограничения получаем неравенство x1 ≤ 1.

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

min {-21x1 – 11х2}

(4.14)

при условии, что

7x1 + 4х2 + х3 = 13;

(4.15)

x1 + x4 = 1;

(4.16)

xj ≥ 0, = 1,4

(4.17)

Первой, второй и третьей симплекс-таблицами решения задачи ЛП (4.14) – (4.17) соответствуют рис. 4.6 – 4.8.

99

 

 

x3

x4

x1

x2

x3

13

1

0

1

4

x4

1

0

1

[1]

0

 

0

0

0

21

11

ключевая ключевой строка столбец

Рис. 4.6. Первая симплекс-таблица решения задачи ЛП

 

 

x3

 

x1

x2

 

 

x3

6

1

-7

0

[4]

 

 

 

ключевая

x1

1

0

1

1

0

 

 

строка

 

-21

0

-21

0

11

 

 

 

 

 

 

 

 

 

 

 

ключевой

столбец

Рис. 4.7. Вторая симплекс-таблица решения задачи ЛП

.

 

 

 

 

x3

 

x4

x1

x2

 

x2

1

 

1

 

 

1

4

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

7

 

 

 

7

 

 

 

2

 

 

 

 

 

 

 

-39

 

-3

 

 

0

-1

 

Рис.4.8. Третья симплекс-таблица решения задачи ЛП

Оптимальное решение х (D2, с) = (1, 1 ) является неце-

лочисленным решением. Следовательно, согласно соотношению (4.9) для базисной переменной x2 из рис. 4.8 можем записать правильное отсечение:

100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]