Использование линейного программирования для решения задач оптимизации

Автор работы: Пользователь скрыл имя, 27 Июня 2012 в 10:42, курсовая работа

Краткое описание

Целью данной курсовой работы является : освоить навыки использования линейного программирования для решения задач оптимизации. Для этого были поставлены следующие задачи :
1)Изучить теоретические сведения, необходимые для решения задач оптимизации методом линейного программирования.
2)Изучить методы решения задач линейного программирования.
3)Решить поставленные задачи, используя рассмотренные методы линейного программирования.

Содержание

Введение
I.Теоретический раздел
1.1 Понятие о линейном программировании. Формулировка задачи линейного программирования
1.2 Виды задач линейного программирования
1.3 Методы решения задач линейного программирования
II. Практический раздел
2.1 Решение транспортной задачи
2.2 Решение производственной задачи
Заключение

Прикрепленные файлы: 1 файл

курсовая 2.doc

— 384.50 Кб (Скачать документ)

 

х3 = 432 - 5х2 ≥ 0;                            х2 ≤ 432;

х4 = 424 - 4х2 ≥ 0; откуда                х2 ≤ 424;

х5 = 532- 3х2 ≥ 0;                             х2 ≤ 532.

 

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

Очевидно, что сохранение неотрицательности всех переменных возможно, если не нарушается ни одна из полученных границ. В данном примере наибольшее возможное значение для переменной х2 определяется как х2 = min {432/5, 106, 532/3} = 86. При х2 = 86 переменная х = 0 и переходит в не основные.

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

II шаг.

Основные переменные: х2, х4, х5.

Не основные переменные: х1, х.3 .

Выразим основные переменные через новые не основные, начиная с разрешающего уравнения(его используем для записи выражения для х2 ) :

 

х2 =86- 0,4 х1 - 0,2х3;

х4 =78 –1,4х1 + 0,8х3;

х 5=273 – 3,8х1 + 0,6х3.

 

Второе базисное решение Х2 = (0, 86, 0, 78, 273 ) является допустимым.

Выразив линейную функцию через не основные переменные на этом шаге, получаем:

 

F = 4320  + 14 x1-10 x3

 

Значение линейной функции F2 = F(X2) =  4320

Поскольку необходимо сохранять допустимость решений, то должны выполняться следующие неравенства(при этом х1 = 0 как не основная переменная):

 

х2 =86 - 0,2х3 ≥ 0;                           х3 ≤ 430;

х4 =78 + 0,8х3 ≥ 0; откуда              х3 ≤ -98;  (11)

х5 =273 + 0,6х3 ≥ 0.                        х3 ≤ -455.

 

Обнаруживаем возможность дальнейшего увеличения линейной функции за счёт переменной х1, входящей в выражение для F с положительным коэффициентом. Система уравнений (11) определяет наибольшее возможное значение для х5 :

 

Х3 = min {430,-98,-455} = -98 .

 

При х3 = -98 х4 = 0 переходит в неосновные переменные.

Разрешающим будет третье уравнение.

III шаг.

Основные переменные: х1, х2, х5.

Неосновные переменные: х4, х3.

Выразим основные переменные через неосновные:

 

х1= 56 – 3/7х3 -2/7х4;

х2 = 64 + 4/7х3 - 5/7х4;

х5 = 60 - 11/7х3 + 19/7х4.

 

Третье базисное решение Х3 = (56, 64,0, 0, 60) является допустимым.

Выразим линейную функцию через неосновные переменные:

 

F = 5104  -2 x3-10 x4.


Значение линейной функции F3 = F(X3) = 5104.

Учитывая, что все x i0, по условию задачи, наибольшее значение функции F равно свободному члену 5104, т.е. мы получили оптимальное решение.

Теперь можем записать ответ.

 

Ответ: максимальная прибыль от реализации продукции равна 5104 ден. ед. X опт = (56 , 64 , 0 , 0 , 60).

 

2 способ:симплекс-метод табличный

 

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

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

2x1+5x2≤432

3x1+4x2≤424

5x1+3x2≤532

2x1 + 5x2 + 1x3 + 0x4 + 0x5 = 432

3x1 + 4x2 + 0x3 + 1x4 + 0x5 = 424

5x1 + 3x2 + 0x3 + 0x4 + 1x5 = 532

Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:

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

x3, x4, x5,

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

X1 = (0,0,432,424,532)

 

Базис

В

x1

x2

x3

x4

x5

x3

432

2

5

1

0

0

x4

424

3

4

0

1

0

x5

532

5

3

0

0

1

F(X0)

0

-34

-50

0

0

0


 

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

№1

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

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

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

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

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

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

 

Базис

В

x1

x2

x3

x4

x5

min

x3

432

2

5

1

0

0

86.4

x4

424

3

4

0

1

0

106

x5

532

5

3

0

0

1

177.33

F(X1)

0

-34

-50

0

0

0

0


 

 

После преобразований получаем новую таблицу:

 

Базис

В

x1

x2

x3

x4

x5

x2

86.4

0.4

1

0.2

0

0

x4

78.4

1.4

0

-0.8

1

0

x5

272.8

3.8

0

-0.6

0

1

F(X1)

4320

-14

0

10

0

0


 

№2

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

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

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

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

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

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

 

Базис

В

x1

x2

x3

x4

x5

min

x2

86.4

0.4

1

0.2

0

0

216

x4

78.4

1.4

0

-0.8

1

0

56

x5

272.8

3.8

0

-0.6

0

1

71.79

F(X2)

4320

-14

0

10

0

0

0

Информация о работе Использование линейного программирования для решения задач оптимизации