Аудит / Институциональная экономика / Информационные технологии в экономике / История экономики / Логистика / Макроэкономика / Международная экономика / Микроэкономика / Мировая экономика / Операционный анализ / Оптимизация / Страхование / Управленческий учет / Экономика / Экономика и управление народным хозяйством (по отраслям) / Экономическая теория / Экономический анализ Главная Экономика Оптимизация
Харчистов Б.Ф.. Методы оптимизации, 2004

МЕТОДЫ ОТСЕЧЕНИЙ


Методы отсечений относятся к численным методам решения дискретных задач оптимизации (методам дискретного про-граммирования). Они предназначены для решения целочисленных задач линейного программирования (ЛП). Идея методов отсечения состоит в следующем.
Первоначально решается обычная ("непрерывная") задача ЛП, полученная из исходной задачи отбрасыванием требования целочисленности. Если полученное решение является целочисленным, то оно будет также решением исходной задачи. Если нет, то к ограничениям исходной задачи добавляется новое линейное ограничение, обладающее двумя свойствами:
полученное нецелочисленное решение ему не удовлетворяет;
все целочисленные точки допустимого множества исходной задачи ему удовлетворяют.
Такое ограничение называется правильным отсечением.
Затем решается расширенная непрерывная задача ЛП, т.е. непрерывная задача с добавленным ограничением. Если полученное решение не является целочисленным, добавляется новое правильное отсечение и т. д. Процесс повторяется до тех пор, пока решение очередной расширенной непрерывной задачи ЛП не окажется целочисленным. Таким образом, решение целочисленной задачи ЛП сводится к решению некоторой последовательности обычных задач ЛП.
Геометрически добавление каждого такого линейного ограничения означает проведение гиперплоскости, отсекающей от многогранника допустимых решений очередной непрерывной задачи ЛП оптимальную точку с нецелочисленными координатами, но не затрагивающей ни одной из целочисленных точек этого многогранника. Поэтому методы, опирающиеся на эту идею, получили название методов отсечений.
Обозначим через Lk и х(k), k=0,1,..., соответственно k-ю расширенную непрерывную задачу ЛП и ее решение. Отметим, что L0 представляет собой исходную задачу без учета требова- ний целочисленности. Задача Lk+1 получается в результате добавления к ограничениям задачи Lk (k+1)-ro правильного отсечения.
Алгоритм решения целочисленной задачи ЛП методом отсечений заключается в следующем.
Решается задача ЛП L0.
Если задача L0 не имеет решения, то исходная задача не имеет целочисленного решения и вычисления завершаются.
Находится решение х(0) .
Если решение х(0) является целочисленным, то полагается х* = х(0), f *= f (х(0)) и вычисления завершаются.
Если решение х(0) не является целочисленным, то полагается k = 1 и осуществляется переход к п. 3.
Определяется k-е правильное отсечение, составляется задача Lk.
Решается задача ЛП Lk.
Если задача Lk не имеет решения, то исходная задача не имеет целочисленного решения и вычисления завершаются.
Находится решение х(k).
Если решение х(k) является целочисленным, то полагается х* = х(k), f * = f (х(k)) и вычисления завершаются.
Если решение х(k) не является целочисленным, то полагается k = k +1 и осуществляется переход к п. 3.
Конкретные способы построения правильных отсечений приводят к конкретным вычислительным алгоритмам.
На практическом занятии рассматривается первый (дробный) алгоритм Гомори, предназначенный для решения полностью целочисленных задач ЛП. Рассмотрим полностью целочисленную задачу ЛП:
n
f (х) = Z Cj^j ^ max ,
j=1
I aiJ xJ- < bt, i = 1, m,
j =1
xj >o, j = in,
xj - целые, j = 1, n.
Отметим, что для применения первого алгоритма Гомори все коэффициенты и правые части ограничений исходной задачи должны быть приведены к целочисленному виду.
Первоначально решается задача L0. Пусть решение x(0) этой задачи не является целочисленным. Согласно общему алгоритму, следует определить дополнительное ограничение (1-е правильное отсечение). Пусть последняя симплекс-таблица задачи L0 имеет следующий вид: Базис Своб. член /
x1 /
xm
x1
xn /
xi Ъ1 1 0 an a1n /
xm bm 0 1 am1 amn f ъ 0 0 0 С 1 cn Здесь через x', i = 1, m, обозначены базисные переменные,
а через xj , j = 1, n, - свободные переменные. Такая система
обозначений выбрана из соображений удобства.
Строки симплекс-таблицы, которым соответствуют нецелые значения базисных переменных, т. е. нецелые bi , называют
производящими. Каждая производящая строка задает правильное отсечение, которое определяется следующим образом: i-я производящая строка записывается в виде
(1+о) xi+I (a ]+a i)x; = b ]+[ъ,},
j=1
где [а] и {a} - соответственно целая и дробная части действи-тельного числа а, a = [a] + {a}.
Эта производящая строка задает правильное отсечение следующего вида:
n
-X{aj}х' + u =-{ь, ь
j=1
где u1 - неотрицательная дополнительная переменная, которая (по определению) должна принимать целые значения.
Выбор производящей строки для построения правильного отсечения осуществляется с помощью эмпирических правил. Первое из них предписывает выбирать производящую строку, которой соответствует
max{b},
i
второе - строку, которой соответствует
max
i
/ _ i n _ \ dt = {bi} X {aij}
i
i j =1
Если с помощью указанных правил не удается выбрать производящую строку для построения правильного отсечения, производящая строка выбирается произвольно.
В результате добавления к ограничениям задачи L0 дополнительного ограничения (1-го правильного отсечения) получаем задачу L1, т. е. L0,
n
L1
ж Z{aij }xy + u1 =-{bi }
j=1
u1 > 0. Наиболее удобным методом решения задачи L1 в указанной постановке является двойственный симплекс-метод. При этом дополнительная переменная u1 вводится в базис, а дополнительное ограничение добавляется к итоговой симплекс-таблице задачи L0.
Пример. Решить методом отсечений следующую цело-
численную задачу ЛП:
f (x) = 7 x1 + 9x2 ^ max .
x1 + 3x2 < 6 , 7 x1 + x 2 < 35 , x1 > 0 , x2 > 0 , x1,x2 - целые.
Решение.
Нулевой этап
Записываем задачу L0 (исходная задача без учета требования целочисленности):
f (x) = 7 x1 + 9x2 ^ max , - x1 + 3 x2 < 6, 7 x1 + x 2 < 35 , x1 > 0 , x2 > 0 .
Решаем задачу L0 симплекс-методом. Для этого преобразуем задачу к канонической форме, вводя дополнительные переменные x3 и x4:
f (x) = 7 x1 + 9x2 ^ max , - x1 + 3x2 + х3 = 6 , 7x1 + x2 + х4 = 35 ,
xj > 0, j = 14.
В качестве базисных выберем переменные x3 и x4. Таким образом, начальный базис Б0 = [x3, x4} . В результате приходим к табл. 10.1.
Из табл. 10.1 следует, что начальное допустимое базисное решение ДБР0 = (x3=6, x4=35). ДБР 0 не является оптимальным, поскольку в строке целевой функции есть отрицательные коэффициенты fx^ = -7, f = -9. Задача разрешима, поскольку в
столбцах x1 и x2 есть положительные коэффициенты. Находим Б1:? 6/3=2 35/1=35
i Базис Своб. член x1 x2 x3 x4 6 -1 3 1 0 x4 35 7 1 0 1 f 0 -7 -9 0 0 fx2 < 0 fx2 < Д ^ x2 вводим в базис, min {6/3 = 2, 35/1 = 35}= 2 ^ x3 ' выводим из базиса. Таким образом, Б1 = {x2, x4}. В результате приходим к табл. 10.2.
Таблица 10.2
i 9 2
33 Х 3 22 Базис Своб. член x1 x2 x3 x4 x2 2 1
3 1 1
3 0 x4 33 22 3 0 1
3 1 f 18 -10 0 3 0 Из табл. 10.2 следует, что ДБР1 = (х2 = 2, х4 = 33). ДБР1 не является оптимальным (fx =-10 < 0), задача разрешима (в
столбце x1 есть положительный коэффициент). Находим Б2 : fx < 0 ^ x1 вводим в базис,
x4 выводим из базиса. Таким образом, Б2 = {x1, x2}. В результате приходим к табл. 10.3.? Базис Своб. член Х1 Х2 Х3 Х4 х1 4i
2 1 0 1 22 3 22 Х2 31
2 0 1 7 22 1 22 f 63 0 0 2Ч 11 Д
11 2
41,31
22
Из табл. 10.3 следует, что ДБР2 = х, = 4 Ч, х2 = 3 - ДБР2 является оптимальным решением.
Таким образом, задача L0 имеет решение х(0) =
при этом f (х(0)) = 63.
Поскольку х(0) не является целочисленным, то выполняем 1-й этап.
Первый этап
Определяем первое правильное отсечение. Производящими являются 1-я и 2-я строки итоговой симплекс-таблицы задачи L0.
Поскольку (Ь1) = 2 и {b2} = 2, то первое правило не позволяет выбрать производящую строку для построения отсечения. Используем второе правило выбора производящей строки. Вычисляем d1 и d2 : d=2
3
Ч+Ч
22
71
Ч+Ч
22 22
11 8
24 , d2 = 2
v /
Поскольку di < d2, то для построения 1-го правильного отсечения выбираем 2-ю строку итоговой симплекс-таблицы задачи L0. 2-й строке соответствует равенство 7
1
1
0 + -
0+
x4 = 3 +
x3 +
22
22
2
(1 + 0) х2 + Следовательно, 1-е правильное отсечение имеет вид 1
1
7 Хл X Л I ^/l = " 22 3 22 4 1 2
Составляем задачу L1:
L0 7 22
Li
1
3
x4 + u1 =
22 u1 > 0.
Решаем задачу L1 двойственным симплекс-методом. В качестве базисных выберем переменные x1, x2, u1. Таким образом, Б0 = {x1, x2, u1}. В результате приходим к табл. 10.4.
Таблица 10.4
I Базис Своб. член Х1 Х2 Х3 x4 u1 Х1 41
2 1 0 1 22 3 22 0 Х2 з1
2 0 1 7 22 1 22 0 u1 1 2 0 0 7 22 1 22 1 f 63 0 0 2Ч 11 1-1
11 0 30
Из табл. 10.4 следует, что начальное базисное решение БР0
'11 1 ^
x1 = 4Ч,х2 = 3 - u1 = . БР0 не является допустимым, по-
1 2 2 2 1 2
\ /
скольку в столбце свободных членов есть отрицательный коэф- фициент bu = -1/2 < 0 . Задача разрешима, поскольку в строке u1
есть отрицательные коэффициенты. Находим Б1: bu < 0 ^ u1 выводим из базиса,
min ( 28 -7 = 8, 15 1 \ Ч Ч = 30 ,11/ - 22 11 22 / 8 ^ Х3 вводим в базис.
Таким образом, Б1 = {x1 , Х2, Х3}. В^В результате приходим к табл. 10.5.
Таблица 10.5 Xi = 4 , X2 = 3,
1 7 2 Базис Своб. член Х1 Х2 Х3 Х4 u1 Х1 44
7 1 0 0 1 7 1 7 Х2 3 0 1 0 0 1 Х3 14
7 0 0 1 1 7 - 31
7 f 59 0 0 0 1 8 Из табл. 10.5 следует, что БР1 И'
х3 = 1 - 3 7
. БР1 является допустимым и, следовательно, оптималь- ным решением. 4-, 3
V 7 У
Таким образом, задача L1 имеет решение x1J =
при этом f (x(1)) = 59.
Поскольку x(1) не является целочисленным, то выполняем 2-й этап.
Второй этап
Определяем второе правильное отсечение. Производящими являются 1-я и 3-я строки итоговой симплекс-таблицы задачи L1.
- 4 - 4 Поскольку (b1) = - и {b3} = Ч' то первое правило не позволяет выбрать производящую строку для построения отсечения. Используем второе правило выбора производящей строки. Вычисляем d1 и d2: /
V
l'd 2 = 7/
di = 7/
4. 7'

- + -
V7 7,
о ЧЧ
Поскольку d1 = d2, то второе правило не позволяет выбрать производящую строку для построения отсечения. Выберем произвольно 1-ю строку итоговой симплекс-таблицы задачи L1. Этой строке соответствует равенство 1
б
4
0+
1 + ж
u1 = 4 + -
Х4 +
7
7
7
(1 + 0) x1 + Следовательно, 2-е правильное отсечение имеет вид 1
б
4 Х л Ui + u - "
7 4 7 1 2 7
Составляем задачу L2:
L1, 1
б
L2
4
x
- л Ui + UГ) - ж
7 4 7 1 2 7
u2 > 0. Решаем задачу L2 двойственным симплекс-методом. В качестве базисных выберем переменные x1, x2, x3, Ы2.
Таким образом, Б0 = {x1 ' x2 ' x3 ' U 2 }. В результате приходим к табл. 10.б.
Из табл. 10.б следует, что начальное базисное решение 4
7'
4
4
БР0
x1 - 4 ' x 2
Х 3' x3 - 1 ' Ы2 - 3 7 7
. БР0 не является допус- тимым, поскольку bu = -4/7 < 0 ; задача разрешима, поскольку в строке Ы2 есть отрицательные коэффициенты. Находим Б1:? Базис Своб. член x1 x2 x3 x4 u1 u2 x1 4
7 1 0 0 1 7 1 7 0 x 2 3 0 1 0 0 1 0 *3 7 0 0 1 1 7 - 31
7 0 U2 4 7 0 0 0 1 7 6 7 1 f 59 0 0 0 1 8 0 7
91
3 bu < 0 ^ u2 выводим из базиса, = 91
3
= 7,
min
= 7 ^ x4 вводим в базис. /
Таким образом, Б1 = {x1, x2, x3, x4}. В результате приходим к табл. 10.7.
Из табл. 10.7 следует, что БР1 = (х1 = 4, х2 = 3, х3 = 1, x4 = 4). БР1 является допустимым и, следовательно, оптимальным решением.
Таким образом, задача L2 имеет решение x(2) = (4, 3), при этом f (х(2)) = 55.
Поскольку решение x(2) является целочисленным, то точка x(2) = (4, 3) является решением исходной задачи; поэтому по
лагаем х = x() = (4, 3) , f = f (x( )) = 55 и вычисления завершаются.? Базис Своб. член x1 x2 x3 x4 u1 U2 x1 4 1 0 0 0 -1 1 x2 3 0 1 0 0 1 0 x3 1 0 0 1 0 -4 1 x4 4 0 0 0 1 6 -7 f 55 0 0 0 0 2 7 Ответ: х* = (4, 3), f * = 55.
<< Предыдушая Следующая >>
= К содержанию =
Похожие документы: "МЕТОДЫ ОТСЕЧЕНИЙ"
  1. Задачи
    методом отсечений следующую целочисленную задачу ЛП: f (x) = x1 + 2x2 ^ max, 4 x1 + 2 x2 < 13, x1 > 0, x2 > 0, x1 , x2 - целые. Решить методом отсечений следующую целочисленную задачу ЛП: f (x) = 2x1 + 3x2 ^ max, 2 x1 + 5 x2 < 16, бx1 + 5x2 < 30, x1 > 0, x2 > 0, x1 , x2 -
  2. МЕТОД ВЕТВЕЙ И ГРАНИЦ
    методов дискретного программирования и является одним из наиболее распространенных методов этой группы. Центральную идею комбинаторных методов составляет замена полного перебора допустимого множества X частичным перебором. В случае метода ветвей и границ это осуществляется путем последовательного разбиения допустимого множества на подмножества (ветвления) и вычисления оценок (границ), позволяющих
  3. 10. Метод отсечений
    0, 61 2 f (x(0))_ 13; задача (0, 6), (0) 1. Решаются задача L0: x L1: x(1) _ (0, 6), f (x(1))_ 12. В результате получаем x f *_ 12. (0) 2 f (x(0)) _ 125; за- 2. Решаются задача L0: x 31,14 3-5,18 4 18 9 L,: x(1> _ v 2 5 , 2 f (x(1)) _ 129; задача L2 (производящая дача L1: x v / строка x2): x(2) _ (3, 2), f (x(2)) _ 12. В результате получаем 0, 61 2 (0)^ (0) Е = 13, 00 =
  4. 3.2. Методы регулирования денежного кредитного обращения
    методами являются: процентные ставки по операциям Банка России; нормативы обязательных резервов; операции на открытом рынке; рефинансирование банков; депозитные операции; валютное регулирование; установление ориентиров роста денежной массы; прямые количественные ограничения. Процентные ставки по операциям Банка России. Последний может устанавливать одну или несколько процентных ставок по
  5. 7.2. АРГУМЕНТЫ В ПОЛЬЗУ ПРОТЕКЦИОНИЗМА
    методов, в частности субсидий производителям. Хотя суб сидия как средство поддержки национальных производителей тоже требует затрат и связана с появлением потерь, однако потери в этом случае гораздо меньше, отставание отрасли не увековечивается и, как показывает, в частности, европейский опыт субсидирования самолетостроения, в обозримые сроки преодолевается. В целом аргумент тотальной защиты
  6. 4.10. НЕЙРОСЕТЕВЫЕ ТЕХНОЛОГИИ В ФИНАНСОВО-ЭКОНОМИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ
    метод получил название генетического алгоритма. Генетический алгоритм реализован в популярных версиях ней- ропакетов - широко известном в России Biain Maker Professional v.3.11 и менее известном, но более профессиональном Neurofo- rester v.5.1. В этих пакетах генетический алгоритм управляет процессом общения на некотором множестве примеров, а также стабильно распознает (прогнозирует) новые
  7. 5.1.3. Стратегическое планирование регионального развития
    методов организации движения по избранным направлениям; Х обоснование рациональных способов использования ресур сов. Стратегический план социально-экономического развития ре-гиона - это индиктивный документ, который позволяет админи-страции региона и региональному сообществу действовать совме-стно. Это - документ не исключительно администрации, а в боль-шей мере всех субъектов процесса
  8. 5. Нил Сорский
    методы ее осуществления. Церковь ограничена толь ко духовной областью, в которой не могут применяться госу-дарственные методы воздействия. Такая позиция определяла отношение мыслителя и к про блеме еретичества. В публицистических спорах остро стоял во прос о роли государства в преследовании врагов церкви - ере тиков. При разрешении этой задачи Нил связал проблему ере тичества с постулатом о
  9. 3.1. Определение оптимальной величины денежной массы в Республике Беларусь
    методами денежно-кредитного регулирования). Эффективность контроля при этом зависит от степени развитости финансового рынка. Денежная мультипликация - это конечный процесс. Она означает, что без соответствующей лподпитки со стороны денежных властей величина мультипликации будет определяться нормой резервных отчислений, а также резервов поступления вкладов со стороны экономических агентов (как
  10. ВСТУПЛЕНИЕ
    методов разбудит недовольных и критиков, которых даже в Венеции, несмотря на определенную инертность, в те годы было достаточно в самом классе правящих аристократов. Факинеи считал, что стремление Беккариа к реформам основывалось на природном равенстве людей. А оно разрушало все старинные традиции итальянских государств и основы их аристократического общественного устройства. Он подстегнул страх,