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

Методы решения задач оптимизации. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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 в новом базисе.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]