94
Методы оптимизации - I Проф. В.П. Кривошеев

Методы оптимизации - I

  • Upload
    perrin

  • View
    77

  • Download
    0

Embed Size (px)

DESCRIPTION

Методы оптимизации - I. Проф. В.П. Кривошеев. Основные понятия. Оптимизация есть процесс нахождения таких управлений или решений, при которых показатель функционирования объекта управления принимает наилучшее (минимальное или максимальное) значение. - PowerPoint PPT Presentation

Citation preview

Page 1: Методы оптимизации -  I

Методы оптимизации - I

Проф. В.П. Кривошеев

Page 2: Методы оптимизации -  I

Основные понятия

• Оптимизация есть процесс нахождения таких управлений или решений, при которых показатель функционирования объекта управления принимает наилучшее (минимальное или максимальное) значение.

• Критерий оптимальности есть количественный показатель функционирования объекта управления.

• Объект управления есть объект, в котором протекает управляемый процесс.

Page 3: Методы оптимизации -  I

Виды критериев оптимальности:- целевая функция- функционал

Целевая функция есть математический оператор, который числу на входе ставит в соответствие число на выходе.

Функционал есть математический оператор, который функции на входе ставит в соответствие число на выходе.

Page 4: Методы оптимизации -  I

Виды объектов управления:объект с сосредоточенными параметрами; объект с распределенными параметрами.

Объект с сосредоточенными параметрами – есть объект, в каждой точке которого в рассматриваемый момент времени характеризующие его состояние переменные принимают одни и те же значения.

Объект с распределенными параметрами – есть объект, в направлении координатных осей которого в рассматриваемый момент времени характеризующие его состояние переменные имеют различные значения (распределены в направлении координатных осей).

Page 5: Методы оптимизации -  I

Состояния объекта управления

• Статическое состояние

• Динамическое состояние

Page 6: Методы оптимизации -  I

Статическое состояние

Признаком статического состояния объекта управления является постоянство во времени переменных, характеризующих состояние объекта управления, т.е. dxi/dt = 0, где xi – переменные, характеризующие состояние объекта управления. Физически статическое состояние есть состояние, при котором имеет место

Приход (энергии, вещества) = = Расход (энергии, вещества)

Статическое состояние

Page 7: Методы оптимизации -  I

Динамическое состояние

Признаком динамического состояния объекта управления является изменение во времени переменных, характеризующих состояние объекта управления, т.е. dxi/dt 0.

Физически динамическое состояние есть состояние, при котором имеет место

Приход (энергии, вещества) - Расход (энергии, вещества) Накопление или

истечение (энергии, вещества).

Page 8: Методы оптимизации -  I

Переменные, характеризующие объект управления:

x1 … xm

u1 y1

ur yn

Входные переменные:

a) возмущающие (внешние) воздействия (xk, k=1,2,…,m);

b) управляющие воздействия (uj, j=1,2,…,r);

Выходные переменные (yi, i=1,2,…,n).

Объект управления

Page 9: Методы оптимизации -  I

Связь переменных при статическом и динамическом состояниях объекта

Связь переменных при статическом состоянии объекта управления:

или ,

где .

),( uxy ),...,(),,...,(),,...,( 111 rmn uuxxyy uxy

,,...,1),,...,,,...,( 11 niuuxxy rmii

Page 10: Методы оптимизации -  I

Связь переменных при статическом и динамическом состояниях объекта

Связь переменных при динамическом состоянии объекта управления: ,

или ,

где .

Здесь - переменная, характеризующая состояние объекта управления.

))(),...,(()),(),...,(()(

),,...,(),/)(,...,/)((/)(

11

11

tututytyt

ffdttyddttyddttd

rn

nn

uy

fy

))(),((/)( ttfdttd uyy ,,...,1

)),(),...,(),(),...,((/)( 11

ni

tututytyfdttdy rnii

)(tyi

Page 11: Методы оптимизации -  I

Критерии оптимальности для объектов, находящихся в статическом состоянии:

a) для объектов с сосредоточенными параметрами – целевая функция в виде ;

b)для объектов с распределенными параметрами – функционал в виде

где ,l – пространственная координата.

Выбор критериев оптимальности для задач оптимизации объектов, находящихся в

