Книги по разным темам Pages:     | 1 |   ...   | 5 | 6 | 7 | 8 |

Получаем задачу безусловной минимизации P(x, R)= x + R 2 - x min.

При этом предполагается, что x - внешняя точка, т.е.

x < 2, g(x) = 2 - x > 0.

Уравнение, определяющее стационарные точки P(x,R), имеет вид dP = 1- 2R 2 - x = 0.

dx Поскольку 2 - x > 0, то по определению срезки получим 2 - x = 2 - x.

Находим стационарную точку x(1)(R):

1- 2R 2 - x = 0 x(1) R = 2 -1 2R.

( ) ( ) ( ) При этом g(x(1) (R)) = 1 2R > 0 при R>0, ( ) т.е. при любом конечном R>0 соответствующая стационарная точка является недопустимой (внешней) точкой и сделанное предположение не нарушается.

Точка x*, являющаяся решением исходной задачи, определяется следующим образом:

x* = lim x(1) R = lim 2 -1 2R = 2.

( ) ( ( )) R R б) Метод внутренней точки.

огарифмическая штрафная функция имеет вид (R, g(x))= -R ln(x - 2).

Получаем задачу безусловной минимизации P(x, R)= x - R ln(x - 2) min.

При этом предполагается, что x - внутренняя точка, т.е.

x 2, g(x) = 2 - x 0.

Уравнение, определяющее стационарные точки P(x, R), имеет вид dP R =1- = 0.

dx x - Находим стационарную точку x(1)(R):

x(1)(R) = 2 + R.

При этом g(x(1) (R)) = -R 0 при R 0, т.е. при любом R0 соответствующая стационарная точка является допустимой (внутренней) точкой и сделанное предположение не нарушается.

Точка x*, являющаяся решением исходной задачи, определяется следующим образом:

x* = lim x(1)(R) = lim (2 + R) = 2.

R R 0 в) Метод внутренней точки.

Обратная штрафная функция имеет вид 1 R (R, g(x))= -R =.

2 - x x - Получаем задачу безусловной минимизации R P(x, R)= x + min.

x - При этом предполагается, что x - внутренняя точка, т.е.

x 2, g(x) = 2 - x 0.

Уравнение, определяющее стационарные точки P(x, R), имеет вид dP R = 1- = 0.

dx (x - 2)Находим стационарные точки x(1,2)(R):

x(1,2)(R) = 2 R.

При этом g(x(1) (R)) = - R 0 при R 0, т.е. при любом R0 стационарная точка x(1)(R) является допустимой (внутренней) точкой и сделанное предположение не нарушается.

С другой стороны g(x(2) (R)) = R > 0 при R > 0, т.е. при любом R>0 сделанное предположение нарушается, стационарная точка x(2)(R) является недопустимой (внешней) точкой и должна быть отброшена.

Решение x* исходной задачи определяется следующим образом:

x* = lim x(1)(R) = lim (2 + R ) = 2.

R 0 R Алгоритм численного решения задачи условной минимизации методом штрафных функций заключается в следующем.

1. Задаются, 1,, R0, c и x[0] ; определяется тип x[0] (внутренняя или внешняя); выбирается штрафная функция ;

строится расширенная функция P; полагается t=1.

2. Решается одним из численных методов задача безусловной минимизации P(x, Rt -1) min, x Rn.

При этом начальная точка x(0) = x[t -1], условие окончания вычислений () P x(k ), Rt -1.

Результатом решения задачи безусловной минимизации является точка x[t], в качестве которой используется оценка x(k ) точки минимума задачи безусловной минимизации.

3. Проверяется условие t=1.

Если оно выполняется, то осуществляется переход к п.5.

Если условие не выполняется, то осуществляется переход к п.4.

4. Проверяются условия окончания решения исходной задачи:

P(x[t ], Rt-1) - P(x[t-1], Rt-2 ) 1, P(x[t-1], Rt-2 ) x[jt ] - x[jt -1], j = 1,n.

x[jt-1] Если они выполняются, то полагается x* x[t], * f f (x[t ] ) и вычисления завершаются.

