Параллельное программирование


допустимых решений, представленный на рис.


Рассмотрим задачу линейного программирования
Z = 26x + 20y + 21z
допустимых решений, представленный на рис.
max (4.6)
при ограничениях
q1 = 2x + 7y - 76z + 222
допустимых решений, представленный на рис.
0
q2 = - 8x +9y - 8z + 64
допустимых решений, представленный на рис.
0
q3 = - 8x + 13y -24z + 96
допустимых решений, представленный на рис.
0 (4.7)
q4 = - x - 6y - z + 70
допустимых решений, представленный на рис.
0
q5 = - 2x - 7y - 2z + 90
допустимых решений, представленный на рис.
0
q6 = 33x + 3y +22z - 165
допустимых решений, представленный на рис.
0
и при условии x
допустимых решений, представленный на рис.
0, y
допустимых решений, представленный на рис.
0, z
допустимых решений, представленный на рис.

0.
Ограничения и условия образуют многогранник R(ABCDEFGHKL) допустимых решений, представленный на рис. 4.4.
допустимых решений, представленный на рис.

Рис. 4.4.  Многогранник допустимых решений
Формально мы не знаем R, и множество граней — действительных и возможных — этого многогранника представлено системой уравнений:
q1 = 2x + 7y - 76z + 222 = 0
q2 = - 8x +9y - 8z + 64 = 0
q3 = - 8x + 13y -24z + 96 = 0
q4 = - x - 6y - z + 70 = 0
q5 = - 2x - 7y - 2z + 90 = 0 (4.8)
q6 = 33x + 3y +22z - 165 = 0
q7 = x = 0
q8 = y = 0
q9 = z = 0
В результате решения первой же подсистемы трех уравнений (n = 3) системы (4.8) получаем координаты вершины E многогранника R
допустимых решений, представленный на рис.

(4.9)

Постараемся "сместиться" в ту вершину, смежную вершине E, т.е. соединенную с ней ребром (в одну из вершин A, D, L, F), в которой целевая функция Z имеет максимальное значение, превышающее Z(E).
Ребра, исходящие из вершины, определяются подсистемами n-1 плоскостей, пересекающихся в этой вершине, т.е. образующими ее.
В данном случае подсистема
допустимых решений, представленный на рис.
определяет несуществующее ребро. Пока мы знаем это только по рисунку. Подсистема
допустимых решений, представленный на рис.

определяет ребро EA, подсистема
допустимых решений, представленный на рис.

определяет ребро ED. А вот ребра EL и EF мы пока не знаем, т.к. не знаем (формально, а не по рисунку!) все плоскости (плоскость q5), пересекающиеся в E. Это значит, что из каждой вершины в общем случае исходят не менее n ребер, а сколько в действительности — предстоит уточнить. (Представьте себе R — бриллиант классической огранки.)
Значит, q1, q2, q3 — это лишь наше начальное представление о множестве плоскостей — граней, пересекающихся в вершине E. Нам необходимо развить это представление до полного.
Тогда выясним все множество граней, образующих вершину E, подстановкой ее координат во все другие уравнения (9.8) и испытанием на получение тождества.
Находим q5(13, 8, 4)
допустимых решений, представленный на рис.
0. Добавляем q5 в (4.9), полагаем полностью известным число p = 4 ребер, образующих вершину E. Т.е. вместо (4.9) получаем
допустимых решений, представленный на рис.

(4.10)

Каждую возможную грань, определяемую двумя (n-1) уравнениями плоскостей из (4.10), будем решать совместно со всеми плоскостями из (4.8), не вошедшими в (4.10), — с гранями q4, q6, q7, q8, q9.
Первая такая система имеет вид
допустимых решений, представленный на рис.

(4.11)

Ее решение (535, 8,7, -517,2) содержит отрицательную составляющую. Т.е. эта точка не принадлежит R. Если бы решение было не отрицательным, мы должны были бы проверить выполнение всех ограничений (4.7), не представленных в (4.11).
Можно показать, что в выпуклом многограннике несуществующее ребро не вызовет появления "ложной" вершины, и достаточно проверить (4.7).
Системы
допустимых решений, представленный на рис.

имеют не положительное решение.
Следующая испытываемая система линейных уравнений на основе двух уравнений из (4.10) и не входящих в (4.10) уравнений из (4.8), имеет вид
допустимых решений, представленный на рис.

Ее решение — приблизительно точка (5,2, 9,4, 4) не является вершиной R, т.к. не удовлетворяет всем ограничениям (9.7), q5(5,2, 9,4, 4) < 0.
Следующая испытываемая система имеет вид
допустимых решений, представленный на рис.

Ее решением является вершина A (3, 0, 3), Z(A) = 141 < 592.
Т.к. мы нашли вершину на "другом конце" ребра, анализ данного ребра прекращаем.
Следующее исследуемое ребро, исходящее из вершины E, определяется подсистемой
допустимых решений, представленный на рис.

которая должна решаться совместно с уравнениями q4 = 0, q6 = 0, q7
= 0, q8 = 0, q9 = 0.
Первая же система
допустимых решений, представленный на рис.
определяет вершину L (6, 10, 4). Однако Z(L) = 440 < 592.
Следующее возможное ребро, исходящее из вершины E, определяется комбинацией
допустимых решений, представленный на рис.

Решая ее совместно с другими гранями R, - q4 = 0, q6 = 0, q7
= 0, q8 = 0, q9 = 0, пытаемся найти другую вершину в R, смежную E.
Очередная решаемая система уравнений
допустимых решений, представленный на рис.

