Автор: Пользователь скрыл имя, 15 Февраля 2013 в 13:13, курсовая работа
Первые задачи геометрического содержания, связанные с отысканием наименьших и наибольших величин, появились ещё в древние времена. Развитие промышленности в 17-18 веках привело к необходимости исследования более сложных задач на экстремум и к появлению вариационного исчисления. Однако лишь в 20 веке при огромном размахе производства и осознанию ограниченности ресурсов Земли во весь рост встала задача оптимального использования энергии, материалов, рабочего времени, большую актуальность приобрели вопросы наилучшего в том или ином смысле управления различными процессами физики, техники, экономики и др.
ВВЕДЕНИЕ 6
1 ИСТОРИЧЕСКАЯ СПРАВКА 7
2 ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ ТЕОРИИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 8
3 СИМПЛЕКС МЕТОД 9
3.1 Теоретическая часть 9
3.2 Практическая часть 14
4 ТРАНСПОРТНАЯ ЗАДАЧА 19
4.1 Теоретическая часть 19
4.2 Практическая часть 20
ЗАКЛЮЧЕНИЕ 22
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 23
В таблице 2 первые m строк определяются исходными планами задачи, а показатели (m+1)-й строки вычисляют. В этой строке в столбце вектора Р0 записывают значение целевой функции, которое она принимает при данном опорном плане, а в столбце вектора Рj-значение ∆j = zj – cj.
Значение zj находится как скалярное произведение вектора Рj на вектор .
Значение F0 равно скалярному произведению вектора Р0 на вектор Сб:
(10)
Таблица 2–Итерация 1
Базис |
Сб |
|
… |
… |
… |
… |
||||||||
|
… |
… |
… |
… |
||||||||||
1 |
1 |
0 |
… |
0 |
… |
0 |
… |
… |
||||||
2 |
0 |
1 |
… |
0 |
… |
0 |
… |
… |
||||||
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
r |
0 |
0 |
… |
1 |
… |
0 |
… |
… |
||||||
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
m |
0 |
0 |
… |
0 |
… |
1 |
… |
… |
||||||
m+1 |
0 |
0 |
… |
0 |
… |
0 |
… |
… |
После заполнения таблицы 2 исходный опорный план проверяют на оптимальность. Для этого просматривают элементы (m+1)-й строки таблицы. В результате может иметь место одна из приведённых выше теорем.
В первом случае на основании признака оптимальности исходный опорный план является оптимальным. Во втором случае целевая функция неограниченна сверху на множестве планов, а в третьем случае можно перейти от исходного плана к новому опорному плану, при котором значение целевой функции увеличится. Этот переход от одного опорного плана к другому осуществляется исключительно из исходного базиса какого-нибудь из векторов и введением в него нового вектора. В качестве вектора, вводимого в базис, можно взять любой из векторов Р, имеющих индекс j, для которого ∆j <0 . Пусть, например, ∆k<0 и решено ввести в базис вектор Рk.
Для определения вектора, подлежащего исключению из базиса, находят для всех аik > 0. Пусть этот минимум достигается при i = r. Тогда из базиса исключают вектор Рr , а число аrk называют разрешающим элементом.
Столбец и строку, на пересечении которых находится разрешающий элемент, называют направляющим.
После выделения направляющей строки и направляющего столбца находят новый опорный план и коэффициенты разложения векторов Рj через векторы нового базиса, соответствующего новому опорному плану. Положительные компоненты нового опорного плана вычисляются по формулам:
а коэффициенты разложения векторов Рi через векторы нового базиса,
После вычисления и согласно формулам (11) и (12) их значения заносят в следующую симплекс-таблицу. Элементы (m+1)-й строки этой таблицы могут быть вычислены либо по формулам:
, (13)
либо на основании их определения.
Наличие двух способов нахождения элементов (m+1)-й строки позволяет осуществлять контроль правильности проводимых вычислений.
Из формулы (13) следует, что при переходе от одного опорного плана к другому наиболее целесообразно ввести в базис вектор Рj , имеющий индекс j, при котором максимальным по абсолютной величине является число (∆j<0, аj>0). Однако с целью упрощения вычислительного процесса в дальнейшем будет вектор, вводимый в базис, определять, исходя из максимальной абсолютной величины отрицательных чисел ∆j. Если же таких чисел несколько, то в базис будем вводить вектор, имеющий такой же индекс, как максимальное из чисел Сj , определяемых данными числами ∆j (∆j <0).
Итак, переход от одного опорного плана к другому сводится к переходу от одной симплекс-таблицы к другой. Элементы новой симплекс-таблицы можно вычислить как с помощью рекуррентных формул (11)–(12) так и правилам, непосредственно вытекающих из них. Эти правила состоят в следующем.
В столбцах векторов, входящих в базис на пересечении строк и столбцов одноименных векторов проставляются единицы, а все остальные элементы данных столбцов полагают равными нулю.
Элементы векторов Р0 и Рj в строке новой симплекс-таблицы, в которой записан вектор, вводимый в базис, получают из элементов этой же строки исходной таблицы делением их на величину разрешающего элемента. В столбце Сб в строке вводимого вектора проставляют величину Сk , где к- индекс вводимого вектора.
Остальные элементы столбцов вектора Р0 и Рj новой симплекс-таблицы вычисляют по правилу треугольника. Для вычисления, какого-нибудь из этих элементов находят три числа:
– число, стоящее в исходной симплекс-таблице на пересечении строки, в которой находится искомый элемент новой симплекс-таблицы, и столбца, соответствующего вектору, вводимому в базис;
После заполнения
новой симплекс-таблицы
Этапы решения задач симплексным методом:
– по формулам (11)–(12) определяют, положительные компоненты нового опорного плана, коэффициенты разложения векторов Рj по векторам нового базиса и числа , . Все эти числа записываются в новой симплекс-таблице;
– проверяют новый опорный план на оптимальность. Если план не оптимальный переходят к следующей симплекс-таблице, если оптимальный – записывают ответ.
Задача 1: Решить задачу симплекс-методом:
при условиях
,
где , , .
Решение:
Запишем задачу в каноническом виде:
при условиях
где , , , , , .
Запишем задачу в векторной форме:
P1x1+ P2x2+ P3x3+ P4x4+ P5x5+ P6x6 =P0
где , , , , , , .
P4, P5 , P6 – единичные базисные вектора.
Таблица 3 – Итерация 1
i |
Базис |
Сб |
Ро |
3 |
2 |
-5 |
0 |
0 |
0 |
P1 |
Р2 |
Р3 |
Р4 |
P5 |
Р6 | ||||
1 |
Р4 |
0 |
30 |
2 |
-3 |
5 |
1 |
0 |
0 |
2 |
Р5 |
0 |
24 |
-3 |
-3 |
6 |
0 |
1 |
0 |
3 |
Р6 |
0 |
28 |
2 |
-4 |
0 |
0 |
1 | |
0 |
-3 |
-2 |
5 |
0 |
0 |
0 |
Опорный план X1=(0;0;0;30;24;28) не является оптимальным т.к. <0, <0 mах( |-3| , |-2| )=3 направляющий столбец P1.
направляющая строка третья
Разрешающий элемент равен 4. Исключим из базиса вектор Р6 и введем в базис вектор P1. Составим новую симплекс-таблицу.
Таблица 4 – Итерация 2
i |
Базис |
Сб |
Ро |
3 |
2 |
-5 |
0 |
0 |
0 |
P1 |
Р2 |
Р3 |
Р4 |
P5 |
Р6 | ||||
1 |
Р4 |
0 |
16 |
0 |
-4 |
7 |
1 |
0 |
0 |
2 |
Р5 |
0 |
45 |
0 |
-3/2 |
3 |
0 |
1 |
0 |
3 |
Р1 |
3 |
7 |
1 |
-1 |
0 |
0 |
||
|
21 |
0 |
2 |
0 |
0 |
Опорный план X2=(7; 0; 0;16; 45; 0) не является оптимальным т.к. <0.
Направляющий столбец P2.
, направляющая строка третья
Разрешающий элемент равен . Исключим из базиса вектор Р1 и введем в базис вектор P2. Составим новую симплекс-таблицу.
Таблица 5 – Итерация 3
i |
Базис |
Сб |
Ро |
3 |
2 |
-5 |
0 |
0 |
0 |
P1 |
Р2 |
Р3 |
Р4 |
P5 |
Р6 | ||||
1 |
Р4 |
0 |
72 |
8 |
0 |
-1 |
1 |
0 |
|
2 |
Р5 |
0 |
66 |
3 |
0 |
0 |
0 |
1 |
|
3 |
Р2 |
2 |
14 |
2 |
1 |
-2 |
0 |
0 |
|
|
28 |
1 |
0 |
1 |
0 |
0 |
1 |