Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Мат модели11.doc
Скачиваний:
11
Добавлен:
12.09.2019
Размер:
1.97 Mб
Скачать

2.6Линейное программирование

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

.

Поверхность целевой функции представляет собой n - мерную плоскость. Допустимая область изменения управляемых переменных выпукла. Оптимальное решение совпадает с одной из вершин допустимой области (рис.2.13.а) или, если одна из границ допустимой области параллельна линиям уровня (рис. 2.13.б), - задача имеет бесчисленное множество решений.

Многие задачи были и будут сформулированы в таком виде. Для решения этой задачи применяется симплекс-метод, который обеспечивает нахождение строго оптимального решения за конечное число шагов (если оно существует). При этом производится обход всех вершин границы допустимой области, в одной из которых и достигается оптимум.

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

Рис. 2.38 Линейное программирование

Пример:

Решение типовой задачи линейного программирования (MathCAD).

Цех малого предприятия должен изготовить 100 изделий трех типов. Каждого изделия нужно сделать не менее 20 штук. На изделия уходит соответственно 4, 3.4 и 2 кг металла при общем запасе 340 кг, а также по 4.75, 11 и 2 кг пластмассы при ее общем запасе 700 кг. Сколько изделий каждого типа x1, x2 и x3 нужно изготовить для максимального объема выпуска в денежном выражении, если цена изделий составляет по калькуляции 4, 3 и 2 рубля? Задача сводится к вычислению максимума функции:

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

Целевая функция может быть нелинейной.

Если данная функция является квадратичной

, то есть строго выпуклой или вогнутой, то при линейных ограничениях - задача имеет единственное решение.

В отличие от задачи линейного программирования, где оптимум всегда лежит на границе допустимой области в одной из ее вершин, в задаче квадратичного программирования такая определенность отсутствует и ее нельзя решить перебором определенных и заранее известных комбинаций значений управляемых переменных.

Рис. 2.39 Нелинейная задача.

Оптимальное решение в данном случае может совпадать с любой точкой на границе допустимой области или лежать внутри нее (рис. 2.14). В последнем случае ограничения можно не учитывать, но заранее это никогда не известно.

Для решения задачи могут использоваться различные методы.

Главная проблема при использовании всех методов состоит в том, чтобы «удержать» решение внутри допустимой области - при выходе за ее границу ввести в решение поправку, обеспечивающую движение в улучшающем направлении вдоль границы допустимой области. Данную поправку естественно взять минимальной.

При этом известно, что любое направление, составляющее острый угол с направлением наискорейшего спуска, является улучшающим. Практически это сводится к проекции вариации управляемых переменных на границу допустимой области (рис.2.15).

Рис. 2.40 Минимальная поправка

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