Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
EMMM_Lektsii.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

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

Функция F(X)= F(x1, x2, ... ,xn) называется сепарабельной, если ее можно представить в виде суммы функций, каждая из которых зависит только от одной переменной, т.е. если

F(X)= F1(x1)+F2(x2)+...+Fn(xn),

(не исключено, что F­i(xi)=0 при некоторых i).

Пусть задана ЗВП: ограничения i(x1, x2, ... , xn)  bi , i=1,2,...,m (1)

x1, x2, ... ,xn  0,

и целевая функция Z=f(x1, x2, ... , xn), (2)

причем все функции i(Х) являются выпуклыми на некотором выпуклом множестве М, а функция Z либо выпукла на множестве М, либо вогнута. Пусть функция цели и ограничения i являются сепарабельными. Тогда исходная задача имеет вид: найти минимум выпуклой (максимум вогнутой) функции Z= f1(x1)+f2(x2)+...+f(xn) при ограничениях

Идея метода кусочно-линейной аппроксимации состоит в том, что все fi и все ij заменяются ломаными линиями, состоящими из прямолинейных отрезков. При этом исходная ЗВП заменяется новой, приближенной задачей, которая является задачей ЛП и решается обычно симплексным методом. Ее решение является приближенным решением исходной ЗВП.

h(x)

h’(x)

hk

hk+1

x0=0

x1

xr=a

xk

xk+1

Для построения приближенной задачи рассмотрим кусочно-линейную аппроксимацию функции одной переменной h(x), заданной на отрезке [0,a]. Разобьем этот отрезок на r частей точками x0<x1<…<xr так, чтобы x0=0, xr=a (см. рис.). Вычислим значения функции hk(x) (k=0,1,…,r) в этих точках. Соединим попарно точки (xk;hk) и (xk+1;hk+1) отрезками прямых. Состоящая из этих отрезков ломаная h’(x) аппроксимирует функцию h(x) на отрезке [0,a]. (Точность приближения можно увеличить за счет более мелкого разбиения отрезка).

Уравнение участка ломаной h’(x) между точками (xk;hk) и (xk+1;hk+1) имеет вид (уравнение прямой по двум точкам). Если каждое из отношений в этом равенстве обозначить через , то получим:

(*) причем 01.

Отметим, что для каждого x[xk;xk+1] существует единственное значение , удовлетворяющее условиям (*) ( см. уравнение отрезка из определения выпуклого множества точек). Обозначив 1-=к, =к+1, можно переписать (*) в виде:

где к+к+1=1, к0, к+10.

Данные уравнения называются параметрическими уравнениями отрезка.

Таким образом, для любого x[0;а] уравнение ломаной можно записать в виде:

(**)

причем всегда отличны от 0 только два значения к (если х является внутренней точкой к-го отрезка разбиения) или одно (если х совпадает с концами отрезка).

Возвращаясь к ЗВП с сепарабельными функциями, отметим, что прежде всего (в зависимости от системы ограничений) нужно определить интервал изменения каждой переменной xj. Затем каждый этот интервал разбивается на части точками xjk и с использованием формул (**) строится кусочно-линейная аппроксимация для функций fi и ij . После этого можно для исходной задачи записать приближенную задачу: найти максимум функции Z’= f’1(x1)+f’2(x2)+...+f’(xn) при ограничениях

Пример. Найти минимум функции Z=2(x1-1)2+(x2-2)2 при ограничениях

Решить задачу методом кусочно-линейной аппроксимации.

Решение. При условии неотрицательности переменных неравенство показывает, что х1 может изменяться от 0 до 2, а х2 – от 0 до 4.

Отрезок [0;2] разобьем точками х10=0, х11=1, х12=2, а отрезок [0;4] - точками х20=0, х21=1, х22=2, х23=3, х24=4. Функция Z – сепарабельная, т.к. f1=2(x1-1)2, f2=(x2-2)2.

Удобно сначала вычислить необходимые значения этих функций (т.к. имеем лишь одно ограничение, т.е. m=1, будем писать 1 и 2).

Х1

Х10

Х11

Х12

Х2

Х20

Х21

Х22

Х23

Х24

Х1

0

1

2

Х2

0

1

2

3

4

1

0

1

4

2

0

1

2

3

4

f1

2

0

2

f2

4

1

0

1

4

По формулам (**) имеем:

Т.о., приближенная задача для данной задачи имеет вид: найти максимум функции

Z’= 210+212+420+21+23+424 при ограничениях

Это ЗЛП с 8 переменными ij. Решаем ее симплексным методом. На 3-ем шаге получаем оптимальное базисное решение: 11=22=1, 10=12=20=21=23=24=0. Переходя к исходным переменным х1, х2, получаем:

x1=11+212=1, x2=21+222+323+424=2.

Т.о., оптимальное решение приближенной задачи (1;2) и Zmin=0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]