Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы решения задач оптимизации. Учебное пособие
.pdf
8.3. Метод отсекающих плоскостей
101
Оптимальным непрерывным решением является х1 =
1
4
2
, x2 =
1
3
2
,
x3 = 0, x4 = 0 и f =
1
66
2
. Целочисленное отсечение получается в предпо-
ложении, что все переменные задачи являются целочисленными. Так как
коэффициенты исходной целевой функции являются целочисленными, то
и значение f, соответствующее целочисленному решению, должно быть
целочисленным.
Информация, содержащаяся в симплекс-таблице, соответствующей
оптимальному решению, может быть записана в виде следующих уравнений:
f-уравнение: f +
63
22
x3 +
31
22
х4 =
1
66
2
,
x2-уравнение: х2 +
7
22
х3 +
1
22
х4 =
1
3
2
,
х1-уравнение: х1 –
1
22
х1 +
3
22
х4 =
1
4
2
.
Так как в этом примере f, х1 и х2 должны быть целочисленными и
все они на данный момент имеют дробные значения в оптимальной симплекс-таблице, любое из трех уравнений можно использовать в качестве
производящей строки для построения отсечения. Выберем (произвольно)
дли этой цели f-уравнение.
f +
63
22
x3 +
31
22
х4 =
1
66
2
(производящая f-строка).
Для построения дробного отсечения каждый из нецелочисленных
коэффициентов раскладывается на целую и дробную части при условии,
что дробная часть является строго положительной. Например,
5
2
=
1
2
2
,
7
3
=
2
3
3
.

8. Целочисленное линейное программирование
102
Разложение коэффициентов производящей f-строки приводит к
следующему уравнению:
f +
19
2
22
x3 +
9
1
22
х4 =
1
66
2
.
При переносе всех целочисленных слагаемых в левую часть уравнения, а всех дробных слагаемых в правую часть получаем следующее
уравнение:
f + 2х3 + х4 – 66 =
1
2
–
19
22
x3 –
9
22
х4.
Поскольку все переменные в рассматриваемой задаче принимают
целочисленные значения, левая часть последнего уравнения должна быть
целочисленной, откуда следует, что и правая часть также должна принимать целые значения. Перепишем ее следующим образом:
1
2
–
19
22
x3 –
9
22
х4 =
1
2
–
34
19 9
22 22
xx
.
Поскольку х3, х4 0, выражение в скобках является неотрицатель-
ным. Поэтому величина
1
2
–
19
22
x3 –
9
22
х4, будучи целочисленной, не мо-
жет превышать 1. Следовательно, необходимое условие целочисленности
можно записать следующим образом:
1
2
–
19
22
x3 –
9
22
х4 0.
Это и есть отсечение, порожденное f-строкой. Нетрудно убедиться,
что ранее найденное оптимальное непрерывное решение х1 =
1
4
2
, х2 =
1
3
2
,
х3 = 0, х4 = 0 не удовлетворяет отсечению. Действительно, так как х3 = х4 = 0,
отсечение не удовлетворяется (оно приводит к неравенству 1 0). Следова-

8.3. Метод отсекающих плоскостей
103
тельно, если мы присоединим отсечение к конечной симплекс-таблице, то
оптимальное решение новой симплекс-таблицы будет "двигаться" в
направлении выполнения ограничения целочисленности.
Можно таким же образом построить отсечение, исходя из произво-
дящей х1-строки или x2-строки. Рассмотрим сначала х1-строку. Имеем
x1 –
1
22
х3 +
3
22
х4 = 4
1
2
(производящая х1-строка).
Операция разложения приводит к уравнению
x1 +
1
1
22
х3 +
3
0
22
х4 =
1
4
2
.
Соответствующим отсечением является
–
21
22
х3 –
3
22
х4 +
1
2
0.
Аналогично,
x2 +
7
22
х3 +
1
22
х4 = 3
1
2
(производящая х2-строка)
записывается в виде
х2 +
7
0
22
х3 +
1
0
22
х4 =
1
3
2
.
Следовательно, в данном случае отсечение имеет вид
–
7
22
х3 –
1
22
х4 +
1
2
0.
Любое из трех отсечений может быть использовано на первой ите-
рации метода отсекающих плоскостей. Поэтому нет необходимости строить все три отсечения перед выбором одного из них.

