Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие (MathCad).doc
Скачиваний:
97
Добавлен:
27.11.2019
Размер:
3.98 Mб
Скачать

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

2.6.1. Основные понятия оптимизации

Простейшими задачами оптимизации являются задачи на поиск экстремумов (минимумов и максимумов) функции одной переменной F(x). Если непрерывная функция F(x) имеет всего один экстремум, то задача его поиска оказывается достаточно простой - поскольку в точке экстремума производная F'(x)=0, то поиск экстремума сводится к решению указанного уравнения.

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

В практике серьезных расчетов основной интерес представляет оптимизация функций многих (N) переменных F(x, y, z,...). Такая функция представляет собой (N+1)- мерную поверхность. Большое число задач в науке и в технике сводится к решению задачи на поиск максимума или минимума функции многих переменных - проектных параметров, обычно называемой целевой функцией.

Обычно в СКМ реализуются несколько методов поиска экстремумов, и они применяются в зависимости от особенностей анализируемой функции и успеха применения некоторых начальных методов. В Mathcad для решения данной задачи используются функции minimize, maximize.

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

2.6.2. Пример оптимизации раскроя железного листа

Рассмотрим практически важную для многих (даже гуманитариев) задачу, представленную приведенным ниже примером.

Пример 2.29. Вы решили установить бак с водой на своем садовом участке, например для бани или полива рассады. Для его изготовления вы купили лист железа в виде прямоугольника с длиной L и шириной W. Ящик делается путем отгиба полоски листа на расстоянии X от края - это будущая высота ящика. Как выбрать расстояние отгиба X, чтобы получить ящик заданного V0 или еще лучше - максимального VM объема? Рис. 2.6 поясняет решение этой актуальной задачи. Как показывает график целевой функции V(X)-V0, задача имеет три решения, но одно из них физически нереально - отгиб превышает размеры листа. Это, кстати, наглядный пример того, что не все математически верные решения годятся для практики! Два других решения реальны, но и они предостерегают вас от поспешных действий. При малом отгибе X ящик получается плоским и малого объема. При большом отгибе он получается высоким, но площадь дна выходит малой, так что и объем тоже будет малым. Нас интересует нечто среднее.

В се необходимые вычисления представлены в документе на рис. 2.6. Вначале (случай 1) вычисляется значение X для получения ящика заданного объема V0. Затем (случай 2) вычисляется X=XM для получения ящика максимального объема. При этом вновь для поиска максимума целевой функции использована функция Mathcad Minerr.

Рис. 2.6. Решение задачи оптимизации раскроя листа