Скачать презентацию Методы оптимизации — I Проф В П Кривошеев Скачать презентацию Методы оптимизации — I Проф В П Кривошеев

541a36538556978be43c747270398471.ppt

  • Количество слайдов: 94

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

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

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

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

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

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

Динамическое состояние Признаком динамического состояния объекта управления является изменение во времени переменных, характеризующих состояние Динамическое состояние Признаком динамического состояния объекта управления является изменение во времени переменных, характеризующих состояние объекта управления, т. е. dxi/dt 0. Физически динамическое состояние есть состояние, при котором имеет место Приход (энергии, вещества) - Расход (энергии, вещества) Накопление или истечение (энергии, вещества).

Переменные, характеризующие объект управления: x 1 … xm u 1 Объект y 1 управления Переменные, характеризующие объект управления: x 1 … xm u 1 Объект y 1 управления yn ur Входные переменные: a) возмущающие (внешние) воздействия (xk, k=1, 2, …, m); b) управляющие воздействия (uj, j=1, 2, …, r); Выходные переменные (yi, i=1, 2, …, n).

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

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

Выбор критериев оптимальности для задач оптимизации объектов, находящихся в статическом и динамическом состояниях Критерии Выбор критериев оптимальности для задач оптимизации объектов, находящихся в статическом и динамическом состояниях Критерии оптимальности для объектов, находящихся в статическом состоянии: a) для объектов с сосредоточенными параметрами – целевая функция в виде ; b) для объектов с распределенными параметрами – функционал в виде где , l – пространственная координата.

Выбор критериев оптимальности для задач оптимизации объектов, находящихся в статическом и динамическом состояниях Критерии Выбор критериев оптимальности для задач оптимизации объектов, находящихся в статическом и динамическом состояниях Критерии оптимальности для объектов, находящихся в динамическом состоянии есть функционал в виде: , где t – время. ,

Виды функций по количеству экстремумов - унимодальные, имеющие один экстремум - полимодальные, более одного Виды функций по количеству экстремумов - унимодальные, имеющие один экстремум - полимодальные, более одного экстремума Виды экстремумов и наилучших значений функции - локальный минимум полимодальной функции в точке ui*, если , или и ; - локальный максимум полимодальной функции в точке ui*, если , или и , где i=1, 2, …, k – число локальных экстремумов.

Виды экстремумов и наилучших значений функции - супремум (sup Q (u)) при umin, если Виды экстремумов и наилучших значений функции - супремум (sup Q (u)) при umin, если ; - супремум (sup Q (u)) при umax, если ; - инфимум (inf Q (u)) при umin, если ; - инфимум (inf Q (u)) при umax, если ; - глобальный минимум в точке ug, если ; - глобальный максимум в точке ug, если.

Постановка задачи статической оптимизации Q(X, U) min(max) U yi=φi(X, U) , i=1, …, n, Постановка задачи статической оптимизации Q(X, U) min(max) U yi=φi(X, U) , i=1, …, n, yiзад, i=1, …, k, yiзад, i=k+1, …, p, Ujmin Ujmax, j=1, …, r, где X=(x 1, …, xn) – вектор внешних возмущающих воздействий, U=(u 1, …, ur) – вектор управляющих воздействий, Y=(y 1, …, yp) – вектор выходных переменных, yiзад - заданные значения выходных переменных, Ω - область допустимых управлений. Требуется найти такие значения управляющих воздействий U=(u 1, …, ur), при которых выполняются приведенные выше условия, а критерий оптимальности Q принимает минимальное (максимальное) значение.

Необходимые условия корректной постановки задачи оптимизации Оптимизация имеет место тогда, когда рассматриваемая система имеет Необходимые условия корректной постановки задачи оптимизации Оптимизация имеет место тогда, когда рассматриваемая система имеет степени свободы. Число степеней свободы определяется по выражению: Число степеней свободы = Число искомых функций (переменных) – Число их связывающих уравнений. Размерность задачи оптимизации определяется по числу искомых функций (переменных), т. е. числом степеней свободы (ЧСС). Задача одномерная, если ЧСС =1, и многомерная, если ЧСС >1.

