Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы оптимизации 171.doc
Скачиваний:
23
Добавлен:
20.09.2019
Размер:
246.78 Кб
Скачать

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

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

и условиям неотрицательности

где

для которых линейная целевая функция R

достигает экстремума (максимума или минимума).

Выражения (34),(35),(36) образуют линейную математическую модель общей задачи линейного программирования.

Любая совокупность значений удовлетворяет еще условиям (35), то она называется допустимым решением или допустимый план задачи.

Совокупность возможных допустимых решений (планов) задачи называют областью допустимых решений задачи.

Допустимое решение, для которого целевая функция (36) достигает максимума (или минимума), называется оптимальным решением (оптимальным планом) задачи.

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

4.2. Графический метод решения задач линейного программирования.

Задача.

Найти и, удовлетворяющие системе неравенств

условиям неотрицательности

для которых функция

достигает максимума.

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

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

Для определения, по какую сторону от граничной прямой располагается полуплоскость, соответствующая заданному неравенству, достаточно “испытать” одну какую-нибудь точку (проще всего точку O(0,0)). Если при подстановке её координат в левую часть неравенства оно удовлетворяется, то полуплоскость обращена в сторону к испытуемой точке, если же неравенство не удовлетворяется, то соответствующая полуплоскость обращена в противоположную сторону. Направление полуплоскости показывается на чертеже (рис.17) штриховкой.

Неравенствам и также соответствует полуплоскости, расположенные справа от оси ординат и над осью абсцисс.

На рисунке строим граничные прямые и полуплоскости, соответствующие всем неравенствам.

Общая часть (пересечение) всех этих полуплоскостей будет представлять собой область допустимых решений данной задачи.

При построении области допустимых решений в зависимости от конкретного вида степени ограничений (неравенств) на переменные может встретиться один из четырех случаев (рис.18).

Область допустимых решений пустая, что соответствует несовместности системы неравенств; решения нет.

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

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

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

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

Вектор, перпендикулярный ко всем этим прямым, показывает направление возрастания.

Для всех точек, лежащих на одной из этих прямых, функция принимает одно определенное значение, поэтому указанные прямые называется линиями уровня для функции (рис.19).

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

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

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

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

Пример.

Найти и, удовлетворяющие системе неравенств

условиям неотрицательности

для которых функция

достигает максимума

Решение.

1. Заменим каждое из неравенств неравенством и построим граничные прямые (рис.20)

Определим полуплоскости, соответствующие данным неравенствам (40) путем “испытания ” точки (0,0). Покажем направления полуплоскостей штриховкой (рис.21). С учетом неотрицательности и получим область допустимых решений данной задачи в виде выпуклого многоугольника .

3. В области допустимых решений находим оптимальное решение, строя вектор, который показывает направление возрастания (рис.21).

Оптимальное решение соответствует точке, координаты которой можно определить либо графически; либо путем совместного решения двух уравнений, соответствующих граничным прямым и, т.е.

Ответ:

4.3. Симплексный метод решения задач линейного программирования.

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

Задача.

Найти решение системы уравнений

удовлетворяющее условиям неотрицательности

и максимизирующее линейную функцию

Полагая, что ранг матрицы коэффициентов меньше числа неизвестных, выразим неизвестных системы (41) через остальные

В системе (44) число линейно независимых уравнений равно.

Неизвестные можно придавать любые неотрицательные значения, то свободные члены должны быть неотрицательными. В противном случае (т.е. если для ) при получим , что недопустимо по условию задачи.

Положим все свободные неизвестные равные нулю:

Получим

Полученное решение системы является допустимым, т.к. удовлетворяет условиям (41) и (42), и называется базисным решением. При этом вектор называется базисным вектором.

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

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

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

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

Пример 1.

Найти решение системы уравнений

Удовлетворяющее условиям неотрицательности

и минимизирующее целевую функцию

Выразим базисные переменные через свободные и:

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

При этом R = 3.

