Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Пусть требуется определить максимальное значение вогнутой функции
(1)
при условиях
Чтобы найти решение задачи (1)–(3) функции fj (xj) и g ij (xj) заменяют кусочно-линейными функциями и и переходят к задаче
(4)
В задаче (4)–(6) пока не определен вид функций. Чтобы определить их, считают, что переменная xj может принимать значения из промежутка [0; a j ], где a j – максимальное значение переменной xj. Промежуток [0; a j ] разбивается на rj промежутков с помощью rj + 1 точек так, что
Тогда функции и можно записать в виде
Причем
Подставляя теперь в (4), (5) выражения функций и в соответствии с формулой (7), приходят к задаче ЛП:
Эта задача может быть решена симплекс-методом и точность зависит от принятого шага разбиения промежутка [0; a j ]: чем меньше шаг, тем точнее решение.
Пример 6.2
Решить задачу нелинейного программирования методом кусочно-линейной аппроксимации:
max F = x 2 – x 12 + 6 x 1 – 9;
2 x 1 + 3 x 2 £ 24;
x 1 + 2 x 2 £ 15;
3 x 1 + 2 x 2 £ 24;
x 2 £ 4;
x 1, x 2 ³ 0.
Решение.
В данной задаче целевую функцию F можно представить как сумму двух функций f 1(x 1) = – x 12 + 6 x 1–9 и f 2(x 2) = x 2, каждая из которых есть функция одной переменной. Следовательно, функция F – сепарабильная.
Здесь нелинейной функцией является только целевая функция. Значит, кусочно-линейной функцией следует заменить только ее. При этом так как функция f 2(x 2) линейная, то аппроксимируется только функция f 1(x 1).
Далее строится область допустимых решений задачи (рис. 7.1).
Из графика ОДЗ следует, что переменная x 1 может принимать значения в промежутке [0; 8]. Этот промежуток может быть разбит на восемь частей точками: x 01 = 0; x 11 = 1; x 21 = 2; x 31 = 3; x 41 = 4; x 51 = 5; x 61 = 6; x 71 = 7; x 81 = 8. В этих точках вычисляются значения функции f 1(x 1) (табл. 7.2).
Таблица 6.2
xk 1 | |||||||||
f 1(xk 1) | –9 | –4 | –1 | –1 | –4 | –9 | –16 | –25 |
По формулам (7), (8) можно найти
Найденные выражения и x 1 подставляются в исходные данные:
Для полученной задачи линейного программирования пять векторов P 01, P 3, P 4, P 5, P 6 являются единичными. Значит, ее решение может быть найдено симплекс-методом. Из симплекс–таблицы находят x 20 = 4, а по найденному l k 1 находят x 10 = 3, Fmax = 4.
Дата публикования: 2015-01-10; Прочитано: 1054 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!