Uploaded by Олег Зайцев

laba 3

advertisement
Министерство образования и науки Российской Федерации
ФГБОУ ВПО "Нижегородский государственный педагогический
университет имени Козьмы Минина"
Факультет естественных, математических и компьютерных наук
Кафедра "Прикладная информатика и информационные технологии в
образовании"
Практическая работа №3
по дисциплине
"Исследование операций и методы оптимизации"
на тему:
"Использование симплекс метода решение задач линейного
программирование"
Вариант 4
Выполнил:
студент гр. ПИМ-13
Плесовских Г.А.
Проверил:
Ершов В.Н.
Нижний Новгород
2015
Содержание
Задание ....................................................................................................................... 3
Решение с использование метод искусственного базиса ...................................... 4
Решение в пакете Excel Поиск решение ................................................................. 12
2
Задание
Найти оптимальный план x(x≥0) и оптимальные значение целевой
функции f(x), используя процедуру симплекс метода и в пакете Excel (Поиск
решения) min f(x)= - 8x1 - x2 + 5x3
4x1 - 4x2 - 12x3=8,
2x1 + 3x2 - 15x3≥10,
3x1 - x2 - 13x3≤12 ,
x1 ≥0; x2 ≥0; x3 ≥0.
3
Решение с использование метод искусственного базиса
Решим прямую задачу линейного программирования симплексным
методом,
с
использованием
симплексной
таблицы.
Определим минимальное значение целевой функции F(X) = - 8x1 - x2 + 5x3
при следующих условиях-ограничений.
4x1 - 4x2 - 12x3=8,
2x1 + 3x2 - 15x3≥10,
3x1 - x2 - 13x3≤12.
Для построения первого опорного плана приведем систему неравенств
к системе уравнений путем введения дополнительных переменных (переход
к канонической форме).
В 2-м неравенстве смысла (≥) вводим базисную переменную x 4 со знаком
минус. В 3-м неравенстве смысла (≤) вводим базисную переменную x5.
4x1-4x2-12x3 + 0x4 + 0x5 = 8,
2x1 + 3x2-15x3-1x4 + 0x5 = 10,
3x1-1x2-13x3 + 0x4 + 1x5 = 12.
Введем искусственные переменные x: в 1-м равенстве вводим
переменную x6; в 2-м равенстве вводим переменную x7;
4x1-4x2-12x3 + 0x4 + 0x5 + 1x6 + 0x7 = 8,
2x1 + 3x2-15x3-1x4 + 0x5 + 0x6 + 1x7 = 10,
3x1-1x2-13x3 + 0x4 + 1x5 + 0x6 + 0x7 = 12.
Для постановки задачи на минимум целевую функцию запишем так:
F(X) = -8x1-1x2+5x3+Mx6+Mx7 → min
За использование искусственных переменных, вводимых в целевую
функцию, накладывается так называемый штраф величиной М, очень
4
большое
положительное
число,
которое
обычно
не
задается.
Полученный базис называется искусственным, а метод решения называется
методом искусственного базиса. Причем искусственные переменные не
имеют отношения к содержанию поставленной задачи, однако они позволяют
построить стартовую точку, а процесс оптимизации вынуждает эти
переменные принимать нулевые значения и обеспечить допустимость
оптимального решения.
Из уравнений выражаем искусственные переменные:
x6 = 8-4x1+4x2+12x3
x7 = 10-2x1-3x2+15x3+x4
которые, подставим в целевую функцию:
F(X) = -8x1-x2 + 5x3 + M(8-4x1+4x2+12x3) + M(10-2x1-3x2+15x3+x4) → min
или F(X) = (-8-6M)x1+(-1+M)x2+(5+27M)x3+(M)x4+(18M) → min
Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:
4
-4
-12
0
0
1
0
2
3
-15
-1
0
0
1
3
-1
-13
0
1
0
0
Базисные переменные это переменные, которые входят только в одно
уравнение системы ограничений и притом с единичным коэффициентом.
Экономический
смысл
дополнительных
переменных:
дополнительные переменные задачи ЛП обозначают излишки сырья,
времени,
других
оптимального
ресурсов,
остающихся
в
производстве
данного
плана.
Решим систему уравнений относительно базисных переменных: x6, x7, x5.
5
Полагая, что свободные переменные равны 0, получим первый опорный
план:
X1 = (0,0,0,0,12,8,10)
Базисное решение называется допустимым, если оно неотрицательно.
Базис
B
x1
x2
x3
x4
x5
x6
x7
x6
8
4
-4
-12
0
0
1
0
x7
10
2
3
-15
-1
0
0
1
x5
12
3
-1
-13
0
1
0
0
F(X0)
18M
8+6M
1-M
-5-27M
-M
0
0
0
Переходим к основному алгоритму симплекс-метода.
Итерация №0.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в индексной строке находятся
положительные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец, соответствующий переменной x1, так
как это наибольший коэффициент .
3. Определение новой свободной переменной.
Вычислим значения Di по строкам как частное от деления: bi / ai1
и из них выберем наименьшее:
min (8 : 4 , 10 : 2 , 12 : 3 ) = 2
Следовательно, 1-ая строка является ведущей.
Разрешающий элемент равен (4) и находится на пересечении ведущего
столбца и ведущей строки.
Базис
B
x1
x2
x3
x4
x5
x6
x7
min
x6
8
4
-4
-12
0
0
1
0
2
6
x7
10
2
3
-15
-1
0
0
1
5
x5
12
3
-1
-13
0
1
0
0
4
F(X1)
18M
8+6M
1-M
-5-27M
-M
0
0
0
0
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x6 в план 1 войдет переменная x1.
Строка, соответствующая переменной x1 в плане 1, получена в результате
деления всех элементов строки x6 плана 0 на разрешающий элемент РЭ=4.
На месте разрешающего элемента в плане 1 получаем 1.
В остальных клетках столбца x1 плана 1 записываем нули.
Таким образом, в новом плане 1 заполнены строка x1 и столбец x1.
Все остальные элементы нового плана 1, включая элементы индексной
строки, определяются по правилу прямоугольника.
Для этого выбираем из старого плана четыре числа, которые расположены в
вершинах прямоугольника и всегда включают разрешающий элемент РЭ.
НЭ = СЭ - (А*В)/РЭ
СТЭ - элемент старого плана, РЭ - разрешающий элемент (4), А и В элементы старого плана, образующие прямоугольник с элементами СТЭ и
РЭ.
Представим расчет каждого элемента в виде таблицы:
B
x1
x2
x3
x4
x5
x6
x7
8/4
4/ 4
-4/ 4
-12/ 4
0/ 4
0/ 4
1/ 4
0/ 4
10-(8*2)/4
2-(4 * 2)/4
3-(-4 * 2)/4
-15-(-12 *
-1-(0 *
2)/4
2)/4
0-(0 * 2)/4
0-(1 * 2)/4 1-(0 * 2)/4
0-(0 * 3)/4
1-(0 * 3)/4
0-(1 * 3)/4 0-(0 * 3)/4
(-M)-(0 *
(0)-(0 *
(0)-(1 *
(0)-(0 *
(8+6M))/4
(8+6M))/4
(8+6M))/4
(8+6M))/4
12-(8 *
3)/4
3-(4 * 3)/4
-1-(-4 *
-13-(-12 *
3)/4
3)/4
(0)-(8 *
(8+6M)-(4
(1-M)-(-4
(8+6M))/4
*(8+6M))/4
*(8+6M))/4
(-5-27M)(-12 *
(8+6M))/4
7
Получаем новую симплекс-таблицу:
Базис
B
x1
x2
x3
x4
x5
x6
x7
x1
2
1
-1
-3
0
0
1
/4
0
x7
6
0
5
-9
-1
0
-1
/2
1
x5
6
0
2
-4
0
1
-3
/4
0
F(X1)
-16+6M
0
9+5M
19-9M
-M
0
-2-11/2M
0
Итерация №1.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в индексной строке находятся
положительные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец, соответствующий переменной x2, так
как это наибольший коэффициент .
3. Определение новой свободной переменной.
Вычислим значения Di по строкам как частное от деления: bi / ai2
и из них выберем наименьшее:
min (- , 6 : 5 , 6 : 2 ) = 11/5
Следовательно, 2-ая строка является ведущей.
Разрешающий элемент равен (5) и находится на пересечении ведущего
столбца и ведущей строки.
Базис
B
x1
x2
x3
x4
x5
x6
x7
min
x1
2
1
-1
-3
0
0
1
/4
0
-
x7
6
0
5
-9
-1
0
-1
/2
1
11/5
x5
6
0
2
-4
0
1
-3
/4
0
3
F(X2)
-16+6M
0
9+5M
19-9M
-M
0
-2-11/2M
0
0
8
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x7 в план 2 войдет переменная x2.
Строка, соответствующая переменной x2 в плане 2, получена в результате
деления всех элементов строки x7 плана 1 на разрешающий элемент РЭ=5
На месте разрешающего элемента в плане 2 получаем 1.
В остальных клетках столбца x2 плана 2 записываем нули.
Таким образом, в новом плане 2 заполнены строка x2 и столбец x2.
Все остальные элементы нового плана 2, включая элементы индексной
строки, определяются по правилу прямоугольника.
Представим расчет каждого элемента в виде таблицы:
B
x1
x2
x3
x4
x5
x6
x7
2-(6*(-
1-(0 * ( -
-1-(5*( -
-3-(-9*(-
0-(-1 *( -
0-(0 * ( -
1
/4-(-1/2 *( -
0-(1*( -
1))/5
1))/5
1))/5
1))/5
1))/5
1))/5
1))/5
1))/5
6/5
0/5
5/ 5
-9/5
-1/5
0 /5
-1
/2/ 5
1/5
6-(6 *
0-(0 *
2-(5 * 2)/5
-4-(-9 * 2)/5
0-(-1 *
1-(0* 2)/5
-3
/4-(-1/2 *2)/5
0-(1* 2)/5
2)/5
2)/5
(0)-(6 *
(0)-(0 *
(9+5M)-(5
(19-9M)-(-
(-M)-(-1*
(0)-(0*
(-2-11/2M)-(-
(0)-(1*
(9+5M))/
(9+5M))/
*(9+5M))/
9*(9+5M))/
(9+5M))/
(9+5M))/
1
/2*(9+5M))/
(9+5M))/
5
5
5
5
5
5
5
5
2)/5
Получаем новую симплекс-таблицу:
Базис
B
x1
x2
x3
x4
x5
x6
x7
x1
31/5
1
0
-44/5
-1
/5
0
3
/20
1
/5
x2
11/5
0
1
-14/5
-1
/5
0
-1
1
/5
x5
33/5
0
0
-2
/5
2
/5
1
-11
F(X2)
-264/5
0
0
351/5
14/5
0
/10
/20
-2
-11/10-M
-14/5-M
/5
9
Итерация №2.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в индексной строке находятся
положительные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец, соответствующий переменной x4, так
как это наибольший коэффициент .
3. Определение новой свободной переменной.
Вычислим значения Di по строкам как частное от деления: bi / ai4
и из них выберем наименьшее:
min (- , - , 33/5 : 2/5 ) = 9
Следовательно, 3-ая строка является ведущей.
Разрешающий элемент равен (2/5) и находится на пересечении ведущего
столбца и ведущей строки.
Базис
B
x1
x2
x3
x4
x5
x6
x7
min
x1
31/5
1
0
-44/5
-1
/5
0
3
/20
1
/5
-
x2
11/5
0
1
-14/5
-1
/5
0
-1
1
/5
-
x5
33/5
0
0
-2
2
/5
1
-11
-2
/5
9
F(X3)
-264/5
0
0
351/5
14/5
0
-11/10-M
-14/5-M
0
/5
/10
/20
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x5 в план 3 войдет переменная x4.
Строка, соответствующая переменной x4 в плане 3, получена в результате
деления всех элементов строки x5 плана 2 на разрешающий элемент РЭ=2/5
На месте разрешающего элемента в плане 3 получаем 1.
В остальных клетках столбца x4 плана 3 записываем нули.
Таким образом, в новом плане 3 заполнены строка x4 и столбец x4.
Все остальные элементы нового плана 3, включая элементы индексной
10
строки, определяются по правилу прямоугольника.
Представим расчет каждого элемента в виде таблицы:
B
x1
x2
x3
x4
31/5-(33/5 *
1-(0 * ( -
0-(0 * ( -
-44/5-(-2/5 *
-1
( -1/5))/2/5
1
1
/5))/2/5
( -1/5))/2/5
11/5-(33/5 *
0-(0 * ( -
1-(0 * ( -
-14/5-(-2/5 *
( -1/5))/2/5
1
/5))/2/5
1
/5))/2/5
33/5 / 2/5
0 / 2/5
0 / 2/5
(0)-(0 *
(0)-(0 *
(14/5))/2/5
(14/5))/2/5
(-14/5-M)(33/5 *
4
2
(1 /5))/ /5
/5))/2/5
x5
x6
x7
3
1
/5-(2/5 * (-
0-(1 *( -
1
/5))/2/5
1
/5-(2/5 * (
0-(1 * ( -
(-1/5))/2/5
-1
/5))/2/5
1
/5))/2/5
( -1/5))/2/5
1
-2
2
/5 / 2/5
1 / 2/5
-11
-2
(351/5)-(-2/5
(14/5)-(2/5
(0)-(1 *
* (14/5))/2/5
* (14/5))/2/5
(14/5))/2/5
/5 / 2/5
-1
/20-(-11/20 *
/5))/2/5
/5-(-2/5 * ( -
( -1/5))/2/5
-1
/10-(-11/20 *
/20 / 2/5
(-11/10-M)-(11
1
/5))/2/5
1
/5-(-2/5 * ( /5))/2/5
/5 / 2/5
(-14/5-M)-(-
/20 *
2
2
4
4
/5 *
(1 /5))/ /5
(1 /5))/2/5
Получаем новую симплекс-таблицу:
Базис
B
x1
x2
x3
x4
x5
x6
x7
x1
5
1
0
-5
0
1
/2
-1
/8
0
x2
3
0
1
-2
0
1
/2
-3
/8
0
x4
9
0
0
-1
1
21/2
-13/8
-1
F(X3)
-43
0
0
37
0
-41/2
13/8-M
-M
Окончательный вариант симплекс-таблицы:
Базис
B
x1
x2
x3
x4
x5
x6
x7
x1
5
1
0
-5
0
1
/2
-1
/8
0
x2
3
0
1
-2
0
1
/2
-3
/8
0
x4
9
0
0
-1
1
21/2
-13/8
-1
F(X4)
-43
0
0
37
0
-41/2
13/8-M
-M
Последняя строка содержит положительные элементы. Пространство
допустимых решений неограниченно. Решения не существует.
11
Решение в пакете Excel (Поиск решения)
Решение задачи. Подставляем пример
min f(x)= - 8x1 - x2 + 5x3
4x1 - 4x2 - 12x3=8,
2x1 + 3x2 - 15x3≥10,
3x1 - x2 - 13x3≤12 ,
x1 ≥0; x2 ≥0; x3 ≥0.
Вбиваем сумму производных (Значение; Коэфв Цф), так же это
действие делаем в Ограничения левой части "Сумму производных (Значение;
Вид(1,2,3))"
12
Затем вбиваем в поиске решение:





целевую ячейку $F$6
Выполняем команду Поиск решения
вид поиска (минимальное значение)
в поле, изменяя ячейки: $B$3:$D$3
Поле должно иметь следующее содержание:
1. $B$3:$D$3>=0
2. $F$9=$H$9
3. $F$10>=$H$10
4. $F$11<=$H$11
13
И получаем решение
14
Download