Примеры корректной и некорректной постановок задачи оптимизации Пример корректной постановки задачи оптимизации: Q(u 1, Примеры корректной и некорректной постановок задачи оптимизации Пример корректной постановки задачи оптимизации: Q(u 1, u 2) max(min), u 1, u 2 a 1 u 1+a 2 u 2 = b 1. Число степеней свободы = = 2 (искомые переменные u 1, u 2) – 1 (число уравнений, связывающих переменные u 1, u 2) = 1. Пример некорректной постановки задачи оптимизации: Q(u 1, u 2) max(min), u 1, u 2 a 11 u 1+a 12 u 2 = b 1, a 21 u 1+a 22 u 2 = b 2. Число степеней свободы = 2 – 2 = 0.

Методы статической оптимизации 1. Классический метод исследования функции на экстремум 2. Методы нелинейного программирования: Методы статической оптимизации 1. Классический метод исследования функции на экстремум 2. Методы нелинейного программирования: - численные методы решения одномерной задачи статической оптимизации; - численные методы решения многомерной задачи статической оптимизации 3. Линейное программирование 4. Динамическое программирование в дискретной форме

Классический метод исследования функций на экстремум Необходимые и достаточные условия экстремума функции одной переменной Классический метод исследования функций на экстремум Необходимые и достаточные условия экстремума функции одной переменной Q=Q(u) Необходимое условие: . Достаточное условие: Если при u=u* впервые в порядке возрастания k , где k – четное, то Q=Q(u) имеет экстремум. Причем, если , то Q(u) min, а если , то Q(u) max. Если при u=u* впервые в порядке возрастания k , где k – нечетное, то Q=Q(u) не имеет экстремума.

Примеры исследования функции одной переменной на экстремум Пример 1. Q = (1 -u)3. Необходимое Примеры исследования функции одной переменной на экстремум Пример 1. Q = (1 -u)3. Необходимое условие экстремума 3(1 -u*)2(-1) = 0, u* =1. Достаточное условие экстремума : = 6(1 -u*) = 6(1 -1) = 0, . k = 3 – нечетное. Ответ: при u* =1 исследуемая функция не имеет экстремума.

Примеры исследования функции одной переменной на экстремум Пример 2. Q = (1 -u)4. Необходимое Примеры исследования функции одной переменной на экстремум Пример 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 исследуемая функция имеет минимум.

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

Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q = u Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q = u 1+2 u 12+u 2+4 u 22+3 u 1 u 2 Необходимое условие экстремума: , 1+4 u 1*+3 u 2* = 0; , 1+8 u 2*+3 u 1* = 0; , u 1* = 1 / = -5/23, u 2* = 2 / = -1/23. ,

Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q = u Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q = u 1+2 u 12+u 2+4 u 22+3 u 1 u 2. Достаточное условие экстремума: ; ; ; ; Матрица (Г): 1 -ый диагональный минор равен 4>0, 2 -ой диагональный минор равен 4 8 -3 3=32 -9=23>0. Ответ: при u 1* = -5/23, u 2* = -1/23 исследуемая функция имеет минимум.

Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q = u Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q = u 1 -2 u 12+u 2+4 u 22+3 u 1 u 2 Необходимое условие экстремума: , 1 -4 u 1*+3 u 2* = 0; , 1+8 u 2*+3 u 1* = 0; , u 1* = 1 / = 5/41, u 2* = 2 / = -7/41. ,

Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q = u Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q = u 1 -2 u 12+u 2+4 u 22+3 u 1 u 2. Достаточное условие экстремума: ; ; Матрица (Г): 1 -ый диагональный минор равен – 4<0, 2 -ой диагональный минор равен -4 8 -3 3=-32 -9=-41<0. Ответ: при u 1* = 5/41, u 2* = -7/41 исследуемая функция не имеет экстремума.

Аналитическое решение задачи на условный экстремум - Метод множителей Лагранжа. - Условие Куна-Таккера Аналитическое Аналитическое решение задачи на условный экстремум - Метод множителей Лагранжа. - Условие Куна-Таккера Аналитическое решение задачи на условный экстремум при условиях типа равенства: Q=Q(U) min, U j(U) = 0, j = 1, …, m, U = (u 1, …, ur), m < r. Задача решается методом множителей Лагранжа.

Метод множителей Лагранжа 1. Составляется функция Лагранжа где j, j=1, …, m, - множители Метод множителей Лагранжа 1. Составляется функция Лагранжа где j, j=1, …, m, - множители Лагранжа. 2. Совместно решается система уравнений: L(U, ) / ui=0, i=1, …, r, j(U) = 0, j = 1, …, m.

Пример решения задачи методом множителей Лагранжа Q = u 12+u 22 , u 1+u Пример решения задачи методом множителей Лагранжа Q = u 12+u 22 , u 1+u 2 – 1 = 0. Функция Лагранжа L=Q(u 1, u 2)+ (u 1, u 2)= u 12+u 22 + (u 1+u 2 – 1), L/ u 1= 2 u 1*+ = 0, L/ u 2= 2 u 2*+ = 0, u 1*+u 2* – 1= 0, L/ u 1 - L/ u 2= 2 u 1*- 2 u 2*= 0, отсюда u 1*= u 2*. Используя это равенство в уравнении ограничения, получаем u 1*+ u 1*= 0, или u 1*= 0, 5; u 2*= 0, 5.

Аналитическое решение задачи на условный экстремум - Метод множителей Лагранжа. - Условие Куна-Таккера Аналитическое Аналитическое решение задачи на условный экстремум - Метод множителей Лагранжа. - Условие Куна-Таккера Аналитическое решение задачи на условный экстремум при условиях типа неравенств: Q=Q(U) min, U j(U) 0, j = 1, …, m, U = (u 1, …, ur). Задача решается с использованием условий Куна-Таккера.

Условия Куна-Таккера Рассматривается задача выпуклого программирования Q=Q(U) min, U j(U) 0, j = 1, Условия Куна-Таккера Рассматривается задача выпуклого программирования Q=Q(U) min, U j(U) 0, j = 1, …, m, U = (u 1, …, ur), где Q(U) и j(U) - выпуклые дифференцируемые функции. Алгоритм решения задачи. 1. Составляется функция Лагранжа: где j, j=1, …, m, - множители Лагранжа.

Условия Куна-Таккера 2. Совместно решается система уравнений и неравенств: L(U, ) / ui=0, i=1, Условия Куна-Таккера 2. Совместно решается система уравнений и неравенств: L(U, ) / ui=0, i=1, …, r, j j(U) = 0, j = 1, …, m, j(U) 0, j = 1, …, m.

К определению выпуклости функции Пусть 0 1. Произвольную точку на линии ab можно описать К определению выпуклости функции Пусть 0 1. Произвольную точку на линии ab можно описать как a+(b-a)(1 - )= a+(1 - )b, т. е. при = 0 это точка b, а при = 1 это точка а. В случае нелинейной функции ее значение в точке с = a+ (1 - )b есть Q[ a+(1 )b].

К определению выпуклости функции Значение линейной функции, проходящей через точки a и b, в К определению выпуклости функции Значение линейной функции, проходящей через точки 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]).

