Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТВ. ГОЛЬДШТЕЙН А.Л. ТПР.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
1.67 Mб
Скачать

Сепарабельное программирование (сп)

В сепарабельном программировании рассматриваются задачи, в которых целевая функция и все функции ограничений сепарабельны. Функция многих переменных сепарабельна, если она имеет вид суммы функций отдельных переменных:

f(x1, x2, ..., xn) = (18)

Решение задач СП основано на преобразовании в задачи линейного программирования путем аппроксимации нелинейных функций кусочно-линейными. Исходная нелинейная задача заменяется аппроксимирующей линейной. Поэтому рассматриваемый метод является приближенным.

- постановка

Предполагается, что переменные, которые входят в модель нелинейно, ограничены снизу и сверху: djxj Dj.(19)

Для кусочно-линейной аппроксимации в этом диапазоне выбираются узловые точки. При этом первый узел совпадает с нижней границей, а последний – с верхней: Xj1= dj, = Dj, где rj – число интервалов по переменной xj (rj+1 – число узлов). Тогда рассматриваемая переменная xj может быть выражена через новые переменные jk в виде

, (20) , (21) . (22)

Выражение (20) называют уравнением сетки. С использованием узловых точек и новых переменных кусочно-линейная функция, аппроксимирующая

fj(xj), записывается в виде (23)

где fj(Xjk) – значение функции в узловых точках. Очевидно, что – функция, линейная относительно jk. Пусть N – множество индексов нелинейных fj(xj). Тогда функция, аппрокси­мирующая f(X), имеет вид (24)

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

Поясним запись ограничений. Исходное ограничение ij (xj)  bi со всеми нелинейными ij. Тогда после аппроксимации оно принимает вид

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

Отсюда следует правило смежных весов: из одного уравнения сетки отличными от нуля могут быть не более 2-х переменных jk со смежными значениями k.

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

В противном случае алгоритм ЛП должен включать правило ограниченного ввода: если в базисном решении находится jk, то допустимыми для ввода могут быть только jk+1 или jk-1. При этом нельзя утверждать, что получаемое решение является приближением к глобальному оптимуму исходной задачи. Скорее оно будет приближением локального оптимума.

-постановка

Построение аппроксимирующей задачи основано так же на кусочно-линейном приближении, но меняется уравнение сетки. По узлам сетки вычисляются расстояния между смежными узлами jk = Xjk+1Xjk

и уравнение сетки записывается в виде xj = dj + ; (25) 0  yjk  1, (26)

где yjk – новые переменные.

Для аппроксимации нелинейной составляющей функции критерия вычисляются разности ее значений в смежных узлах jk = fj (Xjk+1) – fj (Xjk), с помощью которых записывается аппрокимирующая функция (27)

Тогда функция, аппроксимирующая критерий, имеет вид

Аналогично аппроксимируются ограничения ij(xj):

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