Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа по МОР..docx
Скачиваний:
62
Добавлен:
30.03.2016
Размер:
176.63 Кб
Скачать

Задание 5.

Дана задача линейного программирования, в которой

max f = 2x1 + 5x2

x1 ; x2 0;

Задачи, поставленные в данном задании:

  1. Записать задачу в канонической и стандартной формах;

  2. Записать каноническую и стандартную задачи в матричном виде;

  3. Решить задачу линейного программирования геометрически;

  4. Решить задачу линейного программирования симплекс-методом;

  5. Составить двойственную задачу к первоначальной задаче и найти ее решение.

Решение:

  1. Запись ЗЛП в канонической форме:

Для приведения задачи к канонической форме, где все ограничения имеют вид равенств, вводят дополнительные переменные xn+1, xn+2,…,xn+p , которые тоже считаются неотрицательными и записывают исходную задачу в виде

c1x1+c2x2+…+cnxn+0*xn+1+0*xn+2+…+0*xn+p => min

Введем дополнительные переменные x3, x4, x5. Переводя мах в min, запишем задачу в виде:

-2*x1 – 5*x2 + 0*x3 +0*x4 +0*x5 => min;

;

;

;

x1>0, x2>0, x3>0, x4>0, x5>0;

Запись ЗЛП в стандартной форме:

Если целевая функция в задаче линейного программирования задана в виде:

c1x1 + c2x2 +…+cnxn =>max

то, умножая её на (- 1), приведем её к виду:

(-c1)x1 +(- c2 )x2 +…+(-cn )xn =>min

Таким образом, получаем:

min f = - 2x1 - 5x2

x1 ; x2 0;

  1. Запись канонической задачи в матричном виде:

Найти минимальное значение функции f(x) = CX, при условиях ,

где C = (-2; -5; 0; 0; 0) – вектор – строка коэффициентов при переменных.

X = (x1, x2, x3, x4, x5 ), Х ≥ 0

A = (aij)m*n матрица размерности m*n, столбцами которой являются вектор-столбцы Aj.

A = ;B = ;

Запись стандартной задачи в матричном виде:

Найти максимальное значение функции f(x) = CX,

при условиях AX ≤ B ,

где C = (-2; -5), X = (x1, x2), Х≥0,

A = ; B =;

  1. Решение ЗЛП графическим методом.

max f = 2x1 + 5x2

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

Так как xi0, то рассмотрим только первую координатную четверть.

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

Построим прямую, отвечающую значению функции f = 0.

2x1 + 5x2= 0

Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление максимизации f(X). Начало вектора – точка (0; 0), конец – точка (2; 5).

Будем двигать эту прямую(перпендикулярную к вектору – градиенту), параллельным образом. Так как ищется максимальное значение целевой функции f(x), поэтому двигаем прямую до последнего касания области B0EIB4.

Максимального значения целевая функция достигает в точке I. Точка I получена, в результате пересечения прямых (2) и (3), находим ее координаты, решая систему уравнений:

Решив систему уравнений, получим: x1 = 4, x2= 5

Можно найти максимальное значение целевой функции:

fmax(x) = 2*4 + 5*5 = 33

  1. Решить задачу линейного программирования симплекс-методом

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

Поскольку в правой части присутствуют отрицательные значения, умножим соответствующие строки на (-1).

Определим максимальное значение целевой функции

f(x) = 2x1 + 5x2

при следующих условиях-ограничений.

Перейдем к канонической форме записи ЗЛП и составим матрицу коэффициентов.

Матрица коэффициентов A = a(ij) имеет вид:

A =

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

Решим систему уравнений относительно базисных переменных: x3, x4, x5

Полагая, что свободные переменные равны 0, получим первый опорный план:

x1= (0,0,8,4,5)

Базисное решение называется допустимым, если оно неотрицательно.

Базис

B

x1

x2

x3

x4

x5

x3

8

1

-2

1

0

0

x4

4

1

0

0

1

0

x5

5

0

1

0

0

1

f(x0)

0

-2

-5

0

0

0

Алгоритм симплекс-метода.

Итерация №0.

1. Проверка критерия оптимальности.

Текущий опорный план не оптимален, так как в индексной строке находятся отрицательные коэффициенты.

2. Определение новой базисной переменной.

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

3. Определение новой свободной переменной. Вычислим значения Di по строкам как частное от деления: bi / ai2 и из них выберем наименьшее:

min (- , - , 5 / 1) = 5

Следовательно, 3-ая строка является ведущей.

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

Базис

B

x1

x2

x3

x4

x5

min

x3

8

1

-2

1

0

0

-

x4

4

1

0

0

1

0

-

x5

5

0

1

0

0

1

5

f(x1)

0

-2

-5

0

0

0

0

4. Пересчет симплекс-таблицы.

Формируем следующую часть симплексной таблицы. Вместо переменной x5 в план 1 войдет переменная x2.

Строка, соответствующая переменной x2 в плане 1, получена в результате деления всех элементов строки x5 плана 0 на разрешающий элемент РЭ=1. На месте разрешающего элемента в плане 1 получаем 1.

