Математические методы

Автор: Пользователь скрыл имя, 22 Декабря 2012 в 20:34, курсовая работа

Описание работы

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

Содержание

Аннотация………………………………………………………………………………3
Введение………………………………………………………………………………..4
Глава 1. Теоретическая часть………………………………………………………….6
1.1 История возникновения линейного программирования………………………6-8
1.2 Основные теоремы линейного программирования………………………………9
1.3 Основные понятия линейного программирования………………………….10-11
1.4 Методы решения задач линейного программирования..................................12-16
1.5 Алгоритм симплексного метода……………………………………………...17-18
1.6 Реализация симплексного метода.........................................................................19
Глава 2. Практическая часть……………………………………………………...20-27
2.1 Решение задачи линейного программирования симплексным методом......20-24
2.2 Решение задачи линейного программирования с помощью электронных таблиц………………………………………………………………………………….25
2.3 Решение задачи линейного программирования с помощью программы......26-27
Заключение…………………………………………………………………………….28
Список литературы……………………………………………………………………29
Приложение. Код программы…………………………………………………….30-38

Работа содержит 1 файл

Курсовая по мат методам.docx

— 197.25 Кб (Скачать)

Симплекс-таблица Т(q), соответствует  допустимому базису КЗЛП β(q)), получаемому  на q-й итерации. Столбец N(β(q)) содержит номера базисных столбцов (в той  последовательности, в которой они  входят в базис), столбец b(β(q)) —компоненты  вектора ограничений относительно текущего базиса β(q), A(β(q)) — компоненты матрицы задачи относительно текущего базиса β(q). Наконец, в строке а0(β(q)) находятся текущие оценки столбцов, а ячейка b0(β(q)) содержит значение целевой  функции, достигаемое для текущего плана.

Безусловно, следует добавить, что табличная модификация симплекс-метода имеет важное практическое значение не столько как удобная форма  организации ручного счета, сколько  как основа для реализации данного  алгоритма в рамках программного обеспечения ЭВМ.

 

Глава 2. Практическая часть

2.1 Решение задачи линейного программирования симплексным методом

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

Поскольку в правой части  присутствуют отрицательные значения, умножим соответствующие строки на (-1).

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

x1 + 2x2 - x3 + 5x4≥22

- 2x1 + 2x2 + 3x3 - 6x4≥12

2x1 - 2x3 - 7x4≤6

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

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

-2x1 + 2x2 + 3x3-6x4 + 0x5-1x6 + 0x7 = 12

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

Введем искусственные  переменные x: в 1-м равенстве вводим переменную x8; в 2-м равенстве вводим переменную x9;

1x1 + 2x2-1x3 + 5x4-1x5 + 0x6 + 0x7 + 1x8 + 0x9 = 22

-2x1 + 2x2 + 3x3-6x4 + 0x5-1x6 + 0x7 + 0x8 + 1x9 = 12

2x1 + 0x2-2x3-7x4 + 0x5 + 0x6 + 1x7 + 0x8 + 0x9 = 6

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

F(X) = 2x1+x2+2x3+4x4 - Mx8 - Mx9 → max

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

x8 = 22-x1-2x2+x3-5x4+x5

x9 = 12+2x1-2x2-3x3+6x4+x6

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

F(X) = (2-M)x1+(1+4M)x2+(2+2M)x3+(4-M)x4+(-M)x5+(-M)x6+(-34M) → max

Таблица 1 - Матрица коэффициентов A = a(ij) этой системы уравнений

1

2

-1

5

-1

0

0

1

0

-2

2

3

-6

0

-1

0

0

1

2

0

-2

-7

0

0

1

0

0


 

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

x8, x9, x7,

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

X1 = (0,0,0,0,0,0,6,22,12)

Таблица 2 – Исходная симплекс- таблица

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x9

x8

22

1

2

-1

5

-1

0

0

1

0

x9

12

-2

2

3

-6

0

-1

0

0

1

x7

6

2

0

-2

-7

0

0

1

0

0

F(X0)

-34M

-2+M

-1-4M

-2-2M

-4+M

M

M

0

0

0


 

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

Итерация №0.

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

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

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

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

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

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

Таблица 3 - Исходная симплекс-таблица  с обозначенными ведущими строкой  и столбцом

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x9

min

x8

22

1

2

-1

5

-1

0

0

1

0

11

x9

12

-2

2

3

-6

0

-1

0

0

1

6

x7

6

2

0

-2

-7

0

0

1

0

0

-

F(X1)

-34M

-2+M

-1-4M

-2-2M

-4+M

M

M

0

0

0

0


 

Получаем новую симплекс-таблицу:

Таблица 4 – Симплекс-таблица, полученная после вычислений

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x9

x8

10

3

0

-4

11

-1

1

0

1

-1

x2

6

-1

1

11/2

-3

0

-1/2

0

0

1/2

x7

6

2

0

-2

-7

0

0

1

0

0

F(X1)

6-10M

-3-3M

0

-1/2+4M

-7-11M

M

-1/2-M

0

0

1/2+2M


 

Итерация №1.

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

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

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

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

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

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

Таблица 5 – Симплекс таблица  с обозначенными ведущими строкой  и столбцом

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x9

min

x8

10

3

0

-4

11

-1

1

0

1

-1

10/11

x2

6

-1

1

11/2

-3

0

-1/2

0

0

1/2

-

x7

6

2

0

-2

-7

0

0

1

0

0

-

F(X2)

6-10M

-3-3M

0

-1/2+4M

-7-11M

M

-1/2-M

0

0

1/2+2M

0


 

Получаем новую симплекс-таблицу:

Таблица 6 – Симплекс-таблица, полученная после вычислений

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x9

x4

10/11

3/11

0

-4/11

1

-1/11

1/11

0

1/11

-1/11

x2

88/11

-2/11

1

9/22

0

-3/11

-5/22

0

3/11

5/22

x7

124/11

310/11

0

-46/11

0

-7/11

7/11

1

7/11

-7/11

F(X2)

124/11

-11/11

0

-31/22

0

-7/11

3/22

0

7/11+M

-3/22+M


 

 

 

Итерация №2.

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

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

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

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

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

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

Таблица 7 – Симплекс таблица  с обозначенными ведущими строкой  и столбцом

Базис

B

x1

x2

x3

x4

x5

x6

x7

x8

x9

min

x4

10/11

3/11

0

-4/11

1

-1/11

1/11

0

1/11

-1/11

-

x2

88/11

-2/11

1

9/22

0

-3/11

-5/22

0

3/11

5/22

211/3

x7

124/11

310/11

0

-46/11

0

-7/11

7/11

1

7/11

-7/11

-

F(X3)

124/11

-11/11

0

-31/22

0

-7/11

3/22

0

7/11+M

-3/22+M

0

Информация о работе Математические методы