Лекция: Составить алгоритм поиска экстремума функции двух переменных методом случайного поиска.
F(x1 , x2)=x21 — x22 + x1x2
Метод случайного поиска заключается в прямой выборке из заданного интервала значений переменных с некоторой вероятностью
Где D – интервал поиска, а r – величина, равномерно распределенная в интервале от 0 до 1, или от -0,5 до 0,5.
После проверки точки на допустимость (попадание в интервал D), вычисляется значение целевой функции в ней, если оно лучше предыдущего значения, то точка запоминается, иначе отбрасывается. Алгоритм работает указанное число итераций или пока не кончится машинное время.
1 Ввод функции f(x1,x2)
2 Ввод интервала D: а- левая граница, b – правая.
3 Ввод количества переменных N=2.
4 Ввод точности вычислений e.
5 Ввод начальной точки
6 Ввод числа итераций E.
7 Для j от 1 до Е //основной цикл, пока не кончатся итерации
Начало цикла
8 flag=0; min=1; // по умолчанию делаем минимум =1
9 для i от 1 до N
начало цикла
10. rand= Random((1-0.001)+0.001);
11. // расчет новой точки X1
конец цикла
12. для i от 1 до N
начало цикла
13. Если x1i <а или x1i >b то flag=1; //проверка новой X1 на //принадлежность к интервалу
Конец цикла
14. Если flag=0 и f(X1)<min то X=X1 и min= f(X1)// если найденная точка X1 лучше предыдущей, то запоминаем её
Конец цикла
15. Вывод min и X(x1, x2).