Понятия линейного программирования

Автор работы: Пользователь скрыл имя, 23 Апреля 2013 в 23:07, курсовая работа

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

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

Содержание работы

Введение………………………………………………………….…………4
Теоретическая часть…………………………………………………………6
Понятия линейного программирования……………………………6
Общая задача линейного программирования……………..….……6
Симплекс-метод……………………………………………..………7
Алгоритм Симплекс-метода: ………………………………………8
Метод искусственного базиса: ………………………………….…8
Двойственный симплекс-метод………………………………….…9
Практическая часть………………………………………………………12
Решение задачи линейного программирования…………………12
графический метод……………………………………………………….12
метод симплекс-таблица…………………………………………………26
Решение задачи на определение планового объёма и структуры товарооборота……………………………………………………………………36
Решение двойственной задачи линейного программирования…39
составление двойственной задачи линейного программирования……39
установка сопряженных пар переменных прямой и двойственной задач……………………………………………………………………………...39
решение двойственной задачи…………………………………..….……39
Заключение………………………………………………………..………44
Использованная литература……………………………………...………45

Файлы: 1 файл

Kursovaya_rabota_po_ChM_Shapakov.docx

— 216.11 Кб (Скачать файл)

 

  1. Все коэффициенты в строке целевой функции – неположительные  ,  следовательно выполнены условия оптимальности решения
  2. В столбце свободных членов есть отрицательный элемент , следовательно, выделенное базисное решение не является допустимым (так как все неизвестные должны быть неотрицательными). Строку с отрицательным свободным членом назовём «разрешающей».
  3. Находим в разрешающей строке отрицательные элементы. Если таковых нет, задача решения не имеет.
  4. В разрешающей строке есть отрицательные элементы . Составляем соотношения коэффициентов целевой функции (они не положительные) к отрицательным элементам разрешающей строки и находим среди этих отношений наименьшее:

.

Столбец коэффициентов в ограничениях задачи с наименьшим отношением назовём  «разрешающим».

  1. На пересечении разрешающей строки и разрешающего столбца находится отрицательный разрешающий элемент (в таблице условно выделен элемент –a31). Производим преобразование Гаусса-Жордана с найденным разрешающим элементом.
  2. В результате этого преобразования коэффициенты при неизвестных в строке целевой функции останутся неположительными, а число отрицательных элементов в столбце свободных членов уменьшится.
  3. Через конечное число шагов или будет получено оптимальное решение, или же будет установлено, что допустимых (неотрицательных) решений нет.

Существует целый класс задач (типа задачи о диете), условия которых  естественным образом формулируются  сразу во 2-й стандартной форме. Для решения таких задач двойственный симплекс метод более удобен, чем  обычный алгоритм.

 

 

  1. Практическая часть.

 

    1. Решение задачи линейного программирования.
      • Графический метод.

Построим область допустимых решений, т.е. решим графически систему неравенств. Для этого построим каждую прямую и определим полуплоскости, заданные:

      

x1

0

2

x2

3

1


     

x1

2

3

x2

4

6


x1

4

4

x2

0

3


x1

0

7

x2

5

5


     - ось Ох2

- ось Ох1

 

Рассмотрим целевую функцию  задачи Z = 2x1+x2 → max.

Построим прямую, отвечающую значению функции Z = 0: Z = 2x1+x2 = 0. Будем двигать эту прямую параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области.

Так как точка D получена в результате пересечения прямых (2) и (3), то ее координаты удовлетворяют уравнениям этих прямых:

Решив систему уравнений, получим: x1 = 2.75, x2 = 2.25

Откуда найдем максимальное значение целевой функции:

Zmax = 2·2.75 + 1·2.25 = 7.75

Рассмотрим целевую функцию  задачи Z = 2x1+x2 → min.

Построим прямую, отвечающую значению функции Z = 0: Z = 2x1+x2 = 0. Будем двигать эту прямую параллельным образом. Поскольку нас интересует минимальное решение, поэтому двигаем прямую до первого касания обозначенной области.

