Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
линпрог.doc
Скачиваний:
0
Добавлен:
11.07.2019
Размер:
287.23 Кб
Скачать

1) Необходимо найти максимальное значение целевой функции F = x1+3x2 → max, при системе ограничений:

2x1-x2≥4

(1)

2x1+3x2≤37

(2)

-4x1+9x2≥20

(3)

x1≥0

(4)

x2≥0

(5)

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

Границы области допустимых решений

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

Рассмотрим целевую функцию задачи F = x1+3x2 → max.  Построим прямую, отвечающую значению функции F = 0: F = x1+3x2 = 0. Будем двигать эту прямую параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области. На графике эта прямая обозначена пунктирной линией.

Область допустимых решений представляет собой треугольник.

Прямая F(x) = const пересекает область в точке B. Так как точка B получена в результате пересечения прямых (1) и (2), то ее координаты удовлетворяют уравнениям этих прямых: 2x1-x2≥4 2x1+3x2≤37 Решив систему уравнений, получим: x1 = 6.125, x2 = 8.25 Откуда найдем максимальное значение целевой функции: F(X) = 1*6.125 + 3*8.25 = 30.88

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

Определим максимальное значение целевой функции F(X) = x1 + 3x2 при следующих условиях-ограничений.

2x1 - x2≥4

2x1 + 3x2≤37

- 4x1 + 9x2≥20

Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).

В 1-м неравенстве смысла (≥) вводим базисную переменную x3 со знаком минус. В 2-м неравенстве смысла (≤) вводим базисную переменную x4. В 3-м неравенстве смысла (≥) вводим базисную переменную x5 со знаком минус.

2x1-1x2-1x3 + 0x4 + 0x5 = 4

2x1 + 3x2 + 0x3 + 1x4 + 0x5 = 37

-4x1 + 9x2 + 0x3 + 0x4-1x5 = 20

Введем искусственные переменные x: в 1-м равенстве вводим переменную x6; в 3-м равенстве вводим переменную x7;

2x1-1x2-1x3 + 0x4 + 0x5 + 1x6 + 0x7 = 4

2x1 + 3x2 + 0x3 + 1x4 + 0x5 + 0x6 + 0x7 = 37

-4x1 + 9x2 + 0x3 + 0x4-1x5 + 0x6 + 1x7 = 20

Для постановки задачи на максимум целевую функцию запишем так:

F(X) = - Mx6 - Mx7 → max

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

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

Из уравнений выражаем искусственные переменные:

x6 = 4-2x1+x2+x3

x7 = 20+4x1-9x2+x5

которые подставим в целевую функцию:

F(X) = - M(4-2x1+x2+x3) - M(20+4x1-9x2+x5) → max

или

F(X) = (-2M)x1+(8M)x2+(-1M)x3+(-1M)x5+(-24M) → max

Введем новую переменную x0 = - 2x1 + 8x2.

Выразим базисные переменные <6, 4, 7> через небазисные.

x0 = -24-2x1+8x2-x3-x5

x6 = 4-2x1+x2+x3

x4 = 37-2x1-3x2

x7 = 20+4x1-9x2+x5

Переходим к основному алгоритму симплекс-метода.

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

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

В выражении для x0 присутсвуют отрицательные элементы. Следовательно, текущий план неоптимален

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

max(-2,8,-1,0,-1,0,0) = 8

x0 = -24-2x1+8x2-x3-x5

x6 = 4-2x1+x2+x3

x4 = 37-2x1-3x2

x7 = 20+4x1-9x2+x5

В качестве новой переменной выбираем x2.

3. Определение новой свободной переменной.

Вычислим значения Di по всем уравнениям для этой переменной: bi / ai2

и из них выберем наименьшее:

min (- , 37 : 3 , 20 : 9 ) = 22/9

Вместо переменной x7 в план войдет переменная x2.

4. Пересчет всех уравнений.

Выразим переменную x2 через x7

x2 = 22/9+4/9x1+1/9x5-1/9x7

и подставим во все выражения.

x0 = -24-2x1+8(22/9+4/9x1+1/9x5-1/9x7)-x3-x5

x6 = 4-2x1+(22/9+4/9x1+1/9x5-1/9x7)+x3

x4 = 37-2x1-3(22/9+4/9x1+1/9x5-1/9x7)

После приведения всех подобных, получаем новую систему, эквивалентную прежней:

x0 = -62/9+15/9x1-x3-1/9x5-8/9x7

x6 = 62/9-15/9x1+x3+1/9x5-1/9x7

x4 = 301/3-31/3x1-1/3x5+1/3x7

x2 = 22/9+4/9x1+1/9x5-1/9x7

Полагая небазисные переменные x = (6, 4, 2) равными нулю, получим новый допустимый вектор и значение целевой функции:

x = (-15/9, 0, 1, 0, 1/9, 0, 8/9), x0 = -62/9

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

В выражении для x0 присутсвуют отрицательные элементы. Следовательно, текущий план неоптимален

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

