Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МО2-2010 (новая редакция).doc
Скачиваний:
102
Добавлен:
28.04.2019
Размер:
5.01 Mб
Скачать

13.2. Методы возможных направлений

В этом параграфе рассматриваются методы, основанные на движении из одной допустимой точки в задаче (13.1) – (13.2) к другой допус­тимой точке с лучшим значением целевой функции. Имеется большое число методов возможных направлений; их теория была обоснована Зойтендейком. Вначале обсудим один вариант этих методов.

Основной алгоритм

Начальный этап. Задать и начальную точку .

Основной этап. ( -я итерация)

Шаг 1. Вычислить , , .

Шаг 2. Сформировать множество индексов

.

Шаг 3. Проверить условие . Если оно выполняется, то перейти к шагу 5, если нет – к шагу 4.

Шаг 4. Найти возможное направление подъёма функции в точке , решив следующую задачу линейного программирования:

(13.4)

при ограничениях

, (13.5)

(13.6)

(13.7)

Решением задачи (13.4) – (13.7) является вектор . Перейти к шагу 6.

Шаг 5. Положить , .

Шаг 6. Проверить условие . Если оно выполняется, то положить - решение задачи. Если нет – перейти к шагу 7.

Шаг 7. Решить одномерную оптимизационную задачу, т. е. найти в направлении . Решение состоит из двух этапов:

1) найти положительные корни уравнений , . Выделим из всех : , ;

2) найти , .

Получаем .

Шаг 8. и перейти к шагу 1.

На шаге 3 проверяется, является точка внутренней точкой или граничной точкой области . Если - внутренняя точка области , то в качестве направления берётся - направление скорейшего подъёма функции в окрестности точки . Если же , то лежит на границе области и на шаге 4 ищется возможное направление подъёма функции в точке (в результате решения ЗЛП).

Рисунок 13.3

Рисунок 13.4

На рис. 13.3 и 13.4 показаны направления скорейшего подъёма, если - внутренняя точка области (рис. 13.3), и множество возможных направлений в точке , если - граничная точка области (рис. 13.4). Здесь ,

,

,

.

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

Теорема 13.1. Для того чтобы направление было возможным в граничной точке множества . Необходимо

, , (13.8) и достаточно

, . (13.9)

Таким образом, чтобы найти возможное направление в граничной точке множества , достаточно найти вектор , удовлетворяющий неравенствам (13.9) (см. рис. 13.4).

Для граничной точки области введём в рассмотрение множество

.

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

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

Теорема 13.2. Если в граничной точке

, , и

,то вектор есть возможное направление подъёма функции в точке .

Возможное направление подъёма функции в граничной точке области можно найти, решая следующую задачу линейного программирования (см. шаг 4 алгоритма):

(13.10) при условиях:

, , (13.11)

, (13.12)

, . (13.13)

В самом деле, если вектор - решение ЗЛП (13.10) – (13.13) и , то по теореме 13.2 - возможное направление подъёма функции в точке области , так как в этом случае

,

.

Важно отметить, что ЗЛП (13.10) – (13.13) всегда разрешима, т. е. всегда можно указать возможные направления подъёма функции в точке .

В заключение отметим, что метод возможных направлений является обобщением метода скорейшего подъёма решения задачи безусловной оптимизации на задачу условной оптимизации.

Пример 13.1.

Решим эту задачу методом возможных направлений, сформулировав её в каноническом виде:

Начальный этап. Выберем в качестве начальной точку

Основной этап.

Итерация 1.

Вычисляем вектор-градиент в точке : , .

Вычисляем (точка на границе), (точка на границе).

Тогда ; .

Сформируем множество :

.

, следовательно, для нахождения возможного направления подъёма функции в точке , лежащей на границах и области , сформулируем ЗЛП:

или в каноническом виде:

Решаем эту ЗЛП симплексным методом:

0

0

0

0

1

0

0

0

0

0

0

0

0

6

0

0

-2

2

-1

1

1

1

0

0

0

0

0

0

7

0

0

0

0

1

-1

1

0

1

0

0

0

0

0

8

0

1

-1

1

-1

1

0

0

1

0

0

0

0

0

9

0

1

1

-1

0

0

0

0

0

0

1

0

0

0

10

0

1

-1

1

0

0

0

0

0

0

0

1

0

0

11

0

1

0

0

1

-1

0

0

0