Примеры решения задачи с использованием условия Куна-Таккера Пример 1. Q = u 12+u 22 Примеры решения задачи с использованием условия Куна-Таккера Пример 1. Q = u 12+u 22 min, u 1, u 2 u 1+u 2 1, или (u 1, u 2)= u 1+u 2 – 1 0, L=Q(u 1, u 2)+ (u 1, u 2)= u 12+u 22 + (u 1+u 2 – 1). Условия Куна-Таккера: * 0, L(U, ) / uj = 0, * (u 1*, u 2*) = 0, j=1, 2. Решение: L/ u 1= 2 u 1*+ = 0, L/ u 2= 2 u 2*+ = 0, (u 1+ u 2 -1) = 0, u 1+u 2 – 1 0. Пусть = 0, тогда u 1*= 0, u 2*= 0. Ограничение u 1+u 2 – 1 0 в точке u 1= 0, u 2= 0 пассивно.

Примеры решения задачи с использованием условия Куна-Таккера Пример 1 (продолжение): Пусть 0, тогда u Примеры решения задачи с использованием условия Куна-Таккера Пример 1 (продолжение): Пусть 0, тогда u 1+u 2 – 1 = 0, 2 u 1= - , т. к. > 0, то u 1< 0; 2 u 2= - , т. к. > 0, то u 2< 0. В этом случае не выполняется условие u 1+u 2 – 1 = 0. Пример 2. Q = u 12+u 22 min, u 1, u 2 u 1+u 2 1, или (u 1, u 2)= -u 1 -u 2 + 1 0, L=Q(u 1, u 2)+ (u 1, u 2)= u 12+u 22 + (-u 1 -u 2 + 1). Условия Куна-Таккера: * 0, L(U, ) / uj = 0, * (u 1*, u 2*) = 0, j=1, 2.

Примеры решения задачи с использованием условия Куна-Таккера Пример 2 (продолжение): Решение: L/ u 1= Примеры решения задачи с использованием условия Куна-Таккера Пример 2 (продолжение): Решение: L/ u 1= 2 u 1 - = 0, L/ u 2= 2 u 2 - = 0, (-u 1 - u 2 + 1) = 0, -u 1 -u 2 +1 0. Пусть = 0, тогда u 1+ u 2 -1 =0. Ограничение -u 1 -u 2 +1 0 в точке u 1= 0, u 2= 0 не выполняется. Пусть 0, тогда u 1 = /2, u 2 = /2, u 1= u 2; -u 1 -u 2 +1= 0, u 1*, u 2*=1/2. Ограничение -u 1 -u 2 +1 0 в точке u 1= 1/2, u 2= 1/2 активно.

Численные методы решения одномерных задач статической оптимизации - Сканирования (с постоянным и переменным шагом). Численные методы решения одномерных задач статической оптимизации - Сканирования (с постоянным и переменным шагом). - Половинного деления исходного интервала, содержащего экстремум. - «Золотого» сечения. - С использованием чисел Фибоначчи.

Метод сканирования с постоянным шагом Функция Q(u), a u b. Алгоритм поиска: 1. Задается Метод сканирования с постоянным шагом Функция Q(u), a u b. Алгоритм поиска: 1. Задается точность вычисления оптимального значения u u*. 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

Метод сканирования с переменным шагом Функция Q(u), a u b. Алгоритм поиска: 1. Задается Метод сканирования с переменным шагом Функция Q(u), a u b. Алгоритм поиска: 1. Задается точность вычисления оптимального значения u u*. 2. Интервал (b-a) делится на S отрезков, S << (b-a)/ . 3. В каждой точке u 1 i =a+i(b-a) / S, i =0, 1, …, S, вычисляется функция Q(u 1 i) и выбирается Q(u 1*) из условия Q(u 1*) = max Q(u 1 i) или ui Q(u 1*) = min Q(u 1 i). ui 4. Назначают границы нового интервала поиска a 1 и b 1 из условия: a 1 = u 1 k-1, b 1 = u 1 k+1, где u 1 k-1 и u 1 k+1 есть значения, соседние с u 1* = u 1 k.