Если условия не выполняются, то осуществляется переход к п.5.

5. Определяется Rt, полагается t=t+1 и осуществляется переход к п.2.

Пример. Решить методом штрафных функций задачу условной минимизации f (x) = (x1 - 4)2 + (x2 - 4)2 min, x1 + x2 при = 0,2, 1 = 0,4, = 0,1, R0 = 10, c = 10, x[0] = (1,1). Для решения задачи безусловной минимизации применить градиентный метод с дроблением шага ( = 1, = 1 4).

Решение.

Преобразуем ограничение исходной задачи к виду g(x) 0:

g(x) = x1 + x2 - 5 0.

Определяем тип x[0]:

g(x[0]) = 1+1- 5 = -3 < 0.

Поскольку ограничение выполняется, то точка x[0] является внутренней (допустимой).

Выбираем обратную штрафную функцию, т.е.

(R, g(x)) = - R g(x).

При этом расширенная функция P(x,R) имеет вид P(x, R) = f (x) - R g(x).

Первый этап Решаем градиентным методом с дроблением шага (МДШ) задачу безусловной минимизации P(x, R0 ) = (x1 - 4)2 + (x2 - 4)2 + min.

5 - x1 - xНачальная точка x(0) = x[0] = (1, 1), =1, =, = 0,2.

Отметим, что в процессе решения нужно контролировать знак штрафной функции (R, g(x)). Если окажется, что на k-м шаге (R, g(x)) < 0, следует уменьшать (дробить) k.

Находим первые частные производные P(x, R0) :

P 10 P = 2(x1 - 4) +, = 2(x2 - 4) +.

x1 x(5 - x1 - x2)2 (5 - x1 - x2)Результаты вычислений заносим в табл. 9.1.

Таблица 9.P P Ном.

x1 x2 x2 P P x xитер. x0 1 1 3,33 21,3 -4,89 -4,89 6,1 1 0,707 0,707 1,71 1,71 6,33 16,82 -0,57 -0,57 0,2 1 0,707 0,707 2,42 2,42 62,5 67,P(x(2) ) > P(x(1) ) = = 0,2 0,25 0,177 0,177 1,89 1,89 8,20 17,P(x(2) ) > P(x(1) ) = = 0,2 0,0625 0,044 0,044 1,75 1,75 6,67 16,79 -0,055 -0,055 0,Поскольку условие окончания вычислений выполнено (0,078<0,2), то вычисления завершаются. В результате решения задачи безусловной минимизации получаем x[1] x(2) = (1,75;1,75), P(x[1], R0) P(x(2), R0) = 16,79.

Определяем R1 = R0 c = 10 10 = 1 и выполняем второй этап.

Второй этап Решаем МДШ задачу безусловной минимизации P(x, R1) = (x1 - 4)2 + (x2 - 4)2 + min.

5 - x1 - xНачальная точка x(0) = x[1] = (1,75; 1,75), =1, =, = 0,2.

Находим первые частные производные P(x, R1) :

P 1 P = 2(x1 - 4) +, = 2(x2 - 4) +.

x1 x(5 - x1 - x2 )2 (5 - x1 - x2)Результаты вычислений заносим в табл. 9.2.

Таблица 9.P P Ном.

x1 x2 x1 x2 P P x xитер.

0 1,75 1,75 0,67 10,79 -4,06 -4,06 5,1 1 0,707 0,707 2,46 2,46 12,5 17,P(x(1) ) > P(x(0) ) = = 0,1 0,25 0,177 0,177 1,93 1,93 0,88 9,45 -3,37 -3,37 4,2 0,25 0,177 0,177 2,10 2,10 1,25 8,47 -2,24 -2,24 3,3 0,25 0,177 0,177 2,28 2,28 2,27 8,19 1,72 1,72 2,4 0,25 -0,177 -0,177 2,10 2,10 1,25 8,P(x(4) ) > P(x(3) ) = = 0,4 0,0625 -0,044 -0,044 2,23 2,23 1,85 8,12 -0,11 -0,11 0,Поскольку условие окончания вычислений выполнено (0,156<0,2), то вычисления завершаются. В результате решения задачи безусловной минимизации получаем x[2] x(4) = (2,23; 2,23), P(x[2], R1) P(x(4), R1) = 8,12.

