
- •Часть 2
- •Введение
- •1. Метод последовательного улучшения допустимого вектора (мпу)
- •1.1. Основная часть мпу
- •Проверка двойственной допустимости д.Б.М.К.
- •5. Подготовка информации к следующей итерации.
- •1. Процедура оценки.
- •3. Вычисление коэффициентов разложения вектора α6 по базисным векторам α4, α3, α5.
- •4. Определение ε*.
- •5. Подготовка информации к выполнению следующего шага.
- •1.2. Упражнения 1
- •1.3. Построение исходного допустимого базисного множества
- •1.4. Упражнения 2
- •1.5. Использование аппарата обратных матриц
- •Приступаем к выполнению итерации 1
- •1.6. Упражнения 3
- •3. Задачи для выполнения домашних заданий, расчетно-графических и контрольных работ
- •Список литературы
- •Часть 2
- •450000, Уфа-центр, ул. К. Маркса, 12
1.1. Основная часть мпу
К началу выполнения алгоритма имеются некоторые д. б. м. К и отвечающий ему допустимый вектор х(К) = (х1, х2, …, хn). Процесс МПУ состоит в последовательном выполнении идентичных итераций. Опишем вычислительные процедуры одной итерации.
Определение вектора у(К). Вектор у(К) находится из системы (9), которая имеет единственное решение.
Проверка двойственной допустимости д.Б.М.К.
Для найденного вектора у(К) вычисляются величины zj по формулам (10) и проверяются неравенства (11). При этом возможны два случая.
(а) Указанные неравенства выполняются, т.е рассматриваемое д.б.м.К является также и двойственно допустимым. Тогда на основании теоремы 1 векторы х(К) и у(К) оптимальные для соответствующих задач Ам и Ам* и для них имеет место равенство (12) .
Конец с выдачей искомых оптимальных векторов.
(б) Для найденных величин (10) условие (11) нарушено. В этом случае фиксируем одно такое j0 J , что zj0 > 0 и переходим к следующей процедуре.
Вычисление коэффициентов разложения вектора α j0 по базисным векторам. Записываем разложение вектора α j0 по базисным векторам αk, k K
gk
αk=
α j0
(13)
Решая систему уравнений, находим коэффициенты gk, k K.
4. Определение ε*. Проверяем выполнение неравенств gk 0, k K. При этом возможны два случая.
(а) Все коэффициенты неположительные, т.е.
К+ = { k K \ gk 0} = Ø
Тогда линейная функция μ(х) на множестве допустимых решений не ограничена сверху.
Конец с выдачей вектора х(К) и коэффициентов gk, k K.
(b)
К+
Ø .
Это означает, что среди коэффициентов
разложения (13) вектора α
j0
по базисным
векторам имеются
положительные.
Вычисляем ε*
по формуле
ε*=
, (14)
фиксируем элемент k* на котором достигается равенство
ε*=
,
переходим к последней процедуре.
5. Подготовка информации к следующей итерации.
В качестве нового допустимого множества принимаем
K’={K\{k*}}
{j0}
(15)
и вычисляем компоненты нового вектора x(K) по формулам
x’j0=
ε*, x’k=xk-
ε*gk
,k
K’
\ {j0}, x’j
=0, j
K’
(16)
При этом
μ(х(К
‘))
= μ(х(К))+
ε* zj0
μ(х(К))
. (17)
Переходим к выполнению процедуры 1 следующей итерации.
Исходная и получаемая на каждой итерации информация размещается, как это показано в табл. 1, 2 и 3
Таблица 1 Таблица 2
Исходная информация Промежуточная информация
j i |
1 2 … n |
|
||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
Номер итерации |
|||
k1 k2 . . . km |
xk1 xk2 . . . xk2 |
gk1 gk2 . . . gkm |
y1 y2 . . . ym |
K* |
μ (x) |
ε* |
|
1 2 . . . m |
а11 а12 . . . а1n a21 a22 . . . a2n . . . . . . . . . . . . . . . . . . am1 am2 . . . amn |
b1 b2 . . . bm |
|
c1 c2 . . . cn |
|
Таблица 3
Проверка условий оптимальности
-
1 2 3 . . . n
Номер итерации
z1 z2 z3 . . . zn
j0
Пример 1. Решить задачу линейного программирования с исходными данными, приведенными в табл. 4, построенной в соответствии с табл. 1.
Таблица 4
j i |
1 |
2 |
3 |
4 |
5 |
6 |
|
1 2 3 |
1 3 1 |
0 1 2 |
0 -4 0 |
1 0 0 |
0 0 1 |
6 2 2 |
-9 2 -6 |
|
-1 |
1 |
-1 |
-1 |
-1 |
1 |
|
В качестве исходного д.б.м. К удобно принять К={3,4,5}, т.к. векторы α3 , α4, α5 линейно независимы и образуют диагональную матрицу. Система уравнений имеет вид:
х3
+ х4
+ х5
=
Решая ее, находим: х3 = 0,5; х4 = 9; х5 = 6; μ (x)= - х3 - х4 - х5 = -15,5.
Эту информацию размещаем в первых двух столбцах табл. 5., построенной по типу табл. 2. Выполним теперь все процедуры первой итерации.