Линейное программирование
СОДЕРЖАНИЕ: Задачи оптимизации. Ограничения на допустимое множество. Классическая задача оптимизации. Функция Лагранжа. Линейное программирование: формулировка задач и их графическое решение. Алгебраический метод решения задач. Симплекс-метод, симплекс-таблица.Министерство образования РФ
Южно-Уральский государственный университет
Кафедра Автоматики и управления
Реферат
по математическим основам теории систем
на тему
Линейное программирование
Выполнил:
Группа: ПС-263
Проверил: Разнополов О. А.
Челябинск
2003
1. Введение
При постановке задачи организационного управления, прежде всего, важно
1. Определить цель, преследуемую субъектом управления.
2. Установить, значениями каких переменных исследуемой системы можно варьировать.
Под целью будем понимать тот конечный результат, который необходимо получить путём выбора и реализации тех или иных управляющих воздействий на исследуемую систему. В производственно-коммерческой сфере цель заключается в том, чтобы либо максимизировать прибыль, либо минимизировать расходы.
Когда цель определена, оптимальным считается такой способ действий, который в наибольшей степени способствует достижению этой цели. Однако «качество» реализации процедуры выбора зависит от того, насколько полно известны допустимые альтернативы управляющих воздействий. Требуется выявить полное множество так называемых управляемых переменных. Важным моментом при принятии управляющих решений является идентификация неуправляемых переменных, то есть субъекта управления. Для построения математической модели необходимо иметь строгое представление о цели функционирования исследуемой системы и располагать информацией об ограничениях, которые определяют область допустимых значений управляемых переменных. Как цель, так и ограничения должны быть представлены в виде функций от управляемых переменных. Анализ модели должен привести к определению наилучшего управляющего воздействия на объект управления при выполнении всех установленных ограничений. При упрощённом описании реальных систем, на основе которого будет строиться та или иная модель, прежде всего следует идентифицировать доминирующие переменные, параметры и ограничения. Модель, будучи дальнейшим упрощением образа системы-оригинала, представляет собой наиболее существенные для описания системы соотношения в виде целевой функции и совокупности ограничений.
Наиболее важным типом моделей являются математические модели. В основе их построения лежит допущение о том, что все релевантные переменные, параметры и ограничения, а также целевая фукция количественно измеримы. Поэтому если
представляет собой управляемых переменных и условия функционирования исследуемой системы хаарктеризуются ограничениями, то математическая модель может быть записана в следующем виде:
Найти оптимум
(целевая функция) при ограничениях
Ограничения – условия неотрицательности. Нахождение оптимума осуществляется для определения наилучшего значения целевой функции (максимума прибыли или минимума затрат, например). Полученное с помощью некоторой модели конкретное оптимальное решение является наилучшим только в рамках использования только этой модели. Не следует считать, что найденный оптимум – это действительно самое лучшее решение анализируемой задачи. Оно является наилучшим из всех возможных тогда, когда выбранный критерий оптимизации можно считать полностью адекватным конечным целям организации, в которой возникла исследуемая проблемная ситуация.
2. Основные понятия теории оптимизации
2.1. Общая постановка задачи оптимизации
В общей задаче требуется найти вектор
из допустимой области , который обращает в минимум целевую функцию q(x), т.е. такой , для которого
(1)
Если существует, то он определяет слабый, глобальный (абсолютный) минимум q*(x) в допустимой . Слабый, т.к. удовлетворяет нестрогому неравенству. Глобальный, т.к. неравенство справедливо для любых x из области X. Минимум при сильный, если для. Если поменять знаки неравенств – получим сильный и слабый максимумы. Минимум в точке называется локальным (относительным), если найдётся такая окрестность O(x*) точки , что для всех имеет место . Если дифференцируема, то задача отыскания локальных минимумов сводится к нахождению стационарных точек, в которых обращаются в ноль частные производные q(x):
(2)
(2) – необходимое, но не достаточное условие. Достаточным условием существования в стационарной точке относительного минимума является положительная определённость квадратичной формы.
2.2. Ограничения на допустимое множество
Теорема Вейерштрасса: непрерывная функция, определённая на непустом замкнутом ограниченном множестве, достигает минимума (максимума) по крайней мере в одной из точек этого множества.
2.3. Классическая задача оптимизации
Состоит в нахождении минимума целевой функции, где – точка в пространстве при начальных ограничениях типа равенств
(3)
Если (3) имеют место, то минимум q(x) называется условным минимумом. Если ограничения (3) отсутствуют, то говорят о безусловном минимуме.
Классический способ решения данной задачи состоит в том, что (3) используют для исключения из рассмотрения переменных. При этом целевая функция приводится к виду
(4)
,где через обозначены неисключаемые переменные. Задача теперь состоит в нахождении значений , которые обращают в минимум q1 и на которые не наложено ограничений (задача на безусловный экстремум).
2.4. Функция Лагранж а
Введём в рассмотрение вектор и исследуем свойства функции
(5)
– функция Лагранжа, - множители Лагранжа.
– функция n+m переменных .
Рассмотрим стационарные точки функции , которые получим, приравняв к нулю частные производные по и по :
(6)
(7)
Если в стационарной точке (x*, y*) функция достигает минимума, то обеспечивает минимум функции q(x) и при выполнении ограничений (3), т.е. даёт решение задачи.
Задача на условный минимум целевой функции q(x) при наличии ограничений типа равенств сводится к задаче на определение стационарных точек функции Лагранжа .
3. Линейное программирование: формулировка задач и их графическое решение
3.1. Задача ЛП
Рассмотрим на примере задачи фирмы Reddy Mikks. Небольшая фабрик изготовляет два вида красок: для наружных (E) и внутренних (I) работ. Продукция поступает в оптовую продажу. Для производства красок используется два исходных продукта – A и B. Максимально возможные суточные запасы этих продуктов составляют 6т и 8т соответственно. Расходы A и B на производство 1т соответствующих красок приведены в таблице.
Исходный продукт | Расход на тонну краски | Максимальный запас, т. | |
краска E | краска I | ||
A | 1 | 2 | 6 |
B | 2 | 1 | 8 |
Суточный спрос на краску I никогда не превышает спроса на краску E более чем на 1т. Спрос на I не превышает 2т. Оптовая цена за 1т краски E – 3000$, I – 2000$. Какое количество краски каждого вида фабрика должна производить, чтобы доход от реализации продуктов был максимальным?
Так как нужно определить объём производства каждого вида краски, переменными в модели являются:
x E – суточный объём производства краски E (в тоннах);
xI – суточный объём производства краски I (в тоннах).
Обозначив доход (в тыс. $) через , можно дать математическую формулировку целевой функции: определить (допустимые) значения xE и xI, максимизирующие величину общего дохода
Ограничения на расход исходных продуктов:
(для A)
(для B)
Ограничения на величину спроса на продукцию:
Потребуем выполнения условия неотрицательности переменных:
Получили математическую модель:
Определить суточные объёмы производства (в т.) краски I и E, при которых достигается
(целевая функция)
при ограничениях
3.2. Графическое решение задачи ЛП
Построим область допустимых решений, в которой одновременно выполняются все ограничения. Искомое пространство решений – многоугольник ABCDEF. Пространство решений содержит бесконечное число точек, являющихся допустимыми решениями, но, несмотря на это, можно найти оптимальное решение, если выяснить, в каком направлении возрастает целевая функция модели z=3xE+2xI. На график наносят ряд параллельных линий, соответствующих уравнению целевой функции при нескольких произвольно выбранных и последовательно возрастающих значениях , что позволяет определить наклон целевой функции и направление её увеличения. На видно, что оптимальному решению соответствует точка C, являющаяся пересечением прямых
Решив систему, получим
Тогда получаемый доход
тыс $.
Оптимальному решению всегда соответствует одна из допустимых угловых точек пространства решений. Какая из этих точек окажется оптимальной, зависит от наклона прямой, представляющей целевую функцию (т.е. от коэффициентов целевой функции).
4. Алгебраический метод решения задач
Использование графического метода удобно при решении задач ЛП с двумя переменными. При большем их числе необходимо применение алгебраичского аппарата.
Процесс решения задачи ЛП симплекс-методом носит итерационный характер: однотипные вычислительные процедуры в определённой последовательности выполняются до тех пор, пока не будет получено оптимальное решение.
4.1. Стандартная форма линейных оптимизационных моделей
1. Все ограничения записываются в виде равенств с неотрицательной правой частью. Исходное ограничение можно представить в виде равенства, прибавляя остаточную переменную к левой части ограничения (вычитая избыточную переменную из левой части).
Например,
Введём остаточную переменную s10, тогда
Правую часть равенства можно сделать неотрицательной, умножив обе части на –1.
2. Значения всех переменных модели неотрицательны.
Любую переменную yi, не имеющую ограничения в знаке, можно представить как разность двух неотрицательных переменных:
При любом допустимом решении только одна из этих переменных может принимать положительное значение, т.к. если , то , и наоборот. Это позволяет рассматривать как остаточную переменную, а – как избыточную.
3. Целевая функция подлежит максимизации или минимизации.
Максимизация некоторой функции эквивалентна минимизации той же функции, взятой с противоположным знаком, и наоборот.
Эквивалентность означает, что при одной и той же совокупности ограничений оптимальные значения переменных в обоих случаях будут одинаковы.
4.2. Симплекс-метод
Общую идею симплекс-метода проиллюстрируем на примере модели для задачи фирмы Reddy Mikks. На исходная точка алгоритма – начало координат (т. A) – начальное решение. От исходной точки осуществляется переход к некоторой смежной угловой точке (т. B или т. F). Её выбор зависит от коэффициентов целевой функции. Т.к. коэффициент при xE больше коэффициента при xI, а целевая функция подлежит максимизации, требуемое направление перехода соответствует увеличению xE (т. B). Далее указанный процесс повторяется для выяснения, существует ли другая экстремальная точка, соответствующая лучшему допустимому решению.
Правила выбора экстремальной точки:
1. Каждая последующая угловая точка должна быть смежной с предыдущей.
2. Обратный переход к предшествующей экстремальной точке не может производиться.
Чтобы описать рассмотренные процедуры формальными способами, необходимо определить пространство решений и угловые точки алгебраически. Требуемые соотношения устанавливаются по таблице:
Геометрическое определение (графический метод) | Алгебраическое определение (симплекс-метод) |
Пространство решений | Ограничения модели стандартной формы |
Угловые точки | Базисные решения задачи в стандартном виде |
4.2.1. Представление пространства решений стандартной задачи ЛП.
Модель:
максимизировать целевую функцию
при ограничениях
На – пространство решений. Каждую точку можно определить с помощью
Для идентификации нужной точки воспользуемся тем, что при ограничения модели эквивалентны равенствам, которые представляются соответствующими рёбрами пространства решений.
Анализируя , заметим, что
можно упорядочить, исходя из того, какое значение (нулевое или ненулевое) имеет данная переменная в экстремальной точке.
Экстр. | переменные | |
точка | нулевые | ненулевые |
A | ||
B | ||
C | ||
D | ||
E | ||
F |
Из таблицы выделим закономерности:
1. Стандартная модель содержит четыре уравнения и шесть неизвестных, поэтому в каждой из экстремальных точек (6–4) переменные должны иметь нулевые значения.
2. Смежные экстремальные точки отличаются только одной переменной в каждой группе (нулевых и ненулевых переменных).
Если линейная модель стандартной формы содержит уравнений и неизвестных, то все допустимые экстремальные точки определяются как все однозначные неотрицательные решения системы уравнений, в которых m-n переменных равны нулю. Однозначные решения такой системы – базисные решения. Если они удовлетворяют требованию неотрицательности правых частей, то это – допустимое базисное решение. Переменные, равные нулю – небазисные, остальные – базисные. Каждую следующую экстремальную точку можно определить определить путём замены одной из текущих небазисных переменных текущей базисной переменной. В нашем примере при переходе из т. A в т. B необходимо увеличивать небазисную переменную от исходного нулевого значения до значения, соответствующего т. B. В т. B s2 обращается в нуль (становится небазисной). Т.о., происходит взаимообмен xE и s2 между небазисными и базисными переменными.
Включаемая переменная – небазисная в данный момент переменная, которая будет включена в множество базисных переменных на следующей итерации. Исключаемая переменная – базисная в данный момент переменная, которая на следующей итерации подлежит исключению из множества базисных переменных.
4.2.2 Вычислительные процедуры симплекс-метода
Симплекс-алгоритм:
Шаг 0: Используя линейную модель стандартной формы, определяют НДБР путём приравнивания к нулю n-m (небазисных) переменных.
Шаг 1: Из числа текущих небазисных переменных выбирается включаемая в новый базис переменная, увеличение которой обеспечивает улучшение значения целевой функции. Если её нет -- текущее базисное решение оптимально, иначе переход к Шагу 2.
Шаг 2: Из числа переменных текущего базиса выбирается исключаемая переменная, которая должна стать небазисной при введении в состав базиса новой переменной.
Шаг 3: Находится новое базисное решение, соответствующее новым составам базисных и небазисных переменных. Переход к Шагу 1.
Если xE=xI=0, то
(соответствует точке A Ha ) – начальное допустимое решение.
Решение | ||||||||
-3 | -2 | |||||||
2 | 6 | |||||||
2 | 8 | |||||||
-1 | ||||||||
2 |
Если в задаче максимизации все небазисные переменные в -уравнении имеют неотрицательные коэффициенты, полученное пробное решение является оптимальным. Иначе в качестве новой базисной переменной следует выбрать ту, которая имеет наибольший по абсолютной величине отрицательный коэффициент. Применяя это условие к исходной таблице – переменная, включаемая в базис.
Процедура выбора подключаемой переменной предполагает проверку условия допустимости, требующего, чтобы в качестве исключаемой переменной выбиралась та (из текущего базиса), которая первой обращается в нуль при увеличении включаемой переменной вплоть до значения, соответствующего смежной экстремальной точке.
Отношение, идентифицирующее исключаемую переменную, можно определить из симплекс-таблице. Для этого в столбце вводимой переменной вычёркиваются отрицательные и нулевые элементы ограничений. Затем вычисляются отношения постоянных из правых частей ограничений к оставшимся элементам столбца. Исключаемая переменная – та, для которой это отношение минимально.
Решение | Отношение | ||||||||
-3 | -2 | - | |||||||
2 | 6 | ||||||||
2 | 8 | ||||||||
-1 | - | ||||||||
2 | - |
Столбец, ассоциированный с вводимой переменной – ведущий столбец; строка, соответствующая исключаемой переменной – ведущая строка; на их пересечении – ведущий элемент.
Поиск нового базисного решения осуществляется методом исключения переменных (метод Жордана-Гаусса). Этот процесс включает в себя вычислительные процедуры двух типов.
Тип 1. Формирование ведущего уравнения
Новая ведущая строка = предыдущая ведущая строка/ведущий элемент
Тип 2. Формирование остальных уравнений
Новое уравнение = предыдущее уравнение – (коэффициент ведущего столбца предыдущего уравнения)*(новая ведущая строка)
Новая симплекс-таблица, полученная после проведения рассмотренных операций:
Решение | Отношение | ||||||||
- | |||||||||
- | |||||||||
- | |||||||||
- | |||||||||
- | |||||||||
- |
xI – вводимая переменная (т.к. коэффициент в -уравнении -1/2). Исключаемая переменная s1, (отношение 4/3 – минимальное). Снова проведём вычисления двух типов. Последняя симплекс-таблица соответствует оптимальному решению задачи, т.к. в -уравнении ни одна из небазисных переменных не фигурирует с отрицательными коэффициентами.
В случае минимизации целевой функции в этом алгоритме необходимо изменить только условие оптимальности: в качестве новой базисной переменной следует выбирать переменную, которая в -уравнении имеет наибольший положительный коэффициент. Условия допустимости в обоих случаях одинаковы.
4.2.3. Искусственное начальное решение
Для получения начального базисного решения мы использовали остаточные переменные. Однако когда исходное ограничение записано в виде равенства или имеет знак, нельзя сразу же получить НДБР. Поэтому были разработаны два метода, в которых используется «штрафование» искусственных переменных.
1. Метод больших штрафов (М-метод)
Рассмотрим линейную модель, приведённую к стандартной форме:
минимизировать
при ограничениях
В первом и втором уравнениях нет переменных, исполняющих роль остаточных. Поэтому введём в каждое из этих уравнений по одной из искусственных переменных R1 и R2:
За использование этих переменных в составе целевой функции можно ввести штраф, приписывая им достаточно большой положительный коэфффициент . Получим линейную модель:
минимизировать
при ограничениях
Теперь если
,то начальное допустимое решение:
Метод оптимизации, направленный на нахождение минимального значения , приведёт к тому, что переменные R1 и R2 в оптимальном решении обратятся в нуль.
Необходимо переформулировать условие задачи, чтобы представить процесс решения в удобной табличной форме. Подставив в целевую функцию полученные из соответствующих ограничений выражения для искусственных переменных
получим выражение для :
Решение представлено в сводной таблице:
Итерация | Решение | Отношение | ||||||
- | ||||||||
- | ||||||||
- | ||||||||
- | ||||||||
- | ||||||||
- | ||||||||
- | ||||||||
- |
2. Т.к. целевая функция минимизируется, переменные, включаемые в базис, должны иметь наибольшие положительные коэффициенты в -уравнении. Оптимум достигается, когда все небазисные переменные имеют коэффициенты в -уравнении. Оптимальному решению соответствует точка.
Т.к. в оптимальном решении отсутствуют искусственные переменные, имеющие положительное значение, то данное решение – допустимое оптимальное решение задачи в её стандартной постановке.
3. Двухэтапный метод
Этап 1. Вводятся искусственные переменные, необходимые для получения стартовой точки. Записывается новая целевая функция, предусматривающая минимизацию суммы искусственных переменных при исходных ограничениях, видоизменённых за счёт искусственных переменных. Если минимальное значение новой целевой функции равно нулю (т.е. все искусственные переменные в оптимуме равны нулю), то исходная задача имеет допустимое решение и переходим к Этапу 2.
Этап 2. Оптимальное базисное решение, полученное на Этапе 1, используется в качестве начального условия исходной задачи.
Рассмотрим на примере.
Этап 1.
Минимизация
при ограничениях
Решение | |||||||
Т.к. , можно переходить к Этапу 2.
Этап 2. Исходную задачу сформулируем следующим образом:
минимизировать
при ограничениях
Теперь, приравняв x3=0, получим НДБР
Для решения задачи необходимо подставить в целевую функцию выражения для базисных переменных x1 и x2:
5. Двойственность .
Двойственная задача – вспомогательная задача ЛП, формулируемая с помощью определённых правил непосредственно из исходной, или прямой задачи.
Прямая задача ЛП в стандартной форме:
максимизировать (минимизировать)
при ограничениях
В состав включаются избыточные и остаточные переменные.
Для формулировки двойственной задачи расположим коэффициенты прямой задачи согласно схеме:
· каждому ограничению прямой задачи соответствует переменная двойственной задачи;
· каждому переменной прямой задачи соответствует ограничение двойственной задачи;
· коэффициенты при некоторой переменной, фигурирующие в ограничения прямой задачи, становятся коэффициентами левой части соответствующего ограничения двойственной задачи, а коэффициент, фигурирующий при той же переменной в выражении для целевой функции прямой задачи, становится постоянной правой части этого же ограничения двойственной задачи.
Информация о других условиях двойственной задачи (направление оптимизации, ограничения и знаки двойственных переменных) представлена в таблице:
Прямая задача в стандартной форме. | Двойственная задача | ||
Целевая функция | Целевая функция | Ограничения | Переменные |
Максимизация | Минимизация | Не ограничены в знаке | |
Минимизация | Максимизация | Не ограничены в знаке |
Рассмотрим пример:
Прямая задача:
максимизировать
при ограничениях
Прямая задача в стандартной форме:
максимизировать
при ограничениях
Двойственная задача:
минимизировать
при ограничениях:
(означает, что y10). y1, y2 не ограничены в знаке.