max(15/9,0,-1,0,-1/9,0,-8/9) = 15/9

x0 = -62/9+15/9x1-x3-1/9x5-8/9x7

x6 = 62/9-15/9x1+x3+1/9x5-1/9x7

x4 = 301/3-31/3x1-1/3x5+1/3x7

x2 = 22/9+4/9x1+1/9x5-1/9x7

В качестве новой переменной выбираем x1.

3. Определение новой свободной переменной.

Вычислим значения Di по всем уравнениям для этой переменной: bi / ai1

и из них выберем наименьшее:

min (62/9 : 15/9 , 301/3 : 31/3 , - ) = 4

Вместо переменной x6 в план войдет переменная x1.

4. Пересчет всех уравнений.

Выразим переменную x1 через x6

x1 = 4+9/14x31/14x5-9/14x6-1/14x7

и подставим во все выражения.

x0 = -62/9+15/9(4+9/14x31/14x5-9/14x6-1/14x7)-x3-1/9x5-8/9x7

x4 = 301/3-31/3(4+9/14x31/14x5-9/14x6-1/14x7)-1/3x5+1/3x7

x2 = 22/9+4/9(4+9/14x31/14x5-9/14x6-1/14x7)+1/9x5-1/9x7

После приведения всех подобных, получаем новую систему, эквивалентную прежней:

x0 = 0-x6-x7

x1 = 4+9/14x3+1/14x5-9/14x6-1/14x7

x4 = 17-21/7x3-4/7x5+21/7x6+4/7x7

x2 = 4+2/7x3+1/7x5-2/7x6-1/7x7

Полагая небазисные переменные x = (1, 4, 2) равными нулю, получим новый допустимый вектор и значение целевой функции:

x = (0, 0, 0, 0, 0, 1, 1), x0 = 0

Выражение для x0 не содержит положительных элементов. Найден оптимальный план.

x0 = 0-x6-x7

x1 = 4+9/14x3+1/14x5-9/14x6-1/14x7

x4 = 17-21/7x3-4/7x5+21/7x6+4/7x7

x2 = 4+2/7x3+1/7x5-2/7x6-1/7x7

На этом первый этап симплекс-метода завершен. Переходим ко второму этапу. Удаляем переменные с искусственными переменными.

x1 = 4+9/14x3+1/14x5

x4 = 17-21/7x3-4/7x5

x2 = 4+2/7x3+1/7x5

Выразим базисные переменные:

x1 = 4+9/14x3+1/14x5

x2 = 4+2/7x3+1/7x5

которые подставим в целевую функцию:

F(X) = (4+9/14x3+1/14x5) + 3(4+2/7x3+1/7x5)

или

F(X) = 16+11/2x3+1/2x5

Получаем новую систему переменных.

x0 = 16+11/2x3+1/2x5

x1 = 4+9/14x3+1/14x5

x4 = 17-21/7x3-4/7x5

x2 = 4+2/7x3+1/7x5

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

В выражении для x0 присутсвуют отрицательные элементы. Следовательно, текущий план неоптимален

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

max(0,0,11/2,0,1/2) = 11/2

x0 = 16+11/2x3+1/2x5

x1 = 4+9/14x3+1/14x5

x4 = 17-21/7x3-4/7x5

x2 = 4+2/7x3+1/7x5

В качестве новой переменной выбираем x3.

3. Определение новой свободной переменной.

Вычислим значения Di по всем уравнениям для этой переменной: bi / ai3

и из них выберем наименьшее:

min (- , 17 : 21/7 , - ) = 714/15

Вместо переменной x4 в план войдет переменная x3.

4. Пересчет всех уравнений.

Выразим переменную x3 через x4

x3 = 714/15-7/15x4-4/15x5

и подставим во все выражения.

x0 = 16+11/2(714/15-7/15x4-4/15x5)+1/2x5

x1 = 4+9/14(714/15-7/15x4-4/15x5)+1/14x5

x2 = 4+2/7(714/15-7/15x4-4/15x5)+1/7x5

После приведения всех подобных, получаем новую систему, эквивалентную прежней:

x0 = 279/10-7/10x4+1/10x5

x1 = 91/10-3/10x4-1/10x5

x3 = 714/15-7/15x4-4/15x5

x2 = 64/15-2/15x4+1/15x5

Полагая небазисные переменные x = (1, 3, 2) равными нулю, получим новый допустимый вектор и значение целевой функции:

x = (0, 0, 0, 7/10, -1/10), x0 = 279/10

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

В выражении для x0 присутсвуют отрицательные элементы. Следовательно, текущий план неоптимален

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

max(0,0,0,-7/10,1/10) = 1/10

x0 = 279/10-7/10x4+1/10x5

x1 = 91/10-3/10x4-1/10x5

x3 = 714/15-7/15x4-4/15x5

x2 = 64/15-2/15x4+1/15x5

В качестве новой переменной выбираем x5.

