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

Автор работы: Пользователь скрыл имя, 14 Сентября 2010 в 21:55, Не определен

Описание работы

Реферат

Файлы: 1 файл

ОПТИМИЗАЦИЯ.docx

— 352.92 Кб (Скачать файл)

      Одномерная  оптимизация методом  квадратичной интерполяции.

В предыдущих методах  была сделана попытка найти малый  интервал, в котором находится  оптимум функции f0(х). В этом методе применяется иной подход. Он заключается в построении аппроксимирующей модели оптимизируемой функции (х). Функция может аппроксимирована полиномом второго порядка:

(х) = ах2 + Ьх + с

по крайней мере в небольшой области значений, в том числе в области оптимума. При этом положении экстремума (х) определяется по положению экстремума полинома, поскольку последний вычислить проще.

Экстремум функции fап (х) как известно расположен в точке: = -Ь/2а.

Положим, что окрестность некоторой исходной точки х=х1 области определения f0(х) аппроксимирована полиномом fап (х). Задача поиска заключается в определении смещения

= х°ап – х1

Которое приводит из исходного состояния х = х1, ближе к экстремуму х = х°. Если f0(х) строго квадратичная функция, то смещение после первого шага сразу приведет к. В противном случае достижение х° требует выполнения итерационной процедуры. Для определения смещения нужно определить коэффициенты параболы. Для этого необходимо вычислить значение f0(х) в трех точках. Пусть вычисление производится в исходном состоянии х = х1 и в точках, , и при этом получено три значения этой функции

,

 где h - полуинтервал интерполяции, малая постоянная величина. Подставляя эти значения в уравнение (х), получаем систему из трех линейных уравнений с тремя неизвестными а, Ь, с:

а(х1 - h)2 + Ь(х1 - h) + с =а(х1 - h)2 + Ь(х1 - h) + с =

а*х12 + Ь*х1 + с =

а(х1 + h)2 + Ь(х1 + h) + с =

Для того, чтобы система  имела решение, необходимо чтобы  ее определитель не был равен нулю. Это условие выполняется, так как определитель равен: = - 2h30 так как . Решая систему уравнений, получаем интересующие нас значения параметров а, Ь, с подставляя их в формулу находим положение экстремума параболы

х°ап= х1 + h(-)/2(- 2+)

     Зная  коэффициенты а, Ь, с можно определить и экстремальное значение функции  по формуле, которая является оценкой  экстремума критерия (х). 

     Теперь  следует проверить, действительно  ли найден экстремум. Для этого достаточно вычислить значение функции цели (х) в предполагаемом экстремуме х=х1+Δх - х°ап и сопоставить его с оценкой. Если эти величины отличаются не более чем на ɛ т. е:

|( х°ап )-(х°ап )|

, где ɛ заданная погрешность определения экстремума. При этом = х1. Если условие не выполняется, тогда следует процесс поиска; т.е. выполнить следующий цикл, но уже построение

аппроксимирующей  модели производится в окрестности  точки х1= х°ап . Процедура будет повторяться пока не выполнится условие.

Алгоритм  расчета. 
 

 
 

Результаты  расчета.

Целевая функция  имеет вид : 

Нач. знач. X=-100,H=0.5
Погрешность Е Значение Х Значение F Кол-во итераций Кол-во вычислений
1 (-)2,19360741 (-)919,076558 10 30
0.1 0,8912446 22,8921666 14 45
0.01 0,79728604 22,27161267 16 48
0.001 0,7960595 22,2612358 17 51
Нач. знач. Х=-100, Е=0.1
Шаг Н Знач Х Знач F Кол-во итераций Кол-во вычислений
Увеличение  шага
0,3 0,901465 22,93463 25 75
0,5 0,797286 22,27161 16 48
0,8 0,6115913 20,33949 35 105
Уменьшение  шага
0.5 0,79728604 22,27161267 16 48
0.4 0,8540667 22,69232 20 60
0.3 0,901465 22,934634 25 75
0.2 0,936694 23,034198 41 123
0.1 0,961479 23,056109 31 93
0.02 0,961661 23,05611 25 75

               

          Вывод: расчеты показали, что изменение погрешности определения экстремума ɛ, практически не влияет на точность вычисления в то время, как изменение шага поиска h оказывает значительное влияние. При уменьшении шага точность вычислений улучшается и наоборот, при увеличении шага уменьшается. И в конечном итоге, когда шаг поиска слишком велик для того, чтобы с помощью итерационной процедуры уточнения значений получить результат с заданной погрешностью, программа отказывается производить вычисления.

        Оптимизация методом наискорейшего спуска.

   Метод наискорейшего  спуска предназначен для поиска минимума. Данный метод отличается от метода градиента правилом определения  коэффициента шага. Сначала выделяется начальная точка. В пространстве X могут быть выделены области притяжения каждого из локальных минимумов.

   Если алгоритм начинает поиск из начальной точки, лежащей в области притяжения некоторого минимума функции против направления градиента. Таким образом, в каждом цикле решается одномерная задача минимизации , после чего шаг находится как 
 
 
 
 

 

            Алгоритм  расчета.

             

             
             
             
             
             
             
             