Метод сканирования с переменным шагом При максимизации функции Q=Q(u) max, u Q(u 1 k-1) Метод сканирования с переменным шагом При максимизации функции Q=Q(u) max, u Q(u 1 k-1) < Q(u 1 k) = Q(u 1*) > Q(u 1 k+1). При минимизации функции Q=Q(u) min, u Q(u 1 k-1) > Q(u 1 k) = Q(u 1*) < Q(u 1 k+1). 5. Пункты 2 -4 повторяются для интервалов (b 1 - a 1), (b 2 – a 2), …, (bj - aj). 6. Расчет заканчивается при условии bj - aj .

Метод половинного деления Q=Q(u) max(min), a u b Q(u) u 11 a u 12 Метод половинного деления Q=Q(u) max(min), a u b Q(u) u 11 a u 12 b u Поиск методом половинного деления

 Метод половинного деления Q=Q(u) max(min), a u b Алгоритм поиска: 1. Делится интервал Метод половинного деления Q=Q(u) max(min), a u b Алгоритм поиска: 1. Делится интервал (b-a) пополам u 1 = a+(b-a)/2. 2. Внутри интервала выбираются две точки u 11 = u 1 - и u 12 = u 1 + , где = (0. 01 -0. 25). 3. Рассчитываются Q(u 11) и Q(u 12). 4. Определяются границы нового интервала a 1 и b 1. Если Q=Q(u) max, то при Q(u 11) > Q(u 12) выбираем a 1 = a, b 1 = u 12; при Q(u 11) Q(u 12) выбираем a 1 = u 11, b 1 = b; Если Q=Q(u) min, то при Q(u 11) > Q(u 12) выбираем a 1 = u 11, b 1 = b; при Q(u 11) Q(u 12) выбираем a 1 = u 11, b 1 = u 12; 5. Проверяется условие окончания поиска b 1 - a 1 . 6. Для каждого нового интервала (bi - ai) повторяются пункты 1 -4 до выполнения условия bi - ai .

Метод «золотого» сечения Q=Q(u) max(min), a u b Q(u) 0. 62(b-a) 0. 38(b-a) a Метод «золотого» сечения Q=Q(u) max(min), a u b Q(u) 0. 62(b-a) 0. 38(b-a) a 0. 38(b-a) u 11 u 12 b u Поиск методом «золотого» сечения

Метод «золотого» сечения Q=Q(u) max(min), a u b Алгоритм поиска: 1. Внутри интервала (b-a) Метод «золотого» сечения Q=Q(u) max(min), a u b Алгоритм поиска: 1. Внутри интервала (b-a) выбираются две точки u 11 = a+(3 - 5)(b-a)/2 и u 12 = b-(3 - 5)(b-a)/2. 2. Вычисляются Q(u 11) и Q(u 12). 3. Определяются границы нового интервала a 1 и b 1. Если Q=Q(u) max, то при Q(u 11) > Q(u 12) выбираем a 1 = a, b 1 = u 12; при Q(u 11) Q(u 12) выбираем a 1 = u 11, b 1 = b. Если Q=Q(u) min, то при Q(u 11) > Q(u 12) выбираем a 1 = u 11, b 1 = b; при Q(u 11) Q(u 12) выбираем a 1 = a, b 1 = u 12; 4. Проверяется условие окончания поиска b 1 - a 1 .

Метод «золотого» сечения Q=Q(u) max(min), a u b Алгоритм поиска (продолжение): 5. Если условие Метод «золотого» сечения Q=Q(u) max(min), a u b Алгоритм поиска (продолжение): 5. Если условие окончания поиска в пункте 4 не выполняется, на интервале (b 1 - a 1) со стороны, не смежной с меньшим отрезком, от граничной точки откладывается длина меньшего отрезка. 6. Проводится перенумерация точек: - ближайшая к левой границе обозначается u 21; - ближайшая к правой границе обозначается u 22; 7. Для каждого нового интервала (bi - ai) повторяются пункты 2 -6 до выполнения условия bi - ai .

Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u b Q(u) u 2 a Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u b Q(u) u 2 a 0. 23(b-a) u 1 b u 0. 38(b-a) Поиск с использованием чисел Фибоначчи

Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u b Алгоритм поиска: 1. Определяется Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u b Алгоритм поиска: 1. Определяется число N, N = (b-a)/ . 2. В ряду чисел Фибоначчи находят Fs-1 < N < Fs, где F 0 = F 1 =1, Fi = Fi-2 + Fi-1 , i = 2, 3, 4, … 3. Вычисляется = (b-a) / Fs. 4. Выполняется 1 -й шаг: u 1 = a + *Fs-2 и вычисляется Q = Q(u 1). 5. Выполняется 2 -й шаг: u 2 = a + *Fs-2 -1 и вычисляется Q = Q(u 2).