Проверяем условия окончания решения исходной задачи P(x[2], R1) - P(x[1], R0 ) 8,12 -16,= = 0,516 > 1 = 0,4.

16,P(x[1], R0) Поскольку условия не выполняются, то определяем R2 = R1 c = 1 10 = 0,1 и выполняем третий этап.

Третий этап Решаем МДШ задачу безусловной минимизации 0,P(x, R2 ) = (x1 - 4)2 + (x2 - 4)2 + min.

5 - x1 - xНачальная точка x(0) = x[2] = (2,23;2,23), = 1, =, = 0,2.

Находим первые частные производные P(x, R2 ) :

P 0,1 P 0,= 2(x1 - 4) +, = 2(x2 - 4) +.

x1 (5 - x1 - x2 )2 x2 (5 - x1 - x2 )Результаты вычислений заносим в табл. 9.3.

Таблица 9.P Ном. P P x1 x2 P x1 xитер.

x1 x0 2,23 2,23 0,185 6,45 -3,2 -3,2 4,1 1 0,707 0,707 2,94 2,94 -0,(R2, g(x)) = -0,114 < 0 = = 0,1 0,25 0,177 0,177 2,41 2,41 0,556 5,61 -0,09 -0,09 0,Поскольку условие окончания вычислений выполнено (0,127<0,2), то вычисления завершаются. В результате решения задачи безусловной минимизации получаем x[3] x(1) = (2,41; 2,41), P(x[3], R2 ) P(x(1), R2 ) = 5,61.

Проверяем условия окончания вычислений исходной задачи P(x[3], R2 ) - P(x[2], R1) 5,61 - 8,= = 0,309 < 1 = 0,4, 8,P(x[2], R1) x[3] - x[2] 2,41 - 2,j j = = 0,081 < 2 = 0,1, j = 1,2.

2,x[2] j Поскольку условия выполняются, то полагаем * x x[3] (2,41; 2,41), f f (x[3]) 5,06 и вычисления завершаются.

* Ответ: x* (2,41; 2,41), f 5,06.

Задачи 1. Дана задача условной минимизации f (x) = (x1 - 4)2 + (x2 - 4)2 min, x1 + x2 5.

Решить аналитически: а) методом внешней точки, б) методом внутренней точки (логарифмическая штрафная функция).

2. Дана задача условной минимизации f (x) = x1+ x2 min, x1 x2, x1 1.

Решить аналитически методом внутренней точки (логарифмическая штрафная функция).

10. МЕТОДЫ ОТСЕЧЕНИЙ Методы отсечений относятся к численным методам решения дискретных задач оптимизации (методам дискретного программирования). Они предназначены для решения целочисленных задач линейного программирования (ЛП). Идея методов отсечения состоит в следующем.

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

1) полученное нецелочисленное решение ему не удовлетворяет;

2) все целочисленные точки допустимого множества исходной задачи ему удовлетворяют.

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

Затем решается расширенная непрерывная задача ЛП, т.е.

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

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

Обозначим через Lk и x(k ), k=0,1,..., соответственно k-ю расширенную непрерывную задачу ЛП и ее решение. Отметим, что L0 представляет собой исходную задачу без учета требований целочисленности. Задача Lk+1 получается в результате добавления к ограничениям задачи Lk (k+1)-го правильного отсечения.

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

1. Решается задача ЛП L0.

Если задача L0 не имеет решения, то исходная задача не имеет целочисленного решения и вычисления завершаются.

2. Находится решение x(0).

Если решение x(0) является целочисленным, то полагается x = x(0), f = f (x(0)) и вычисления завершаются.

Если решение x(0) не является целочисленным, то полагается k = 1 и осуществляется переход к п. 3.

3. Определяется k-е правильное отсечение, составляется задача Lk.