Выполним вторую итерацию, которая приведет к уменьшению.

Анализ уравнения (47), которое определяет, показывает, что целевая функция может быть уменьшена за счет уменьшения и увеличения. Однако уменьшить нельзя, т.к. на первой итерации , а условие неотрицательности не позволяет сделать

Значит, путь уменьшения состоит в увеличении.

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

Из системы (48) следует, что не может превышать значения 2, т.к. при становится меньше нуля (первое уравнение системы (48)), что недопустимо по условию задачи.

Принимаем, при этом. Подставим эти значения в систему уравнений (48), получим новое базисное решение:

При этом

Выразим новые базисные переменные через свободные:

Подставив полученное выражение для в выражение для целевой функции (47), получим

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

Пример.

Найти значения, которые удовлетворяют системе уравнений

условиям неотрицательности

и обеспечивает наименьшее значение целевой функции

Примем переменные в качестве базисных и выразив их через свободные переменные из уравнения (52). Получим

Первое базисное решение примет вид

При этом

Из уравнения (54) видно, что целевая функция может быть уменьшена путем увеличения и. Увеличим сначала. Из (55) следует, что можно увеличить до значения , поскольку при большем его значении переменная станет отрицательной.

Полагая из (55) получаем второе базисное решение

При этом

Примем ненулевые переменные в качестве базисных, а нулевые переменные в качестве свободных. Из системы (52) найдем

Выражение для целевой функции (54) запишем через свободные параметры, заменив с помощью (58). Получим

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

Максимальное значение определяется соотношениями (58) и составляет. Из (58) при получаем третье базисное решение.

При этом

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

Поскольку коэффициенты при положительные, то при увеличении этих параметров целевая функция возрастает. Следовательно, решение (60) является оптимальным.

4.4. Задания

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

ЛИТЕРАТУРА

1. Бояринов А.И., Кафаров В.В. Методы оптимизации в химической технологии. -М.:Химия, 1975. -576 с.

2. Турчак Л.И. Основы численных методов: Учеб.пособие.-М.:Наука. Гл.ред.физ.-мат.лит., 1987. -320с.

3. Базара М., Шетти К. Нелинейное программирование. Теория и алгоритмы: Пер.с англ.-М.:Мир, 1982. -583с.

4. Сухарев А.Г., Тимохов Л.В., Федоров В.В. Курс методов оптимизации.-М.:Наука, Гл.ред.физ.-мат.лит., 1986. -328с.

5. Гилл Ф., Мюррей У., Райт М. Практическая оптимизация:Пер.с англ.-М.:Мир, 1985. -509с.

6. Банди Б. Методы оптимизации. Вводный курс:Пер с англ.-М.:Радио и связь, , 1988. -128с.

7. Химмельблау Д. Прикладное нелинейное программирование.-М.:Мир, 1975. -535с.

8. Карманов В.Г. Математическое программирование.-М.: Наука, 1980. -256с.

СОДЕРЖАНИЕ

Введение

1. Методы одномерной оптимизации

1.1 Метод сканирования

1.2 Метод локализации

1.3 Метод золотого сечения

1.4 Метод поиска с использованием чисел Фибоначчи

1.5 Задания

2. Многомерный поиск. Нелинейное программирование. Методы безусловной минимизации.

2.1. Постановка задачи

2.2. Выбор длины шага

2.3. Выбор направления поиска

2.3.1. Безградиентные методы. Покоординатный спуск

2.3.2. Градиентные методы

2.3.2.1. Метод наискорейшего спуска

2.3.2.2. Метод сопряженных направлений

2.4. Задания

3. Многомерный поиск. Нелинейное программирование. Методы условной минимизации.

3.1. Метод сканирования

3.2. Метод штрафных функций

3.3. Задания

4. Многомерный поиск. Линейное программирование

4.1. Математическая формулировка задачи

4.2. Графический метод решения задач

4.3. Симплексный метод решения задач

4.4. Задания

Литература