Метод с использованием чисел Фибоначчи Q=Q(u) max(min), a u b Алгоритм поиска (продолжение): 6. Метод с использованием чисел Фибоначчи 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). Поиск заканчивается после использования числа Фибоначчи F 0 , т. е. когда будут исчерпаны все числа Фибоначчи от Fs-2 до F 0.

Численные методы решения многомерных задач статической оптимизации Решается задача Q(u 1, …, ur) max(min) Численные методы решения многомерных задач статической оптимизации Решается задача Q(u 1, …, ur) max(min) u Q(u 1*, u 2*) u 1* u 2 Многомерная функция u 1

Численные методы решения многомерных задач статической оптимизации Q(u 1*, u 2*) u 1 u Численные методы решения многомерных задач статической оптимизации Q(u 1*, u 2*) u 1 u 2 Формирование линий уровня многомерной функции Рассматриваются методы: Гаусса-Зейделя, градиента, наискорейшего спуска (подъема), случайного поиска. .

Метод Гаусса-Зейделя Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = Метод Гаусса-Зейделя Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = 1, …, r. u 2 u 1 Поиск методом Гаусса-Зейделя.

Метод Гаусса-Зейделя Q(u 1, …, ur) max(min) u Алгоритм поиска (заданы i, ): 1. Метод Гаусса-Зейделя Q(u 1, …, ur) max(min) u Алгоритм поиска (заданы i, ): 1. Выбирается исходная точка поиска u 1 = (u 11, …, u 1 r) и вычисляется Q = Q(u 1). 2. Из точки u 1 осуществляется движение по переменной u 1 u 21 = u 11 h 1 (sign ( Q)/( u 1)|u=u ) до выполнения условия | Q / u 1| 1. 3. Пункт 2 повторяется из полученной точки для переменной u 2. Аналогично осуществляется движение по всем оставшимся переменным u 3, u 4, …, ur. 4. Проверяется выполнение условия окончания поиска 1 5. В случае невыполнения пункта 4 повторяются пункты 1 -4, принимая за исходную точку поиска ту, в которую пришли в пункте 4.

Метод градиента Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = Метод градиента Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = 1, …, r. Градиент функции Q(u): где Ki - вектор, определяющий направление по i -ой координатной оси. Модуль градиента Направление градиента

Метод градиента Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = Метод градиента Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = 1, …, r. u 2 u 1 Поиск методом градиента.

Метод градиента Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = Метод градиента Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = 1, …, r. Алгоритм поиска (задано ): 1. Выбирается исходная точка поиска u 1 = (u 11, …, u 1 r) 2. Вычисляется 3. Проверяется выполнение условия окончания поиска 4. Если условие окончания поиска выполнено, то поиск окончен. 5. Если условие окончания поиска не выполнено, то выполняется шаг uk+1 i = uki hk cos j в направлении градиента, где знак (+) для задачи Q(u) max, знак (-) для задачи Q(u) min.

