Решение задач нелинейного программирования в microsoft excel

Задание 2

Нелинейное программирование

Задача называется задачей нелинейного программирования, если её математическая модель имеет вид

Решение задач нелинейного программирования в microsoft excel

в которой среди или есть нелинейные функции.

В отличие от задач линейного программирования не существует единого метода для решения задач нелинейного программирования.

Решение задач нелинейного программирования методом Лагранжа

Метод Лагранжа заключается в выполнении следующих действий.

1. Если в системе ограничений встречаются неравенства, то, вводя дополнительные переменные, преобразовать неравенства в равенства.

2. Для заданной системы ограничений и целевой функции составить функцию Лагранжа:

где есть неопределённые коэффициенты[1].

3. Приравнять к нулю все частные производные первого порядка функции L, и получить систему уравнений (в общем случае нелинейных уравнений):

Решение задач нелинейного программирования в microsoft excel

4. Решить полученную систему и, тем самым, найти все стационарные точки Решение задач нелинейного программирования в microsoft excel функции , то есть такие точки, в которых функция может иметь экстремумы (минимумы или максимумы).

5. Исследовать каждую точку на наличие в ней экстремума функции , применяя следующую теорему:

если функция дважды дифференцируема в окрестности стационарной точки S = Решение задач нелинейного программирования в microsoft excel , причём все её вторые производные в этой окрестности непрерывны, то функция имеет в точке S:

минимум, если все числа D1, D2, …, Dn являются положительными,

максимум, если знаки чисел D1, D2, …, Dn чередуются, начиная с минуса,

где

Решение задач нелинейного программирования в microsoft excel

Решение задач нелинейного программирования в microsoft excel

Если же числа Di не являются положительными или их знаки не чередуются, то вопрос о наличии экстремума функции в стационарной точке остаётся открытым и требует дополнительных исследований.

Пример. Решить методом Лагранжа следующую задачу нелинейного программирования:

Решение.

1. Объявляем целевую функцию f и функцию Лагранжа L:

Решение задач нелинейного программирования в microsoft excel

2. Находим стационарные точки:

а) объявляем все частные производные первого порядка функции L:

объявление производной результат
Решение задач нелинейного программирования в microsoft excel
Решение задач нелинейного программирования в microsoft excel
Решение задач нелинейного программирования в microsoft excel

б) приравниваем к нулю все частные производные первого порядка функции Лагранжа L и получаем систему, которую

Решение задач нелинейного программирования в microsoft excel

Таким образом, функция f имеет одну стационарную точку (91, 89).

3. Для каждой стационарной точки проверяем наличие у функции f минимума или максимума. Для этого:

а) объявляем все производные второго порядка целевой функции f:

объявление производной результат
Решение задач нелинейного программирования в microsoft excel
Решение задач нелинейного программирования в microsoft excel Решение задач нелинейного программирования в microsoft excel
Решение задач нелинейного программирования в microsoft excel Решение задач нелинейного программирования в microsoft excel

б) вычисляем значения всех производных второго порядка функции f в каждой стационарной точке:

Решение задач нелинейного программирования в microsoft excel

в) вычисляем значения членов последовательности

Решение задач нелинейного программирования в microsoft excel

Так числа D1, D2 положительны, то функция f в точке (91, 89) имеет минимум, равный

Ответ. Функция при условии имеет минимум 17278, который достигается при x1 = 91, x2 = 89.

Решение задач нелинейного программирования в Microsoft Excel

Задачи нелинейного программирования в Microsoft Excel решаются так же как и задачи линейного программирования (см. 1.2), с той лишь разницей, что в окне Параметры поиска решения необходимо сбросить флаги Линейная модель и, если это необходимо, Неотрицательные значения.

Пример. Решить в Microsoft Excel следующую задачу нелинейного программирования:

найти при условии

В данной модели система ограничений состоит из одного линейного уравнения и нелинейной целевой функции.

1. Заполняем ячейки на рабочем листе необходимыми переменными, целевой функцией и ограничениями:

Решение задач нелинейного программирования в microsoft excel

2. В окне Параметры поиска решения сбрасываем флаги Линейная модель (так как решаемая задача есть задача нелинейного программирования) и Неотрицательные значения (в условии задачи нет ограничений на знаки переменных).

3. После нажатия кнопки Выполнить получаем ответ:

Решение задач нелинейного программирования в microsoft excel

из которого следует, что минимальное значение целевой функции равно 17278 и достигается при x1 = 91 и x2 = 89.

Решение задачи линейного программирования при помощи надстройки Поиск решения


Похожие статьи.

Понравилась статья? Поделиться с друзьями: