Роль понятия двойственности в линейном программировании
Двойственные задачи линейного программирования (определения, пример). Установление возможности перехода от прямой задачи к двойственной (и наоборот) согласно теореме двойственности. Метод последовательных уступок и его алгоритм и пример применения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 27.04.2013 |
Размер файла | 682,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
- 1. Двойственные задачи линейного программирования (определения, пример)
- 2. Метод последовательных уступок. Алгоритм метода. Пример применения метода к решению задачи многокритериальной оптимизации выпуска продукции предприятием
1. Двойственные задачи линейного программирования (определения, пример)
Важную роль в линейном программировании имеет понятие двойственности. Рассмотрим две задачи линейного программирования:
max{F (x) = CT x| Ax?B, xi?0, i =1,n} (1)
и
min{F (y) = BT y| AT y?C, yj ?0, j = 1,m}. (2)
Задачу (1) называют прямой, а связанную с ней задачу (2) - двойственной. Вместе они образуют симметрическую пару двойственных задач. Число переменных двойственной задачи равно количеству ограничений прямой. Кроме того, при переходе от прямой задачи к двойственной вектора B и C меняют местами, матрица A коэффициентов системы ограничений прямой задачи транспонируется, а знак неравенств в ограничениях меняют на противоположный. Смысл экстремума F (x) противоположен смыслу экстремума F (y). Связь между задачами (1) и (2) взаимна, т.е. если прямой считать задачу (2), то в качестве двойственной ей будет соответствовать задача (1). Возможность перехода от прямой задачи к двойственной (и наоборот) устанавливается теоремой двойственности: если одна из задач (1) или (2) имеет оптимальное решение, то и другая также имеет оптимальное решение, причем оптимальные значения функции цели прямой и двойственной задач совпадают, т.е. max F (x) = min F (y).
Если среди ограничений прямой задачи имеются равенства или на некоторые переменные не наложено условие неотрицательности, то построив двойственную ей задачу, получим пару несимметричных двойственных задач:
При этом выполняются следующие правила:
1. Если на переменную xi прямой задачи наложено условие неотрицательности, то i-е условие системы ограничений двойственной задачи является неравенством и наоборот.
2. Если на переменную xi прямой задачи не наложено условие неотрицательности, то i-е ограничение двойственной задачи записывается в виде строгого равенства.
3. Если в прямой задаче имеются ограничения равенства, то на соответствующие переменные двойственной задачи не накладывается условие неотрицательности.
Линейное программирование находит широкое применение при решении многих практических задач организационно-экономического управления. Цель, как правило, заключается в том, чтобы максимизировать прибыль либо минимизировать расходы.
Рассмотрим задачу рационального использования ресурсов.
Пусть предприятие располагает ресурсами b1,b2,.,bm, которые могут использоваться для выпуска n видов продукции. Известны нормы потребления j-го ресурса на производство единицы i-й продукции - aij, а также прибыль от реализации единицы i-го вида продукции ci (i = 1, n; j = 1,m). Найти объем производства продукции каждого вида x*i, максимизирующий суммарную прибыль предприятия F (x) = ?cixi, при этом расход ресурсов не должен превышать их наличия. Математическая модель задачи имеет вид
max{F (x) =?cixi|?ajixi?bj, j=1,m; xi?0, i=1,n} (3)
Метод искусственного базиса используется для нахождения допустимого базисного решения задачи линейного программирования, когда в условии присутствуют ограничения типа равенств. Рассмотрим задачу:
max{F (x) =?cixi|?ajixi=bj, j=1,m; xi?0}.
Под чувствительностью модели понимается зависимость оптимального решения от изменения параметров исходной задачи. Выполняя анализ модели на чувствительность, можно выяснить:
а) насколько можно увеличить запас некоторого ресурса, чтобы улучшить оптимальное значение F;
б) насколько можно сократить запас некоторого ресурса, чтобы сохранить при этом оптимальное значение F;
в) увеличение объёма какого из ресурсов наиболее выгодно;
г) какому из ресурсов отдать предпочтение при вложении дополнительных средств;
д) в каких пределах допустимо изменять коэффициенты целевой функции, чтобы не произошло изменение оптимального решения.
Ограничения, проходящие через точку оптимума, называются активными, или связывающими. Ресурсы, с которыми ассоциируются эти ограничения, относятся к разряду дефицитных. Остальные ресурсы недефицитны, а соответствующие им ограничения - неактивные или несвязывающие. Сокращение объема дефицитного ресурса никогда не улучшает значения целевой функции. Анализ на чувствительность придает модели динамичность, свойственную реальным процессам.
Сформулируем задачу, двойственную к рассматриваемой задаче рационального использования ресурсов. Пусть некоторая организация может закупить все ресурсы bj, которыми располагает предприятие. Необходимо определить оптимальные цены y*j (j = 1,m) на единицу этих ресурсов при условии, что покупатель стремиться минимизировать общую оценку ресурсов. При этом общая ценность ресурсов должна быть не меньше прибыли, которую может получить предприятие при организации собственного производства. Математическая модель задачи имеет вид
min{F (y) =?bjyj|?aijyj?ci, i=1,n; yj0, j=1,m} (4)
Пока прибыль предприятия (задача 3) меньше общей ценности ресурсов (задача 4), решение обеих задач будет неоптимальным. Оптимум достигается в случае, когда прибыль становится равной общей ценности ресурсов, т.е. max F (x) = min F (y).
Пример 1. Построить двойственную задачу к следующей задаче, заданной в общей форме:
F (x) = 3x1 + 2x2 (min);
x1 + x2 ? 5
2x1 - x2 ? 3
x1 + 0.5x2 ?2
x1,2 ? 0
Приведем условие к стандартной форме (2). Так как требуется найти минимум целевой функции, то неравенства в системе ограничений должны быть вида ?. Первое и второе неравенства умножим на (-1), тогда
двойственность линейное программирование алгоритм
Двойственная задача будет иметь 3 переменные, так как прямая содержит три ограничения. В соответствии с указанными выше правилами запишем двойственную задачу в виде
тогда условие ATy?C примет следующий вид:
y1 - 2y2 + y3 ? 3
y1 + y2 + 0.5y3 ? 2
y1?0, y2?0, y3?0.
Составим начальные симплекс-таблицы для прямой и двойственной задач (табл.1 и 2).
Таблица 1
базисные переменные |
Свободные члены |
Небазисные переменные |
||
x1 |
x2 |
|||
x3 |
5 |
1 |
1 |
|
x4 |
3 |
2 |
-1 |
|
x5 |
-2 |
-1 |
0.5 |
|
F |
0 |
3 |
2 |
Таблица 2
базисные переменные |
Свободные члены |
Небазисные переменные |
|||
y1 |
y2 |
y3 |
|||
y4 |
3 |
-1 |
-2 |
1 |
|
y5 |
2 |
-1 |
1 |
0.5 |
|
F |
0 |
5 |
3 |
-2 |
В общем виде при минимизации F (x) в прямой задаче начальные симплекс-таблицы для прямой и двойственной задач можно представить в виде табл.3 и 4.
Если в прямой задаче находится максимальное значение F (x), то начальные симплекс-таблицы прямой и двойственной задач можно представить в виде табл.5 и 6.
2. Метод последовательных уступок. Алгоритм метода. Пример применения метода к решению задачи многокритериальной оптимизации выпуска продукции предприятием
Суть метода последовательных уступок.
Процедура решения многокритериальной задачи методом последовательных уступок заключается в том, что все частные критерии располагают и нумеруют в порядке их относительной важности; максимизируют первый, наиболее важный критерий; затем назначают величину допустимого снижения значения этого критерия и максимизируют второй по важности частный критерий при условии, что значение первого критерия не должно отличаться от максимального более чем на величину установленного снижения (уступки); снова назначают величину уступки, но уже по второму критерию и находят максимум третьего по важности критерия при условии, чтобы значения первых двух критериев не отличались от ранее найденных максимальных значений больше чем на величины соответствующих уступок; далее подобным же образом поочередно используются все остальные частные критерии; оптимальной обычно считают любую стратегию, которая получена при решении задачи отыскания условного максимума последнего по важности критерия.
Таким образом, при использовании метода последовательных уступок многокритериальная задача сводится к поочередной максимизации частных критериев и выбору величин уступок. Величины уступок характеризуют отклонение приоритета од них частных критериев перед другими от лексикографического: чем уступки меньше, тем приоритет жестче.
Порядок решения детерминированных многокритериальных задач методом последовательных уступок.
При решении многокритериальной задачи методом последовательных уступок вначале производится качественный анализ относительной важности частных критериев; на основании такого анализа критерии располагаются и нумеруются в порядке убывания важности, так что главным является критерий K1, менее важен. K2, затем следуют остальные частные критерии К3, К4., KS. Максимизируется первый по важности критерий K1 и определяется его наибольшее значение Q1. Затем назначается величина "допустимого" снижения (уступки) 1>0 критерия K1 и ищется наибольшее значение Q2 второго критерия K2 при условии, что значение первого критерия должно быть не меньше, чем Q1-1. Снова назначается величина уступки 2>0, но уже по второму критерию, которая вместе с первой используется при нахождении условного максимума третьего критерия, и т.д. Наконец, максимизируется последний по важности критерий Ks при условии, что значение каждого критерия Кr из S-1 предыдущих должно быть не меньше соответствующей величины Qr-r; получаемые в итоге стратегии считаются оптимальными.
Таким образом, оптимальной считается всякая стратегия, являющаяся решением последней задачи из следующей последовательности задач:
1) найти Q1=
2) найти Q2=
3) найти QS=
Если критерий KS на множестве стратегий, удовлетворяющих ограничениям задачи S), не достигает своего наибольшего значения Qs, то решением многокритериальной задачи считают максимизирующую последовательность стратегий {uk} из указанного множества (lim KS (uk) = QS). k->
Практически подобные максимизирующие последовательности имеет смысл рассматривать и для того случая, когда верхняя грань в задаче S) достигается, так как для решения экстремальных задач широко применяются итеративные методы.
Величины уступок, назначенные для многокритериальной задачи, можно рассматривать как своеобразную меру отклонения приоритета (степени относительной важности) частных критериев от жесткого, лексикографического.
Величины уступок r последовательно назначаются в результате изучения взаимосвязи частных критериев.
Вначале решается вопрос о назначении величины допустимого снижения r первого критерия от его наибольшего значения Q1. Практически для этого задают несколько величин уступок 11, 21, 31… и путем решения 2) в задаче (1) определяют соответствующие макс. значения Q2 (11), Q2 (21), Q2 (31), и второго критерия. Иногда, если это не слишком сложно, отыскивается функция Q2 (1). Результаты расчетов для наглядности Представляем графически (Рис 1)
Рис. 1.
Он показывает, что вначале даже небольшие величины уступок позволяют получить существенный выигрыш по второму критерию; с дальнейшим увеличением уступки выигрыш растет все медленнее. На основе анализа полученных данных и решают вопрос о назначении величины уступки 1, а затем находят Q2 (1).
Далее рассматривают пару критериев K2 и K3 вновь назначают "пробные" величины уступок Q2 (22),,. и, решая 3) в задаче (1), отыскивают наибольшие значения третьего критерия Q3 (12), Q3 (22),. Полученные данные анализируют, назначают 2, переходят к следующей паре критериев К3, K4 и т.д.
Наконец, в результате анализа взаимного влияния критериев KS-1 и KS выбирают величину последней уступки S-1 и отыскивают оптимальные стратегии, решая S) в задаче 1 (обычно ограничиваются нахождением одной такой стратегии).
Таким образом, хотя формально при использовании метода последовательных уступок достаточно решить лишь S задач (1), однако для назначения величин уступок с целью выяснения взаимосвязи частных критериев фактически приходится решать существенно большее число подобных задач.
Оказывается, что метод последовательных уступок не всегда приводит к выделению лишь эффективных стратегий, т.е. решениями S) из задачи (1) могут быть и неэффективные стратегии. Это легко подтвердить простым примером.
Пример 1.
Пусть множество UR3 - многогранник, изображенный на рис.2, K1 (u) =u1, K2 (u) =u2, K3 (u) =u3. Здесь решением 3 из задачи (1) является любая точка треугольника ABC (на рисунке он заштрихован), но эффективны лишь точки отрезка АС.
Решение.
Справедливо, однако, утверждение: если u* - единственная (с точностью до эквивалентности) стратегия, являющаяся решением S) из задачи (1), то она эффективна.
Действительно, предположим, что стратегия u* неэффективна, так что существует стратегия u'>u*. Но стратегия u' также удовлетворяет всем ограничениям S) задачи (1) и доставляет критерию KS значение Qs; иначе говоря, u' оказывается решением этой задачи, что противоречит условию единственности u*. Утверждение доказано.
Рис. 2.
Можно доказать так же, что если URn замкнуто и ограничено, Кr непрерывны на U, а стратегия, являющаяся решением S) задачи (1), единственна с точностью до эквивалентности, то любая максимизирующая последовательность, служащая решением S), эффективна.
Задача № 1.
Найдите функцию спроса потребителя, обладающего линейной функцией полезности u (x1,x2) =a1x1+a2x2.
Решение.
Предельные полезности товаров в данном примере равны
В оптимальном решении задачи потребителя так как u (x1,0) =u (0,x2) =0. Поэтому условия для определения функции спроса принимают вид
-
Таким образом, функция спроса данного потребителя
.
Задача № 2.
Производственное объединение состоит из четырех предприятий. Общая сумма капитальных вложений равна 5 млн. руб., выделяемые предприятиям суммы кратны 1 млн. руб. Если i-е предприятие получает инвестиции в объеме х млн. руб., то прирост годовой прибыли на этом предприятии составит zi (x) млн. руб. в год, где z1 (x) = 0,1x2, z2 (x) = 0,3x2, z3 (x) = 0,2x2. Найдите такой план распределения инвестиций между предприятиями, которое максимизирует суммарный прирост прибыли на всех предприятиях.
Решение.
X |
0 |
1 |
2 |
3 |
4 |
5 |
|
z1 (x) |
0 |
0.1 |
0.2 |
0.3 |
0.4 |
0.5 |
|
Z2 (x) |
0 |
0.3 |
0.6 |
0.9 |
1.2 |
1.5 |
|
Z3 (x) |
0 |
0.2 |
0.4 |
0.6 |
0.8 |
1.0 |
|
Z4 (x) |
0 |
0.4 |
0.8 |
1.2 |
1.6 |
2.0 |
Прежде всего заполняем табл.1. Для каждого x=0,1,2,…,5 рассматриваем все возможные значения управления u2=0,1,2,…, x, и значения F1 (x-u2) =z1 (x-u2) складываем со значениями z2 (u2). На каждой северо-восточной диагонали находим наибольшее число (выделяя его цветом) и указываем соответствующее значение Затем заполняем табл.2.
В табл.5 заполняем только одну диагональ для значения x = 5. Наибольшее число на этой диагонали z* =2 млн. руб., причем четвертому предприятию должно быть выделено млн. руб.
На долю остальных трех предприятий остается 400 млн. руб. Из табл.4 видно, что третьему предприятию должно быть выделено
млн. руб.
Продолжая обратный процесс, находим
млн. руб.
На долю первого предприятия остается
млн. руб.
Таким образом, наилучшим является следующее распределение капитальных вложений по предприятиям:
u1=1, u2=1, u3=1, u4=2.
Оно обеспечивает производственному объединению наибольший возможный прирост прибыли 1 млн. руб.
Размещено на Allbest.ru
...Подобные документы
Оптимальный план прямой задачи графическим, симплекс-методом. План двойственной задачи по первой теореме двойственности. Определение целочисленного решения графическим, методом Гомори. Сравнение значений функций целочисленного и нецелочисленного решений.
задача [128,9 K], добавлен 29.12.2013Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.
курсовая работа [100,0 K], добавлен 31.10.2014Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.
курсовая работа [1,1 M], добавлен 21.03.2012Понятие теории оптимизации экономических задач. Сущность симплекс-метода, двойственности в линейном программировании. Элементы теории игр и принятия решений, решение транспортной задачи. Особенности сетевого планирования и матричное задание графов.
курс лекций [255,1 K], добавлен 14.07.2011Математическое программирование. Линейное программирование. Задачи линейного программирования. Графический метод решения задачи линейного программирования. Экономическая постановка задачи линейного программирования. Построение математической модели.
курсовая работа [581,5 K], добавлен 13.10.2008Методы исследования операций и их использование в организационном управлении. Общая задача линейного программирования и некоторые методы ее решения. Теория двойственности и двойственные оценки в анализе решений линейных оптимизационных моделей.
курс лекций [71,1 K], добавлен 03.10.2008Составление программы для расчета начального базиса сбалансированной транспортной задачи, где суммарные запасы поставщиков равны суммарным запросам потребителей. Алгоритм метода потенциалов. Пример решения транспортной задачи методом наименьшей стоимости.
отчет по практике [991,3 K], добавлен 06.12.2013Постановка задач линейного программирования. Примеры экономических задач, сводящихся к задачам линейного программирования. Допустимые и оптимальные решения. Алгоритм Флойда — алгоритм для нахождения кратчайших путей между любыми двумя узлами сети.
контрольная работа [691,8 K], добавлен 08.09.2010Применение методов линейного программирования для решения оптимизационных задач. Основные понятия линейного программирования, свойства транспортной задачи и теоремы, применяемые для ее решения. Построение первичного опорного плана и системы потенциалов.
курсовая работа [280,8 K], добавлен 17.11.2011Решение задачи линейного программирования графическим методом, его проверка в MS Excel. Анализ внутренней структуры решения задачи в программе. Оптимизация плана производства. Решение задачи симплекс-методом. Многоканальная система массового обслуживания.
контрольная работа [2,0 M], добавлен 02.05.2012Теоретическая основа линейного программирования. Задачи линейного программирования, методы решения. Анализ оптимального решения. Решение одноиндексной задачи линейного программирования. Постановка задачи и ввод данных. Построение модели и этапы решения.
курсовая работа [132,0 K], добавлен 09.12.2008Критерий эффективности и функции в системе ограничений. Общая постановка задачи линейного программирования. Составление математической модели задачи. Алгоритмы решения задачи симплексным методом. Построение начального опорного решения методом Гаусса.
курсовая работа [232,4 K], добавлен 01.06.2009Особенности задач линейного программирования. Симплексный метод решения задач линейного программирования. Обоснование выбора языка, инструментария программирования, перечень идентификаторов и блок-схема алгоритма. Логическая схема работы программы.
дипломная работа [2,4 M], добавлен 13.08.2011Анализ решения задачи линейного программирования. Симплексный метод с использованием симплекс-таблиц. Моделирование и решение задач ЛП на ЭВМ. Экономическая интерпретация оптимального решения задачи. Математическая формулировка транспортной задачи.
контрольная работа [196,1 K], добавлен 15.01.2009Понятие арифметического точечного пространства. Различные виды плоскостей в пространстве. Общая задача оптимизации. Геометрия задачи линейного программирования. Графический метод решения задачи линейного программирования при малом количестве переменных.
курсовая работа [756,9 K], добавлен 29.05.2014Описание симплекс метода решения задачи линейного программирования. Решение задачи методом Литла на нахождение кратчайшего пути в графе, заданном графически в виде чертежа. Из чертежа записываем матрицу расстояний и поэтапно находим кратчайший путь.
задача [390,4 K], добавлен 10.11.2010Общее понятие и характеристика задачи линейного программирования. Решение транспортной задачи с помощью программы MS Excel. Рекомендации по решению задач оптимизации с помощью надстройки "Поиск решения". Двойственная задача линейного программирования.
дипломная работа [2,4 M], добавлен 20.11.2010Сущность линейного программирования. Математическая формулировка задачи ЛП и алгоритм ее решения с помощью симплекс-метода. Разработка программы для планирования производства с целью обеспечения максимальной прибыли: блок-схема, листинг, результаты.
курсовая работа [88,9 K], добавлен 11.02.2011Анализ метода линейного программирования для решения оптимизационных управленческих задач. Графический метод решения задачи линейного программирования. Проверка оптимального решения в среде MS Excel с использованием программной надстройки "Поиск решения".
курсовая работа [2,2 M], добавлен 29.05.2015Методы решения задач линейного программирования: планирования производства, составления рациона, задачи о раскрое материалов и транспортной. Разработка экономико-математической модели и решение задачи с использованием компьютерного моделирования.
курсовая работа [607,2 K], добавлен 13.03.2015