0

0

0

1

0

12

0

1

0

-1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

-1

1

5

1

0

-2

2

-1

1

1

1

0

0

0

0

0

0

7

0

0

2

-2

2

-2

0

-1

1

0

0

0

0

0

8

0

0

3

-3

2

-2

0

-1

0

1

0

0

0

0

9

0

1

1

-1

0

0

0

0

0

0

1

0

0

0

10

0

1

-1

1

0

0

0

0

0

0

0

1

0

0

11

0

1

0

0

1

-1

0

0

0

0

0

0

1

0

12

0

1

0

0

-1

1

0

0

0

0

0

0

0

1

0

-2

2

-1

1

-

1

2

5

1

0

0

0

1/3

-1/3

1

1/3

0

2/3

0

0

0

0

7

0

0

0

0

2/3

-2/3

0

-1/3

1

-2/3

0

0

0

0

1

0

0

1

-1

2/3

-2/3

0

-1/3

0

1/3

1

0

0

0

9

0

1

0

0

2/3

2/3

0

1/3

0

-1/3

1

0

0

0

10

0

1

0

0

2/3

-2/3

0

-1/3

0

-1/3

0

1

0

0

11

0

1

0

0

1

-1

0

0

0

0

0

0

1

0

12

0

1

0

0

-1

1

0

0

0

0

0

0

0

1

0

-

0

1/3

-1/3

-

1/3

-

2/3

-

-

-

-

3

5

1

1/3

0

0

0

0

1

1/3

0

2/3

0

0

0

1/3

7

0

2/3

0

0

0

0

0

-1/3

1

-2/3

0

0

0

2/3

1

0

2/3

1

-1

0

0

0

-1/3

0

1/3

0

0

0

2/3

9

0

1/3

0

0

0

0

0

1/3

0

-1/3

1

0

0

-2/3

10

0

5/3

0

0

0

0

0

-1/3

0

1/3

0

1

0

2/3

11

0

2

0

0

0

0

0

0

0

0

0

0

1

1

4

0

1

0

0

-1

1

0

0

0

0

0

0

0

1

5/3

-

0

0

-

-

1/3

-

-

-

-

-

2/3

Итак, , , , следовательно, .

Вычисляем значение :

; ; .

Решим теперь одномерную задачу

или

.

Получаем . Отсюда .

Итерация 2.

Вычисляем , :

, .

Тогда .

Сформируем множество

.

, следовательно, для нахождения возможного направления подъёма функции в точке , лежащей на границе области , сформулируем вновь ЗЛП:

или в каноническом виде:

.

Решаем задачу симплексным методом:

0

6

0

0

-1

1

-1

1

1

1

0

0

0

0

0

7

0

0

1

-1

1

-1

1

0

1

0

0

0

0

8

0

1

1

-1

0

0

0

0

0

1

0

0

0

9

0

1

-1

1

0

0

0

0

0

0

1

0

0

10

0

1

0

0

1

-1

0

0

0

0

0

1

0

11

0

1

0

0

-1

1

0

0

0

0

0

0

1

0

0

0

0

0

-1

-

-

-

-

-

-

1

5

1

0

-1

1

-1

1

1

1

0

0

0

0

0

7

0

0

2

-2

2

-2

0

-1

1

0

0

0

0

8

0

1

1

-1

0

0

0

0

0

1

0

0

0

9

0

1

-1

1

0

0

0

0

0

0

1

0

0

10

0

1

0

0

1

-1

0

0

0

0

0

1

0

11

0

1

0

0

0

-1

1

0

0

0

0

0

1

0

-1

1

-1

1

-

1

-

-

-

-

-

2

5

1

0

0

0

0

0

1

1/ 2

1/ 2

0

0

0

0

1

0

0

1

-1

1

-1

0

-1/ 2

1/ 2

0

0

0

0

3

0

1

0

0

-1

1

0

1 /2

-1/ 2

1

0

0

0

9

0

1

0

0

1

-1

0

-1/2

1/ 2

0

1

0

0

10

0

1

0

0

1

-1

0

0

0

0

0

1

0

11

0

1

0

0

-1

1

0

0

0

0

0

0

1

0

-

0

0

0

-

1/2

1/2

-

-

-

-

Итак, , следовательно, .

Ответ: , .

Решение задачи проиллюстрировано рис.3.5

Шаг 3.Рисунок 13.5