русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Основные факты теории двойственности.


Дата добавления: 2013-12-23; просмотров: 2565; Нарушение авторских прав


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

Метод исключения переменных.

 

 

f(x)=

аij xj =bi,i=1:m, (7.8)

xj ≥0.

где число переменных на два больше числа ограничений-равенств, т.е. n-m=2,

причем ранг матрицы А=m. Тогда две переменные в указанной системе уравнений, скажем х1 и х2, являются свободными, т.е. через них можно выразить все остальные переменные:

 

, (7.9)

где…- некоторые числа. Подставляя эти выражения в целевую функцию, получаем

………………, 7.10)

где - некоторые числа.

Рассмотрим задачу линейного программирования с двумя переменными:

Используя геометрические построения, находим ее решение (). Подставляя эти числа в (7.9), (7.10), получаем решение и значение исходной задачи (7.8).

Пример 7.2. Найти максимальное значение функции

f = —16x1x2 + x3+5x4 + 5x5

при условиях:

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

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

f = 2x1 + Зx2;

при условиях:

 

Из целевой функции исходной задачи переменные x3, x4,x5 исключены с помощью подстановки их значений из соответствующих уравнений системы ограничений.

Построим многоугольник решений полученной задачи (рис. 7.1.). Как видно из рис. 7.1., максимальное значение целевая функция задачи принимает в точке С пересечения прямых I и II. Вдоль каждой из граничных прямых значение одной из переменных, исключенной при переходе к соответствующему неравенству, равно нулю. Поэтому в каждой из вершин полученного многоугольника решений последней задачи по крайней мере две переменные исходной задачи принимают нулевые значения. Так, в точке С имеем x3 =0 и x4 =0. Подставляя этизначения в первое и второе уравнения системы ограничений исходной задачи, получаем систему двух уравнений



,

 

решая которую, находим x*1 = 3, x*2 = 4.

Подставляя найденные значения x1 и x2 в третье уравнение системы ограничений исходной задачи, определяем значение переменной x5 равное14.

Следовательно, оптимальным планом рассматриваемой задачи является x*=(3, 4, 0, 0, 14). При этом плане значение целевой функции есть Fmax=18.

 

7.1.3. Двойственность в линейном программировании

Каждой задаче ЛП можно поставить в соответствие другую задачу ЛП, называемую двойственной. Их совместное изучение составляет предмет теории двойственности, являющейся важным разделом линейного программирования. Более эффектной теория двойственности является в тех случаях, когда двойственная задача решается проще, чем прямая.

Для удобства выпишем еще раз общую задачу ЛП:

 

f(x)=,

аij xj =bi,i=1:l;

 

аijxj£ bi , i=(l+1):m; (7.11)

xj³0

 

 

Двойственной к задаче (7.11) называется следующая задача:

(7.12)

 

При этом задача (7.11) называется прямой.

Переход к двойственной задаче удобно осуществлять с помощью табл. 7.1.

 

 

х1≥0 … хs≥0 хs+1 хn

y1≥0 . . . yl≥0 yl+1 . . . ym а11 … а1s а1,s+1 … а1n       аl1 … аls аl,s+1 … аln аl+1, 1 … аl+1,s аl+1,s+1 … аl+1,s . . . am1 … ams am,s+1 … amn       =       = b1 . . . bk bk+1 . . . bm
≥ … ≥ = … =    
с1 … cs cs+1 … cn    

 

Для построения двойственной задачи необходимо пользоваться следующими правилами:

1) если прямая задача решается на максимум, то двойственная – на минимум, и наоборот;

2) в задаче на максимум ограничения – неравенства имеют смысл ≤, а в задаче минимизации – смысл ≥;

3) каждому ограничению прямой задачи соответствует переменная двойственной задачи, и наоборот, каждому ограничению двойственной задачи соответствует переменная прямой задачи ;

4) матрица системы ограничений двойственной задачи получается из матрицы системы ограничений исходной задачи транспонированием ;

5) свободные члены системы ограничений прямой задачи являются коэффициентами при соответствующих переменных целевой функции двойственной задачи, и наоборот ;

6) если на переменную прямой задачи наложено условие не отрицательности (≥), то соответствующее ограничение двойственной задачи записывается как ограничение – неравенство , если же нет, то как ограничение равенство ;

