Контрольная работа: Методы одномерной оптимизации
- Алгоритмы;
- Текст программы на С++;
- Подробное решение одной из предложенных задач – то, что выводит программа при ее решении на каждой итерации;
- Сводную таблицу результатов решения задач, содержащую информацию о тестовой функции, начальных данных задачи и параметрах программы и результаты решения задачи(оценку точки минимума, значение функции в ней, число итераций).
Задание№1
Программно реализовать на языке C++ метод Свенна
(Программа должна обеспечить вывод на экран
- начальной точки и шага на каждой итерации метода:
- номера итерации,
- генерируемой методом новой точки x и значения функции в ней; а на последней итерации отрезка [a, b] локализации минимума функции f(x) и его длины, а также числа итераций.
С помощью программы решить следующие задачи одномерной оптимизации
- f(x) = x2 – 12x. Начальные точки: 1, 3, 0, 10. ∆ = 1, 10
- f(x) = 2x2 +(16/x) Начальные точки: 1,6, 2, 1, 0.1, 10. ∆ = 1, 2
- f(x) = (127/4)x2 -(61/4)x+2. Начальные точки: 0, 1, 2, -10, 10. ∆= 0,5, 1
Текст программы на С++
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <iomanip.h>
using namespace std;
double f(double ) ;
int _tmain(int argc, _TCHAR* argv[])
{
double t,ll,e,l,xk,yk,a,b;
double x,delta,xp,x1,x2,k=0,y;
int p=0;
cout<<"enter x* ";
cin>>x ;
cout<<"enter t ";