3. Определение новой свободной переменной.

Вычислим значения Di по всем уравнениям для этой переменной: bi / ai5

и из них выберем наименьшее:

min (91/10 : 1/10 , 714/15 : 4/15 , - ) = 293/4

Вместо переменной x3 в план войдет переменная x5.

4. Пересчет всех уравнений.

Выразим переменную x5 через x3

x5 = 293/4-33/4x3-13/4x4

и подставим во все выражения.

x0 = 279/10-7/10x4+1/10(293/4-33/4x3-13/4x4)

x1 = 91/10-3/10x4-1/10(293/4-33/4x3-13/4x4)

x2 = 64/15-2/15x4+1/15(293/4-33/4x3-13/4x4)

После приведения всех подобных, получаем новую систему, эквивалентную прежней:

x0 = 307/8-3/8x3-7/8x4

x1 = 61/8+3/8x3-1/8x4

x5 = 293/4-33/4x3-13/4x4

x2 = 81/4-1/4x3-1/4x4

Полагая небазисные переменные x = (1, 5, 2) равными нулю, получим новый допустимый вектор и значение целевой функции:

x = (0, 0, 3/8, 7/8, 0), x0 = 307/8

Выражение для x0 не содержит положительных элементов. Найден оптимальный план.

Окончательный вариант системы уравнений:

x0 = 307/8-3/8x3-7/8x4

x1 = 61/8+3/8x3-1/8x4

x5 = 293/4-33/4x3-13/4x4

x2 = 81/4-1/4x3-1/4x4

Оптимальный план можно записать так:

x1 = 61/8

x5 = 293/4

x2 = 81/4

F(X) = 1•61/8 + 3•81/4 = 307/8

Примечание:

1. Число операций в симплекс-методе не превосходит n!/((n-m)!*m!)

2. Решение х системы уравнений, в котором все небазисные переменные равны 0, называется базисным решение.

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

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

Определим максимальное значение целевой функции F(X) = x1 + 3x2 при следующих условиях-ограничений.

2x1 - x2≥4

2x1 + 3x2≤37

- 4x1 + 9x2≥20

Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).

В 1-м неравенстве смысла (≥) вводим базисную переменную x3 со знаком минус. В 2-м неравенстве смысла (≤) вводим базисную переменную x4. В 3-м неравенстве смысла (≥) вводим базисную переменную x5 со знаком минус.

2x1-1x2-1x3 + 0x4 + 0x5 = 4

2x1 + 3x2 + 0x3 + 1x4 + 0x5 = 37

-4x1 + 9x2 + 0x3 + 0x4-1x5 = 20

Введем искусственные переменные x: в 1-м равенстве вводим переменную x6; в 3-м равенстве вводим переменную x7;

2x1-1x2-1x3 + 0x4 + 0x5 + 1x6 + 0x7 = 4

2x1 + 3x2 + 0x3 + 1x4 + 0x5 + 0x6 + 0x7 = 37

-4x1 + 9x2 + 0x3 + 0x4-1x5 + 0x6 + 1x7 = 20

Для постановки задачи на максимум целевую функцию запишем так:

F(X) = x1+3x2 - Mx6 - Mx7 → max

За использование искусственных переменных, вводимых в целевую функцию, накладывается так называемый штраф величиной М, очень большое положительное число, которое обычно не задается.

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

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

Из уравнений выражаем искусственные переменные:

x6 = 4-2x1+x2+x3

x7 = 20+4x1-9x2+x5

которые подставим в целевую функцию:

F(X) = x1 + 3x2 - M(4-2x1+x2+x3) - M(20+4x1-9x2+x5) → max

или

F(X) = (1-2M)x1+(3+8M)x2+(-1M)x3+(-1M)x5+(-24M) → max

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

2

-1

-1

0

0

1

0

2

3

0

1

0

0

0

-4

9

0

0

-1

0

1

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

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

x6, x4, x7,

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

X1 = (0,0,0,37,0,4,20)

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

Базис

B

x1

x2

x3

x4

x5

x6

x7

x6

4

2

-1

-1

0

0

1

0

x4

37

2

3

0

1

0

0

0

x7

20

-4

9

0

0

-1

0

1

F(X0)

-24M

-1+2M

-3-8M

1M

0

1M

0

0

Переходим к основному алгоритму симплекс-метода.

Итерация №0.

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

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

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

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

3. Определение новой свободной переменной.

Вычислим значения Di по строкам как частное от деления: bi / ai2

и из них выберем наименьшее:

min (- , 37 : 3 , 20 : 9 ) = 22/9

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

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

Базис

B

x1

x2

x3

x4

x5

x6

x7

min

x6

4

2

-1

-1

0

0

1

0

-

x4

37

2

3

0

1

0

0

0

121/3

x7

20

-4

9

0

0

-1

0

1

22/9

F(X1)

-24M

-1+2M

-3-8M

1M

0

1M

0

0

0

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]