Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
313
Добавлен:
29.03.2015
Размер:
5.33 Mб
Скачать

Задания для самостоятельной работы

Решить задачи квадратичного программирования.

1. f(x) = x12 + x22 – 10x1 – 15x2 → min, 2. f(x) = x12+x22– 20x1 – 30x2 →min,

2x1 + 3x 2 ≤ 13, 5x1 + 13x 2 ≤ 51,

2x1 + x2 ≤ 10, 15x1 + 7x2 ≤ 107,

x1, x2≥ 0 x1, x 2 ≥ 0

3. f(x) = x12 – 2x1x2 → min, 4.f(x) = x12 + x22–10x1–20x2 → min,

2x1 + 3x 2 ≤ 6, 9x1 + 8x 2 ≤ 72,

2x1 + x2 ≤ 4, x1 + 2x2 ≤ 10,

x1, x2 ≥ 0 x1, x2 ≥ 0

5. f(x) = x12 + x22 – 10x1 – 8x2 → min, 6. f(x) = 3x12+x22+3x1 – 2x2 → min,

2x1 + 3x 2 + x 3 ≤ 13, x1 + 3x 2 + x 3 + x 4 = 16,

x1, x2, x3 ≥ 0 3x1x 2 x 3 + x 4 = 4,

x1, x2, x3 , x 4 ≥ 0

7. f(x) = x12 + x22 + x32 + x2 – 2x3 →min, 8. f(x) = x22 + 2x1x3 x3 → min,

x1 + x 2 + 2x 3 ≤ 6, x1 + x 2 = 4,

3x1 + 2x 2 + x 3 ≤ 12, x 2 + x 3 = 8,

x1, x2, x3 ≥ 0 x1, x2, x3 , x 4 ≥ 0

9. f(x) = x12 + x22 x1 – 2x3 → min,

x1x 2 + 2x 3 = 6,

x1, x2, x3 ≥ 0

3.7. Метод условного градиента

Этот метод применяется, когда ограничения линейные и могут иметь вид как равенств, так и неравенств, а целевая функция нелинейная. Метод относится к классу итерационных.

Рассмотрим сущность метода на примере функции двух переменных:

Рис. 3.6. Метод условного градиента

Пусть – приближение к экстремуму наi-ом шаге. В точке находим градиент. Затем целевая функция заменяется новой функцией, коэффициентами которой являются координаты вектора градиента в точке. Эта функция является линейной. Решив новую задачу линейного программирования, получаем точку . Затем делается шаг в направлении отрезка. В результате находится новая точка.

Постановка задачи.

1. f(x1, x2,xn)  min(max),

2.gi(x1, x2,xn)  0, i = 1, m

3. = (x10, x20,xn0) – начальная точка приближения к экстремуму,

4.  – точность нахождения экстремума.

5. X1, x2,xn  0. (3.25)

Алгоритм метода.

Алгоритм рассматривается для i –го шага приближения к экстремуму.

1. Находим .

2. Составляем вспомогательную функцию Z:

. (3.26)

3. Решаем задачу линейного программирования:

Z  min (max),

gi (x1, x2,xn )  0, i = 1, m, (3.27)

X1, x2,xn  0.

Положим, решением задачи линейного программирования является вектор

, где – значения переменныхxj на i-ом шаге приближения к экстремуму (решение задачи (3.27)).

4. Находим новую точку приближения к экстремуму:

(3.28)

5. Выбор шага .

Возможны два варианта:

– фиксированный шаг (не изменяемый на протяжении всего решения);

– вычитаемый на каждой итерации (аналогичен методу наискорейшего спуска).

6. Проверка критерия окончания счета.

Используются те же критерии, что и в задачах на поиск безусловного экстремума.

Пример.

Решение.

Решив задачу линейного программирования, получаем .

Далее находим выражение для подсчета координат новой точки приближения к экстремуму:

x11 = x10 + 1(z10x10) = 0 + 1 0 =0,

x21 = x20 + 1(z20x20) = 0 + 1 4 = 41.

Для нахождения величины шага подставим x11 и x21 в функцию f:

f(1) = 161 – 3212 ,

x11 = 0, x21 = 40,25 = 1.

Проверка критерия окончания счета: , следовательно, требуется выполнить еще хотя бы один шаг.

Соседние файлы в папке МОТС