Метод градиента Алгоритм поиска (продолжение): Если то uk+1 i = uki h 0( Q(u)/ Метод градиента Алгоритм поиска (продолжение): Если то uk+1 i = uki h 0( Q(u)/ ui)|uk , где h 0 – базовое значение шага. 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, уменьшают шаг h 0 и переходят к пункту 5.

Метод наискорейшего спуска (подъема). Решается задача Q(u 1, …, ur) max(min), u uimin uimax, Метод наискорейшего спуска (подъема). Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = 1, …, r. u 2 u 1 Поиск методом наискорейшего спуска Отличается от метода градиента, тем, что движение из выбранной точки uk в направлении n градиента производится до выполнения условия i = 1, …, r.

Метод движения по дну оврага Решается задача Q(u 1, …, ur) max(min), u uimin Метод движения по дну оврага Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = 1, …, r. u 2 u 7 u 8 u 5 u 6 u 4 u 2 u 3 u 1 Поиск методом движения по дну оврага

 Метод движения по дну оврага Решается задача Q(u 1, …, ur) max(min), uimin Метод движения по дну оврага Решается задача Q(u 1, …, ur) max(min), uimin uimax, i = 1, …, r. u Алгоритм поиска: 1. Задается hmin. 2. Выбор исходной точки поиска u 1 и спуск из нее в направлении Grad. Q(u 1) на дно оврага в точку u 2. 3. Смещение из точки u 1 в точку u 3 на небольшое расстояние ортогонально направлению Grad. Q(u 1) и спуск из нее в направлении Grad. Q(u 3) на дно оврага в точку u 4. Сравнение значений функций Q(u 2) и Q(u 4) в точках u 2 и u 4, лежащих на дне оврага. 5. Если для Q(u) max имеет место Q(u 4) Q(u 2), или для Q(u) min имеет место Q(u 4) < Q(u 2), то в направлении от u 2 к u 4 из u 4 выполняется рабочий шаг h и переход в точку u 5, лежащую на склоне оврага (хребта).

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

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

Решение задач оптимизации на условный экстремум методом штрафных функций Решение задач оптимизации при условии Решение задач оптимизации на условный экстремум методом штрафных функций Решение задач оптимизации при условии типа равенства Решается задача Q(u) = Q(u 1, …, ur) max(min), j(u 1, …, ur) = 0, j = 1, …, m. u Формируется штрафная функция , где , > 0 - большое число, при котором, за исключением малой окрестности около границ j(u) = 0, должно выполнятся условие , i = 1, …, r. Знак (+) принимается для задачи Q(u) min, знак (-) принимается для задачи Q(u) max.

Решение задач оптимизации на условный экстремум методом штрафных функций Решение задач оптимизации при условии Решение задач оптимизации на условный экстремум методом штрафных функций Решение задач оптимизации при условии типа равенства u 2 (u 1, u 2)>0 (u 1, u 2)=0 ( u 1, u 2)<0 Q 1(u) u 1 Трансформирование линии уровня при условиях типа равенства Линии уровня функции Q(u) трансформируется в линии уровня функции (u) за счет штрафной составляющей H(u), уплотняясь вдоль границы. Чем больше величина и чем больше нарушаются ограничения, тем линии уровня ближе к границе.

Решение задач оптимизации на условный экстремум методом штрафных функций Решение задач оптимизации при условии Решение задач оптимизации на условный экстремум методом штрафных функций Решение задач оптимизации при условии типа неравенства Решается задача Q(u) = Q(u 1, …, ur) max(min), u j(u 1, …, ur) 0, j = 1, …, m. Формируется штрафная функция , где sign (u) = -1, если j(u) < 0, sign (u) = -1, если j(u) > 0, - большое положительное число. Знак (+) принимается для задачи Q(u) min, знак (-) принимается для задачи Q(u) max.

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

Методы случайного поиска Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i Методы случайного поиска Решается задача Q(u 1, …, ur) max(min), u uimin uimax, i = 1, …, r. Рассмотрим: - метод слепого поиска - метод случайных направлений

Метод слепого поиска Q(u 1, …, ur) max(min), u uimin uimax, i = 1, Метод слепого поиска Q(u 1, …, ur) max(min), u uimin uimax, i = 1, …, r. Заданы: объем области v = r, определяющей точность вычисления вектора оптимальных управлений u*=(u 1, …, ur), в допустимой области изменения переменных ui, (i=1, …, r) объемом V = 1; вероятность , с которой требуется попасть в область r расположения вектора u*.

Метод слепого поиска Q(u 1, …, ur) max(min), u uimin uimax, i = 1, Метод слепого поиска Q(u 1, …, ur) max(min), u uimin 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) и выбирается наилучшее из них.

Метод случайных направлений Решается задача Q(u 1, …, ur) max(min), uimin uimax, i = Метод случайных направлений Решается задача Q(u 1, …, ur) max(min), uimin uimax, i = 1, …, r. u Формируется вектор случайных направлений = ( 1, …, r), где i, j - случайные числа. , u 2 u 1 Поиск методом случайных направлений

Метод случайных направлений Решается задача Q(u 1, …, ur) max(min), uimin uimax, i = Метод случайных направлений Решается задача Q(u 1, …, ur) max(min), uimin uimax, i = 1, …, r. u Алгоритм поиска: 1. Задаются hmin и число S неудачных направлений из одной точки. 2. Выбирается исходная точка поиска u 1 и вычисляется Q = Q(u 1). 3. Из выбранной точки выполняется шаг hk в случайном направлении uk+1 i = uki + hk· i , i = 1, …, r, и вычисляется Q = Q(uk+1) (для 1 -го шага k=1). 4. Сравниваются значения функций Q(uk) и Q(uk+1).

Метод случайных направлений Решается задача Q(u 1, …, ur) max(min), uimin uimax, i = Метод случайных направлений Решается задача Q(u 1, …, ur) max(min), uimin uimax, 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.

Линейное программирование Особенности задач линейного программирования Линейность целевой функции и линейность условий связи варьируемых Линейное программирование Особенности задач линейного программирования Линейность целевой функции и линейность условий связи варьируемых переменных является особенностью задач линейного программирования. a 11 u 1+a 12 u 2+…+a 1 nun b 1 a 21 u 1+a 22 u 2+…+a 2 nun b 2 ······················ am 1 u 1+am 2 u 2+…+amnun bm ui 0, i = 1, …, n.

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

Линейное программирование Особенности задач линейного программирования u 2 u 6=0 u 5=0 u* Q(u) Линейное программирование Особенности задач линейного программирования u 2 u 6=0 u 5=0 u* Q(u) = Const u 2=0 u 1=0 u 3=0 u 4=0 u 1 Область допустимых управлений в задаче линейного программирования

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

