Курсовая работа по «Теории принятия решения»

Автор работы: Пользователь скрыл имя, 04 Ноября 2013 в 20:43, курсовая работа

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

Линейное программирование — раздел математического программирования, применяемый при разработке методов отыскания экстремума линейных функций нескольких переменных при линейных дополнительных ограничениях, налагаемых на переменные. По типу решаемых задач методы делятся на универсальные и специальные.
С помощью универсальных методов могут решаться любые задачи линейного программирования (ЗЛП), а специальные методы учитывают особенности модели задачи, ее целевую функцию и систему ограничений.
Особенностью задач линейного программирования (ЗЛП) является то, что экстремума целевая функция достигает на границе области допустимых решений.

Содержание

1. Линейное программирование 4
1.1. Симплекс метод решения ЗЛП 4
1.1.1.Построение опорного(начального плана 4
1.1.2.Признак оптимальности опорного плана. Симплексные таблицы 6
1.1.3.Переход к нехудшему опорному плану 7
1.1.4.Симплексные преобразования 8
1.2. Блок-схема решения задачи 10
1.3. Физическая интерпретация задачи 11
1.4. Аналитическое решение задачи 11
2. Транспортная задача линейного программирования 13
2.1. Определение транспортной задачи 13
2.1.1. Формулировка ТЗЛП 13
2.1.2. Математическая формулировка ТЗЛП 13
2.1.3. Нахождение начального плана транспортировок. Метод северо-западного угла 14
2.1.4. Оптимальный план транспортной задачи. Метод потенциалов. 15
2.1.5. Получение оптимального плана транспортной задачи с использованием метода потенциалов 15
2.2. Блок-схема решения задачи 17
2.3. Физическая интерпретация задачи 18
2.4. Аналитическое решение задачи 18
3. Дискретное программирование 26
3.1. Пример целочисленной задачи линейного программирования. Алгоритм метода Гомори 26
3.1.1. Процесс формирования правильного отсечения 27
3.2. Блок-схема решения задачи 28
3.3. Физическая интерпретация задачи 29
3.4. Аналитическое решение задачи 29
Список используемой литературы 35

Вложенные файлы: 1 файл

Курсовой по ТПР.doc

— 1.33 Мб (Скачать файл)

 

Общие затраты на доставку всей продукции, для данного решения, составляют

S0=1120+(1*35-5*35+3*35-6*35)=875 денежных единиц.

Ячейка А2В3 выйдет из базиса, а ячейка А2В1 станет базисной, вводится новый маршрут доставки от поставщика А2 к потребителю В1.

Табл.21

Поставщик

Потребитель

Запас

В1

В2

В3

В4

А1

40   6

          7

60   3

5

100

А2

35   1

80   2

       5

35    6

150

А3

8

10

20

50    1

50

Потребность

75

80

60

85

 

 

Шаг3. Произведем оценку полученного решения.

Каждому поставщику Ai ставим в соответствие некоторое число – ui, называемое потенциалом поставщика. Каждому потребителю Bj ставим в соответствие некоторое число – vj, называется потенциалом потребителя. Для базисной ячейки, сумма потенциалов поставщика и потребителя должна быть равна тарифу данного маршрута

(ui + vj= сij, где сij - тариф клетки AiBj). Поскольку, число базисных клеток 6, а количество потенциалов 7, то для однозначного определения потенциалов, значение одного из них можно выбрать произвольно.

Возьмем u2=0.

 

 

v1+u1=c11

v1+u2=c21

v2+u2=c22

v3+u1=c13

v4+u2=c24

v4+u3=c34

v1+u1=6

v1+u2=1

v2+u2=2

v3+u1=3

v4+u2=6

v4+u3=1

v2=2-0=2

u1=6-1=5

v1=1-0=1

v3=3-5=-2

v4=6-0=6

u3=1-6=-5

 

Табл.22

Поставщик

Потребитель

Uj

В1

В2

В3

В4

А1

40     6

          7

60        3

5

U1=5

А2

35     1

80      2

        5

35       6

U2=0

А3

8

     10

20

50       1

U3=-5

Vi

V1=1

V2=2

V3=-2

V4=6

 

 

 Найдем оценки свободных ячеек следующим образом:

Δ1212-(u1+v2)=7-(5+2)=0

Δ1414-(u1+v4)=5-(5+6)=-6

Δ2323-(u2+v3)=5-(-2+0)=7

Δ3131-(u3+v1)=8-(-5+1)=12

Δ3232-(u3+v2)=10-(-5+2)=13

Δ3333-(u3+v3)=20-(-2+(-5))=27

Табл.23

Поставщик

Потребитель

Uj

В1

В2

В3

В4

А1

40     6

0             7

60        3

-6             5

U1=5

А2

35       1

80      2

7            5

35       6

U2=0

А3

12         8

13         10

27        20

50       1

U3=-5

Vi

V1=1

V2=2

V3=-2

V4=6

 

Оценка свободной ячейки А1В4 отрицательная, следовательно, решение не является оптимальным. Построим цикл для выбранной ячейки А1В4. Ячейки, образующие цикл для свободной ячейки А1В4: А1В4, А1В1, А2В1, А2В4. Среди ячеек цикла А1В1, А2В4, номера которых четные, найдем ячейку, обладающую наименьшим значением min{40,35}=35. Другими словами, из маршрутов доставки продукции, номера которых нечетные в данном цикле, выберем маршрут от поставщика А2 к потребителю В4, по которому доставляется меньше всего (35) единиц продукции. Данный маршрут исключим из схемы доставки продукции. От ячеек с четными номерами отнимем 35, а к четным прибавим 35.

Табл.24

Поставщик

Потребитель

Uj

В1

В2

В3

В4

А1

40-35     6

              7

60         3

-6    35      5

U1=-2

А2

35+35      1

80      2

          5

35-35   6

U2=0

А3

                      8

             10

               20

50        1

U3=-5

Vi

V1=8

V2=2

V3=5

V4=6

 

 

Общие затраты на доставку всей продукции, для данного решения, составляют

S0=875+(5*35-6*35+1*35-6*35)=665 денежных единиц.

Ячейка А2В4 выйдет из базиса, а ячейка А1В4 станет базисной, вводится новый маршрут доставки от поставщика А1 к потребителю В4.

Табл.25

Поставщик

Потребитель

Запас

В1

В2

В3

В4

А1

5     6

          7

60   3

35    5

100

А2

70   1

80   2

       5

        6

150

А3

8

10

20

50    1

50

Потребность

75

80

60

85

 

 

Шаг4. Произведем оценку полученного решения.

Каждому поставщику Ai ставим в соответствие некоторое число – ui, называемое потенциалом поставщика. Каждому потребителю Bj ставим в соответствие некоторое число – vj, называется потенциалом потребителя. Для базисной ячейки, сумма потенциалов поставщика и потребителя должна быть равна тарифу данного маршрута

(ui + vj= сij, где сij - тариф клетки AiBj). Поскольку, число базисных клеток 6, а количество потенциалов 7, то для однозначного определения потенциалов, значение одного из них можно выбрать произвольно.

Возьмем u2=0.

 

 

v1+u1=c11

v1+u2=c21

v2+u2=c22

v3+u1=c13

v4+u1=c14

v4+u3=c34

v1+u1=6

v1+u2=1

v2+u2=2

v3+u1=3

v4+u1=5

v4+u3=1

v2=2-0=2

u1=6-1=5

v1=1-0=1

v3=3-5=-2

v4=5-5=0

u3=1-0=1

 

 

Табл.26

Поставщик

Потребитель

Uj

В1

В2

В3

В4

А1

5      6

          7

60        3

35       5

U1=5

А2

70     1

80      2

         5

           6

U2=0

А3

8

     10

20

50       1

U3=1

Vi

V1=1

V2=2

V3=-2

V4=0

 

 Найдем оценки свободных ячеек следующим образом:

Δ1212-(u1+v2)=7-(5+2)=0

Δ2323-(u2+v3)=5-(0+(-2))=7

Δ2424-(u2+v4)=6-(0+0)=6

Δ3131-(u3+v1)=8-(1+1)=6

Δ3232-(u3+v2)=10-(1+2)=7

Δ3333-(u3+v3)=20-(1-(-2))=19

Табл.27

Поставщик

Потребитель

Uj

В1

В2

В3

В4

А1

5      6

0             7

60        3

35          5

U1=5

А2

70       1

80      2

7            5

6             6

U2=0

А3

         8

         10

19        20

50       1

U3=1

Vi

V1=1

V2=2

V3=-2

V4=0

 

Все оценки свободных ячеек неотрицательные, следовательно, найдено оптимальное  решение.

   
 

5

0

60

35

Хопт. =

70

80

0

0

 

0

0

0

50


 

Smin=6*5+70*1+80*2+60*3+35*5+50*1=665

Общие затраты на доставку всей продукции  для оптимального решения составят 665 руб. При этом от поставщика А1 доставляется: 5кг - потребителю В1, 60кг - потребителю В3, 35кг - потребителю В4;от поставщика А2 доставляется: 70кг - потребителю В1, 80кг - потребителю В2; от поставщика А3 доставляется: 50кг - потребителю В4.

 

3. Дискретное программирование.

 

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

Дискретными являются задачи с логическими  переменными, принимающими только два  значения 0 или 1. Иногда дискретное программирование называется целочисленным, однако ДП не всегда целочисленное. Например, ряд вместимостей (М3) – 1,3; 1,6; 1,9;… дискретный, но не целочисленный. Отсюда целочисленное программирование правильно считать частным случаем ДП.

 

3.1. Пример целочисленной задачи линейного программирования. Алгоритм метода Гомори.

 

max (min) Z=∑CjXj (1)

∑aijxj=bi (i=1,m) (2)

xj≥0 (j=1,n) (3)

xj – целые (j=1,n) (4)

Алгоритм метода Гомори состоит  из следующих этапов:

  1. Решается задача 1-3 с отброшенным условием целочисленности;
  2. Полученное оптимальное решение (если оно существует) проверяется на целочисленность. Если условие целочисленности выполняется по всем переменным, то оптимальное решение задач 1-4 совпадает с оптимальным решением задач 1-3. Если это условие не выполняется хотя бы по одной переменной, то переходят к третьему этапу. Если задача 1-3 оказывается неразрешимой, то задача 1-4 тоже не имеет решений.
  3. Строится дополнительное ограничение, отсекающее часть области, в которой содержится оптимальное решение задачи 1-3 и не содержится ни одного допустимого решения задачи 1-4.
  4. Последний этап представляет возвращение к ЗЛП с отброшенным условием целочисленности, но с расширенной системой ограничений, в которую включенное дополнительное ограничение, полученное на 3 этапе. К расширенной системе ограничений вновь применяется симплексная процедура. Если найденное таким образом решение будет опять не целым, то формируется новое дополнительно ограничение и процесс вычисления повторяется.

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

Основное в алгоритме: это составление  дополнительного ограничения, которое  называется правильным отсечением. Правильное отсечение должно удовлетворять  следующим условиям:

  1. Быть линейным
  2. Отсекать найденное оптимальное целочисленное решение задачи 1-3
  3. Не отсекать ни одной из целочисленных точек 1-4

Если после очередной итерации окажется, что в оптимальном плане  задачи 1-3 имеется несколько не целых  координат, то для построения отсекающей гиперплоскости целесообразно выбрать  строку, содержащую свободный член с наибольшей дробной частью.

Информация о работе Курсовая работа по «Теории принятия решения»