Автор: Пользователь скрыл имя, 12 Февраля 2013 в 15:52, курсовая работа
Линейное программирование - это наука о методах исследования и
отыскания наибольших и наименьших значений линейной функции, на неизвестные которой наложены линейные ограничения. Таким образом, задачи линейного программирования относятся к задачам на условный экстремум функции. Казалось бы, что для исследования линейной функции многих переменных на условный экстремум достаточно применить хорошо разработанные методы математического анализа, однако невозможность их использования можно довольно просто проиллюстрировать.
Введение
1 Математические основы решения задачи линейного программирования
1.1 Задачи линейного программирования и свойства ее решений
1.2 Форма задачи линейного программирования и свойства ее решений
1.3 Переход к канонической форме
1.4 Табличный симплекс-метод
1.5 Метод искусственного базиса
2 Разработка и описание алгоритма решения задачи
2.1 Содержательная постановка задачи
2.2 Математическая модель задачи
2.3 Решение задачи вручную
2.4 Решение задачи с помощью Excel
Заключение
Список литературы
2.2 Положительность строки F
Проверяем на положительность элементы строки F. Если имеются отрицательные элементы (не считая b0), выбираем среди отрицательных элементов строки F максимальный по модулю.
-a0,l=min{-a0,i }
l - столбец в котором
он находится будет ведущим.
Для того, что бы найти ведущую
строку, находим отношение соответствую
bk/ak,l =min {bi/ai,l } при ai,l>0, bi>0
k - cтрока, для которой это отношение минимально - ведущая. Элемент ak,l - ведущий (разрешающий). Переменная, соответствующая ведущей строке (xk) исключается из базиса, переменная соответствующая ведущему столбцу (xl) включается в базис.
Пересчитываем симплекс-таблицу по формулам. Если в новой таблице после перерасчета в строке F остались отрицательные элементы переходим к шагу 2.2.
Если невозможно найти
ведущую строку, так как нет
положительных элементов в
Если в строке F и в столбце свободных членов все элементы положительные, то найдено оптимальное решение.
Правила преобразований симплексной таблицы
При составлении новой
симплекс-таблицы в ней
2.1 Содержательная постановка задачи
Для составления сплава используется три вида сырья: A1, B1 C1. Определить состав сырьевых материалов, обеспечивающий минимальную стоимость 1 кг. сплава (Табл. 11)
Компоненты сплава |
Пределы содержания металла |
Содержание компонентов в сырье | ||
X1 |
X2 |
|||
A1 |
4 |
1 |
1 |
|
A2 |
2 |
1 |
2 |
|
A3 |
10 |
1 |
2 |
|
Стоимость сырья |
2 |
-1 |
2.2 Математическая модель задачи
Целевая функция:
Ограничения:
2.3 Решение задачи вручную
Определим минимальное значение целевой функции F(X) = 2x1 - x2 при следующих условиях-ограничений.
x1 + x2≥4
x1 + 2x2≤2
x1 + 2x2≤10
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).
1x1 + 1x2-1x3 + 0x4 + 0x5 = 4
1x1 + 2x2 + 0x3 + 1x4 + 0x5 = 2
1x1 + 2x2 + 0x3 + 0x4 + 1x5 = 10
Введем искусственные переменные x: в 1-м равенстве вводим переменную x6;
1x1 + 1x2-1x3 + 0x4 + 0x5 + 1x6 = 4
1x1 + 2x2 + 0x3 + 1x4 + 0x5 + 0x6 = 2
1x1 + 2x2 + 0x3 + 0x4 + 1x5 + 0x6 = 10
Для постановки задачи на минимум целевую функцию запишем так:
F(X) = 2x1-1x2+Mx6 → min
Из уравнений выражаем искусственные переменные:
x6 = 4-x1-x2+x3 которые подставим в целевую функцию:
F(X) = (2-M)x1+(-1-M)x2+(M)x3+(4M) → min
Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:
Решим систему уравнений относительно базисных переменных:
x6, x4, x5.
Полагая, что свободные переменные равны 0, получим первый опорный план: X1 = (0,0,0,2,10,4)
Переходим к основному алгоритму симплекс-метода (Табл. 12).
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x6 |
4 |
1 |
1 |
-1 |
0 |
0 |
1 |
x4 |
2 |
1 |
2 |
0 |
1 |
0 |
0 |
x5 |
10 |
1 |
2 |
0 |
0 |
1 |
0 |
F(X0) |
4M |
-2+M |
1+M |
-M |
0 |
0 |
0 |
Итерация №0.
Текущий опорный план не оптимален, так как в индексной строке находятся положительные коэффициенты.
В качестве ведущего выберем столбец, соответствующий переменной x2, так как это наибольший коэффициент .
Вычислим значения Di по строкам как частное от деления: bi / ai2
и из них выберем наименьшее:
Следовательно, 2-ая строка является ведущей.
Разрешающий элемент равен (2) и находится на пересечении ведущего столбца и ведущей строки (Табл. 13).
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
min |
x6 |
4 |
1 |
1 |
-1 |
0 |
0 |
1 |
4 |
x4 |
2 |
1 |
2 |
0 |
1 |
0 |
0 |
1 |
x5 |
10 |
1 |
2 |
0 |
0 |
1 |
0 |
5 |
F(X1) |
4M |
-2+M |
1+M |
-M |
0 |
0 |
0 |
0 |
Получаем новую симплекс-
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x6 |
3 |
1/2 |
0 |
-1 |
-1/2 |
0 |
1 |
x2 |
1 |
1/2 |
1 |
0 |
1/2 |
0 |
0 |
x5 |
8 |
0 |
0 |
0 |
-1 |
1 |
0 |
F(X1) |
-1+3M |
-21/2+M |
0 |
-M |
-1/2-M |
0 |
0 |
Итерация №1.
Текущий опорный план не оптимален, так как в индексной строке находятся положительные коэффициенты.
В качестве ведущего выберем столбец, соответствующий переменной x1, так как это наибольший коэффициент .
Вычислим значения Di по строкам как частное от деления: bi / ai1
и из них выберем наименьшее:
Следовательно, 2-ая строка является ведущей.
Разрешающий элемент равен (1/2) и находится на пересечении ведущего столбца и ведущей строки (Табл. 15).
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
min |
x6 |
3 |
1/2 |
0 |
-1 |
-1/2 |
0 |
1 |
6 |
x2 |
1 |
1/2 |
1 |
0 |
1/2 |
0 |
0 |
2 |
x5 |
8 |
0 |
0 |
0 |
-1 |
1 |
0 |
- |
F(X2) |
-1+3M |
-21/2+M |
0 |
-M |
-1/2-M |
0 |
0 |
0 |
Получаем новую симплекс-
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x6 |
2 |
0 |
-1 |
-1 |
-1 |
0 |
1 |
x1 |
2 |
1 |
2 |
0 |
1 |
0 |
0 |
x5 |
8 |
0 |
0 |
0 |
-1 |
1 |
0 |
F(X2) |
4+2M |
0 |
5-M |
-M |
2-M |
0 |
0 |
Конец итераций: индексная строка не содержит положительных элементов - найден оптимальный план
Окончательный вариант симплекс-таблицы (Табл. 17):
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x6 |
2 |
0 |
-1 |
-1 |
-1 |
0 |
1 |
x1 |
2 |
1 |
2 |
0 |
1 |
0 |
0 |
x5 |
8 |
0 |
0 |
0 |
-1 |
1 |
0 |
F(X3) |
4+2M |
0 |
5-M |
-M |
2-M |
0 |
0 |