Контрольная работа: Методы синтеза и оптимизации
str( xb[i]:8:3,a);
form1.ListBox2.Items.Add('X'+inttostr(i)+'опт'+'='+a);
end;
form1.listbox2.Items.Add('Минимум - '+FloatToStr(opt1_5.Yopt));
end;
function model(x:Artype): real;
begin
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;
end;
Задание 6
МЕТОДЫ СЛУЧАЙНОГО ПОИСКА РЕШЕНИЯ МНОГОМЕРНЫХ ЗАДАЧ ОПТИМИЗАЦИИ
Цель задания: приобрести практические навыки поиска на ЭВМ условного экстремума функций многих переменных методом случайного поиска с пересчетом.
Индивидуальное задание.
Найдите минимум функции методом случайного поиска, выбрав начальной точкой Хо(0, 0, 0) при изменении аргументов Xi в пределах [ai, bi]. Предусмотрите отрисовку поиска минимума в координатах x1Ox2, x1Ox3, x2Ox3.
Проведите сравнительный анализ по числу вычислений функции задавая параметр М=10, 15, 20 при шаге Н=20 и, задавая Н=0,5; 1; 2 при М=15
Рисунок 12 – блок-схема метода случайного поиска с перечётом.
Рисунок 13 решение задачи на ЭВМ и траектория поиска оптимальных значений функции
Результаты работы программы изображены на рисунке 13.
Вывод: в основе метода случайного поиска лежит внесение элементов случая в процедуру формирования пробных точек, которые используются для определения направления поиска. Данный метод эффективен для функций с большим количеством переменных, так как ограничивается количество вычислений функции за счёт нахождения антиградиентного направления с помощью пробных точек.
Листинг подпрограммы метода
unitOpt1_6;
interface
uses
Dialogs, SysUtils,Graphics;
Const n=3;