Результаты  расчета.

Целевая функция  имеет вид : 

Н=1,E=0.01
Приращение  L Оптим. зн. XI Оптим. зн. Х2 Оптим. зн. ХЗ Оптим. зн. F
0,5 -10,75 17,25 -12,75 0,1875
0.1 -10,95 17,04 -12,95 0,0074
0.01 -10,995 17,005 -12,994 7,5000001E-7
0.001 -10,99 17 -12,99 7,49752E-9
 
L=0.0001, Е=0.1
Шаг h Оптим. зн. XI Оптим. зн. Х2 Оптим. зн. ХЗ Оптим. зн. F
10 -100 100 -100 31979
5 -100 100 -100 31979
1 -10,9 17 -12,9 7,5
0,5 -10,9 17 -12,9 7,49934E-9
0,1 -10,9 17 -12,9 7,49934E-9
 
Н=0.5, L=0.0001
Погрешность Е Оптим. зн. X 1 Оптим. зн. Х2 Оптим. зн. ХЗ Оптим. зн. F
1 -121,99 65,9 -125,9 31978,93
0.1 -10,99 17 -12,99 7,49752Е-9
0.01 -10,99 17 -12,99 7,49752Е-9
0.001 -10,99 17 -12,99 7.49752Е-9
 

      Оптимизация методом линейного  программирования.

f0(x)=4x+3y

Представим уравнения прямых, составляющих прямоугольник, в виде ограничений для целевой функции и проверим правильность постановки знаков:

1)3x-y≤4

2)x-2y≤-7

3)3x+y≤21

4)-x+4y≤6

Следовательно искомые  ограничения:

1)-3x+y-4

2)-x+2y≤7

3)3x+y≤21

4)x-4y≤-6

Точки min и max:

Amin (2;2)   Cmax (5;6)

min и max функции:

f0(x)min=14

f0(x)max=38

Расчет производится в приложении МАТLАВ.

»f=[4,3]

 f = 4     3

»A=[-3,l;-l,2;3,l;l,-4]

A =

-3     1

-1     2

3     1

1    -4

 
» B=[-4;7;21;-6]

 B =

-4

7

21

-6

» [x,y,z]=linprog(f,A,B) Optimization terminated,

x =

2.0000

2.0000

y =

14.0000

z = 1

Решение задачи нелинейного  программирования.

Задача  №2.

Имеются три продукта n1,n2,n3 разной цены. Каждый из них содержит определенное количество питательных ингредиентов, причем для нормального потребления требуется u1≥250; u2≥60; u3≥100; u4≥220.

Минимизировать затраты  на приобретение продукта.

  N1 N2 N3
U1 4 6 15
U2 2 2 0
U3 5 3 4
U4 7 3 12
Цена за единицу 44 35 100
 

Расчет производится в приложении МАТLАВ.

a=[-4 -6 -15;-2 -2 0;-5 -3 -4;-7 -3 -12]; »b=[-250-60-100-220];

»f=[44 35 100]

f =

 44    35   100

» [x,y,z]=linprog(f,a,b) Optimization terminated. x= 13.2143

16.7857

6.4286

y =

1.8118e+003 z= 1 

Информация о работе Численные методы решения задач управления технологическими процессами