
- •Задача линейного программирования в общем виде.
- •Виды злп и способы перехода от одного вида к другому.
- •Основные теоремы линейного программирования.
- •Симплекс-метод.
- •Задача об использовании сырья
- •Метод искусственного базиса.
- •Алгоритм метода искусственного базиса.
- •Двойственность задач линейного программирования. Таблица соответствий.
- •Теоремы двойственности.
- •Критерии оптимальности.
- •Транспортная задача. Закрытая и открытая модели.
- •Теорема о существовании оптимального решения.
- •Целочисленные злп, графический метод решения в случае двух переменных.
- •Задачи о назначениях и о коммивояжере как частные случаи целочисленных злп.
- •Метод ветвей и границ.
- •Алгоритм метода ветвей и границ:
- •Стандартная задача нелинейного программирования.
- •Локальный экстремум. Необходимое и достаточное условия.
Алгоритм метода ветвей и границ:
Находим решение задачи линейного программирования без учета целочисленности.
Составляет дополнительные ограничения на дробную компоненту плана.
Находим решение двух задач с ограничениями на компоненту.
Строим в случае необходимости дополнительные ограничения, согласно возможным четырем случаям получаем оптимальный целочисленный план либо устанавливаем неразрешимость задачи.
Стандартная задача нелинейного программирования.
Определение: задачами нелинейного программирования называются задачи математического программирования, в которых нелинейны и (или) целевая функция, и (или) ограничения в виде неравенств или равенств.
Задачи нелинейного программирования можно классифицировать в соответствии с видом функции F(x), функциями ограничений и размерностью вектора (вектора решений).
В самом общем виде классификация представлена в таблице.
Таблица 44.1
Вид F(x) |
Вид функции ограничений |
Число переменных |
Название задачи |
Нелинейная |
Отсутствуют |
1 |
Безусловная однопараметрическая оптимизация |
Нелинейная |
Отсутствуют |
Более 1 |
Безусловная многопараметрическая оптимизация |
Нелинейная или линейная |
Нелинейные или линейные |
Более 1 |
Условная нелинейная оптимизация |
Общих способов решения, аналогичных симплекс-методу линейного программирования, для нелинейного программирования не существует. В каждом конкретном случае способ выбирается в зависимости от вида функции F(x).
Задачи нелинейного программирования на практике возникают довольно часто, когда, например, затраты растут непропорционально количеству закупленных или произведённых товаров.
Многие задачи нелинейного программирования могут быть приближены к задачам линейного программирования и найдено близкое к оптимальному решению. Встречаются задачи квадратичного программирования, когда функция есть F(x) полином 2-ой степени относительно переменных, а ограничения линейны. В ряде случаев может быть применён метод штрафных функций, сводящей задачу поиска экстремума при наличии ограничений к аналогичной задаче при отсутствии ограничений, которая обычно решается проще.
Но в целом задачи нелинейного программирования относятся к трудным вычислительным задачам. При их решении часто приходится прибегать к приближенным методам оптимизации. Мощным средством для решения задач нелинейного программирования являются численные методы. Они позволяют найти решение задачи с заданной степенью точности.
Общая формулировка нелинейных задач:
Найти переменные
,
удовлетворяющие системе уравнений:
(44.1)
и обращающие в максимум (минимум) целевую функцию:
(44.2)
При этом в отличие от задач линейного программирования, не оговаривается форма ни целевой функции, ни неравенств. Возможны разные случаи: целевая функция нелинейна, а ограничения линейны; целевая функция линейна, а ограничения (хотя бы одно из них) — нелинейны; и целевая функция, и ограничения нелинейны.