Контрольная работа: Методы синтеза и оптимизации

Контрольная работа: Методы синтеза и оптимизации




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































МИHИСТЕРСТВО ОБРАЗОВАHИЯ И НАУКИ УКРАИHЫ
ДОHБАССКАЯ ГОСУДАРСТВЕHHАЯ МАШИHОСТРОИТЕЛЬHАЯ АКАДЕМИЯ
студентка группы ИТ 99-1з Александрова А.Н
ПРОГРАММИРОВАНИЕ ЧИСЛЕННЫХ МЕТОДОВ ОДНОМЕРНОЙ ОПТИМИЗАЦИИ

Цель задания: закрепить теоретические сведения и приобрести практические навыки разработки алгоритмов и программ для нахождения экстремальных значений функции одной переменной методом перебора с применением ЭВМ.
Найти максимум и минимум функции при изменении аргумента от -4 до 3 с точностью 0,0001. Функция достигает максимума при меньших значениях аргумента. Постройте график функции.
Исходные данные приведены в таблице 1.
На рисунке 2 изображено решение задачи на ЭВМ с графиком функции.
Рисунок 2- результаты работы программы, график функции
Задача решена методом последовательного равномерного перебора с уточнением, т.е. вначале проводится поиск с большим шагом, а при нахождении экстремума поиск повторяется в зоне экстремума с уменьшенным шагом.
procedure TForm1.SpeedButton1Click(Sender: TObject);
status :integer; // 0-убывание, 1-возрастание
showMessage('Неправильно введены начальные условия');
LabelXmin.Caption:='Xmin = '+floatTostr(Xmin);
LabelYmin.Caption:='Ymin = '+floatTostr(Ymin);
LabelXmax.Caption:='Xmax = '+floatTostr(Xmax);
LabelYmax.Caption:='Ymax = '+floatTostr(Ymax);
status :=(status+1) mod 2; //Следующий экстремум
while x < strtofloat(form1.Edit8.Text) do
РЕШЕНИЕ ОДНОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ МЕТОДАМИ ПОСЛЕДОВАТЕЛЬНОГО ПОИСКА

Цель задания: приобрести практические навыки разработки алгоритмов и программ для решения одномерных задач оптимизации методами последовательного поиска: дихотомии и золотого сечения.
Найти минимум функции f(x) на промежутке [a,b] с точностью . Исходные данные и номера вариантов приведены в таблице 2. Построить график минимизируемой функции.
Найдите минимум функции на промежутке [a,b] c точностью ε = 10 -4
, методом «золотого сечения»постройте график минимизируемой функции.
Блок-схема метода «Золотого сечения» представлена на рисунке3.
Рисунок 3 – Блок-схема метода «Золотого сечения»
На рисунке 4 изображено решение задачи на ЭВМ и график минимизируемой функции.
procedure TForm1.SpeedButton2Click(Sender: TObject);
Var a,b,e,x,x1,x2,y,y1,y2,Xmin,Ymin :real ;
showMessage('Неправильно введены начальные условия');
x1:=a+0.382*(b-a); x2:=b-0.382*(b-a);
form1.Label20.Caption:='Xmin = '+t;
form1.Label21.Caption:='Ymin = '+t;
form1.Label22.Caption:='n = '+Inttostr(n);
while x < strtofloat(form1.Edit10.Text) do
ГРАДИЕНТНЫЕ МЕТОДЫ РЕШЕНИЯ МНОГОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ

Цель задания: закрепить теоретические сведения и приобрести практические навыки поиска безусловного экстремума функции многих переменных градиентным методом.
Найдите минимум функции методом наискорейшего спуска, выбрав начальную точку .Дать геометрическую иллюстрацию решения задачи.
Вычислим координаты градиента функции в точке Х 0
:
Поскольку , то Х 0
не является точкой экстремума
2) Переместимся изХ 0
вдоль градиента - в новую точкуХ 1
по формуле:
Для определения координат точки Х 1
нужно выбрать значение шага . Получим :
ПРИМЕНЕНИЕ ГРАДИЕНТНЫХ МЕТОДОВ ДЛЯ ОПТИМИЗАЦИИ НА ЭВМ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ ОБЪЕКТОВ