Линейное программирование Особенности задач линейного программирования Систему неравенств, связывающих переменные, можно переписать в канонической Линейное программирование Особенности задач линейного программирования Систему неравенств, связывающих переменные, можно переписать в канонической форме a 11 u 1+a 12 u 2+…+a 1 nun + un+1 b 1 a 21 u 1+a 22 u 2+…+a 2 nun + un+2 b 2 ··························· am 1 u 1+am 2 u 2+…+amnun + un+m bm un+j 0, j = 1, …, m. Теперь уравнения границ, получаемых при обращении исходных условий связи из неравенств в равенства, можно записать в виде uk 0, (k=1, …, n, n+1, …, n+m).

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

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

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

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

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

Симплекс-метод решения задач линейного программирования Алгоритм решения задачи симплекс-методом (продолжение): После приведения подобных членов Симплекс-метод решения задач линейного программирования Алгоритм решения задачи симплекс-методом (продолжение): После приведения подобных членов получается un+1= b 1 -a 11 u 1 -…-a 1, i-1 ui-1 -a 1, n+jun+j-a 1, i+1 ui+1 -…-a 1 nun ……………………………. . un+j-1= bj-1 -aj-1, 1 u 1 -…-aj-1, i-1 ui-1–aj-1, n+jun+j-aj-1, i+1 ui+1 -… -aj-1, nun un+j= 0 un+j+1= bj+1 -aj+1, 1 u 1 -…-aj+1, i-1 ui-1–aj+1, n+jun+j –aj+1, iui - aj+1, i+1 ui+1 -…-aj+1, nun …………………………… un+m= bm–am, 1 u 1 -…-am, i-1 ui-1–am, n+jun+j-am, i+1 ui+1 -…-am, nun 7. Выражение ui подставляется в линейную форму. После приведения подобных членов получается: Q(u) = C 0+C 1 u 1+…+Ci-1 ui-1+Cn+jun+j+Ci+1 ui+1+Cm+num+n.

Симплекс-метод решения задач линейного программирования Алгоритм решения задачи симплекс-методом (продолжение): 8. Записываются координаты базиса, Симплекс-метод решения задач линейного программирования Алгоритм решения задачи симплекс-методом (продолжение): 8. Записываются координаты базиса, в который пришли u 2 = (u 1, …, ui-1, un+j, ui+1, …, un+j-1, ui, un+j+1, …, um+n) = (0, …, 0, 0, 0, …, b 1, …, bj-1, bi= bj/ aji, …, bn+m). Значение линейной формы в этом базисе Q = C 0. 9. Проверяется условие оптимальности базиса u 2. Если для базиса u 2 в задаче Q(u) min имеет место Ci > 0, а в задаче Q(u) max имеет место Ci < 0, где Ci - любой из коэффициентов линейной формы, исключая C 0, то базис u 2 является оптимальным.

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

Симплекс-таблицы Система ограничений представляется в виде un+1+a 11 u 1+…+a 1, i-1 ui-1+a 1, Симплекс-таблицы Система ограничений представляется в виде un+1+a 11 u 1+…+a 1, i-1 ui-1+a 1, iui+a 1, i+1 ui+1+…+a 1 nun= b 1 ···································· un+j-1+aj-1, 1 u 1+…+aj-1, i-1 ui-1+aj-1, iui+aj-1, i+1 ui+1+…+aj-1, nun= = bj-1 un+j +aj, 1 u 1+…+aj, i-1 ui-1+aj, iui+aj, i+1 ui+1+…+aj, nun= bj un+j+1+aj+1, 1 u 1+…+aj+1, i-1 ui- 1+aj+1, iui+aj+1, i+1 ui+1+… … +aj+1, nun= bj+1 ···································· un+m+am, 1 u 1+…+am, i-1 ui-1+am, iui+am, i+1 ui+1+…+am, nun= bm, а линейная форма представляется в виде Q(u) - C 1 u 1 -…. - Ci-1 ui-1 - Ciui- Ci+1 ui+1 -…-Cnun = C 0. В приведенных уравнениях свободными переменными являются un+1, …, un+m. Координаты исходного базиса u 1 = (u 1, …, ur, un+1, …, un+m) = (0, …, 0, b 1, …, bm). Этому состоянию соответствует симплекс-таблица 1.

Симплекс-таблицы б/п с/п переменные un+1 un+j-1 un+j+1 … un+m u 1 … ui-1 … Симплекс-таблицы б/п с/п переменные un+1 un+j-1 un+j+1 … un+m u 1 … ui-1 … ui ui+1 … un un+1 b 1 1 … 0 0 0 … 0 a 11 … a 1, i-1 a 1, i+1 … a 1 n … … … … … … un+j-1 bj-1 0 … 1 0 0 … 0 aj-1, 1 … aj-1, i-1 aj-1, i+1 … aj-1, n un+j 0 … 0 1 0 … 0 aj, 1 … aj, i-1 un+j+1 bj+1 0 … 0 0 1 … 0 aj+1, 1 … aj+1, i-1 aj+1, i+1 …aj+1, n … … bj … … aj, i+1 … aj, n … … … … … … un+m bm 0 … 0 0 0 … 1 am, 1 … am, i-1 am, i+1 … am, n л/ф C 0 Q 0 … 0 0 0 … 0 -C 1 … -Ci-1 -Ci+1 … -Cn Симплекс-таблица 1 … …

