
- •Лабораторная работа № 7 Решение задач оптимизации
- •Содержание работы
- •Основные понятия Унимодальные функции
- •Метод половинного деления
- •Метод золотого сечения
- •Средства Excel для решения задач условной оптимизации
- •Пример постановки задачи линейного программирования
- •Формирование математической модели
- •Ввод условий задачи:
- •Сформировать таблицу в диапазоне ячеек a1:f11, приведенную на рис. 1. Р ис. 1. Таблица для ввода условий задачи линейного программирования
- •Решение задачи
- •Нажать кнопку «Параметры». Установить линейную модель. Нажать кнопку ok. Нажать кнопку «Выполнить».
- •В таблице появятся выходные значения, приведенные на рис. 4.
- •Постановка задачи
- •Варианты заданий Задание №1
- •Задание №2
- •Содержание отчета
- •Вопросы и задания для самоконтроля
Лабораторная работа № 7 Решение задач оптимизации
Цель работы: изучить численные методы поиска минимума функции одной переменной. Ознакомиться с методами решения задач условной оптимизации средствами Excel.
Содержание работы
Изучение методов поиска минимума функции одной переменной;
Реализация вычислительного процесса поиска минимума функции одной переменной;
Изучение средств Excel для решения задач оптимизации;
Изучение алгоритма решения задач условной оптимизации этими средствами;
Рассмотрение примеров решения экономических задач на условную оптимизацию;
Реализация вычислительного процесса в Excel.
Основные понятия Унимодальные функции
Определение. Непрерывная функция y=f(x) называется унимодальной на отрезке [а,b], если:
1) точка х* локального минимума функции принадлежит отрезку [a,b];
2
)
для любых двух точек отрезка x1
и х2, взятых по
одну сторону от точки минимума, точке
х1, более близкой
к точке минимума, соответствует меньшее
значение функции, т.е. как при х*<х1<х2
(рис. 1,а), так и при х2<х1<х*
(рис. 2,б) справедливо неравенство f(x1)
< f(x2).
Достаточное условие унимодальности функции f(x) на отрезке [а,b] содержится в следующей теореме.
Теорема 8. Если функция f(x) дважды дифференцируема на отрезке [а,b] и f’’(x) > 0 в любой точке этого отрезка, то f(x) - унимодальная функция на [а,b].
Заметим, что условие f’’(х) > 0 определяет множество точек, на котором функция является выпуклой вниз.
Пример 1. Для функции f(x) = 2х2 – ln x найти:
1) промежуток X, на котором функция является унимодальной;
2) решение задачи f(x) → min, x X (X R).
Решение. Функция f(x) определена при х>0; найдем ее производные
.
Следовательно, функция f(x) унимодальна на интервале (0, ). Первая производная f’(х)=0 при х=0,5.Заключаем, что х*=0,5 - точка локального минимума функции f(x).
Схема сужения промежутка унимодальности функции
Пусть требуется решить задачу
f(x) → min, x X (X R) (1)
Применение численных методов для отыскания точек х* локального минимума функции f(x) предполагает:
1) определение промежутков унимодальности функции, т.е. нахождение отрезков, которым принадлежит одна точка локального минимума;
2) вычисление значения х*, принадлежащего выбранному промежутку, с заданной точностью.
Для непрерывной функции f(х) строят ее график на некотором отрезке [а,b] и если окажется, что на этом отрезке график функции имеет вид, изображенный на рис. 1, то [a, b] - отрезок унимодальности функции. Отрезок [а, b] берется по возможности малым.
При вычислении точки минимума точность достигается последовательным уменьшением отрезка [a, b], содержащего точку х*, до размеров, не превышающих заданную точность (b - а ≤ ).
Замечание. Если функция имеет производную в области определения, то для отыскания стационарных точек функции f(х) нужно найти корни уравнения f(х) = 0. Для решения задачи (1) проще применять прямые численные методы поиска минимума функции f(x).
Рассмотрим один из приемов, позволяющих сузить отрезок унимодальности функции.
Пусть функция f(x) унимодальна на отрезке [а,b]. Возьмем две произвольные точки х1 и х2, принадлежащие отрезку [а,b] такие, что х1 < х2. В каждом из следующих трех очевидных возможных случаев можно указать отрезок меньших размеров [a1, b1], содержаний точку минимума х* и принадлежащий первоначальному отрезку (рис.2):
I. Если y1 = f(х1) < у2 = f(x2), то положим a1 = а и получим меньший отрезок унимодальности [a1, b1].
II. Если у1 = f(х1) > у2 = f(х2), то естественно принять a1 = x1 и b1 = b.
III. Если у1 = f(х1) = у2 = f(х2), то a1 = x1 и b1 = x2.
Пример 2. Для функции f(x) = 2x2
– ln x, выбрав отрезок унимодальности
[а,b] = [0,25; 1] и
две произвольные точки
х1,
х2 с [a, b],
найти меньший отрезок унимодальности
[a1, b1].
Решение. В примере 1 было установлено, что функция f(x) имеет точку минимума х*=0,5 и является унимодальной на любом отрезке, содержащем точку х* и лежащем в области ее определения (0, ). Возьмем х1 = 0,375, х2 = 0,625; тогда y1 = f(x1) = 1,2620793, y2 = f(х2) = 1,2512536. Здесь естественно положить a1 = x1 = 0,375 и b1 = b = 1 (случай II).
Методы вычисления значения точки минимума функции одной переменной отличаются алгоритмами выбора точек х1 и х2 для локализации точки х* с заданной точностью.