4. Решается задача ЛП Lk.

Если задача Lk не имеет решения, то исходная задача не имеет целочисленного решения и вычисления завершаются.

5. Находится решение x(k ).

Если решение x(k ) является целочисленным, то полагается x = x(k ), f = f (x(k )) и вычисления завершаются.

Если решение x(k ) не является целочисленным, то полагается k = k +1 и осуществляется переход к п. 3.

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

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

n f (x) = c x max, j j j=n aij x bi, i = 1, m, j j=x 0, = 1,n, j j xj - целые, j = 1, n.

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

Первоначально решается задача L0. Пусть решение x(0) этой задачи не является целочисленным. Согласно общему алгоритму, следует определить дополнительное ограничение (1-е правильное отсечение). Пусть последняя симплекс-таблица задачи L0 имеет следующий вид:

Своб.

Базис......

x1 xm x1 xn член 1... 0a11... a1n x1 b......

0... 1...

xm bm a a m1 mn f...

c b0 0... 0 1 c n Здесь через xi, i = 1, m, обозначены базисные переменные, а через xj, j = 1, n, - свободные переменные. Такая система обозначений выбрана из соображений удобства.

Строки симплекс-таблицы, которым соответствуют нецелые значения базисных переменных, т.е. нецелые bi, называют производящими. Каждая производящая строка задает правильное отсечение, которое определяется следующим образом: i-я производящая строка записывается в виде n (1+ 0)xi + ([aij ] +{aij})x = [bi ] +{bi}, j j=где [а] и {a} - соответственно целая и дробная части действительного числа а, a = [a] +{a}.

Эта производящая строка задает правильное отсечение следующего вида:

n - {aij}x + u1 = -{bi}, j j =где u1 - неотрицательная дополнительная переменная, которая (по определению) должна принимать целые значения.

Выбор производящей строки для построения правильного отсечения осуществляется с помощью эмпирических правил.

Первое из них предписывает выбирать производящую строку, которой соответствует max{bi}, i второе - строку, которой соответствует n maxdi {b } {a }.

i ij i j= Если с помощью указанных правил не удается выбрать производящую строку для построения правильного отсечения, производящая строка выбирается произвольно.

В результате добавления к ограничениям задачи L0 дополнительного ограничения (1-го правильного отсечения) получаем задачу L1, т.е.

L0, n L1 {aij}xj + u1 = -{bi}, - j = u1 0.

Наиболее удобным методом решения задачи L1 в указанной постановке является двойственный симплекс-метод. При этом дополнительная переменная u1 вводится в базис, а дополнительное ограничение добавляется к итоговой симплекс-таблице задачи L0.

Пример. Решить методом отсечений следующую целочисленную задачу ЛП:

f (x) = 7x1 + 9x2 max, - x1 + 3x2 6, 7x1 + x2 35, x1 0, x2 0, x1, x2 - целые.

Решение.

Нулевой этап Записываем задачу L0 (исходная задача без учета требования целочисленности):

f (x) = 7x1 + 9x2 max, - x1 + 3x2 6, 7x1 + x2 35, x1 0, x2 0.

Решаем задачу L0 симплекс-методом. Для этого преобразуем задачу к канонической форме, вводя дополнительные переменные x3 и x4:

f (x) = 7x1 + 9x2 max, - x1 + 3x2 + х3 = 6, 7x1 + x2 + х4 = 35, x 0, j = 1,4.

j В качестве базисных выберем переменные x3 и x4. Таким образом, начальный базис Б0 = {x3, x4}. В результате приходим к табл. 10.1.

Из табл. 10.1 следует, что начальное допустимое базисное решение ДБР0 = (x3=6, x4=35). ДБР не является оптимальным, поскольку в строке целевой функции есть отрицательные коэффициенты fx = -7, fx = -9. Задача разрешима, поскольку в 1 столбцах x1 и x2 есть положительные коэффициенты. Находим Б1:

Таблица 10. Своб.

Pages:     | 1 |   ...   | 5 | 6 | 7 | 8 |    Книги по разным темам