Симплекс-таблицы Пусть разрешающим элементом является aji. Тогда очередной шаг симплекс-метода состоит в переходе от Симплекс-таблицы Пусть разрешающим элементом является aji. Тогда очередной шаг симплекс-метода состоит в переходе от базиса u 1 к базису u 2 = (u 1, …, ui-1, ui, ui+1, …, un+1, …, un+j-1, un+j+1, …, um+n) = (0, …, 0, bj/ aji, 0, …, 0, b 1, …, bj-1, 0, bj+1, …, bm) через систему: un+1+ã 1, iu 1+…+ã 1, i-1 ui-1+ã 1, jun+j+ã 1, i+1 ui+1+…+ã 1 nun= b'1 ……………………………. . un+j-1+ã j-1, 1 u 1+…+ã j-1, i-1 ui-1+ã j-1, jun+j+ã j-1, i+1 ui+1+…+ã j-1, nun = b'j-1 uj +ã i, 1 u 1+…+ã i, i-1 ui-1+ã i, jun+j+ã i, i+1 ui+1+…+ã i, nun= b'i un+j+1+ã j+1, 1 u 1+…+ã j+1, i-1 ui-1+ã j+1, jun+j+ã j+1, i+1 ui+1+…+ã j+1, nun = b'j+1 ……………………………. . un+m+ã m, 1 u 1+…+ã m, i-1 ui-1+ã m, jun+j+ã m, i+1 ui+1+…+ã m, nun= b'm При этом линейная форма принимает вид: Q(u) - C'1 u 1 -…. - C'i-1 ui-1 - C'jun+j- C'i+1 ui+1 -…-C'nun = C'0. Базису u 2 соответствует симплекс-таблица 2.

Симплекс-таблицы б/п с/п переменные un+1 un+j-1 un+j+1 … un+m u 1 … ui-1 ui Симплекс-таблицы б/п с/п переменные un+1 un+j-1 un+j+1 … un+m u 1 … ui-1 ui ui+1 … un+1 b'1 … 0 a'1, i 0 … 0 a'11 … a'1, i-1 0 a'1, i+1 … a'1 n … … … … un+j-1 b'j-1 0 … 1 ui b'i 0 … 0 un+j+1 b'j+1 0 … 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 a'j, i 0 … 0 a'j+1, i 1 … 0 a'j+1, …a'j+1, i-1 0 a'j+1, i+ … a'j+1, n a'j, 1 … a'j, i-1 1 a'j, i+1 … a'j, n 1 1 … … … … 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 л/ф C'0 0 … 0 Q -C'n+j 0 … 0 -C'1 … -C'i-1 0 -C'i+1 … -C'n Симплекс-таблица 2

Симплекс-таблицы Координаты базиса u 2 = (u 1, …, ui-1, ui+1, …, un+1, …, Симплекс-таблицы Координаты базиса u 2 = (u 1, …, ui-1, ui+1, …, un+1, …, un+j-1, 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. Значения полученных при этом элементов записываются на месте соответствующих элементов старой строки.

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

Симплекс-таблицы Пример. Минимизировать линейную форму Q = u 1 – u 2. Система ограничений Симплекс-таблицы Пример. Минимизировать линейную форму Q = u 1 – u 2. Система ограничений в каноническом виде: u 3 + u 1 – 2 u 2 = 1, u 4 + 2 u 1 + u 2 = 2, u 5 + 3 u 1 + u 2 = 3. Линейную форму запишем в виде Q-u 1+u 2= 0. Симплекс-таблица 1: базовые свобод. пере- члены менные u 3 1 u 4 2 u 5 лин. ф. 3 0 u 3 переменные u 4 u 5 u 1 u 2 1 0 0 1 -2 0 1 0 -2 1 0 0 1 0 3 -1 1 1

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

Симплекс-таблицы Координаты второго базиса u 2 = (u 1, u 2, u 3, u Симплекс-таблицы Координаты второго базиса u 2 = (u 1, u 2, u 3, u 4, u 5) = (0, 2, 5, 0, 1), линейная форма Q = -2. Так коэффициенты линейной формы при свободных переменных u 1 и u 4 второго базиса не удовлетворяют условиям минимума линейной формы, то расчет продолжаем, переходя к третьему базису, формируя для него симплекс-таблицу. базовые свобод. пере- члены менные u 3 5. 6 u 2 2. 4 u 1 лин. ф. 0. 2 -2. 2 u 3 переменные u 4 u 5 u 1 u 2 1 1. 4 0. 6 0. 4 0 1 0 0 -0. 2 -0. 8 0. 2 -0. 2 1 0 0 0 Так коэффициенты линейной формы при свободных переменных имеют отрицательный знак, то оптимальное решение найдено. Координаты оптимального базиса u 3 = (u 1, u 2, u 3, u 4, u 5) = (0. 2, 2. 4, 5. 6, 0, 0). Значение линейной формы в этом базисе Q = -2. 2.