alfa = 0, bett = 0;
// Значення функції для двох точок золотого перетину (потрібні для порівняння); S1 = 0, S2 = 0;
// Точність, обсяг, мінімальний радіус і відповідна йому висота;
double eps = 0, V = 0, Rmin = 0, Hmin = 0;
{<<"У програмі виробляється мінімізація функції одного аргументи:" <
cout <<"S (r) = 2 * PI * r ^ 2 +2 V/r;" <
cout <<"При виконанні програми вводиться значення об'єму V;" <> V; <<"Задайте точність eps: t";>> ; eps; <
}
// Обчислюємо початкові точки золотого перетину;
{= R1 + const1 * (R2-R1); = R1 + const2 * (R2-R1);
}
// Далі слід реалізація методу;
while (const2 * (R2-R1)> = eps) {
S1 = 2 * (pi * pow (alfa, 2) + V/alfa); = 2 * (pi * pow (bett, 2) + V/bett);
// Т.к. функція унітарною, змінюємо межі відрізка локалізації мінімуму;
if (S1> S2) {= alfa; = bett; = R1 + const2 * (R2-R1);
} {= bett; = alfa; = R1 + const1 * (R2-R1);
}
};
// Обробка кінцевих даних;
{
// Далі порівнюються два значення S1 S2;
S1 = 2 * (pi * pow (R1, 2) + V/R1); = 2 * (pi * pow (R2, 2) + V/R2); (S1> S2) = alfa;
else = bett;
// Мінімальна висота: H = V/(pi * R ^ 2);
Hmin = V/(pi * pow (Rmin, 2));
}
// Висновок відповіді; <<"Рішенням задачі у вигляді (Rmin; Hmin):
// закольцовку
{
cout <<"Запустити заново?" <
cout <<"1. yes "<
}
}
Багатомірний пошук мінімуму функцій і доданий метод зовнішніх штрафних функцій. Метод Девідона-Флетчера-Пауелла. p align="justify"> Опис програми:
Програма реалізує метод Девідона-Флетчера-Пауелла. Знаходиться мінімум функцій двох змінних. p align="justify"> У меню програми можна вибрати хід програми, а саме:
. Запуск тестової (квадратичної) функції двох змінних, взятої з завдання на дослідження яружно функции.
. Запуск пошуку мінімуму неквадратічной функції яружної структури, яружно якої посилюється при збільшенні значний змінних . (Див. 7)
.