Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы по СА и ИО1.doc
Скачиваний:
14
Добавлен:
01.03.2025
Размер:
6.8 Mб
Скачать

Задачи дробно-линейного программирования

Если целевая функция представляет собой отношение линейных функций, а все условия линейные, то задача относится к классу задач дробно-линейного программирования. Целевая функция имеет вид:

Т акая функция легко преобразуется в линейную, если ее знаменатель при всех допустимых значениях переменных строго положителен. Для этого введем новую переменную r следующим образом:

При оговоренном условии она может быть только больше нуля. Тогда функция принимает вид Замена: -> Получили линейную функцию от n неотрицательных переменных yj и одной положительной переменной r. Эта функция должна рассматриваться вместе с условием: или после замены

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

на r: (замена) ->

В результате преобразований имеем задачу ЛП. Получив ее решение одним из методов ЛП, вычисляем исходные переменные:

В озможность перехода к линейной задаче геометрически обусловлена тем, что линии уровня дробно-линейной функции описываются линейным уравнением. Пусть . Тогда: или - уравнения уровня, с изменением они не перемещаются параллельно, а поворачиваются вокруг мн-ва вращения– это мн-во точек размерности n-2, образов. пересечением нулевых линий уровня числителя и знаменателя:

Пример: Представим графически следующую задачу

; 3x1 + 2x2  6, 0 x1  3, 0 x2  3.

У р-я нулевых линий уровня числителя и знаменателя образуют систему:

из которой находим точку вращения: x1=x2=1/3. На рис. это точка А. Нулевые линии показаны пунктиром, а направление поворота, в котором целевая функция возрастает, – стрелками. Отсюда ясно, что оптимальное решение достигается в вершине B:

39. Методы покоординатного спуска и Хука-Дживса. Метод Гаусса-Зейделя (покоординатного спуска)

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

Зафиксируем все переменные, кроме первой, на начальных значениях и решаем задачу

одним из одномерных методов. Фиксируем х1 на полученном в решении значении x1' и делаем свободной переменную х2. Приходим к очередной одномерной задаче . Аналогично строятся и решаются последующие одномерные задачи: .

Э ти n задач составляют один цикл. Его результатом является точка X1. Она принимается за начальную точку для следующего аналогичного цикла. Поиск заканчивается, когда расстояние между двумя последовательными точками становится меньше заданной величины: .

Р аботу метода иллюстрирует рис., на котором показана траектория поиска минимума функции

f=(2-x1)4+2(x1-2x2)2.

М

x2

етод отличается алгоритмической простотой. Однако ему присущ ряд недостатков. Его эффективность существенно зависит от направления осей координат относительно линий уровня. Это хорошо видно на примере квадратичной функции: при совпадении координат с осями эллипсов минимум достигается за один цикл из любой начальной точки, а при их повороте число циклов значительно возрастает. Из этого примера следует, что метод неэффективен в условиях оврага. Если функция не дифференцируема в отдельных точках, поиск может остановиться, не достигнув окрестности минимума: точка останова А далека от искомого минимума. ->

И з анализа траекторий поиска в приведенных примерах можно заключить, что эффективность поиска повысится, если к описанным однотипным циклам добавить движение в направлении, проходящем через точки X(k) и X(k+1). Это движение называют ускоряющим шагом. Он используется в методе, рассматриваемом в следующем разделе.