7) если i-e ограничение исходной задачи является неравенством, то i –я переменная двойственной задачи yi³0. Если же i-е ограничение есть уравнение, то переменная yi может принимать как положительные, так и отрицательные значения, т.е. условие не отрицательности не налагается.

 

Сначала в таблицу заносится вся информация о прямой задаче: значения параметров aij ,bi, и сj, знаки неравенств или равенств в ограничениях (справа), условия неотрицательности соответствующих переменных (сверху). Затем каждой i - й строке (i-му ограничению прямой задачи) ставится в соответствие двойственная переменная yi, на которую накладывается условие неотрицательности, если справа в этой строке стоит знак неравенства. Внизу проставляются знаки неравенства или равенства в зависимости от того, наложено или не наложено усло­вие неотрицательности на соответствующую переменную прямой задачи. После этого двойственная задача «считывается» путем умножения вектора у=(yi) на столбцы матрицы А =(аij) и вектор b =(bi).

В табл. 7.1 указаны прямая и двойственная задачи в наиболее важных частных случаях.

Таблица 7.1

Формы записи прямой и двойственной задач

 

Форма записи прямой задачи ЛП Форма записи соответствующей двойственной задачи ЛП
Основная: <c,x> max, Ax≤b Каноническая: : <b,y> min, yA=c, y≥0
Стандартная: <c,x> max, Ax≤b, х≥0 Стандартная: <b,y> min, yA≥c, y≥0
Каноническая:c,x> max, Ax=b, х≥0 Основная: <b,y> min, yA≥c

 

Теорема 7.1. Задачи (7.11) и (7.12) взаимодвойственны, т. в. двойственной к задаче (7.12) является задача (7.11).

Ниже под Х и У понимаются допустимые множества задач (7.11) и (7.12) соответственно.

Теорема 7.2. Для любых хÎХ и yÎY выполняется неравенство <с, х> £ <b, у>.

Теорема 7.3. Пусть хX, уУ. Тогда

1) если

<с, х*>=<b,у*>, (7.13)

то х* есть решение задачи (7.11), а у* — решение задачи (7.12);

 

2) равенство (7.13) равносильно совокупности условий

 

(7.14)

 

(7.15)

 

Равенство (7.13) принято называть соотношением двойственности, условия (7.14), (7.15)— условиями дополняющей нежесткости.

Теорема 7.4 (теорема двойственности). Прямая задача (7.11) имеет решение в том и только том случае, если двойственная задача (7.12) имеет решение; при этом значения данных задач совпадают, т. е. для любых их решений х* и у* выполнено соотношение двойственности (7.12).

При практическом применении теории двойственности особенно полезным является следующее утверждение, непосредственно вытекающее из теорем 7.3 и 7.4.

 

Теорема 7.5 (о дополняющей нежесткости). Точки xХ и уY являются решениями взаимодвойственных задач (7.11) и (7.12) соответственно в том и только том случае, если выполняются условия (7.14), (7.15).

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

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

 

Пример 7.2. Построить задачу двойственную к следующей задаче ЛП.

17х1 – 5 х2 + х3+ х4 – 8х5max

3х1 х2 х3 + 4х4 + 7х5 ≤11

х1 – 5 х2 – 7х3 + х4 + 2х5 ≥-8

х1 + х2 + х3 + 4 х5=4

х1≥0, х4≥0.

Решение. Составим таблицу перехода к двойственной задаче (табл. 7.1).

Отсюда получаем ответ:

Таблица 7.1

х1≥0 х2 х3 х4≥0 х5

y1 ≥0 y2 ≥0 y3 3 -1 -1 4 7 -1 5 7 -1 -2 1 1 1 3 -1 ≤ ≤ =
  ≥ = = ≥ =    
17 -5 1 1 -8    

 

11y1 +8y2 + 4y3 min,

3y1 – y2 + y3 ≥17

–y1 + 5y2 + y3 = –5

–y1 + 7y2 + y3 =1

4y1 – y2 + 3y3 ≥1

7y1 – 2y2 – y3= –8

 

Симплексный метод

 



<== предыдущая лекция | следующая лекция ==>
Многомерная минимизация при наличии ограничений. | Геометрическая интерпретация симплексного метода


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.