Автор работы: Пользователь скрыл имя, 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 Вывод
Заключение
Литература
Z(x)=2500+2000+3000+500+500=
Для каждого поставщика и потребителя находим потенциал. Для этого составлем систему уравнений Ui+Vi=Cij для каждой заполненной решением клетки таблицы:U1=0
U1+V3 => V3=5
U1+V5 => V5=0
U1+V6 => V6=4
U2+V4 => V4=4
U2+V6 => U2=-1
U3+V1 => V1=3
U3+V3 => U3=-2
U4+V2 => V2=1
U4+V5 => U4=0
Для всех не заполненных решением клеток таблицы вычисляем оценку ∆ij=Ui+Vj-Cij .
∆11=U1+V1-C11=0+3-3=0≤0
∆12=U1+V2-C12=0+1-2=-1≤0
∆14=U1+V4-C14=0+4-4=0≤0
∆21=U2+V1-C21=-1+3-4=-2≤0
∆22=U2+V2-C22=-1+1-3=-3≤0
∆23=U2+V3-C23=-1+5-5=-1≤0
∆25=U2+V5-C25=-1+0-0=-1≤0
∆32=U3+V2-C32=-2+1-1=-2≤0
∆34=U3+V4-C34=-2+4-2=0≤0
∆35=U3+V5-C35=-2+0-0=-2≤0
∆36=U3+V6-C36=-2+4-2=0≤0
∆41=U4+V1-C41=0+3-4=-1≤0
∆43=U4+V3-C43=0+5-6=-1≤0
∆44=U4+V4-C44=0+4-3=1≥0
∆46=U4+V6-C46=M≤0
Так как ∆44<0, то решение не оптимальное и его можно улучшить
min {500;500;1000}= 500
bj
ai |
500 | 500 | 500 | 500* |
ф
1000 |
1000* | |
1000 | 3
0 |
2
- |
5
500 |
4
- |
0
500 |
4
0 |
U1=0 U2=-1 |
1000 | 4
- |
3
- |
5
- |
3
- |
0
- |
3
1000 | |
500 | 1
500 |
1
- |
3
0 |
2
- |
0
- |
2
0 |
U3=-2 U4=0 |
1500 | 4
- |
1
500 |
6
- |
3
500 |
0
500 |
M
- | |
V1=3 |
V2=1 |
V3=5 |
V4=3 |
V5=0 |
V6=4 |
Z(x)=2500+3000+1000+1500=8000
Для каждого поставщика и потребителя находим потенциал. Для этого составлем систему уравнений Ui+Vi=Cij для каждой заполненной решением клетки таблицы:U1=0
U1+V3=5 =>V3=5
U1+V5=0 =>V5=0
U1+V6=4 =>V6=4
U2+V6=3 =>U2=-1
U3+V1=1 =>V1=3
U3+V3=3 =>U3=-2
U4+V2=1 =>V2=1
U4+V4=3 =>V4=3
U4+V5=0 =>U4=0
Для всех не заполненных решением клеток таблицы вычисляем оценку ∆ij=Ui+Vj-Cij
∆11=U1+V1=0+3-3=0 ≤0
∆12=U1+V2=0+1-2=-1 ≤0
∆14=U1+V4=0+3-4=-1 ≤0
∆21=U2+V1=-1+3-4=-2 ≤0
∆22=U2+V2=-1+1-3=-3 ≤0
∆23=U2+V3=-1+5-5=-1 ≤0
∆24=U2+V4=-1+9-3=-1 ≤0
∆25=U2+V5=-1+0-0=-1 ≤0
∆32=U3+V2=-2+1-1=-2 ≤0
∆34=U3+V4=-2+3-2=-1 ≤0
∆35=U3+V5=-2+0-0=-2 ≤0
∆36=U3+V6=-2+4-2=0 ≤0
∆41=U4+V1=0+3-4=-1 ≤0
∆43=U4+V3=0+5-6=-1
≤0
В итоге получим таблицу с учетом сделанных выше ограничений:
bj
ai |
500 | 500 | 1000 | 1500 | Ф
1000 |
1000 |
3 | 2 |
5
500 |
4
0 |
0
500 |
1000 |
4 | 3 |
5
500 |
3
1000 |
0 |
500 |
1
500 |
1 | 3
0 |
2 | 0 |
1500 |
4 |
1
500 |
6 | 3
500 |
0
500 |
Целевая функция:
Z(x)=500+500+500+5000+3000+
Ответ: min Z(Х)= 10500
при Х =
Минимальные затраты в размере 10500 денежных единиц достигаются если обеспечить доставку видео- и аудиокассет:
1) со склада №1 в магазин №3 в количестве 500 тыс.шт.;
2) со склада №2 в магазин №3 в количестве 500 тыс.шт. и в магазин №4 в количестве 1000 тыс.шт.;
3) со склада №3 в магазин №1 500 тыс.шт.;
4) со склада
№4 в магазины №2 и №4 в размере 500 тыс.шт.
Заключение
В ходе работы я решал задачу линейного программирования на составления плана производства станков с помощью построения начального решения методом Гаусса и транспортную задачу с ограничениями на пропускную способность на составление плана перевозок с минимальными затратами.
Во время решения задачи на составление плана производства станков линейного программирования симплексным методом, я выбирал переменные x1,x2,x3 так как в задаче сказано о том, что в плане производства использовались станки трёх видов, причем данные переменные должны быть больше нуля. После этого я составлял систему ограничений. Следующим шагом я находил целевую функцию задачи, так как цель задачи составление плана обеспечивающий максимальную прибыль , то целевая функция должна стремится к максимальной прибыли. Следующий мой шаг заключался в приведении задачи к каноническому виду. После приведения задачи к каноническому виду, я строил начальное опорное решение методом Гаусса. Только после этого задачу можно начать решать симплексным методом. Для этого я составлял первую симплексную таблицу, после её составления я проверял решение на оптимальность. Так как ∆5 получилось меньше нуля, то решение не оптимальное, следовательно, его можно улучшить. Для этого я находил новое опорное решение с помощью «правила прямоугольника», определял ключевой столбец и ключевую строку. После этого рассчитывал новые элементы таблицы, затем заполнял таблицу получив элементами и после этого проверял решение на оптимальность, и так как все ∆k были больше нуля, то решение оптимальное, следовательно, наибольшее значение Z(Х) = 72, при Х = (9; 3; 0).
Во
время же решения транспортной задачи
с ограничениями на пропускную способность,
я опирался на условие задачи и
на её дополнительные условия. После
этого я составлял план перевозок
и проверял баланс задачи. В ходе
этой проверки я выяснил, что необходимо
ввести фиктивного потребителя, после
этого я составлял таблицу перевозки товара.
Следующим моим шагом было, выполнение
дополнительных условий задачи, входе
этого мне пришлось немного изменить таблицу
перевозки товара. После этого я составил
математическую модель транспортной задачи.
После этого я задавал целевую функцию
задачи, при условии того, что целью задачи
является перевозка необходимой продукции
с минимальными затратами. Проверял решение
на оптимальность, то есть ∆_(ij ) должно
было быть меньше нуля, но так как данное
условие не выполнялось, то я строил цикл
для клетки, в которой имеется наибольшее
положительное число и в ее ставил знак
плюс и добавлял его к заполненным клеткам.
После этого снова задавал целевую функцию
и проверял решение на оптимальность если
данное условие не выполнялось, то вновь
строил цикл, и так до тех пор пока ∆k
не стало меньше или равно нулю. Когда
же это произошло, я возвращал таблицу
в исходный вид и записывал ответ.
Литература
Информация о работе Решение задач линейного программирования