Цель задания: приобрести практические навыки разработки алгоритмов и программ оптимизации математических моделей градиентным методом.
Найдите минимум функции f(x1,х2) методом наискорейшего спуска, выбрав в качестве начальной точки сначала Хо, а затем точку из противоположного квадраниа. Сравните число итераций. Для определения оптимального шага путём одномерной минимизации вдоль антиградиентного направления примите метод дихотомии в программе, предусмотрите отрисовку траектории наискорейшего спуска.
Блок-схема алгоритма решения изображена на рисунке 5
Рисунок 5- блок-схема алгоритма решения методом наискорейшего спуска
Рисунок 6- Решение задачи на ЭВМ и траектория поиска оптимальных значений (при Хо(2,4))
Рисунок 7 Решение задачи на ЭВМ и траектория поиска оптимальных значений (при Хо(-2,-4))
Messages, SysUtils, Graphics, Forms, Dialogs;
ProcMin=Procedure(a,b,e:real; var xm,ym:real);
// Подпрограммавычислениязаданнойфункции
model:= exp(x[1])+sqr(x[2])-2*x[1];
procedure Grad(n: integer; e: real; x: artype; var g: Artype;
procedure Opgrad(n: integer; e: real; var xk: Artype; Nmax: integer;
prn: byte; var Fopt: real; var nn: integer; F: Funop);
Procedure Min(a0,b0,e:real; Var xm,ym:real);// Метод Дихотомии
form1.ListBox1.Items.Add('x'+inttostr(i)+'='+Floattostr(xk[i])+' ');
form1.ListBox1.Items.Add(#13 + 'Целевая функция = '+ Floattostr(F(xk))+#13);
form1.ListBox1.Items.Add('Итерация №'+inttostr(nn)+ #13 +' Шаг = '+Floattostrf(lambda,ffGeneral,8,5) );
form1.ListBox1.Items.Add('Текущая точка ');
form1.ListBox1.Items.Add('X'+inttostr(i)+'='+floattostrf(xk[i],ffGeneral,8,5));
formGraph.imGraph.Canvas.LineTo(round( mx* xk[1]+ Sx),round( -my* xk[2]+ Sy));
form1.ListBox1.Items.Add(#13+'Текущий антиградиент');
form1.ListBox1.Items.Add('g'+inttostr(i)+'='+Floattostrf(dk[i],ffGeneral,8,5)+' ');
form1.ListBox1.Items.Add(' Целевая функция F = '+Floattostrf(sf,ffGeneral,8,5));
form1.ListBox1.Items.Add('-------------------------------------------');
showmessage('Минимум не найден !!!'+ #13+' Необходимое числоитераций больше выделенного ресурса'+Inttostr(Nmax));
Add(' Оптимальные значения за '+inttostr(nn)+' итерации');
Add('X'+inttostr(i)+'*'+'='+floattostrf(xk[i],ffGeneral,8,5));
Add(' Целевая функция F(X*) = '+Floattostrf(fopt,ffGeneral,8,5));
procedure TForm2.Optimiz(k: integer);
X0[1]:=strtofloat(form1.Edit12.Text);
X0[2]:=strtofloat(form1.Edit13.Text);
showMessage('Неправильно введены начальные условия');
with FormGraph do //координатная плоскость
{Установка максимума и минимума функции}
Xb:=-abs(X0[1])-5; Xe:=abs(X0[1])+5; Ymin:=-abs(X0[2])-5;Ymax:=abs(X0[2])+5;
formGraph.imGraph.Canvas.Pen.Color:=clRed;
formgraph.imGraph.Canvas.Pen.Width:=2;
formgraph. imGraph.Canvas.TextOut(round( mx* x0[1]+ Sx),
formGraph.imGraph.Canvas.MoveTo(round( mx* x0[1]+ Sx),round( -my* x0[2]+ Sy));
Opgrad(n,e,X0,Nmax,prn,fopt,NN,f1);
formgraph.imGraph.Canvas.Pen.Width:=1;
МЕТОДЫ НУЛЕВОГО ПОРЯДКА РЕШЕНИЯ МНОГОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ

Цель задания: приобрести практические навыки разработки алгоритмов и программ оптимизации многомерных функций методами ненулевого порядка, в частности методом прямого поиска.
Рисунок 8 – блок-схема подпрограммы циклического изменения координат базисной точки
Рисунок 9 – Блок-схема метода прямого поиска
Найдите минимум функции методом прямого поиска, выбрав в Хо(3, -1, 2), а потом Хо(-3, 1, -2).
Алгоритм с помощью которого проводилась оптимизация функции изображена на рисунках 8, 9 в виде блок-схем.
На рисунках 10, 11 изображены результаты оптимизации на ЭВМ при различных начальных условиях
Рисунок 10 – результаты и траектория движения базиса при Хо(3, -1, 2)
Рисунок 11 – результаты при Хо(-3,1, -2)
procedure Poisk(n:integer; zb:Artype; delta:real;
procedure MyClass.OptPoisk(n,m:integer;
delta,eps:real; xo:Artype; Var xb:Artype;
Var Yopt:real; Var ip:integer; F:Funop);
form1.ListBox2.Items.Add('X'+inttostr(i)+'='+a);
imgraph.Canvas.LineTo(round( mx* x[1]+ Sx),
imGraph1_3.Canvas.Pen.Color:=clBlue;
imgraph1_3.Canvas.LineTo(round( mx* x[1]+ Sx),
imGraph2_3.Canvas.Pen.Color:=clBlack;
imgraph2_3.Canvas.LineTo(round( mx* x[2]+ Sx),
form1.ListBox2.Items.Add('--------------------- F='+b+'-----------');
imGraph.Canvas.TextOut(round( mx* xo[1]+ Sx),
round( -my* xo[2]+ Sy),inttostr(ip));
imGraph.Canvas.MoveTo(round( mx* xo[1]+ Sx),
imGraph1_3.Canvas.TextOut(round( mx* xo[1]+ Sx),
round( -my* xo[3]+ Sy),inttostr(ip));
imGraph1_3.Canvas.MoveTo(round( mx* xo[1]+ Sx),
imGraph2_3.Canvas.TextOut(round( mx* xo[2]+ Sx),
round( -my* xo[3]+ Sy),inttostr(ip));
imGraph2_3.Canvas.MoveTo(round( mx* xo[2]+ Sx),
ShowMessage('Число итераций > '+inttostr(m)+#13+'Минимум не найден!!!');
form1.ListBox2.Items.Add('Число итераций - '+InttoStr(ip));
form1.ListBox2.Items.Add('X'+inttostr(i)+'опт'+'='+a);
form1.listbox2.Items.Add('Минимум - '+FloatToStr(opt1_5.Yopt));
model:={25*sqr(x[1]+3)+4*sqr(x[3]-4)+10*sqr(x[1]-x[2])+10;}
{3*sqr(x[1]-4)+50*sqr(x[2]-3)+16*sqr(x[1]-x[3])+12;}
16*sqr(x[1]+2)+4*sqr(x[2]-3)+5*sqr(x[3]-x[2])-8;
МЕТОДЫ СЛУЧАЙНОГО ПОИСКА РЕШЕНИЯ МНОГОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ
Цель задания: приобрести практические навыки поиска на ЭВМ условного экстремума функций многих переменных методом случайного поиска с пересчетом.
Найдите минимум функции методом случайного поиска, выбрав начальной точкой Хо(0, 0, 0) при изменении аргументов Xi в пределах [ai, bi]. Предусмотрите отрисовку поиска минимума в координатах x1Ox2, x1Ox3, x2Ox3.
Проведите сравнительный анализ по числу вычислений функции задавая параметр М=10, 15, 20 при шаге Н=20 и, задавая Н=0,5; 1; 2 при М=15
Рисунок 12 – блок-схема метода случайного поиска с перечётом.
Рисунок 13 решение задачи на ЭВМ и траектория поиска оптимальных значений функции
Результаты работы программы изображены на рисунке 13.
Вывод: в основе метода случайного поиска лежит внесение элементов случая в процедуру формирования пробных точек, которые используются для определения направления поиска. Данный метод эффективен для функций с большим количеством переменных, так как ограничивается количество вычислений функции за счёт нахождения антиградиентного направления с помощью пробных точек.
Var xo:Artype; Var Yopt:real; F:Funop);
model:={25*sqr(x[1]+3)+4*sqr(x[3]-4)+10*sqr(x[1]-x[2])+10;}
{10*sqr(x[1]-x[2])+4*sqr(x[1]-2)+25*sqr(x[3]+x[2])+8;}
16*sqr(x[1]+2)+4*sqr(x[2]-3)+5*sqr(x[3]-x[2])-8;
procedure Myclass.slpoisk(n,m,mf:integer;
Var xo:Artype; Var Yopt:real; F:Funop);
Var x,d,s:Artype; b,hr,y0,y,qsi:real; i,l,k:integer;
Procedure Outt(x:Artype; y:real; kod:integer);
form1.ListBox3.Items.Add('X'+inttostr(i)+
imgraph.Canvas.LineTo(round( mx* x[1]+ Sx),
imGraph1_3.Canvas.Pen.Color:=clBlue;
imgraph1_3.Canvas.LineTo(round( mx* x[1]+ Sx),
imGraph2_3.Canvas.Pen.Color:=clBlack;
imgraph2_3.Canvas.LineTo(round( mx* x[2]+ Sx),
form1.ListBox3.Items.Add('----------- '+c+' ------'+' F='+b);
imGraph.Canvas.TextOut(round( mx* xo[1]+ Sx),
round( -my* xo[2]+ Sy),inttostr(im));
imGraph.Canvas.MoveTo(round( mx* xo[1]+ Sx),
imGraph1_3.Canvas.TextOut(round( mx* xo[1]+ Sx),
round( -my* xo[3]+ Sy),inttostr(im));
imGraph1_3.Canvas.MoveTo(round( mx* xo[1]+ Sx),
imGraph2_3.Canvas.TextOut(round( mx* xo[2]+ Sx),
round( -my* xo[3]+ Sy),inttostr(im));
imGraph2_3.Canvas.MoveTo(round( mx* xo[2]+ Sx),
showMessage('Число вычислений функции > '+IntTostr(mf)+#13+'Минимум не нейден !!!');
form1.ListBox3.Items.Add('X'+inttostr(i)+'опт'+'='+floattostrf(x[i],ffGeneral,5,2)) ;
form1.ListBox3.Items.Add( 'Yопт = '+floattostrf(Yopt,ffGeneral,5,2));
form1.ListBox3.Items.Add('Число вычислений функции = '+InttoStr(im)) ;

Название: Методы синтеза и оптимизации
Раздел: Рефераты по информатике
Тип: контрольная работа
Добавлен 13:38:12 11 декабря 2010 Похожие работы
Просмотров: 48
Комментариев: 16
Оценило: 2 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Контрольная работа: Методы синтеза и оптимизации
Реферат: The Outlaw Josey Wales Essay Research Paper
Свойства Темперамента Реферат
Реферат: Коммерческая тайна 8
Короткое Сочинение О Родине
Реферат: Функциональные сбои персонального компьютера при воздействии электромагнитных импульсов сверхкороткой длительности
Сущность И Виды Конвертируемости Валюты Реферат
Курсовая работа: Вычисление вероятности игры в КРЭКС . Скачать бесплатно и без регистрации
Реферат: Западноевропейская модель менеджмента. Скачать бесплатно и без регистрации
Сочинение 10 Класс Как Писать
Контрольная работа по теме Фармацевтический анализ производных изохинолина (папаверина гидрохлорид)
Сочинение: Поэтизация труда в романе Д. Дефо "Робинзон Крузо"
Курсовая работа: Финансовый рычаг как инструмент управления стоимостью и структурой капитала предприятия
Добро И Зло Декабрьское Сочинение
Реферат На Тему Граничные Условия Общего Вида
Реферат: Программное обеспечение ЭВМ и языки программирования
Где Пишут Диссертацию
Перевозка Кирпича Жд Транспортом Курсовая
Развитие памяти
Реферат по теме Ознакомительная практика
Курсовая Работа На Тему Ремонт Коленчатого Вала Двигателя Зил-130
Курсовая работа: Финансовое планирование и прогнозирование бюджета
Реферат: Холестериновая угроза. Миф или реальность?
Курсовая работа: Современные экономические проблемы объединения Германии

Report Page