статическом и динамическом состояниях

)( ux,QQ

,/)()(0 ll dlllQlQ ))()((/)( l,lFllQ ux

Page 12: Методы оптимизации -  I

Критерии оптимальности для объектов, находящихся в динамическом состоянии есть функционал в виде:

, где,

t – время.

Выбор критериев оптимальности для задач оптимизации объектов, находящихся в

статическом и динамическом состояниях

tt dtdttdQtQ0

/)()( ))()((/)( t,tFdttdQ ux

Page 13: Методы оптимизации -  I

Виды функций по количеству экстремумов - унимодальные, имеющие один экстремум - полимодальные, более одного экстремума

Виды экстремумов и наилучших значений функции

- локальный минимум полимодальной функции в точке ui*, если , или

и ;

- локальный максимум полимодальной функции в точке ui*, если , или

и ,

где i=1,2,…,k – число локальных экстремумов.

)()()( *** uQQuQ iii uuu

0/)( * uidudQ u

u 0/)( * uii

dudQ uu

)()()( *** uQQuQ iii uuu

0/)( * uidudQ u

u 0/)( * uii

dudQ uu

Page 14: Методы оптимизации -  I

Виды экстремумов и наилучших значений функции

- супремум (sup Q (u)) при umin, если ;

- супремум (sup Q (u)) при umax, если ;

- инфимум (inf Q (u)) при umin, если ; - инфимум (inf Q (u)) при umax, если

; - глобальный минимум в точке ug, если ; - глобальный максимум в точке ug, если

.

))(),(),((max)( maxminmaxmin,,

min uuuu QQQQ ii

))(),(),((max)( maxminmaxmin,,

max uuuu QQQQ ii

))(),(),((min)( maxminmaxmin,,

min uuuu QQQQ ii

))(),(),((min)( maxminmaxmin,,

max uuuu QQQQ ii

))(),(),((min)( maxmin*

maxmin,,,...,2,1,uuuu QQQQ

ikiig

))(),(),((max)( maxmin*

maxmin,,,...,2,1,uuuu QQQQ

ikiig

Page 15: Методы оптимизации -  I

Постановка задачи статической оптимизации

Q(X, U) min(max) U

yi=φi(X, U) , i=1,…,n, yi yi

зад, i=1,…,k, yi yiзад, i=k+1,…,p,

Ujmin Uj Uj

max, j=1,…,r,где X=(x1,…,xn) – вектор внешних возмущающих

воздействий, U=(u1,…,ur) – вектор управляющих воздействий, Y=(y1,…,yp) – вектор выходных переменных, yi

зад - заданные значения выходных переменных, Ω - область допустимых управлений. Требуется найти такие значения управляющих

воздействий U=(u1,…,ur), при которых выполняются приведенные выше условия, а критерий оптимальности Q принимает минимальное (максимальное) значение.

Page 16: Методы оптимизации -  I

Необходимые условия корректной постановки задачи оптимизации

Оптимизация имеет место тогда, когда рассматриваемая система имеет степени свободы.

Число степеней свободы определяется по выражению:Число степеней свободы = Число искомых функций

(переменных) – Число их связывающих уравнений . Размерность задачи оптимизации определяется по

числу искомых функций (переменных), т.е. числом степеней свободы (ЧСС).

Задача одномерная, если ЧСС =1, и многомерная, если ЧСС >1.

Page 17: Методы оптимизации -  I

Примеры корректной и некорректной постановок задачи оптимизации

Пример корректной постановки задачи оптимизации: Q(u1,u2) max(min),

u1,u2

a1u1+a2u2 = b1.Число степеней свободы = = 2 (искомые переменные u1, u2) – 1 (число уравнений,

связывающих переменные u1, u2) = 1.Пример некорректной постановки задачи оптимизации:

Q(u1,u2) max(min),

u1,u2

a11u1+a12u2 = b1,

a21u1+a22u2 = b2.

Число степеней свободы = 2 – 2 = 0.

Page 18: Методы оптимизации -  I

Методы статической оптимизации

1. Классический метод исследования функции на экстремум

2. Методы нелинейного программирования:- численные методы решения

одномерной задачи статической оптимизации;

- численные методы решения многомерной задачи статической оптимизации

3. Линейное программирование4. Динамическое программирование в

дискретной форме

Page 19: Методы оптимизации -  I

Классический метод исследования функций на экстремум

Необходимые и достаточные условия экстремума функции одной переменной Q=Q(u)

Необходимое условие: . Достаточное условие:Если при u=u* впервые в порядке возрастания k

, где k – четное, то Q=Q(u) имеет экстремум. Причем, если , то Q(u)min, а если , то Q(u)max.

Если при u=u* впервые в порядке возрастания k

, где k – нечетное, то Q=Q(u) не имеет экстремума.

0/)( * uduudQ

0/)( * ukk duuQd

0/)( * uduudQ

0/)( * uduudQ

0/)( * ukk duuQd

Page 20: Методы оптимизации -  I

Примеры исследования функции одной переменной на экстремум

Пример 1. Q = (1-u)3. Необходимое условие экстремума :

3(1-u*)2(-1) = 0, u* =1.

Достаточное условие экстремума =

6(1-u*) = 6(1-1) = 0, .k = 3 – нечетное.

Ответ: при u* =1 исследуемая функция не имеет экстремума.

0/)( * uduudQ

*22 /)( uduuQd

06/)( *33 uduuQd

Page 21: Методы оптимизации -  I

Примеры исследования функции одной переменной на экстремум

Пример 2. Q = (1-u)4.

Необходимое условие экстремума :

4(1-u*)3(-1) = 0, u* =1.

Достаточное условие экстремума =

12(1-u*)2 = 12(1-1)2 = 0,

= 24(1-u*) = 24(1-1) = 0,

= 24 = 0.

k = 3 – нечетное.

Ответ: при u* =1 исследуемая функция имеет минимум.

0/)( * uduudQ

*33 /)( uduuQd

*22 /)( uduuQd

*44 /)( uduuQd

Page 22: Методы оптимизации -  I

Классический метод исследования функций на экстремум

Необходимые и достаточные условия экстремума функции нескольких переменных Q=Q(U) = Q(u1,…,ur). Необходимое условие: . Достаточное условие:Если при U=U* все диагональные миноры матрицы Гессе (Г):

(Г)

строго положительны, то функция Q=Q(U) имеет минимум. Если при U=U* нечетные диагональные миноры матрицы (Г) строго отрицательные, а четные строго положительные, то функция Q=Q(U) имеет максимум.

),...,(*,,...,1,0/)( **1* rj uurjuQ UU U

rrr

r

uu

Q

uu

Q

uu

Q

uu

Q

)()(

)()(

2

1

2

1

2

11

2

UU

UU

Page 23: Методы оптимизации -  I

Примеры исследования функции нескольких переменных на экстремум

классическим методомПример 1. Q = u1+2u1

2+u2+4u22+3u1u2

Необходимое условие экстремума:

, 1+4u1*+3u2

* = 0;

, 1+8u2*+3u1

* = 0;

, ,

, u1

* = 1 / = -5/23,

u2* = 2 / = -1/23.

0/)( **,1 21 uuuQ U

0/)( **,2 21 uuuQ U

2393283

34 538

81

311

13413

142

Page 24: Методы оптимизации -  I

Примеры исследования функции нескольких переменных на экстремум

классическим методомПример 1. Q = u1+2u1

2+u2+4u22+3u1u2.

Достаточное условие экстремума: ; ;; ;

Матрица (Г):

1-ый диагональный минор равен 4>0,

2-ой диагональный минор равен 48-33=32-9=23>0.

Ответ: при u1* = -5/23, u2

* = -1/23 исследуемая функция имеет минимум.

4/)( **,112

21 uuuuQ U

3/)( **,122

21 uuuuQ U

3/)( **,212

21 uuuuQ U

8/)( **,222

21 uuuuQ U

,83

34

)()(

)()(

22

2

12

221

2

11

2

uu

Q

uu

Q

uu

Q

uu

Q

UU

UU

Page 25: Методы оптимизации -  I

Примеры исследования функции нескольких переменных на экстремум

классическим методомПример 2. Q = u1-2u1

2+u2+4u22+3u1u2

Необходимое условие экстремума:

, 1-4u1*+3u2

* = 0;

, 1+8u2*+3u1

* = 0;

, ,

, u1

* = 1 / = 5/41,

u2* = 2 / = -7/41.

0/)( **,1 21 uuuQ U

0/)( **,2 21 uuuQ U

4193283

34

538

81

311

73413

142

Page 26: Методы оптимизации -  I

Примеры исследования функции нескольких переменных на экстремум

классическим методомПример 2. Q = u1-2u1

2+u2+4u22+3u1u2.

Достаточное условие экстремума: ; ; ; ;

Матрица (Г):

1-ый диагональный минор равен –4<0,

2-ой диагональный минор равен -48-33=-32-9=-41<0.

Ответ: при u1* = 5/41, u2

* = -7/41 исследуемая функция не имеет экстремума.

4/)( **,112

21 uuuuQ U

3/)( **,122

21 uuuuQ U

3/)( **,212

21 uuuuQ U

8/)( **,222

21 uuuuQ U

,83

34

)()(

)()(

22

2

12

221

2

11

2

uu

Q

uu

Q

uu

Q

uu

Q

UU

UU

Page 27: Методы оптимизации -  I

Аналитическое решение задачи на условный экстремум

- Метод множителей Лагранжа.- Условие Куна-Таккера

Аналитическое решение задачи на условный экстремум при условиях типа равенства:

Q=Q(U) min, U j(U) = 0, j = 1,…,m, U = (u1,…,ur), m < r.

Задача решается методом множителей Лагранжа.

Page 28: Методы оптимизации -  I

Метод множителей Лагранжа

1. Составляется функция Лагранжа

где j, j=1,…,m,- множители Лагранжа.

2. Совместно решается система уравнений:

L(U,) / ui=0, i=1,…,r,

j(U) = 0, j = 1,…,m.

m

jjjQλL

1)()(),( UUU

Page 29: Методы оптимизации -  I

Пример решения задачи методом множителей Лагранжа

Q = u12+u2

2 ,

u1+u2 – 1 = 0.

Функция Лагранжа L=Q(u1,u2)+ (u1,u2)= u1

2+u22 + (u1+u2

– 1),

L/u1= 2u1*+ = 0, L/u2= 2u2

*+ = 0,

u1*+u2

* – 1= 0, L/u1- L/u2= 2u1*- 2u2

*= 0, отсюда u1

*= u2*.

Используя это равенство в уравнении ограничения, получаем u1

*+ u1*= 0, или u1

*= 0,5; u2

*= 0,5.

Page 30: Методы оптимизации -  I

Аналитическое решение задачи на условный экстремум

- Метод множителей Лагранжа.- Условие Куна-Таккера

Аналитическое решение задачи на условный экстремум при условиях типа неравенств:

Q=Q(U) min, U

j(U) 0, j = 1,…,m, U = (u1,…,ur).

Задача решается с использованием условий Куна-Таккера.

Page 31: Методы оптимизации -  I

Условия Куна-Таккера

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

Q=Q(U) min, U

j(U) 0, j = 1,…,m, U = (u1,…,ur),

где Q(U) и j(U) - выпуклые дифференцируемые функции. Алгоритм решения задачи.

1. Составляется функция Лагранжа:

где j, j=1,…,m,- множители Лагранжа.

m

jjjQλL

1)()(),( UUU

Page 32: Методы оптимизации -  I

Условия Куна-Таккера

2. Совместно решается система уравнений и неравенств:

L(U,) / ui=0, i=1,…,r,

jj(U) = 0, j = 1,…,m, j 0, j = 1,…,m,

j(U) 0, j = 1,…,m.

Page 33: Методы оптимизации -  I

К определению выпуклости функции

Пусть 0 1.

Произвольную точку на линии ab можно описать как a+(b-a)(1-)= a+(1-)b, т.е. при = 0 это точка b, а при = 1 это точка а.

В случае нелинейной функции ее значение в точке с = a+ (1-)b есть Q[ a+(1-)b].

Page 34: Методы оптимизации -  I

К определению выпуклости функции

Значение линейной функции, проходящей через точки a и b, в точке с равно Q(a)+(Q(b) - Q(a))(c-a)/(b-a) = Q(a)+(Q(b) - Q(a))[a+(1-)b-a]/(b-a) = Q(a)+(Q(b) - Q(a))(1-) = Q(a)+ (1-)Q(b). Сравнивая значения исходной функции с линейной функцией в точке с можно записать условие выпуклости функции: если имеет место

Q( a+(1-)b)< Q(a)+ (1-)Q(b),

то исходная функция выпукла (лежит ниже линейной функции на отрезке [a,b]).

Page 35: Методы оптимизации -  I

Примеры решения задачи с использованием условия Куна-Таккера

Пример 1. Q = u12+u2

2 min, u1, u2

u1+u2 1, или (u1,u2)= u1+u2

– 1 0,

L=Q(u1,u2)+ (u1,u2)= u12+u2

2 + (u1+u2 – 1).

Условия Куна-Таккера:* 0, L(U,) / uj = 0, *(u1

*,u2*) = 0, j=1,2.

Решение:L/u1= 2u1

*+ = 0, L/u2= 2u2*+ = 0,

(u1+ u2-1) = 0, u1+u2 – 1 0.

Пусть = 0, тогда u1*= 0, u2

*= 0.

Ограничение u1+u2 – 1 0 в точке u1= 0, u2= 0

пассивно.

Page 36: Методы оптимизации -  I

Примеры решения задачи с использованием условия Куна-Таккера

Пример 1 (продолжение):Пусть 0, тогда u1+u2

– 1 = 0,

2u1= - , т.к. > 0, то u1< 0;

2u2= - , т.к. > 0, то u2< 0.В этом случае не выполняется условие u1+u2

– 1 = 0.Пример 2. Q = u1

2+u22 min,

u1, u2

u1+u2 1, или (u1,u2)= -u1-u2

+ 1 0,

L=Q(u1,u2)+ (u1,u2)= u12+u2

2 + (-u1-u2 + 1).

Условия Куна-Таккера:* 0, L(U,) / uj = 0, *(u1

*,u2*) = 0, j=1,2.

Page 37: Методы оптимизации -  I

Примеры решения задачи с использованием условия Куна-Таккера

Пример 2 (продолжение):Решение:L/u1= 2u1 - = 0, L/u2= 2u2 - = 0,

(-u1 - u2 + 1) = 0, -u1-u2 +1 0.

Пусть = 0, тогда u1+ u2 -1 =0.

Ограничение -u1-u2 +1 0 в точке u1= 0, u2= 0

не выполняется.Пусть 0, тогда u1 = /2, u2 = /2,

u1= u2; -u1-u2 +1= 0, u1

*, u2*=1/2.

Ограничение -u1-u2 +1 0 в точке u1= 1/2,

u2= 1/2 активно.

Page 38: Методы оптимизации -  I

Численные методы решения одномерных задач статической оптимизации

Сканирования (с постоянным и переменным шагом).

Половинного деления исходного интервала, содержащего экстремум.

«Золотого» сечения.

С использованием чисел Фибоначчи.

Page 39: Методы оптимизации -  I

Метод сканирования с постоянным шагом

Функция Q(u), a u b.Алгоритм поиска: 1. Задается точность вычисления оптимального

значения uu*. 2. Интервал (b-a) делится на N отрезков, N (b-a)/ .3. В каждой точке ui =a+i (b-a) / N , i =0,1,…, N,

вычисляется функция Q(ui) и выбирается Q(u*) из условия Q(u* ) = max Q(ui) или

ui Q(u* ) = min Q(ui).

ui

Page 40: Методы оптимизации -  I

Метод сканирования с переменным шагом Функция Q(u), a u b.Алгоритм поиска: 1. Задается точность вычисления оптимального

значения uu*.2. Интервал (b-a) делится на S отрезков, S << (b-a)/ .3. В каждой точке u1

i =a+i(b-a) / S, i =0,1,…,S, вычисляется функция Q(u1

i) и выбирается Q(u1*) из условия Q(u1*) = max Q(u1

i) или ui Q(u1*) = min Q(u1

i). ui

4. Назначают границы нового интервала поиска a1 и b1 из условия:

a1 = u1k-1, b1 = u1

k+1,

где u1k-1 и u1

k+1 есть значения, соседние с u1* = u1k.

Page 41: Методы оптимизации -  I

Метод сканирования с переменным шагом

При максимизации функции Q=Q(u) max, u

Q(u1k-1) < Q(u1

k) = Q(u1*) > Q(u1k+1).

При минимизации функции Q=Q(u) min, uQ(u1

k-1) > Q(u1k) = Q(u1*) < Q(u1

k+1).

5. Пункты 2-4 повторяются для интервалов (b1 - a1), (b2 – a2),…, (bj - aj).

6. Расчет заканчивается при условии bj - aj .

Page 42: Методы оптимизации -  I

Метод половинного деленияQ=Q(u) max(min), a u b

Поиск методом половинного деления

ba

Q(u)

uu1

2u11

Page 43: Методы оптимизации -  I

Метод половинного деления Q=Q(u) max(min), a u b

Алгоритм поиска:1. Делится интервал (b-a) пополам u1 = a+(b-a)/2.2. Внутри интервала выбираются две точки u1

1 = u1 - и u12 = u1 +, где = (0.01-0.25).

3. Рассчитываются Q(u11) и Q(u1

2).

4. Определяются границы нового интервала a1 и b1.

Если Q=Q(u) max, то при Q(u11) > Q(u1

2) выбираем a1 = a, b1 = u1

2;

при Q(u11) Q(u1

2) выбираем a1 = u11, b1 = b;

Если Q=Q(u) min, то при Q(u11) > Q(u1

2) выбираем a1 = u1

1, b1 = b; при Q(u1

1) Q(u12) выбираем a1 = u1

1, b1 = u12;

5. Проверяется условие окончания поиска b1 - a1 . 6. Для каждого нового интервала (bi - ai) повторяются пункты 1-4 до выполнения условия bi - ai .

Page 44: Методы оптимизации -  I

Метод «золотого» сечения Q=Q(u) max(min), a u b

Поиск методом «золотого» сечения

ba u11 u1

2

u

0.38(b-a)0.38(b-a)

Q(u)

0.62(b-a)

Page 45: Методы оптимизации -  I

Метод «золотого» сечения Q=Q(u) max(min), a u b

Алгоритм поиска:1. Внутри интервала (b-a) выбираются две точки u1

1 = a+(3-5)(b-a)/2 и u12 = b-(3-5)(b-a)/2 .

2. Вычисляются Q(u11) и Q(u1

2).

3. Определяются границы нового интервала a1 и b1.

Если Q=Q(u) max, то при Q(u11) > Q(u1

2) выбираем a1 = a, b1 = u1

2;

при Q(u11) Q(u1

2) выбираем a1 = u11, b1 = b.

Если Q=Q(u) min, то при Q(u11) > Q(u1

2) выбираем a1 = u1

1, b1 = b; при Q(u1

1) Q(u12) выбираем a1 = a, b1 = u1

2; 4. Проверяется условие окончания поиска b1 - a1 .

Page 46: Методы оптимизации -  I

Метод «золотого» сечения Q=Q(u) max(min), a u b

Алгоритм поиска (продолжение):5. Если условие окончания поиска в пункте 4 не выполняется, на интервале (b1 - a1) со стороны, не смежной с меньшим отрезком, от граничной точки откладывается длина меньшего отрезка.6. Проводится перенумерация точек:

- ближайшая к левой границе обозначается u21;

- ближайшая к правой границе обозначается u22;

7. Для каждого нового интервала (bi - ai) повторяются

пункты 2-6 до выполнения условия bi - ai .

Page 47: Методы оптимизации -  I

Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u

b

Поиск с использованием чисел Фибоначчи

ba )(23,0 ab

Q(u)

uu2 u1

0.23(b-a)

0.38(b-a)

Page 48: Методы оптимизации -  I

Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u

bАлгоритм поиска:

1. Определяется число N, N = (b-a)/ . 2. В ряду чисел Фибоначчи находят Fs-1 < N < Fs, где F0 = F1 =1, Fi = Fi-2 + Fi-1 , i = 2,3,4,…

3. Вычисляется = (b-a) / Fs. 4. Выполняется 1-й шаг: u1 = a + *Fs-2 и вычисляется Q

= Q(u1). 5. Выполняется 2-й шаг: u2 = a + *Fs-2-1 и вычисляется Q = Q(u2).

Page 49: Методы оптимизации -  I

Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u

bАлгоритм поиска (продолжение):

6. Дальнейшие шаги:

ui+1 = ul ± sign(ui – ui-1) sign(Q(ui) - Q(ui-1))* Fs-2-i ,

где ul - значение u, при котором достигнуто наилучшее значение функции. Знак (+) ставится в задаче Q(u) max, знак (-) ставится в задаче Q(u) min. На каждом шаге вычисляется функция Q(u). Поиск заканчивается после использования числа Фибоначчи F0 ,

т.е. когда будут исчерпаны все числа Фибоначчи от Fs-2 до F0 .

Page 50: Методы оптимизации -  I

Численные методы решения многомерных задач статической оптимизации

Многомерная функция

Решается задача Q(u1,…,ur) max(min) u

u1

u1*

u2*

u2

Q(u1*,u2*)

Page 51: Методы оптимизации -  I

Численные методы решения многомерных задач статической оптимизации

Формирование линий уровня многомерной функции

Рассматриваются методы: Гаусса-Зейделя, градиента, наискорейшего спуска (подъема), случайного поиска..

2U

1U

Q(u1*,u2*)

u1

u2

Page 52: Методы оптимизации -  I

Метод Гаусса-Зейделя

Поиск методом Гаусса-Зейделя.

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r.

u1

u2

u1

Page 53: Методы оптимизации -  I

Метод Гаусса-Зейделя Q(u1,…,ur)max(min) u

Алгоритм поиска (заданы i, ):1. Выбирается исходная точка поиска u1 = (u1

1, …,u1r) и вычисляется Q = Q(u1).

2. Из точки u1 осуществляется движение по переменной u1

u21 = u1

1 h1 (sign (Q)/( u1)|u=u1)до выполнения условия |Q / u1| 1.3. Пункт 2 повторяется из полученной точки для переменной u2. Аналогично осуществляется движение по всем оставшимся переменным u3,u4,…, ur.4. Проверяется выполнение условия окончания поиска

5. В случае невыполнения пункта 4 повторяются пункты 1-4, принимая за исходную точку поиска ту, в которую пришли в пункте 4.

.)/( 2

1

i

r

iuQ

Page 54: Методы оптимизации -  I

Метод градиента

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r. Градиент функции Q(u):

где Ki - вектор, определяющий направление по i-ой координатной оси.Модуль градиента Направление градиента

,)(

)(1

uuu

ui

r

ii u

QKQGrad

.)(

)(1

2

r

i iu

QQGrad uu

uu

.,...,1,)(

/)(cos rj

QGrad

uQ jj

uu

u

Page 55: Методы оптимизации -  I

Метод градиента

Поиск методом градиента.

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r.

u1

u2

u1

Page 56: Методы оптимизации -  I

Метод градиента

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r. Алгоритм поиска (задано ): 1. Выбирается исходная точка поиска u1 = (u1

1, …,u1r)

2. Вычисляется

3. Проверяется выполнение условия окончания поиска

4. Если условие окончания поиска выполнено, то поиск окончен. 5. Если условие окончания поиска не выполнено, то выполняется шаг uk+1

i = uki hk cos j в направлении

градиента, где знак (+) для задачи Q(u) max, знак (-) для задачи Q(u) min.

.)(

)(1

2

11

r

i iu

QQGrad

uuu

u

.)( kGradQ u

Page 57: Методы оптимизации -  I

Метод градиента Алгоритм поиска (продолжение):

Если то uk+1i = uk

i h0(Q(u)/ ui)|uk , где h0 – базовое значение шага. 6. Сравниваются значения функций Q(uk) и Q(uk+1). Если для Q(u) max выполняется Q(uk+1) > Q(uk), или для Q(u) min выполняется Q(uk+1) < Q(uk), то пункты 2-6 повторяются до выполнения условия окончания поиска в пункте 3. Если для Q(u) max имеет место Q(uk+1) Q(uk), или для Q(u) min имеет место Q(uk+1) Q(uk), то возвращаются в точку u = uk, уменьшают шаг h0 и переходят к пункту 5.

.,...,1,

)/)((

/)(cos

2

1

ri

uQ

uQkk

i

r

j

ii

u

u

uu

,)(0kk GradQhh u

Page 58: Методы оптимизации -  I

Метод наискорейшего спуска (подъема).

Поиск методом наискорейшего спуска Отличается от метода градиента, тем, что движение из выбранной точки uk в направлении n градиента производится до выполнения условия

i = 1,…,r.

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r.

u1

u1

u2

,)()(

iii

kku

Q

u

Q

uu

uu

Page 59: Методы оптимизации -  I

Метод движения по дну оврага

Поиск методом движения по дну оврага

Решается задача Q(u1,…,ur) max(min), u

uimin ui ui

max, i = 1,…,r.

u1

u2

u8

u3

u2

u4

u5 u6

u7

u1

Page 60: Методы оптимизации -  I

Метод движения по дну оврага Решается задача Q(u1,…,ur) max(min), ui

min ui uimax, i = 1,…,r.

u Алгоритм поиска:1. Задается hmin. 2. Выбор исходной точки поиска u1 и спуск из нее в направлении GradQ(u1) на дно оврага в точку u2. 3. Смещение из точки u1 в точку u3 на небольшое расстояние ортогонально направлению GradQ(u1) и спуск из нее в направлении GradQ(u3) на дно оврага в точку u4. 4. Сравнение значений функций Q(u2) и Q(u4) в точках u2 и u4, лежащих на дне оврага. 5. Если для Q(u) max имеет место Q(u4) Q(u2), или для Q(u) min имеет место Q(u4) < Q(u2), то в направлении от u2 к u4 из u4 выполняется рабочий шаг h и переход в точку u5, лежащую на склоне оврага (хребта).

Page 61: Методы оптимизации -  I

Метод движения по дну оврага Решается задача Q(u1,…,ur) max(min), ui

min ui uimax, i = 1,…,r.

u

Алгоритм поиска (продолжение):6. Спуск на дно оврага из точки u5 в точку u6. Все точки, лежащие на дне оврага, имеют четные индексы и обозначаются u2+2i (i = 0,1,2,…). Все точки, лежащие на склоне оврага (хребта), имеют нечетные индексы и обозначаются u3+2i (i = 0,1,2,…). 7. Сравнение значений функций в соседних точках u2+2i и u2+2(i+1), лежащих на дне оврага. 8. Если для Q(u) max имеет место Q(u2+2(i+1)) > Q(u2+2i ), или для Q(u) min имеет место Q(u2+2(i+1)) < Q(u2+2i), то в направлении от u2+2i к u2+2(i+1) из u2+2(i+1) выполняется рабочий шаг h и переход в точку u3+2(i+1) , лежащую на склоне оврага (хребта).

Page 62: Методы оптимизации -  I

Метод движения по дну оврагаРешается задача

Q(u1,…,ur) max(min), uimin ui ui

max, i = 1,…,r. u

Алгоритм поиска (окончание):9. Если для Q(u) max (или Q(u) min) имеет место Q(u2+2(i+1)) Q(u2+2i ) (соответственно Q(u2+2(i+1)) Q(u2+2i), то выполняется возвращение в точку u3+2i и уменьшение рабочего шага h, например вдвое.10. Проверяется выполнение условия h hmin. 11. Если условие окончания поиска выполнено, то оптимальное значение u* полагается равным u2+2i. 12. Если условие окончания поиска не выполнено, то движение из точки u2+2i с полученным шагом по направлению от u2+2(i-1) к u2+2i и переход в точку u3+2i, а из нее спуск на дно оврага в точку u2+2(i+1). 13. Переход к пункту 7.

Page 63: Методы оптимизации -  I

Решение задач оптимизации на условный экстремум методом штрафных функцийРешение задач оптимизации при условии типа

равенства

Решается задача Q(u) = Q(u1,…,ur) max(min), u

j(u1,…,ur) = 0, j = 1,…,m. Формируется штрафная функция ,где , > 0 - большое число,при котором, за исключением малой окрестности около

границ j(u) = 0, должно выполнятся условие , i = 1,…,r.

Знак (+) принимается для задачи Q(u) min, знак (-) принимается для задачи Q(u) max.

)()()( uuu HQ )()(

1

2

m

jjH uu

ii u

H

u

Q

)()( uu

)()()( uuu HQ )()(

1

2

m

jjH uu )()(

1

2

m

jjH uu

Page 64: Методы оптимизации -  I

Решение задач оптимизации на условный экстремум методом штрафных функций

Решение задач оптимизации при условии типа равенства

Трансформирование линии уровня при условиях типа равенства

Линии уровня функции Q(u) трансформируется в линии уровня функции (u) за счет штрафной составляющей H(u), уплотняясь вдоль границы. Чем больше величина и чем больше нарушаются ограничения, тем линии уровня ближе к границе.

u1

u2

Q1(u)1(u)

(u1,u2)=0( u1,u2)<0(u1,u2)>0

Page 65: Методы оптимизации -  I

Решение задач оптимизации на условный экстремум методом штрафных функцийРешение задач оптимизации при условии типа

неравенства

Решается задача Q(u) = Q(u1,…,ur) max(min), u

j(u1,…,ur) 0, j = 1,…,m. Формируется штрафная функция

, где

sign(u) = -1, если j(u) < 0, sign(u) = -1, если j(u) > 0, - большое положительное число.Знак (+) принимается для задачи Q(u) min, знак (-) принимается для задачи Q(u) max.

)())(1()()(1

uuuu j

r

jjsignQ

Page 66: Методы оптимизации -  I

Решение задач оптимизации на условныйэкстремум методом штрафных функций

Решение задач оптимизации при условии типа неравенства

Трансформирование линии уровня при условиях типа неравенства

Линии уровня функции Q(u) трансформируется в линии уровня функции (u) за счет штрафной составляющей

, уплотняясь со стороны

запретной области вдоль границ j(u) = 0, j = 1,…,m. Чем больше коэффициент и чем сильнее нарушаются ограничения, тем плотнее линии уровня функции (u) приближаются к границе со стороны запретной области.

)())(1(1

uu j

m

jjsign

u1

u1u2

Q(u)

(u)(u1,u2)=0

(u1,u2)<0(u1,u2)>0

Page 67: Методы оптимизации -  I

Методы случайного поиска Решается задача

Q(u1,…,ur)max(min), u

uimin ui ui

max, i = 1,…,r.

Рассмотрим:

- метод слепого поиска

- метод случайных направлений

Page 68: Методы оптимизации -  I

Метод слепого поиска Q(u1,…,ur)max(min),

u ui

min ui uimax, i = 1,…,r.

Заданы: объем области v = r, определяющей точность вычисления вектора оптимальных управлений u*=(u1,…,ur), в допустимой области

изменения переменных ui, (i=1,…,r) объемом V

= 1; вероятность , с которой требуется попасть в область r расположения вектора u*.

Page 69: Методы оптимизации -  I

Метод слепого поиска Q(u1,…,ur)max(min),

u ui

min ui uimax, i = 1,…,r.

Алгоритм метода: 1. Вычисляется число точек s в области допустимых значений ui, (i=1,…,r), при котором гарантируется попадание хотя бы одной из них в область v. Из выражения = 1-(1-v)s имеем s = ln(1-) / ln(1-v). 2. Выбираются s совокупностей случайных чисел ui, (i=1,…,r), определяющих uk, (k=1,…,s). 3. Вычисляются значения функции Q = Q(uk), (k=1,…,s) и выбирается наилучшее из них.

Page 70: Методы оптимизации -  I

Метод случайных направлений Решается задача

Q(u1,…,ur) max(min), uimin ui ui

max, i = 1,…,r. u

Формируется вектор случайных направлений

= (1,…,r), где ,

i, j - случайные числа.

r

jjii

1

2/

Поиск методом случайных направлений u1

u2

u1

Page 71: Методы оптимизации -  I

Метод случайных направлений Решается задача

Q(u1,…,ur) max(min), uimin ui ui

max, i = 1,…,r. u

Алгоритм поиска:1. Задаются hmin и число S неудачных

направлений из одной точки.2. Выбирается исходная точка поиска u1 и

вычисляется Q = Q(u1). 3. Из выбранной точки выполняется шаг hk в

случайном направлении uk+1i = uk

i + hk·, i = 1,…,r, и вычисляется Q = Q(uk+1) (для 1-го шага k=1).

4. Сравниваются значения функций Q(uk) и Q(uk+1).

Page 72: Методы оптимизации -  I

Метод случайных направлений Решается задача

Q(u1,…,ur) max(min), uimin ui ui

max, i = 1,…,r. u

Алгоритм поиска (продолжение):5. Если для Q(u) max имеет место Q(uk+1) > Q(uk),

или для Q(u) min имеет место Q(uk+1) < Q(uk), то для точки uk+1 выполняются пункты 3-4.

6. Если для Q(u) max имеет место Q(uk+1) Q(uk), или для Q(u) min имеет место Q(uk+1) Q(uk), то возвращение в точку uk.

7. Проверяется выполнение условия окончания поиска s S, при h hmin , где s - число неудачных направлений из точки uk.

8. Если условие пункта 7 выполняется, то оптимальное u* = uk.

9. Если условие пункта 7 не выполняется, то длина последнего шага уменьшается, например, вдвое, и для точки u = uk выполняются пункты 3-9.

Page 73: Методы оптимизации -  I

Линейное программирование Особенности задач линейного

программирования

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

a11u1+a12u2+…+a1nun b1 a21u1+a22u2+…+a2nun b2 ···········································am1u1+am2u2+…+amnun bm

ui 0, i = 1,…,n.

n

iiiuCCQ

10)(u

Page 74: Методы оптимизации -  I

Линейное программирование Особенности задач линейного

программирования

В пространстве переменных ui, i = 1,…,n, геометрическая фигура целевой функции, изображающая условие Q(u) = Const, есть гиперплоскость, а область допустимых значений переменных в соответствии с приведенными выше условиями является многогранником. Грани многогранника - плоскости, а ребра многогранника - прямые линии, причем эта область выпуклая.

Page 75: Методы оптимизации -  I

Линейное программирование Особенности задач линейного

программирования

Область допустимых управлений в задаче линейного программирования

u6=0

u5=0

u4=0u3=0u1=0

u2=0

u1

u2

u*

Q(u) = Const

Page 76: Методы оптимизации -  I

Линейное программирование Особенности задач линейного

программирования

В связи с изложенным оптимальному состоянию системы в задаче Q(u) min (max)соответствует одна из вершин многогранника ограничений или оптимальное решение имеют бесчисленное множество точек, принадлежащих одной из граней многогранника ограничений. Последнее имеет место в том случае, когда коэффициенты при соответствующихпеременных ui, i = 1,…,n, в целевой функциипропорциональны коэффициентам при тех же переменных в одном из условий связи. В задачах линейного программирования целевая функция называется линейной формой.

Page 77: Методы оптимизации -  I

Линейное программирование Особенности задач линейного

программирования

Систему неравенств, связывающих переменные, можно переписать в канонической форме a11u1+a12u2+…+a1nun + un+1 b1

a21u1+a22u2+…+a2nun + un+2 b2

······················································ am1u1+am2u2+…+amnun + un+m bm

un+j 0, j = 1,…,m.Теперь уравнения границ, получаемых при

обращении исходных условий связи из неравенств в равенства, можно записать в виде

uk 0, (k=1,…,n,n+1,…,n+m).

Page 78: Методы оптимизации -  I

Линейное программирование Особенности задач линейного программирования

Рассматривая общее число переменных u1, u2, …, un, un+1, …, un+m,отметим следующее свойство задач линейного программирования:в вершинах многогранника ограничений ровно столько переменных обращаются в ноль, сколько степеней свободы имеет система, а остальные переменные в ноль не обращаются.Анализ числа степеней свободы системы показывает, что имеется m уравнений, связывающих n+m переменных uk (k=1,…,n+m). Следовательно, число степеней свободы ровно n+m-m=n. Таким образом, в вершине многогранника ограничений ровно n переменных из uk (k=1,…,n+m) обращаются в ноль. Эти переменные называются свободными переменными. Остальные m переменных в ноль не обращаются и называются базисными переменными. Вершины многогранника ограничений называются базисами.

Page 79: Методы оптимизации -  I

Симплекс-метод решения задач линейного программирования

Сущность симплекс-метода состоит в том, что из исходного базиса переходят одним шагом в соседний с ним базис. Проверяют выполнение условий оптимальности в этом базисе. Если условие оптимальности не выполняется, то из этого базиса переходят в другой соседний с ним базис. Алгоритм решения задачи симплекс-методом: 1. Выбирается исходный базис с координатами u1 = (u1,…,ur, un+1,…, un+m) = (0,…,0, b1,…, bm). 2. Систему связи, взятую в канонической форме, записывают в виде выражений базисных переменных через свободные, т.е. uk = bk - ak1u1 - ak2u2 -…- aknun, k = 1,…,m.

Page 80: Методы оптимизации -  I

Симплекс-метод решения задач линейного программирования

Алгоритм решения задачи симплекс-методом (продолжение): Линейная форма так же выражается через свободные переменные Q(u)=C0+C1u1+…+Ci-1ui-1+Ciui+Ci+1ui+1+…+Cnun. 3. В выражении линейной формы выбирается та переменная ui, увеличение которой в области u 0 относительно исходного базиса вызывает улучшение линейной формы. 4. Рассматриваются построчно отношения константы bk к коэффициенту aki при переменной ui. Причем, при коэффициенте aki должен быть отрицательный знак.

Page 81: Методы оптимизации -  I

Симплекс-метод решения задач линейного программирования

Алгоритм решения задачи симплекс-методом (продолжение): 5. Выбирается j-я строка из системы связей, удовлетворяющая условию bj/aji = min bk/aki, где k только для коэффициентов aki, k =1,…,n, имеющих при себе отрицательный знак. un+1= b1-a11u1-…-a1,i-1ui-1-a1,iui-a1,i+1ui+1-…-a1nun ……………………………………………………………. un+j-1= bj-1-aj-1,1u1-…-aj-1,i-1ui-1–aj-1,iui-aj-1,i+1ui+1-…-aj-1,nun

un+j= bj-aj,1u1-…-aj,i-1ui-1–aj,iui-aj,i+1ui+1-…-aj,nun

un+j+1=bj+1-aj+1,1u1-…-aj+1,i-1ui-1-aj+1,iui-aj+1,i+1ui+1-…-aj+1,nun

………………………………………………………... un+m= bm–am,1u1-…-am,i-1ui-1–am,iui-am,i+1ui+1-…-am,nun

В выбранной строке коэффициент aji называется разрешающим элементом, а сама строка называется строкой, содержащей разрешающий элемент.

Page 82: Методы оптимизации -  I

Симплекс-метод решения задач линейного программирования

Алгоритм решения задачи симплекс-методом (продолжение): Заметим, что при принятии переменной ui значения ui = bi/aji переменная un+j обращается в ноль. Следовательно, осуществлен переход в соседний базис, где переменная uj приняла значение, равное нулю, т.е. стала свободной. При указанном значении ui = bi/aji условие un+k 0 (k=1,…,m) выполняется. 6. Из строки, содержащей разрешающий элемент, выражается ui

ui=bi/aji-(aj,1/aji)u1-…-(aj,i-1/aji)ui-1-(1/aji)un+j-(aj,i+1/aji)ui+1-

…-(ajn/aji) un и подставляется в остальные строки системы уравнений связи.

Page 83: Методы оптимизации -  I

Симплекс-метод решения задач линейного программирования

Алгоритм решения задачи симплекс-методом (продолжение): После приведения подобных членов получается un+1= b1-a11u1-…-a1,i-1ui-1-a1,n+jun+j-a1,i+1ui+1-…-a1nun ………………………………………………………….. un+j-1= bj-1-aj-1,1u1-…-aj-1,i-1ui-1–aj-1,n+jun+j-aj-1,i+1ui+1-…-aj-1,nun

un+j= 0 un+j+1= bj+1-aj+1,1u1-…-aj+1,i-1ui-1–aj+1,n+jun+j –aj+1,iui - aj+1,i+1ui+1-…-aj+1,nun………………………………………………………… un+m= bm–am,1u1-…-am,i-1ui-1–am,n+jun+j-am,i+1ui+1-…-am,nun

7. Выражение ui подставляется в линейную форму. После приведения подобных членов получается: Q(u) = C0+C1u1+…+Ci-1ui-1+Cn+jun+j+Ci+1ui+1+Cm+num+n.

Page 84: Методы оптимизации -  I

Симплекс-метод решения задач линейного программирования

Алгоритм решения задачи симплекс-методом (продолжение): 8. Записываются координаты базиса, в который пришли u2 = (u1,…,ui-1, un+j, ui+1,…,un, ui+1,…, un+j-1, ui, un+j+1,…,

um+n) = (0,…,0,0,0,…, b1,…, bj-1, bi= bj/ aji,…, bn+m).

Значение линейной формы в этом базисе Q = C0.

9. Проверяется условие оптимальности базиса u2.

Если для базиса u2 в задаче Q(u) min имеет место Ci

> 0, а в задаче Q(u) max имеет место Ci < 0, где Ci - любой из коэффициентов линейной формы, исключая C0, то базис u2 является оптимальным.

Page 85: Методы оптимизации -  I

Симплекс-метод решения задач линейного программирования

Алгоритм решения задачи симплекс-методом (окончание): 10. Если условие оптимальности не выполняется, то в выражении линейной формы Q(u) выбирается переменная, улучшающая линейную форму при возрастании этой переменной, и повторяются пункты 4-9. При практической реализации симплекс-метода переход от одного базиса к другому и проверка базиса на оптимальность формализуется с использованием упрощающих приемов в форме симплекс-таблиц.

Page 86: Методы оптимизации -  I

Симплекс-таблицы

Система ограничений представляется в виде un+1+a11u1+…+a1,i-1ui-1+a1,iui+a1,i+1ui+1+…+a1nun= b1

····················································································

un+j-1+aj-1,1u1+…+aj-1,i-1ui-1+aj-1,iui+aj-1,i+1ui+1+…+aj-1,nun= = bj-1

un+j +aj,1u1+…+aj,i-1ui-1+aj,iui+aj,i+1ui+1+…+aj,nun= bj

un+j+1+aj+1,1u1+…+aj+1,i-1ui- 1+aj+1,iui+aj+1,i+1ui+1+… … +aj+1,nun= bj+1

·······························································································

un+m+am,1u1+…+am,i-1ui-1+am,iui+am,i+1ui+1+…+am,nun= bm, а линейная форма представляется в виде Q(u) - C1u1-….- Ci-1ui-1- Ciui- Ci+1ui+1-…-Cnun = C0. В приведенных уравнениях свободными переменными являются

un+1,…,un+m. Координаты исходного базиса u1 = (u1,…,ur, un+1,…, un+m) = (0,…,0, b1,…, bm).Этому состоянию соответствует симплекс-таблица 1.

Page 87: Методы оптимизации -  I

Симплекс-таблицы

б/п с/п переменные

un+1 … un+j-1 un+j un+j+1 …un+m u1 … ui-1 ui ui+1 … un

un+1 b1 1 … 0 0 0 … 0 a11 … a1,i-1 a1,i a1,i+1 … a1n

… …   … … … … … … … … … … … … …

un+j-1 bj-1 0 … 1 0 0 … 0 aj-1,1 … aj-1,i-1 aj-1,i aj-1,i+1 …aj-1,n

un+j bj 0 … 0 1 0 … 0 aj,1 … aj,i-1 aj,i aj,i+1 … aj,n

un+j+1 bj+1 0 … 0 0 1 … 0 aj+1,1 … aj+1,i-1 aj+1,i aj+1,i+1 …aj+1,n

… …   … … … … … … … … … … … … …

un+m bm 0 … 0 0 0 … 1 am,1 … am,i-1 am,i am,i+1 … am,n

л/ф

QC0 0 … 0 0 0 … 0 -C1 … -Ci-1 -Ci -Ci+1 … -Cn

Симплекс-таблица 1

Page 88: Методы оптимизации -  I

Симплекс-таблицы

Пусть разрешающим элементом является aji. Тогда очередной шаг симплекс-метода состоит в переходе от базиса u1 к базису u2 = (u1,…,ui-1, ui, ui+1,…,un, un+1,…, un+j-1, un+j, un+j+1,…, um+n) = (0,…,0, bj/ aji,0,…, 0, b1,…, bj-1, 0, bj+1,…, bm) через систему: un+1+ã1,iu1+…+ã 1,i-1ui-1+ã 1,jun+j+ã 1,i+1ui+1+…+ã 1nun= b'1 …………………………………………………………..un+j-1+ã j-1,1u1+…+ã j-1,i-1ui-1+ã j-1,jun+j+ã j-1,i+1ui+1+…+ã j-1,nun = b'j-1uj +ã i,1u1+…+ã i,i-1ui-1+ã i,jun+j+ã i,i+1ui+1+…+ã i,nun= b'iun+j+1+ã j+1,1u1+…+ã j+1,i-1ui-1+ã j+1,jun+j+ã j+1,i+1ui+1+…+ã j+1,nun = b'j+1

…………………………………………………………..un+m+ã m,1u1+…+ã m,i-1ui-1+ã m, jun+j+ã m,i+1ui+1+…+ã m,nun= b'mПри этом линейная форма принимает вид: Q(u) - C'1u1-….- C'i-1ui-1- C'jun+j- C'i+1ui+1-…-C'nun = C'0. Базису u2 соответствует симплекс-таблица 2.

Page 89: Методы оптимизации -  I

Симплекс-таблицы

б/п с/п переменные

un+1 …un+j-1 un+j un+j+1 … un+m u1 … ui-1 ui ui+1 … un

un+1 b'1 1 … 0 a'1,i 0 … 0 a'11 … a'1,i-1 0 a'1,i+1 … a'1n

… …  … … … … … … … … … … … … … …

un+j-1 b'j-1 0 … 1 a'j-1,i 0 … 0 a'j-1,1 …a'j-1,i-1 0 a'j-1,i+1 …a'j-1,n

ui b'i 0 … 0 a'j,i 0 … 0 a'j,1 … a'j,i-1 1 a'j,i+1 … a'j,n

un+j+1 b'j+1 0 … 0 a'j+1,i 1 … 0 a'j+1,1 …a'j+1,i-1 0 a'j+1,i+1 …a'j+1,n

… … …  … … … … … … … … … … … … …

un+m b'm 0 … 0 a'm,i 0 … 1 a'm,1 … a'm,i-1 0 a'm,i+1 … a'm,n

л/ф

QC'0 0 … 0 -C'n+j 0 … 0 -C'1 … -C'i-1 0 -C'i+1 … -C'n

Симплекс-таблица 2

Page 90: Методы оптимизации -  I

Симплекс-таблицы

Координаты базиса u2 = (u1,…,ui-1,ui, ui+1,…,un, un+1,…,un+j-1,un+j,un+j+1,…,um+n) = (0,…,0,b'i,0,…, 0,b'1,…,b'j-1,0,b'j+1,…,b'm).

Линейная форма в этом базисе Q = C'0. Строки симплекс-таблицы 2 формируются

следующим образом:1. Выбираются варьируемая переменная,

например ui, и отыскивается разрешающий элемент aji.

2. Строка, содержащая разрешающий элемент an+j,i, умножается на величину 1/an+j,i. Значения полученных при этом элементов записываются на месте соответствующих элементов старой строки.

Page 91: Методы оптимизации -  I

Симплекс-таблицы

3. К каждой из строк симплекс-таблицы 1 поочередно прибавляется полученная в пункте 2 строка, умноженная на такой коэффициент, при котором сумма элементов двух складываемых строк в столбце ui обращается в нуль .

4. Анализируются элементы строки линейной формы. Если, за исключением C'0, все C'k (k-для коэффициентов при n свободных переменных) удовлетворяют условию C'k > 0 в задаче максимизации линейной формы (C'k < 0 в задаче минимизации линейной формы), то найдено оптимальное решение. Если указанные условия не выполняются, то вычисления продолжаются относительно полученного базиса переходом к пункту 1.

Page 92: Методы оптимизации -  I

Симплекс-таблицы Пример. Минимизировать линейную форму Q = u1 – u2. Система ограничений в каноническом виде:

u3 + u1 – 2u2 = 1,u4 + 2u1 + u2 = 2,u5 + 3u1 + u2 = 3.

Линейную форму запишем в виде Q-u1+u2= 0.Симплекс-таблица 1:

базовыепере-

менные

свобод.члены

переменныеu3 u4 u5 u1 u2

u3 1 1 0 0 1 -2u4 2 0 1 0 -2 1u5 3 0 0 1 3 1

лин.ф. 0 0 0 0 -1 1

Page 93: Методы оптимизации -  I

Симплекс-таблицы Координаты первого базиса u1 = (u1,u2,u3,u4,u5)= = (0,0,1,2,3), линейная форма Q = 0.В качестве варьируемой переменной выбираем u2. Разрешающий элемент a42 = 1.Согласно алгоритму формирования симплекс таблиц получим для второго базиса:

базовыепере-

менные

свобод.члены

переменныеu3 u4 u5 u1 u2

u3 5 1 2 0 -3 0u2 2 0 1 0 -2 1u5 1 0 -1 1 5 0

лин.ф. -2 0 -1 0 1 0

Page 94: Методы оптимизации -  I

Симплекс-таблицы Координаты второго базиса u2 = (u1, u2, u3, u4, u5) = (0,2,5,0,1), линейная форма Q = -2.Так как коэффициенты линейной формы при свободных переменных u1 и u4 второго базиса не удовлетворяют условиям минимума линейной формы, то расчет продолжаем, переходя к третьему базису, формируя для него симплекс-таблицу.

базовыепере-

менные

свобод.члены

переменныеu3 u4 u5 u1 u2

u3 5.6 1 1.4 0.6 0 0u2 2.4 0 0.6 0.4 0 1u1 0.2 0 -0.2 0.2 1 0

лин.ф. -2.2 0 -0.8 -0.2 0 0Так как коэффициенты линейной формы при свободных переменных имеют отрицательный знак, то оптимальное решение найдено. Координаты оптимального базиса

u3 = (u1, u2, u3, u4, u5) = (0.2, 2.4, 5.6, 0, 0). Значение линейной формы в этом базисе Q = -2.2.