В остальных клетках столбца x2. плана 1 записываем нули. Таким образом, в новом плане 1 заполнены строка x2. и столбец x2..

Все остальные элементы нового плана 1, включая элементы индексной строки, определяются по правилу прямоугольника.

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

НЭ = СЭ - (А*В)/РЭ СТЭ - элемент старого плана, РЭ - разрешающий элемент (1), А и В - элементы старого плана, образующие прямоугольник с элементами СТЭ и РЭ. Представим расчет каждого элемента в виде таблицы:

B

x1

x2

x3

x4

x5

8-(5 • -2)/1

1-(0 • -2)/1

-2-(1 • -2)/1

1-(0 • -2)/1

0-(0 • -2)/1

0-(1 • -2)/1

4-(5 • 0)/1

1-(0 • 0)/1

0-(1 • 0)/1

0-(0 • 0)/1

1-(0 • 0)/1

0-(1 • 0)/1

5 / 1

0 / 1

1 / 1

0 / 1

0 / 1

1 / 1

0-(5 • -5)/1

-2-(0 • -5)/1

-5-(1 • -5)/1

0-(0 • -5)/1

0-(0 • -5)/1

0-(1 • -5)/1

Получаем новую симплекс-таблицу:

Базис

B

x1

x2

x3

x4

x5

x2

18

1

0

1

0

2

x4

4

1

0

0

1

0

x5

5

0

1

0

0

1

F(X1)

25

-2

0

0

0

5



Итерация №1.

1. Проверка критерия оптимальности.

Текущий опорный план не оптимален, так как в индексной строке находятся отрицательные коэффициенты.

2. Определение новой базисной переменной.

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

3. Определение новой свободной переменной. Вычислим значения Di по строкам как частное от деления: bi / ai1 и из них выберем наименьшее:

min (18 / 1 , 4 / 1 , - ) = 4

Следовательно, 2-ая строка является ведущей.

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

Базис

B

x1

x2

x3

x4

x5

min

x2

18

1

0

1

0

2

18

x4

4

1

0

0

1

0

4

x5

5

0

1

0

0

1

-

f(x2)

25

-2

0

0

0

5

0

4. Пересчет симплекс-таблицы.

Формируем следующую часть симплексной таблицы. Вместо переменной x4 в план 2 войдет переменная x1

Строка, соответствующая переменной x1 в плане 2, получена в результате деления всех элементов строки x4 плана 1 на разрешающий элемент РЭ=1

На месте разрешающего элемента в плане 2 получаем 1. В остальных клетках столбца x1 плана 2 записываем нули.

Таким образом, в новом плане 2 заполнены строка x1 и столбец x1.

Все остальные элементы нового плана 2, включая элементы индексной строки, определяются по правилу прямоугольника.

Получаем новую симплекс-таблицу:

Базис

B

x1

x2

x3

x4

x5

x2

14

0

0

1

-1

2

x4

4

1

0

0

1

0

x1

5

0

1

0

0

1

f(x2)

33

0

0

0

2

5

1. Проверка критерия оптимальности.

Среди значений индексной строки нет отрицательных. Поэтому эта таблица определяет оптимальный план задачи.

Окончательный вариант симплекс-таблицы:

Базис

B

x1

x2

x3

x4

x5

x2

14

0

0

1

-1

2

x4

4

1

0

0

1

0

x1

5

0

1

0

0

1

f(x3)

33

0

0

0

2

5

Ответ:

Оптимальное значение функции

fmax(x)= 2•4 + 5•5 = 33 достигается в точке с координатами:

x1 = 4, x2 = 5 x3 = 14 x4 = 0 x5 = 0

  1. Составить двойственную задачу к первоначальной задаче и найти ее решение.

Рассмотрим задачу в стандартной форме:

max f = 2x1 + 5x2

x1 0; x2 0 ;

До множим уравнение (1)на (-1)

Так как исходная задача была на максимум, двойственная задача будет на

минимум, причем коэффициенты при переменных в целевой функции

соответствуют правым частям ограничений, число переменных равно числу

ограничений исходной задачи и равно трем.

min f* = 8*y1 + 4*y2 + 5*y3

Строим ограничения, транспонируя матрицу коэффициентов в ограничениях.

A = ;AT =

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

целевой функции.

y1 0; y2 0; y3 0;

Решение двойственной задачи найдем с помощью теорем двойственности.

По первой теореме двойственности:

Если одна из задач двойственной пары имеет оптимальный план, то и другая имеет оптимальный план и значения целевых функций задач при их оптимальных планах равны между собой, т. е. Fmax = F*min

max f = min f* = 33

Используем вторую теорему двойственности: так как в оптимальном решении исходной задачи x1 ≠0 и x2 ≠0, то на оптимальном решении двойственной задачи первое и второе ограничения двойственной задачи выполняется как равенство. Подставим xопт в ограничения исходной задачи, получим, что первое ограничение выполняется как строгое неравенство, значит y1 = 0. Получаем систему:

; ;

Решение двойственной задачи: yопт =(0; 2; 5), min f* = 33