Анализ методов определения минимального, максимального значения функции без ограничения

Автор работы: Пользователь скрыл имя, 11 Ноября 2014 в 22:20, контрольная работа

Краткое описание

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

Содержание

Введение
Задание
1. Анализ методов определения минимального, максимального значения функции без ограничения
1.1 Методы прямого поиска
1.2 Градиентные методы
1.3 Методы второго порядка
2. Нахождение экстремума функции без ограничения
2.1 Метод наискорейшего спуска
2.2 Метод сопряженных направлений
3. Анализ методов определения минимального, максимального значения функции при наличии ограничений
3.1 Методы возможных направлений
3.2 Методы проекции градиента
3.3 Методы линеаризации
3.4 Методы штрафов
4. Нахождение экстремума функции при наличии ограничения
4.1 Метод симплексных процедур
5. Синтез оптимальной по быстродействию системы с помощью принципа максимума Понтрягина
Звулючение
Список литературы
Приложение

Вложенные файлы: 1 файл

20 sim.doc

— 1.06 Мб (Скачать файл)

fun(x,y);

printf ("x=%2.3f\ny=%2.3f\nA%d(%2.3f;%2.3f)\n",x,y,h,x,y);

if ((n1(x,y)>=0)&(n2(x,y)<=0)&(n3(x,y)<=0)&(n4(x,y)>=0))

{printf("tochka udovl nerav f(A%d)=%2.3f\n",h,fun(x,y));

if (fun(x,y)>max) max=fun(x,y),k=x,t=y,m=h;

else max=max; }

else

printf("tochka ne udovletv neravenstvu\n");

printf("-------------------------------------\n");

na=0.0;nb=1.0;nc=0.0;h=h+1;

printf("f4(x,y,z)=2x^2+2xy+y^2+2x+2y+0.5+z(y)\n");

x=((2*b*nc/nb)-2*d-2*c*nc*na+(2*e*na/nb))/(2*a-(2*b*na/nb)-na*2*b/nb+2*c*na*na);

y=(-nc/nb)-(na/nb)*x;

fun(x,y);

printf ("x=%2.3f\ny=%2.3f\nA%d(%2.3f;%2.3f)\n",x,y,h,x,y);

if ((n1(x,y)>=0)&(n2(x,y)<=0)&(n3(x,y)<=0)&(n4(x,y)>=0))

{printf("tochka udovl nerav f(A%d)=%2.3f\n",h,fun(x,y));

if (fun(x,y)>max) max=fun(x,y),k=x,t=y,m=h;

else max=max; }

else

printf("tochka ne udovletv neravenstvu\n\n");

printf("---------------------------------------------\n");

printf("Nahodim znacheniya funkzii v vershinah figuri\n");

printf("---------------------------------------------\n");

x=0.0;y=2;h=h+1;

printf ("A%d(%2.3f;%2.3f)\nf%d(A%d)=%2.3f\n",h,x,y,h,h,fun(x,y));

printf ("---------------\n");

if (fun(x,y)>max) max=fun(x,y),k=x,t=y,m=h;

else max=max;

x=6.0;y=2;h=h+1;

printf ("A%d(%2.3f;%2.3f)\nf%d(A%d)=%2.3f\n",h,x,y,h,h,fun(x,y));

printf ("---------------\n");

if (fun(x,y)>max) max=fun(x,y),k=x,t=y,m=h;

else max=max;

x=4.0;y=0.0;h=h+1;

printf ("A%d(%2.3f;%2.3f)\nf%d(A%d)=%2.3f\n",h,x,y,h,h,fun(x,y));

printf ("---------------\n");

if (fun(x,y)>max) max=fun(x,y),k=x,t=y,m=h;

else max=max;

x=1.33;y=0;h=h+1;

printf ("A%d(%2.3f;%2.3f)\nf%d(A%d)=%2.3f\n",h,x,y,h,h,fun(x,y));

printf ("-----------------------------------\n");

if (fun(x,y)>max) max=fun(x,y),k=x,t=y,m=h;

else max=max;

printf("Maximalnoe znach funkzii f%d=%2.3f\nA%d(%2.3f;%2.3f)-tochka maximuma\n",m,max,m,k,t);

getch ();}

Результат работы программы

-----METOD SIMPLEX PROCEDURE-----

f(x,y)=2x^2+2xy+y^2+2x+2y+0.5

1)1.5x+y-2>=0;

2)y-2<=0;

3)x-y<=4;

4)y>=0

----------------------------------

f1(x,y,z)=2x^2+2xy+y^2+2x+2y+0.5+z(1.5x+y-2)

x=1.200

y=0.200

A1(1.200;0.200)

tochka udovl nerav f(A1)=6.700

-----------------------------------

f2(x,y,z)=2x^2+2xy+y^2+2x+2y+0.5+z(y-2)

x=-1.500

y=2.000

A2(-1.500;2.000)

tochka ne udovletv neravenstvu

------------------------------------

f3(x,y,z)=2x^2+2xy+y^2+2x+2y+0.5+z(x-y-4)

x=1.200

y=-2.800

A3(1.200;-2.800)

tochka ne udovletv neravenstvu

------------------------------------

f4(x,y,z)=2x^2+2xy+y^2+2x+2y+0.5+z(y)

x=-0.500

y=0.000

A4(-0.500;0.000)

tochka ne udovletv neravenstvu

---------------------------------------------------------

Nahodim znacheniya funkzii v vershinah figuri

---------------------------------------------------------

A5(0.000;2.000)

f5(A5)=8.500

-------------------

A6(6.000;2.000)

f6(A6)=116.500

-------------------

A7(4.000;0.000)

f7(A7)=40.500

-------------------

A8(1.330;0.000)

f8(A8)=6.698

--------------------------------------------------------------------

Maximalnoe znach funkzii f6=116.500

A6(6.000;2.000)-tochka maximuma



Информация о работе Анализ методов определения минимального, максимального значения функции без ограничения