Автор работы: Пользователь скрыл имя, 27 Января 2012 в 00:57, шпаргалка
Работа содержит ответы на вопросы по дисциплине "Программирование и компьютеры"
1.Симплекс
Min f=-3X1-2X2
{X1+2X2+X3=6
{2X1+X2+X4=8
{-X1+X2+X5=1
{X2+X6=2
{Xi>=0
f+3X1+2X2=0
Базис | Св | X1 | X2 | X3 | X4 | X5 | X6 | |
X3 | 6 | 1 | 2 | 1 | 0 | 0 | 0 | 6/1 |
X4 | 8 | 2 | 1 | 0 | 1 | 0 | 0 | 8/2 |
X5 | 1 | -1 | 1 | 0 | 0 | 1 | 0 | |
X6 | 2 | 0 | 1 | 0 | 0 | 0 | 1 | |
f | 0 | 3 | 2 | 0 | 0 | 0 | 0 | |
X3 | 2 | 0 | 3/2 | 1 | -1/2 | 0 | 0 | 4/3 |
X1 | 4 | 1 | 1/2 | 0 | 1/2 | 0 | 0 | 8 |
X5 | 5 | 0 | 3/2 | 0 | 1/2 | 1 | 0 | 10/3 |
X6 | 2 | 0 | 1 | 0 | 0 | 0 | 1 | 2 |
f | -12 | 0 | 1/2 | 0 | -3/2 | 0 | 0 |
Алгоритм:
1.Составляем
первоначальную симплекс-
2.Находим разрешающий столбец
Минимизация:
Выбираем максимальный (+)
Максимизация:
Выбираем максимальный (–) ПО МОДУЛЮ!!!
3.Находим разрешающую строчку
Строчку выбираем ту для которой отношение Св.член/Xij будет минимально, но БОЛЬШЕ 0!!!
4.В новой
симплекс-таблице заменяем
5.Пересчитываем остальные элементы
A B то A’=(D*A-B*C)/D
C D D-разрешающий
6.Проверяем на оптимальность
Минимизация:
Выбираем максимальный (+)
Если есть (+) оценки решение можно улучшить,
но если оценка (+), а все коэффициенты в этом столбце
(–) то решения нет
Конец:
все оценки (–) или 0
Максимизация:
Выбираем максимальный (–) ПО МОДУЛЮ!!!
Если есть (-)оценки решение можно улучшить, но если
оценка (-), а все коэффициенты в этом столбце (-) то решения нет
Конец:
все оценки (+) или 0
2.Двухэтапный
Max f=8X1+X2-X3
{-X1+X2+X3+2X4+X5=4
{2X1+X3-3X4+5X5=3
{3X1-X3+6X4+X5=6
{Xi>=0
//добавляем искусственные переменные
{-X1+X2+X3+2X4+X5+Y1=4
{2X1+X3-3X4+5X5+Y2=3
{3X1-X3+6X4+X5+Y3=6
{Xi>=0,
Yi>=0
T=Y1+Y2+Y3->min(всегда минимизация!)
//складываем строчки и переносим
T+4X1+X2+X3+5X4+7X5=13
f-8X1-X2+X3
Базис | Св.член | X1 | X2 | X3 | X4 | X5 | Y1 | Y2 | Y3 |
Y1 | 4 | -1 | 1 | 1 | 2 | 1 | 1 | 0 | 0 |
Y2 | 3 | 2 | 0 | 1 | -3 | 5 | 0 | 1 | 0 |
Y3 | 6 | 3 | 0 | -1 | 6 | 1 | 0 | 0 | 1 |
F | 0 | -8 | -1 | 1 | 0 | 0 | 0 | 0 | 0 |
T | 13 | 4 | 1 | 1 | 5 | 7 | 0 | 0 | 0 |
Y1 | 17/5 | -7/5 | 1 | 4/5 | 13/5 | 0 | 1 | X |
0 |
X5 | 3/5 | 2/5 | 0 | 1/5 | -3/5 | 1 | 0 | 0 | |
Y3 | 27/5 | 13/5 | 0 | -6/5 | 33/5 | 0 | 0 | 1 | |
F | 0 | -8 | -1 | 1 | 0 | 0 | 0 | 0 | |
T | 44/5 | 6/5 | 1 | -2/5 | 46/5 | 0 | 0 | 0 |
//находим
ИОР для Т (все должно стать = 0, иначе ИОР
нет). Сначала решаем задачу минимизации
и смотрим только по Т, когда все оценки
в строке Т=0 решаем исходную задачу для
F.
Альтернативный оптимум:
Если
в симплекс-таблице
Вырожденное решение:
Если при включении свободной переменной
в базис первыми в 0 обращаются две или
более базисных переменных, то в качестве
исключаемой выбирается любая из них,
остальные базисные переменные при этом
станут равными 0.
3.
Найти ИОР
Алгоритм:
1.В качестве
разрешающего элемента
2.Если после выполнения шага 1 оказалось что все свободные члены ограничений (+), то ИОР получено, иначе переходим к шагу 3
3.Если
среди свободных членов
(-), то
выбираем из них наибольший
по модулю, предположим это Bs
4.Вычтем S-ое уравнение из всех уравнений с (-) свободными членами. В результате эти уравнения останутся разрешенными относительно тех же базисных переменных, но свободные члены станут (+). S-ое уравнение уже не будет разрешено относительно базисной переменной.
5.Умножим S-ое уравнение на -1
6.Выберем в S-ой строке любой (+) коэффициент и объявим соответствующий столбец разрешающим. Если
(+) коэффициент
в S-ой строке не найдется, то это означает
что ИОР нет
7.Выберем
разрешающую строчку как в
симплекс-методе и выполним
1 случай:
В качестве разреш. строчки выбрана S строка т.е. Р= S
То в результате выполнения одной итерации получим ИОР.
2 случай:
В качестве разреш. строчки выбрана Q строчка и Q не равно S. Если Bq не равно 0, то в результате выполнения итерации S-ая строчка останется не разрешенной относительно базисной переменной, но свободный член B’s уменьшится B’s<Bs. При повторном выполнении итерации мы можем перейти к 1 случаю.
3 случай:
Если Bq=0(т.е решение
вырожденное), то в этом случае нельзя
гарантировать что решение будет найдено
за конечное число шагов. В этом случаи
надо попытаться взять другой разрешающий
столбец.
{5X1-X2+2X3-X5-X6=6
{X1+2X2+X5=5
{X1+X2+X3-X4=4
{Xi>=0
//разрешим систему
ограничений относительно
{-5X1+X2-2X3+X5-6=X6
{X1+2X2+X5=5
{-X1-X2-X3-4=X4
Базис | Св | X1 | X2 | X3 | X4 | X5 | X6 |
X6 | -6 | -5 | 1 | -2 | 0 | 1 | 1 |
5 | 1 | 2 | 0 | 0 | 1 | 0 | |
X4 | -4 | -1 | -1 | -1 | 1 | 0 | 0 |
X6 | -11 | -6 | -1 | -2 | 0 | 0 | 1 |
X5 | 5 | 1 | 2 | 0 | 0 | 1 | 0 |
X4 | -4 | -1 | -1 | -1 | 1 | 0 | 0 |
11 | 6 | 1 | 2 | 0 | 0 | -1 | |
X5 | 5 | 1 | 2 | 0 | 0 | 1 | 0 |
X4 | 7 | 5 | 0 | 1 | 1 | 0 | -1 |
X3 | 11/2 | 3 | 1/2 | 1 | 0 | 0 | -1/2 |
X5 | 5 | 1 | 2 | 0 | 0 | 1 | 0 |
X4 | 5/2 | 2 | -1/2 | 0 | 1 | 0 | -1/2 |
Информация о работе Шпаргалка по "Программированию и компьютерам"