|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пример 1.3Минимизировать функцию при ограничениях В стандартной форме с неотрицательными дополнительными переменными ограничения и целевая функция принимают вид (2.11) Поскольку в этом случае коэффициенты b положительны, а новые переменные имеют коэффициент +1, ясно, что набор образует базисное фундаментальное решение, а уравнения (2.11) имеют соответствующий вид. Функция z, имеющая нулевое значение, выражена через небазисные переменные, которые также имеют нулевое значение. Как в таком случае можно уменьшить значение функции z? Поскольку x 1 и x 2 должны быть неотрицательны, любое изменение их значений является увеличением этих значений. Поскольку коэффициенты при x 1 и x 2 в канонической форме функции z отрицательны, любое такое изменение приведет к убыванию функции z. Вместо того чтобы увеличить их значения одновременно, для простоты выберем одну из переменных. Так как коэффициент при x 2 больше по модулю, выбираем x 2. Однако при увеличении x 2 значения x 3 и x 4 будут изменяться, поскольку должны выполняться уравнения (2.11). Все переменные при этом должны оставаться неотрицательными. Таким образом, должен существовать предел увеличения x 2. Поскольку , x 3 обращается в 0 при x 2 = 1700/4 = 425. Поскольку , x 4 обращается в 0 при x 2 = 1600/5 = 320. Таким образом, мы не можем увеличивать x 2 более чем до 320 (минимального из этих значений), не нарушая условие неотрицательности. Второе ограничение может быть записано в виде Если вычесть это уравнение, умноженное на 4, из уравнения первого ограничения (2.11) (4 - коэффициент при x 2 в этом уравнении), а затем вычесть это же уравнение, умноженное на - 4, из выражения для целевой функции (- 4 - коэффициент при x 2 в целевой функции), то переменная x 2 будет исключена отовсюду, кроме второго ограничения, куда она входит с коэффициентом 1. Ограничения и целевая функция принимают вид что является канонической формой для базиса x 2, x 3, представляющего базисное допустимое решение. Небазисными переменными стали переменные x 1 и x 4. В данный момент они равны 0. Теперь можно уменьшить значение функции z, увеличив только x 1. Но на сколько можно увеличить x 1, чтобы x 2 и x 3 оставались неотрицательными? Для уравнения Таким образом, нельзя увеличивать x 1, более чем до 300 (минимального из этих значений). После деления на 7/5 (коэффициент при x 1) первое ограничение принимает вид Исключим x 1 из другого ограничения и выражения для целевой функции, вычтя последнее соотношение, умноженное на 2/5 и -2/5, из ограничения и целевой функции. Получим каноническую форму задачи в базисе x 1, x 2, тоже являющимся допустимым. Она имеет следующий вид:
Заметим, что увеличение любой из небазисных переменных x 3, x 4 (эти переменные входят в выражение для целевой функции z с положительными коэффициентами) приведет к возрастанию функции z. Таким образом, дальнейшее убывание функции z невозможно и достигнуто минимальное значение функции z, равное -1400 при допустимом базисном решении x 1 = 300, x 2 = 200, x 3 = x 4 = 0. Если вернуться к геометрической интерпретации на рис.. 1.1, то можно убедиться, что последовательность канонических форм привела из точки 0 в точку A и из точки A в точку B - точку минимума. При выборе в уравнениях (2.11) увеличения x 1 та же процедура привела бы из точки 0 в точку B через точку C. Этот итерационный процесс удобно проиллюстрировать в так называемых симплекс-таблицах. Они состоят из уравнений (2.11) - (2.13) для ограничений и целевой функции, записанных в виде
ü Табличный симплекс-метод Ниже приведены обобщенные результаты, сведенные в таблицы. На итерации 0 звездочкой отмечено значение 5 - коэффициент при переменной, которую мы собираемся обратить в базисную в предельном ограничении. На итерации 1 отмечено число 7/5. Заметим также, что мы ставим точки вместо переменных, обязанных иметь нулевые значения, чтобы отличить их от переменных, обращающихся в 0 случайно.
Результаты, полученные в рассмотренном примере, можно обобщить. Предположим, что начальная каноническая форма задана, и что на k -й итерации получена каноническая форма, заданная уравнениями (2.4) и (2.5), запись которых приведена ниже в таблице.
Итерационный процесс состоит из трех шагов. 1. Найти переменную для включения в базис. 2. Найти переменную для исключения из базиса. 3. Построить новую каноническую форму.
4) Двойственность в линейном программировании Многие из полученных результатов легче объяснить, введя понятие двойственности. Мы увидим, что каждой задаче линейного программирования соответствует другая (двойственная) задача. Если понять взаимосвязь между этими задачами, то можно получить решение обеих, когда известно решение любой их них. Введем новые понятия. Прямая задача: найти такие , что
и функция имеет максимальное значение.
Ей соответствует двойственная задача: найти такие и функция имеет минимальное значение. Исходная задача: найти такие , , что и функция имеет минимальное значение. Соответствующая двойственная задача: найти такие , , , что и функция имеет максимальное значение. Прямая задача имеет ограничения в виде неравенства со знаком ≥, а двойственная – со знаком ≤. Матрица коэффициентов ограничений двойственной задачи является транспонированной матрицей коэффициентов прямой задачи. Коэффициенты целевой функции двойственной задачи являются значениями правых частей ограничений прямой задачи, и наоборот.
В матричной записи прямая задача имеет следующий вид: найти такой x ≥ 0, что Ax ≥ b и функция
имеет минимальное значение. Двойственная задача в матричном виде записывается следующим образом: найти такой y ≥ 0, что
и функция имеет максимальное значение. Хотя прямая задача была поставлена при неотрицательных переменных для минимизации целевой функции, удовлетворяющих ограничениям со знаком ≥ (а не в стандартной форме задач линейного программирования), потери общности при этом не происходит. Любую задачу линейного программирования можно привести к такому виду. Исходная задача: найти такие , , что и функция имеет максимальное значение.
составить двойственную задачу Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.) |