Федеральное государственное бюджетное образовательное учреждение высшего образования "Рыбинский государственный авиационный технический университет имени П.А. Соловьева" Институт информационных технологий и систем управления Кафедра вычислительных систем Расчетно-графическая работа по дисциплине Методы оптимизации Вариант 3 Студент группы ПИМ-22 Курочкин Е.А. Преподаватель: к.т.н., профессор Вишняков В.А. Рыбинск 2023 Задание 1. Найти экстремум функции 𝑓(𝑥) = 𝑥12 + 𝑥22 при условии 𝑥1 + 𝑥2 − 2 = 0. Шаг №1. Составим вспомогательную функцию Лагранжа: 𝐿(𝑥, λ) = 𝑥12 + 𝑥22 + λ ∗ (𝑥1 + 𝑥2 − 2) Необходимым условием экстремума функции Лагранжа является равенство нулю ее частных производных по переменным 𝑥𝑖 и неопределенному множителю λ. Составим систему: 𝜕𝐿 = 2 ∗ 𝑥1 + λ = 0, 𝜕𝑥1 𝜕𝐿 = 2 ∗ 𝑥2 + λ = 0, 𝜕𝑥2 𝜕𝐿 = 𝑥1 + 𝑥2 − 2 = 0. 𝜕λ Решив данную систему, получаем стационарные точки 𝑥0 . 𝑥0 = (1; 1), при λo = -2. Шаг №2. Определение типа экстремума в стационарных точках. Для определения типа экстремума необходимо найти значения функции в каждой из точек и выбрать экстремальное. 𝑓(𝑥) = 𝑥12 + 𝑥22 − 2 ∗ (𝑥1 + 𝑥2 − 2) 1. Найдем частные производные. 𝜕 2 𝑓(𝑥) = 2 ∗ 𝑥1 − 2, 𝜕𝑥1 𝜕 2 𝑓(𝑥) = 2 ∗ 𝑥2 − 2. 𝜕𝑥2 2. Решим систему уравнений. 2 ∗ 𝑥1 − 2 = 0, 2 ∗ 𝑥2 − 2 = 0. 2 а) Из первого уравнения выражаем 𝑥1 и подставляем во второе уравнение: 𝑥1 = 1, 2 ∗ 𝑥2 − 2 = 0, Откуда 𝑥2 = 1. б) Из первого уравнения выражаем 𝑥2 и подставляем во второе уравнение: 𝑥2 = 1, 2 ∗ 𝑥1 − 2 = 0, Откуда 𝑥1 = 1. Найдем минимальное значение целевой функции. 𝑓(𝑥) = 𝑥12 + 𝑥22 − 2 ∗ (𝑥1 + 𝑥2 − 2) 1 + 1 − 2 ∗ (1 + 1 − 2) = 2 Количество стационарных точек равно 1. Точка 𝑥0 =(1;1) является точкой минимума. 3 Задание 2. Найти максимум функции 𝑓(𝑥) = −3𝑥1 + 12𝑥2 при условиях: 𝑥1 + 4𝑥2 ≤ 16; 𝑥1 − 𝑥2 ≥ 2; 3𝑥1 − 5𝑥2 ≤ 8; 𝑥1 , 𝑥2 ≥ 0. Построим график функций входящих в систему ограничений – рисунок 1. Где вертикальная координата x2, а горизонтальная x1. Рисунок 1. График функций ограничений Найдем значение функции в каждой точке Значение в точке A (2, 0) = 𝑓(2, 0) = −3 ∗ 2 + 12 ∗ 0 = 6; Значение в точке В (2.2, 0) = 𝑓(2.2, 0) = −3 ∗ 2.2 + 12 ∗ 0 = 6.6; Значение в точке С (4.8, 2.8) = 𝑓(4.8, 2.8) = −3 ∗ 4.8 + 12 ∗ 2.8 = 19.2; Значение в точке D (6.5, 2.3) = 𝑓(6.5, 2.3) = −3 ∗ 6.5 + 12 ∗ 2.3 = 8.1; Максимальное значение целевой функции достигается в точке С: 𝑓(𝑚𝑎𝑥) = −3 ∗ 4.8 + 12 ∗ 2.8 = 19.2 Ответ: 𝑥1 = 4.8, 𝑥2 = 2.8, 𝑓𝑚𝑎𝑥 (𝑥)= 19.2. 4 Задание 3. Составить алгоритм и найти минимум функции 𝑓(𝑥) = 2𝑥 2 − 12𝑥 методами деления отрезка пополам и золотого сечения 1. Метод деления отрезка пополам: Для нахождения интервала найдем корни уравнения: 2*x2-12*x=0. Корнями являются значения x1=0; x2=6. Ошибку примем равной ϵ=0,1. Алгоритм представляет из себя последовательность действий: 1. Вычисляется среднее значение xср=(a+b)/2; 2. Вычисляются xл=хср-ϵ и хп=хср+ϵ; 3. Вычисляются значения функции f(xл) и f(xп); 4. Если f(xл)< f(xп), то a=a, b=хср иначе a=xср, b=b; 5. Если (b-a)/2<ϵ то алгоритм считается завершенным, иначе повторяются все шаги начиная с 1. Для удобства представления алгоритма данные были занесены в таблицу 1. Таблица 1. Данные, полученные при выполнении метода дихотомии Итерация a хср b хл хп f(хл) f(хп) Ошибка 1 0 6 3 2,9 3,1 -17,98 -17,98 3 2 3 6 4,5 4,4 4,6 -14,08 -12,88 1,5 3 3 4,5 3,75 3,65 3,85 -17,155 -16,555 0,75 4 3 3,75 3,375 3,275 3,475 -17,84875 -17,54875 0,375 5 3 3,375 3,1875 3,0875 3,2875 -17,9846875 -17,8346875 0,1875 6 3 3,1875 3,09375 2,99375 3,19375 -17,99992188 -17,92492188 0,09375 7 3 3,09375 3,0465 0,046875 В результате выполнения метода дихотомии был получен интервал [3:3.093], xср=3.0465 при заданной ошибке ϵ=0.1. Найдем минимальное значение целевой функции: 𝑓(𝑚𝑖𝑛) = 2 ∗ 32 − 12 ∗ 3 = −18 5 2. Метод золотого сечения: Алгоритм представляет из себя последовательность действий: 1. Задаются начальные границы отрезка a, b и точность e. 2. Рассчитывают начальные деления: золотого сечения точки , где Ф – это пропорция значения в них целевой и функции: . Если 𝑦1 >= 𝑦2 , то a = 𝑥1 иначе b = 𝑥2 . 3. Если , то и останов иначе возврат к шагу 2. Для удобства представления алгоритма данные были занесены в таблицу 1. Рисунок 1 - Данные, полученные при выполнении метода золотое сечение N an bn bn-an λn μn F(λn) F(μn) 1 0 6 6 2.292 3.708 -16.9975 -16.9975 2 0 3.708 3.708 1.4165 2.292 -12.9848 -16.9975 3 1.4165 3.708 2.2915 2.292 2.8326 -16.9975 -17.944 4 2.292 3.708 1.416 2.8326 3.1671 -17.944 -17.9442 В результате выполнения метода дихотомии был получен, xср= 3.00005563 при заданной ошибке ϵ=0.1. 6