Так как точка A получена в результате пересечения прямых (1) и (4), то ее координаты удовлетворяют уравнениям этих прямых:

Решив систему уравнений, получим: x1 = 0.4286, x2 = 0.8571

Откуда найдем минимальное значение целевой функции:

Zmin = 2·0.4286 + 1·0.8571 = 1.71

Ответ: Zmax = 7.75; Zmin = 1.71

 

  • метод симплекс-таблица.

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

В 1-м неравенстве смысла (≥) вводим базисную переменную x3 со знаком минус. В 2-м неравенстве смысла (≤) вводим базисную переменную x4. В 3-м неравенстве смысла (≤) вводим базисную переменную x5. В 4-м неравенстве смысла (≥) вводим базисную переменную x6 со знаком минус.

Введем искусственные  переменные x: в 1-м равенстве вводим переменную y1;  в 4-м равенстве вводим переменную y2;

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

y1== 3-x1-3x2+x3

y2=0-2x1+x2+x6

Составим новую линейную функцию h=-(y1+y2) .

h=-(3-x1-3x2+x3+0-2x2+x6)=-(3-3x1-2x2+x3+x6)=-3-(-3x1-2x2+x3+x6)

h=-3-(-3x1-2x2+x3+x6)

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

Z=0-(-2x1-x2) => max

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

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

y1, x4, x5, y2,

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

X1 = (0,0,0,6,5,0,3,0)

 

 

 

 

Базис 

Свободные

член

Переменные

Оценочные

отношения

x1

x2

x3

x4

x5

x6

y1

y2

y1

3

1

3

-1

0

0

0

1

0

3

x4

6

3

-1

0

1

0

0

0

0

2

x5

5

1

1

0

0

1

0

0

0

5

y2

0

2

-1

0

0

0

-1

0

1

0

z

0

-2

-1

0

0

0

0

0

0

 

h

-3

-3

-2

1

0

0

1

0

0

 



 

 

 

 

 

 

 

Базисное решение называется допустимым, если оно неотрицательно.

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

Итерация №1.

1. Проверка критерия  оптимальности.

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

2. Определение  новой базисной переменной.

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

3. Определение  новой свободной переменной.

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

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

max=[3, 2,5,0]=0

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

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

 

 

 

 

 

 

Базис 

Свободные

член

Переменные

Оценочные

отношения

x1

x2

x3

x4

x5

x6

y1

y2

y1

3

1

3

-1

0

0

0

1

0

3

x4

6

3

-1

0

1

0

0

0

0

2

x5

5

1

1

0

0

1

0

0

0

5

y2

0

2

-1

0

0

0

-1

0

1

0

z

0

-2

-1

0

0

0

0

0

0

 

h

-3

-3

-2

1

0

0

1

0

0

 



 

 

 

 

 

 

4. Пересчет симплекс-таблицы.

Формируем следующую часть  симплексной таблицы.

Вместо переменной y2 в план 1 войдет переменная x1

Строка, соответствующая  переменной x1 в плане 1, получена в результате деления всех элементов строки y2 плана 1 на разрешающий элемент =0

На месте разрешающего элемента в плане 1 получаем 1.

В остальных клетках столбца x2 плана 1 записываем нули.

Таким образом, в новом  плане 1 заполнены строка x1 и столбец x1 .

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

Базис 

Свободные

член

Переменные

Оценочные

отношения

x1

x2

x3

x4

x5

x6

y1

y2

y1

3

0

3,5

-1

0

0

0,5

1

-0,5

 

x4

6

0

0,5

0

1

0

1,5

0

-1,5

 

x5

5

0

1,5

0

0

1

0,5

0

-0,5

 

x1

0

1

-0,5

0

0

0

-0,5

0

0,5

 

z

0

0

-2

0

0

0

-1

0

1

 

h

-3

0

-3,5

1

0

0

-0,5

0

1,5

 

Информация о работе Понятия линейного программирования