8. Целочисленное линейное программирование
104
Выбирая (произвольно) отсечение, порожденное х2-строкой, записываем его следующим образом:
–
7
22
х3 –
1
22
х4 + s1 = –
1
2
, s1 0 (отсечение 1).
Это ограничение добавляется в качестве дополнительного в оптимальную симплекс-таблицу задачи линейного программирования.
Базис
x1
х2
x3
х4
s1
Решение
f 0 0
63/22
31/22 0 66,5
x2 0 1
7/22
1/22 0 3,5
x1 1 0
–1/22
3/22 0 4,5
s1 0 0
–7/22
–1/22 1 –0,5
Таблица представляет оптимальное, но недопустимое решение. Для
восстановления допустимости решения применим двойственный симплекс-метод, что приведет к следующей симплекс-таблице.
Базис
x1
х2
x3
х4
s1 f 0 0 0 1 9
х2 0 1 0 0
1
x1 1 0 0 1/7
–1/7
4
7
x3 0 0 1 1/7
–22/7
4
7
Из-за дробных значений переменных x1 и х3 последнее решение все
еще нецелочисленное. Выберем x1-строку в качестве производящей, т.е.
x1 +
1
0
7
x4 +
6
1
7
s1 =
4
4
7
.
Соответствующее отсечение имеет вид
–
1
7
x4 –
6
7
s1 + s2 = –
4
7
, s2 0 (отсечение 2).
Присоединяя отсечение 2 к последней симплекс-таблице, получаем
следующее.

8.3. Метод отсекающих плоскостей
105
Базис
x1
х2
x3
х4
s1
s2
Решение
f 0 0 0 1 9 0
62
х2 0 1 0 0 1 0
3
x1 1 0 0 1/7
–1/7
0
4
4
7
x3 0 0 1 1/7
–22/7
0
1
4
7
s2 0 0 0 –1/7
–6/7 1 –4/7
Применение двойственного симплекс-метода приводит к следую-
щей симплекс-таблице.
Базис
x1
х2
x3
х4
s1
s2
Решение
f 0 0 0 0 3 7
58
х2 0 1 0 0 1 0 3 x1 1 0 0 0
–1 1 4
x3 0 0 1 0
–4 1 1
х4 0 0 0 1 6 –7
4
Оптимальное решение (х1 = 4, x2 = 3, f = 58), определяемое послед-
ней симплекс-таблицей, является целочисленным. То, что все элементы
данной симплекс-таблицы являются целочисленными, не случайность.
Это типичное явление при использовании дробных отсечений.
Важно подчеркнуть, что применение дробного отсечения предполагает целочисленность всех переменных, включая дополнительные. Это
значит, что данный метод применим только к решению полностью целочисленных задач.
Важность этого продемонстрируем на следующем примере. Рассмотрим ограничение
х1 +
1
3
х2
13
2
,
х1, х2 0 и целые.
С точки зрения решения соответствующей задачи ЦЛП это ограничение преобразуется в уравнение путем введения неотрицательной дополнительной переменной s1, т.е.
х1 +
1
3
х2 + s1 =
13
2
.

8. Целочисленное линейное программирование
106
Применение дробного отсечения предполагает, что ограничение
имеет допустимое целочисленное решение по всем переменным, т.е. х1, х2
и s1. Рассмотрев это уравнение, можем сказать, что оно может иметь допустимое целочисленное решение переменных х1 и х2 лишь в том случае,
если переменная s1 принимает нецелочисленные значения. Следовательно,
применение дробного отсечения приведет к недопустимому целочисленному решению, так как все переменные х1, х2 и s1 не могут одновременно
быть целочисленными. Тем не менее ограничение имеет допустимые целочисленные решения для рассматриваемых переменных х1 и х2.
Есть две возможности исправить эту ситуацию [5].
1. Можно умножить все ограничения на соответствующую кон-
станту для устранения дробей. Например, приведенное выше ограничение
умножается на 6, что приводит к неравенству 6x1 + 2x2 39. Любое целочисленное решение переменных х1 и х2 автоматически дает целочисленное
значение дополнительной переменной. Однако этот тип преобразования
применим лишь для простых ограничений, так как значения необходимых
целочисленных коэффициентов в некоторых случаях могут быть чрезвычайно большими.
2. Можно использовать специальные отсечения, именуемые ча-
стично-целочисленными. Они ориентированы на решение задач, в которых лишь часть переменных должна принимать целочисленные значения,
а остальные (включая дополнительные) остаются непрерывными.

8.3. Метод отсекающих плоскостей
107
КРИТЕРИИ ОЦЕНКИ
Для комплексной оценки работы обучающихся на практическом
занятии используются следующие критерии.
Оценка «Отлично» (25–21 балл) выставляется, если студент:
1) посетил не менее 90 % учебного времени и пропущенные по
уважительной причине занятия были отработаны и сданы преподавателю;
2) полностью овладел практическими навыками и теоретически
может их обосновать;
3) на занятиях проявлял активность;
4) своевременно и точно выполнял задания преподавателя.
Оценка «Хорошо» (21–18 баллов) выставляется, если студент:
1) посетил не менее 80 % учебного времени, пропущенные занятия
отработаны и сданы преподавателю;
2) полностью овладел практическими навыками, но может допу-
стить некоторую неточность в их теоретическом обосновании;
3) на занятиях проявлял активность;
4) своевременно и точно выполнял задания преподавателя.
Оценка «Удовлетворительно» (17–15 баллов) выставляется, если
студент:
1) посетил не менее 70 % учебного времени, пропущенные занятия
отработал и сдал преподавателю;
2) овладел практическими навыками, которые не всегда может
полностью теоретически обосновать;
3) не достаточно активен на занятиях;
4) не всегда своевременно и точно выполнял задания преподавателя.
Оценка «Неудовлетворительно» (16 баллов и меньше) выставля-
ется, если студент:
1) пропустил более 70 % учебного времени, пропущенные занятия
не отработал;
2) не полностью овладел практическими навыками и не может их
теоретически обосновать;
3) пассивен на занятиях;
4) небрежен в выполнении заданий преподавателя.

