Автор работы: Пользователь скрыл имя, 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
Общие затраты на доставку всей продукции, для данного решения, составляют
S0=1120+(1*35-5*35+3*35-6*35)=
Ячейка А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 |
Найдем оценки свободных ячеек следующим образом:
Δ12=с12-(u1+v2)=7-(5+2)=0
Δ14=с14-(u1+v4)=5-(5+6)=-6
Δ23=с23-(u2+v3)=5-(-2+0)=7
Δ31=с31-(u3+v1)=8-(-5+1)=12
Δ32=с32-(u3+v2)=10-(-5+2)=13
Δ33=с33-(u3+v3)=20-(-2+(-5))=
Табл.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)=
Ячейка А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 |
Найдем оценки свободных ячеек следующим образом:
Δ12=с12-(u1+v2)=7-(5+2)=0
Δ23=с23-(u2+v3)=5-(0+(-2))=7
Δ24=с24-(u2+v4)=6-(0+0)=6
Δ31=с31-(u3+v1)=8-(1+1)=6
Δ32=с32-(u3+v2)=10-(1+2)=7
Δ33=с33-(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 |
6 8 |
7 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+
Общие затраты на доставку всей продукции для оптимального решения составят 665 руб. При этом от поставщика А1 доставляется: 5кг - потребителю В1, 60кг - потребителю В3, 35кг - потребителю В4;от поставщика А2 доставляется: 70кг - потребителю В1, 80кг - потребителю В2; от поставщика А3 доставляется: 50кг - потребителю В4.
3. Дискретное программирование.
Дискретное программирование –
это раздел математического
Дискретными являются задачи с логическими переменными, принимающими только два значения 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-3 имеется несколько не целых координат, то для построения отсекающей гиперплоскости целесообразно выбрать строку, содержащую свободный член с наибольшей дробной частью.
Информация о работе Курсовая работа по «Теории принятия решения»