Описание слайда:
Сепарабельное программирование Сепарабельное программирование Функция f(x1, x2, …, xn) называется сепарабельной (разделимой), если она представляется в виде суммы и функций одной переменной f1(x1), f2(x2), …, fn(xn), т.е. f(x1, x2, …, xn) = f(x1) + f(x2) + … + f(xn). К примеру, линейная функция h(x1, x2, …, xn) = a1x1 + a2x2 + … + anxn (здесь ai, i = 1, 2, …, n – константы) является сепарабельной. Функция же h(x1, x2, x3) = + x1sin(x2 + x3) + x2 таковой не является. Некоторые нелинейные функции сепарабельными непосредственно не являются, однако могут быть приведены к такому виду путем соответствующих подстановок. Рассмотрим, к примеру, задачу максимизации функции z = x1x2. Если ввести обозначение y = x1x2, то ln y = ln x1 + ln x2 и задача принимает следующий вид. Максимизировать z = y при ограничении ln y = ln x1 + ln x2 т.е. она является сепарабельной. При такой замене предполагается, что переменные x1 и x2 принимают положительные значения, иначе логарифмическая функция не определена. В случае, когда переменные x1 и x2 принимают и нулевые значения (т.е. x1, x2 0), можно поступить следующим образом. Пусть δ1 и δ2 – положительные константы, введем новые переменные w1 = x1 + 1 и w2 = x2 + 2. Эти переменные принимают только положительные значения. Теперь имеем x1x2 = w1w2 – 2w1 – 1w2 + 12. Пусть y = w1w2, тогда исходная задача эквивалентна следующей. Максимизировать z = y – 2w1 – 1w2 + 12 при ограничениях ln y = ln w1 + ln w2, w1 1, w2 2.