Задания для самостоятельной работы
108
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
1. Для задачи из примера 4.1 найдите оптимальное допустимое ре-
шение среди следующих решений:
a) х1 = 1, х2 = 4; b) х1 = 3, х2 = 1,5; c) х1 =2, х2 = –1;
d) х1 = 2, х2 = 2; e) х1 = 2, x2 = 1.
2. Для каждого из следующих неравенств определите допустимое
полупространство, предполагая, что x1, х2 0:
a) –3x1 + х2 7; b) 2x1 – 3х2 8; c) –x1 + х2 0;
d) x1 – 2х2 5; e) x1 – x2 0.
3. Определите направление возрастания целевой функции f в сле-
дующих случаях:
a) максимизировать f = x1 – х2; b) максимизировать f = –x1 + 2х2;
c) максимизировать f = –5x1 – 6х2; d) максимизировать f = –3x1 + х2.
4. В рамках модели задачи из примера 4.1 определите угловые точ-
ки области допустимых решений, где достигается оптимальное решение
для следующих целевых функций (ЦФ):
a) f = 3x1 + х2; b) f = x1 + 3х2; c) f = 6x1 + 4х2.
5. Определите направление убывания следующих целевых функ-
ций:
a) минимизировать f = 4x1 – 2х2.
b) минимизировать f = –3x1 + х2.
c) минимизировать f = –x1 – 2x2.
6. В задаче
4х1 + x2 + 2x3 +2x4 +6x5 = 4,
х1 + 2x2 + 4x3 + x4 + 2x5 = 8
проверьте комбинации переменных (x1, x4), (x1, x5) и (x2, x3) и найдите решения системы уравнений.
7. Дана следующая задача ЛП.
Максимизировать f = 2х1 + 3х2

Задания для самостоятельной работы
109
x1 + 3x2 6,
3х1 + 2х2 6,
х1, х2 0,
a) запишите задачу в стандартной форме. Найдите все базисные ре-
шения этой задачи и определите, какие из них допустимые, а какие – нет;
b) путем непосредственной подстановки решений в целевую функ-
цию определите наилучшее допустимое базисное решение.
8. Путем перебора всех базисных решений найдите оптимальное
решение задачи.
Максимизировать f = 2х1 – 4х2 + 5х3 – 6х4 при ограничениях
x1 + 4х2 – 2x3 + 8х4 2,
–х1 + 2х2 + 3х3 + 4x4 1,
х1, х2, x3, х4 0.
9. Рассмотрите двухмерное пространство решений на рисунке. Опре-
делите графическим способом точку оптимума для целевой функции:
a) максимизировать f = 3х1 + 6х2;
b) минимизировать f = 4x1 + х2;
c) максимизировать f = 4x1 + х2.
10. Покажите, что все базисные решения следующей задачи ЛП не-
допустимы.

Задания для самостоятельной работы
110
Максимизировать f = x1 + х2 при ограничениях
x1 + 2x2 6,
2x1 + x2 16,
х1, х2 0.
11. Решите симплекс-методом следующую задачу ЛП.
Максимизировать f = 2х1 + х2 – 3х3 + 5х4.
х1 + 2х2 + 2х3 + 4х4 40,
2х1 – х2 + х3 + 2х4 18,
4х1 – 2х2 + х3 – х4 10,
x1, х2, х3, х4 0
12. Следующая таблица представляет отдельную итерацию сим-
плекс-метода. Все переменные неотрицательные.
Базис
x1
x2
x3
x4
x5
x6
x7
x8
Решение
z 0 –5 0 4
–1
–10 0 0
620
x8 0 3 0 –2
–3
–1 5 1
12
x3 0 1 1 3 1 0 3 0
6
x1 1 –1 0 0 6 –4 0 0
0
Определите исключаемую переменную, если вводимой является (1)
х2, (2) х3, (3)x4, (4)x5, (5)x6, и для каждой из вводимых переменных найдите
ее значение и вычислите значение целевой функции.
13. Дана следующая система уравнений:
х1 + 2х2 – 3х3 + 5х4 + x5 = 4,
5x1 – 2х2 + 6х4 + х6 = 8,
2х1 + 3х2 – 2х3 + 3х4 + х7 = 3,
–х1 + х3 + 2х4 + х8 = 0,
х1, х2, …, х8 0.
Переменные x5, x6, x7 и х8 составляют начальное допустимое базис-
ное решение. В базис вводится переменная x1. Определите, какую из переменных следует исключить из базиса, чтобы все переменные остались
неотрицательными. Найдите значение переменной x1 в новом базисе.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
