Автор работы: Пользователь скрыл имя, 09 Сентября 2011 в 10:53, реферат
Линейное программирование - один из первых и наиболее подробно изученных разделов математического программирования. Именно линейное программирование явилось тем разделом, с которого начала развиваться сама дисциплина «математическое программирование». Термин «программирование» в названии дисциплины ничего общего с термином «программирование (т.е. составление программ) для ЭВМ» не имеет, так как дисциплина «линейное программирование» возникла еще до того времени, когда ЭВМ стали широко применяться при решении математических, инженерных, экономических и др. задач.
Введение
Глава 1 Симплексный метод решения задач линейного программирования
1.1 Математическая модель задач линейного программирования
1.2 Стандартная и каноническая форма задач линейного программирования
1.3 Алгоритм решения задачи линейного программирования симплексным методом
1.4 Решение задачи симплексным методом
1.5 Вывод
Глава 2 Транспортная задача линейного программирования
2.1 Транспортная задача
2.2 Особенности транспортной задачи ограничениями на пропускную способность
2.3 Алгоритм решения транспортной задачи
2.4 Методы построения начального опорного решения
2.5 Метод потенциалов
2.6 Переход от первого опорного решения к другому
2.7 Решение транспортной задачи
2.8 Вывод
Заключение
Литература
Цикл строится для клетки в которой наибольшая положительная оценка Аij max{∆ij}. В эту клетку ставится знак “+” и она добавляется к заполненным клеткам таблицы.(т.е заполненных клеток становится m+n). Затем методом вычеркивания строится цикл.
Метод вычеркивания:
В таблице можно вычеркнуть те строки и столбцы в которых по одной заполненной клетке, причем, вычеркнутые строки и столбцы уже не учитываются.
Оставшиеся
клетки таблицы после вычеркивания образуют
цикл. В найденном цикле расставляются
знаки “+;-“ , в нечетных клетках “+”; в
четных “-“; начиная с уже поставленного
знака “+”. По циклу перераспределяется
груз величиной тетта Ɵ=min”-“ {xij}.
При построении нового решения все вычеркнутые
клетки переписываются без изменения.
В клетках со знаком “+” величина перевозки
увеличивается на Ɵ. Со знаком “-“ уменьшается
на Ɵ, при этом одна из помеченных клеток
останется пустой.
Фирма «Союз» обеспечивает доставку видео- и аудеокассет с четырех складов, расположенных в разныхточках города в четыре магазина.
Запас кассет , имеющихся на складах , а также обьемы заказов магазинов и тарифы на доставку представлены в транспортной таблице.
Склады | Магазины | Запасы,
тыс.шт. | |||
№1 | №2 | №3 | №4 | ||
Склад №1 | 3 | 2 | 5 | 4 | 1000 |
Склад №2 | 4 | 3 | 5 | 3 | 1500 |
Склад №3 | 1 | 1 | 3 | 2 | 500 |
Склад №4 | 1 | 1 | 6 | 3 | 1500 |
500 | 500 | 1000 | 1500 |
Однако имеются дополнительные условия : объем перевозки кассет со склада №2 магазину №3 должен быть не менее 500 тыс.шт (x23≥500), а со склада №4 магазину №4 – не более 500 тыс.шт (x44≤500).
Определите
оптимальный план поставок кассет в
магазины города, обеспечивающий минимальный
затраты.
bj
ai |
500 | 500 | 1000 | 1500 | Ф
1000 |
1000 |
3 | 2 | 5 | 4 | 0 |
1500 |
4 | 3 | 5 | 3 | 0 |
500 |
1 | 1 | 3 | 2 | 0 |
1500 |
4 | 1 | 6 | 3 | 0 |
Проверяем баланс задачи:
∑ai=1000+1500+500+1500=4500
∑bj=500+500+1000+1500=3500
Т.к. ∑ai>∑bj,
то вводим фиктивного потребителя b5=4500-3500=1000
Требуется при решении транспортной задачи ограничить перевозки от поставщика с номером 2 и потребителю с номером 3.
Если x23≥500, то необходимо прежде, чем решать задачу, сократить запасы 2-го поставщика и запросы 3-го потребителя на величину 500 (зарезервировать перевозку x23=500). В полученном оптимальном решении следует увеличить объем перевозки x23 на величину 500.
bj
ai |
500 | 500 | 500 | 1500 | Ф
1000 |
1000 |
3 | 2 | 5 | 4 | 0 |
1000 |
4 | 3 | 5 | 3 | 0 |
500 |
1 | 1 | 3 | 2 | 0 |
1500 |
4 | 1 | 6 | 3 | 0 |
Если
x44≤500, то необходимо вместо 4-го
потребителя с запросами b4=1500 ввести
двух других потребителей. Один из них
с номером 4 должен иметь запросы b4’
= 500, а другой с номером 6 с запросами b6
= 1500-500=1000. Стоимости перевозок для этих
потребителей остаются прежними, за исключением
стоимости c44, которая принимается
равной сколь угодно большому числу
M (M<< 1). После получения оптимального
решения величины грузов, перевозимых
к 6-му потребителю, прибавляются к величинам
перевозок 4-го потребителя. Так как
c44 = M – самая большая стоимость
перевозки, то в оптимальном решении клетка
с номером (4,4) останется пустой (x44=0)
и объем перевозки x44 не превзойдет
500.
bj
ai |
500 | 500 | 500 | 500* | 1000Ф | 1000* | |
1000 | 3
0 |
2
1 |
- 5
|
4
0 |
0
2 + |
4
500 |
U1=0 |
1000 | 4
- |
3
- |
5
- |
3
500 |
0
1 |
3
500 |
U2=-1 |
500 | 1
500 |
-
1
0 |
+ 3
0 |
2
0 |
0
0 |
2
0 |
U3=-2 |
1500 | 4
- |
+ 1
|
6
- |
3
- |
- 0
1000 |
M
- |
U4=-2 |
V1=3 | V2=3 | V3=5 | V4=4 | V5=2 | V6=4 |
Строим
начальное решение методом
С=
Находим значение целевой функции:
Z(x)=
2500+2000+1500+1500+500+500=
Для каждого поставщика и потребителя находим потенциал. Для этого составлем систему уравнений Ui+Vi=Cij для каждой заполненной решением клетки таблицы:
Ui+Vj=Cij;U1=0
Пусть U1=0, тогда:
U1+V3=5 => V3=5
U1+V6=4 => V6=4
U2+V4=3 => V4=4
U2+V6=3 => U2= -1
U3+V1=1 => V1=3
U3+V2=1 => V2=3
U3+V3=3 => U3= -2
U4+V2=1 => U4= -2
U4+V5= 0 => V5=2
Для всех не заполненных решением клеток таблицы вычисляем оценку ∆ij=Ui+Vj-Cij .
∆11=U1+V1-C11=0+3-3=0 ≤0
∆12=U1+V2-C12=0+3-2=1 ≥0
∆14=U1+V4-C14=0+4-4=0 ≤0
∆15=U1+V5-C15=0+2-0=2 ≥0
∆21=U2+V1-C21=1+3-4=-2 ≤0
∆22=U2+V2-C22=-1+3-3=-1 ≤0
∆23=U2+V3-C23=-1+5-5=-1 ≤0
∆25=U2+V5-C25=-1+2-0=1 ≥0
∆34=U3+V4-C34=-2+4-2=0 ≤0
∆35=U3+V5-C35=-2+2-0=0 ≤0
∆36=U3+V6-C36=-2+4-2=0 ≤0
∆41=U4+V1-C41=-2+3-4=-3 ≤0
∆43=U4+V3-C43=-2+5-6=-3 ≤0
∆44=U4+V4-C44=-2+4-3=-1 ≤0
∆46=U4+V6-C46=-2+4-M=2-M ≤0
Так как ∆25<0, ∆12<0, ∆15<0, то решение не оптимальное и его можно улучшить
Ɵ min
{500;1000;0}=0
bj
ai |
500 | 500 | 500 | 500* |
ф
1000 |
1000* | |
1000 | 3
0 |
2
- |
5
500 |
4
0 |
0
|
4
- 500 |
U1=0 U2=-1 |
1000 | 4
- |
3
- |
5
- |
3
|
0
- |
3
+500 | |
500 | 1
500 |
1
- |
3
0 |
2
0 |
0
- |
2
0 |
U3=-2 U4=0 |
1500 | 4
- |
1
500 |
6
- |
3
1 + |
- 0
1000 |
M
- | |
V1=3 |
V2=1 |
V3=5 |
V4=4 |
V5=0 |
V6=4 |
Информация о работе Решение задач линейного программирования