имеет не отрицательное решение (13,625, 8,7, 4,175). Проверяем выполнение ограничений (9.7), не представленных в решенной системе. Находим, что q1(13,625, 8,7, 4,195) < 0. Этой проверки достаточно для вывода о том, что найденная точка не является вершиной многогранника R.



Системы
допустимых решений, представленный на рис.

и
допустимых решений, представленный на рис.

имеют решение в отрицательной области.
Система
допустимых решений, представленный на рис.

определяет вершину D (6, 0, 2), для которой Z(D) = 198 < 592.
Следующее возможное ребро по (4.10) определяется парой граней
допустимых решений, представленный на рис.

Решаем совместно с остальными гранями, не входящими в (10): q4 = 0, q6 = 0, q7 = 0, q8 = 0, q9 = 0.
Система
допустимых решений, представленный на рис.

не имеет решения, ранг матрицы системы не равен рангу расширенной матрицы.
Система
допустимых решений, представленный на рис.

имеет отрицательное решение.
Система
допустимых решений, представленный на рис.

имеет неотрицательное решение, при котором q1 < 0. Найденная точка не является вершиной R.
Система
допустимых решений, представленный на рис.

не имеет решения.
Система
допустимых решений, представленный на рис.

имеет неотрицательное решение — точку F (17, 8, 0), удовлетворяющую всем ограничениям: q1(17, 8, 0) > 0, q3 (17, 8, 0) > 0, q4(17, 8, 0) > 0, q6(17, 8, 0) > 0. Точка F — вершина многогранника R. Z(F) = 602 > 592.
Таким образом, мы нашли вершину F, смежную вершине E, с превышающим значением целевой функции. Однако поиск всех вершин на основе (4.10), смежных вершин E, следует продолжить. Ведь формально возможна и другая вершина, с еще большим значением целевой функции.
Перебор продолжаем на основе ребра
допустимых решений, представленный на рис.

хотя мы видим по рисунку, что такого ребра нет.
Ищем точки пересечения этого ребра со всеми гранями R, не вошедшими в (4.10).
Система уравнений
допустимых решений, представленный на рис.

имеет решение (0,875, 10, 9,125).
При проверке выполнения первого же ограничения оказывается, что q1(0,875, 10, 9,125) < 0. Найденная точка действительно не является вершиной R.
Система
допустимых решений, представленный на рис.

имеет отрицательное решение.
Система
допустимых решений, представленный на рис.

имеет решение (0, 10,144, 9,5), не удовлетворяющее первому же ограничению.
Система
допустимых решений, представленный на рис.

имеет отрицательное решение.
Система
допустимых решений, представленный на рис.

имеет не отрицательное решение (22,96, 6,44, 0), не удовлетворяющее ограничениям.
Таким образом, анализ всех возможных вершин, смежных вершине E, закончен. Мы нашли единственную вершину F(17, 8, 0), где значение целевой функции Z(17, 8, 0) = 602 превышает ее значение в точке E. Система уравнений, определившая эту вершину, имеет вид
допустимых решений, представленный на рис.

(4.12)

Если бы мы нашли несколько вершин с одинаковым значением целевой функции, то были бы возможны различные стратегии дальнейших действий.


Мы здесь рассматриваем случай, когда для дальнейшего поиска фиксируется одна из таких вершин. Других граней, которым принадлежит точка F, нет. Смещаемся в эту вершину, полагаем p = 3.
Начинаем весь процесс поиска смежной вершины с максимальным (среди смежных вершин) значением целевой функции Z, обязательно превышающим значение Z(F).
Первое возможное ребро, исходящее из F, определяется уравнениями
допустимых решений, представленный на рис.

Однако эта комбинация возвращает нас в ту вершину, которую мы уже исследовали. Поэтому сразу же переходим к следующему возможному ребру
допустимых решений, представленный на рис.

решая его совместно с гранями q1, q3, q4, q6, q7, q8.
Система
допустимых решений, представленный на рис.

решалась ранее. Ее решение неположительно. (Если мы переупорядочим уравнения системы по индексам, то получим индексный код, по которому будем входить в таблицу с информацией о решенной ранее системе. Так мы реализуем самообучение в процессе решения.)
Система
допустимых решений, представленный на рис.

решалась ранее. Ее решение также содержит отрицательный компонент.
Система
допустимых решений, представленный на рис.

решается впервые. Ее не отрицательное решение не удовлетворяет всем ограничениям, q3(17,8, 8,7, 0) < 0.
Системы
допустимых решений, представленный на рис.

и
допустимых решений, представленный на рис.

имеют решения, содержащие отрицательные компоненты.
Система
допустимых решений, представленный на рис.

определяет вершину C, Z(8, 0, 0) = 208 < 602.
Следующее исследуемое ребро определяется системой уравнений
допустимых решений, представленный на рис.

Система
допустимых решений, представленный на рис.

исследовалась раньше. Она не имеет решения.
Система
допустимых решений, представленный на рис.

решалась ранее. Она определяет точку, не являющуюся вершиной R.
Система
допустимых решений, представленный на рис.

решается впервые. Она определяет точку K. Однако Z(10, 10, 0) = 460 < 602.
Таким образом, нам не удалось сместиться из вершины F в вершину с большим значением Z. Значит, найденная точка F определяет решение задачи ЛП.

Содержание раздела