
- •Здійснення постановки задачі лінійного програмування
- •Завдання №4 Побудова подвійної задачі лінійного програмування та її розв’язок
- •Розв’язок транспортної задачі лінійного програмування
- •Завдання №6 Розв’язок задач дискретного програмування методом Гоморі та методом віток та границь
- •Завдання №7 Розв’язок задач дискретного програмування методом Мака та Угорським методом
- •Завдання №8,9 Розв’язок задач нелінійного програмування методом виключень, методом множників Лагранжа та градієнтних методів.
- •Розв’язок задач динамічного програмування
- •Прикдад виконання робіт Задание №1
- •Задание № 2,3
- •Задание №4
- •Задание №5 Задание: решить транспортную задачу линейного программирования методом потенциалов.
- •Задание №6
- •Задание № 7
- •Задание №8,9
- •Задание №10
Задание № 2,3
Задание: Решить задачу линейного программирования следующими методами: а) графическим методом;
б) симплексным методом.
№ |
Задание |
31 |
х1+4х2≥4 х1+х2≤6 х2≤2 хi≥0 F=x1+3x2→max |
Решение задачи линейного программирования графическим методом:
-
Строим двумерную координатную плоскость, на которой по оси абсцисс будем отмечать х1, а по оси ординат х2.
-
На координатной плоскости строим прямую х1+4х2=4 и отмечаем ту полуплоскость, в которой выполняется неравенство х1+4х2≥4
х1
х2
0
1
4
0
-
На координатной плоскости строим прямую х1+х2=6 и отмечаем ту полуплоскость, в которой выполняется неравенство х1+х2≤6
х1
х2
0
6
6
0
-
На координатной плоскости строим прямую х2=2 и отмечаем ту полуплоскость, в которой выполняется неравенство х2≤2
-
На координатной плоскости отмечаем полуплоскость, отсекаемую от пространства уравнениями х1≥0 и х2≥0
-
Через центр координат строим основную прямую по целевой функции x1+3x2=0.
-
В центр координат на основную прямую опускаем направляющий перпендикуляр и смещаем основную прямую параллельно по ходу перпендикуляра.
-
Крайняя точка (последняя по ходу перпендикуляра) будет являться искомой точкой максимума. Обозначим данную точку А(х1*;х2*). Найдем координаты точки максимума как точки пересечения прямых х2=2 и х1+х2=6.Тогда координаты точки А равны: х1*=4; х2*=2. Графическое изображение решения приведено на рисунке 1.
Рисунок 1.
Решение задачи линейного программирования симплексным методом:
-
Приводим систему уравнений задачи к стандартному виду:
х1+4х2-4≥0
6-х1-х2≥0
2-х2≥0
-
Вводим дополнительные переменные х3, х4 и х5 в полученную систему уравнений:
х1+4х2-4=х3
6-х1-х2=х4
2-х2=х5
-
Приводим уравнения в системе к такому виду, чтобы свободные коэффициенты в уравнениях были положительны. Т.е. получим следующую систему:
4-х1-4х2+х3=0
6-х1-х2-х4=0
2-х2-х5=0
-
Составляем исходную симплексную таблицу, заполняя ее коэффициентами из системы уравнений:
№1
-x1
-x2
-x3
-x4
-x5
0
1
4
-1
0
0
4
0
1
1
0
1
0
6
0
0
1
0
0
1
2
L
-1
-3
0
0
0
0
-
Определяем в таблице разрешающий столбец. Разрешающим может быть такой столбец таблицы, в котором есть хотя бы один положительный элемент. Если таких столбцов несколько, то в качестве разрешающего принимается тот, нижним элементом которого является минимальный отрицательный элемент. В данной задаче в качестве разрешающего выбирается столбец (-х2).
-
Определяем в разрешающем столбце таблицы разрешающий элемент. В качестве разрешающего элемента выбирают такой неотицательный, отношение к которому соответствующих коэффициентов из последнего столбца минимально. для данной задачи в разрешающем столбце есть два положительных элемента, а именно 4, 1 и 1. Для того, чтобы определить, какой из данных элементов является разрешающим, определяем соотношения с коэффициентами из крайнего столбца и выбираем минимальное:
min{4:4; 6:1; 2:1}=4:4
Следовательно, разрешающим элементом является 4 в разрешающем столбце (-х2).
-
Строим следующую симплексную таблицу. Для этого х2 переводим из разряда базисных переменных в разряд свободных переменных, т.е. переводим из столбца в строку. Разрешающий столбец удаляем из таблицы. Все элементы разрешающей строки делим на разрешающий элемент. Все остальные элементы в таблице считаем по правилу прямоугольника: 1) строим условный прямоугольник, противолежащими вершинами которого являются пересчитываемый элемент и разрешающий элемент; 2) пусть вершины прямоугольника заданы в следующем виде: | a b |
| c d |,
где пересчитываемый элемент – а, разрешающий элемент – d. Тогда значение пересчитанного элемента а’= a – (b*c)/d.
Полученная симплексная таблица будет следующего вида:
-
№2
-x1
-x3
-x4
-x5
x2
1/4
-1/4
0
0
1
0
3/4
1/4
1
0
5
0
-1/4
1/4
0
1
1
L
-1/4
-3/4
0
0
3
Данную симплексную форму возможно максимизировать, поскольку в первом столбце еще остались нули, а в нижней строке отрицательные элементы. Следовательно, переходим к следующей симплексной таблице.
-
Осуществляем выбор разрешающего столбца. В качестве разрешающего выбираем столбец (-x3), т.к. в нем есть положительные элементы и в его нижней ячейке находится минимальный отрицательный элемент. В качестве разрешающего элемента выбираем положительный элемент в этом столбце, причем с минимальным соотношением min{5:1/4; 1:1/4}=1:1/4, а именно 1/4. Строим следующую симплексную таблицу, в которой производим перерасчет коэффициентов. Для этого х3 переводим из разряда базисных переменных в разряд свободных переменных, т.е. переводим из столбца в строку. Разрешающий столбец удаляем из таблицы. Все элементы разрешающей строки делим на разрешающий элемент. Все остальные элементы в таблице считаем по правилу прямоугольника.
-
№3
-x1
-x4
-x5
x2
0
0
1
2
0
1
1
-1
4
x3
-1
0
4
4
L
-1
0
3
6
Данную симплексную форму еще возможно максимизировать, т.к. в первом столбце еще остался один нуль, а в нижней строке еще остался один отрицательный элемент. Следовательно переходим к построению следующей симплексной таблицы.
-
Осуществляем выбор разрешающего столбца. В качестве разрешающего выбираем столбец (-x1), т.к. в нем есть положительный элемент и в его нижней ячейке находится отрицательный элемент. В качестве разрешающего элемента выбираем положительный элемент в этом столбце, а именно 1. Строим следующую симплексную таблицу, в которой производим перерасчет коэффициентов. Для этого х1 переводим из разряда базисных переменных в разряд свободных переменных, т.е. переводим из столбца в строку. Разрешающий столбец удаляем из таблицы. Все элементы разрешающей строки делим на разрешающий элемент. Все остальные элементы в таблице считаем по правилу прямоугольника.
-
№4
-x4
-x5
x2
0
1
2
x1
1
-1
4
x3
1
3
8
L
1
2
10
Данную симплексную форму невозможно максимизировать, поскольку в ее нижней строке все элементы положительны, первый столбец заполнен переменными и выполняется условие неотрицательности решения. Таким образом полученное симплексным методом решение задачи линейного программирования имеет следующий вид:
x1=4 x4=0
x2=2 x5=0
x3=8 L=10
Вывод: полученное решение задачи линейного программирования графическим и симплексным методами совпадает, что свидетельствует о правильности полученного решения.