НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

а) Алгоритм

Для удобства изложения представим все переменные в виде 2N - мерного вектора

z=||x, y, v,λ||=||x1,...,xn, y1,...,ym, v1,....,vn1,...,λm||

Можно поставить в соответствие каждому вектору z вектор z-, определяемый соотношением


такой, что


и


С помощью этих векторов условия (17-49) и (17-50) запишутся в виде


Исходя из некоторого допустимого базисного решения системы (17-51), совершим последовательность симплексных преобразований, с помощью которых будем уменьшать выпуклую функцию


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

Допустим, имеется некоторое допустимое базисное решение системы (17-51). Симплекс-таблица в данном случае должна задавать входящие в базис переменные zg как функцию от N не базисных переменных zvh = th, не входящих в базис


Эту запись можно использовать и для не базисных переменных из числа zg. Для этого симплекс-таблица дополняется строками, все элементы которой, кроме одного, равного единице, равны нулю. В этих строках для не базисной переменной zg = tj будет dgh = 0, h≠ j, a dgj = 1. Нумерация всех переменных zg базисных и не базисных дается от g = 1 до g = 2N.

Функциональную зависимость (17-52) можно записать в векторном виде:


где dh, - h-й столбец симплекс-таблицы. При не базисных переменных th = 0 формула (17-53) перепишется в виде

z = d0 ≥ 0

и


Включим в базис переменную tj равнявшуюся нулю, сделав ее положительной (tj = θ ≥ 0) и сохранив за остальными не базисными переменными th (h≠j) нулевые значения. После этого вектор


Увеличивать переменную tj можно до тех пор, пока некоторая j-я из базисных переменных не обратится в нуль. Эта j-я переменная определяется из условия


Положив tj = θj, получим новое базисное решение, в котором вектор z принимает значение


а величина Т соответственно


Так как


то


где


Очевидно, что правило включения в базис новой переменной должно быть таким, чтобы Kj<0, так как при этом уменьшается значение Т. Если отрицательных чисел Kj несколько, выбирается то, которому соответствует наименьшее отрицательное произведение θjKj. Величины βj, представляющие собою вторые производные от Tj по tj = θj, в силу выпуклости функции Т всегда неотрицательны. Поэтому величина Kj может быть отрицательна только за счет αj. В данном случае для тех j, для которых αj<0, необходимо проверять, уменьшает ли базисное решение, в которое включены переменные tj, значение функции Т. В этом состоит отличие от линейного программирования, при котором функция цели в силу линейности монотонно уменьшается при отрицательной первой производной αj, и достаточно проверять только знак αj. В случае квадратичной выпуклой функции цели Т исследования первых производных может быть недостаточно, так как эта функция может принимать экстремальное значение на отрезке, соединяющем старое и новое базисные решения.

Может быть и так, что Kj > 0 для всех j, хотя Т > 0. На рис. 17-11 пунктиром изображены линии равных значений функций цели Т и сплошными линиями - многогранник допустимых значений, определяемый соотношениями (17-51). Вершины соответствуют базисным решениям, а симплексное преобразование - переходу к соседней вершине. Для этого примера переход из точки Р1 в Р2 и Р6 приводит к увеличению функции цели, хотя Р1 не является глобальным минимумом. В данном случае метод Баранкина и Дорфмана в изложенном выше плане неприменим. Приходится идти на временное увеличение функции T, включая в базис переменную с положительным значением Kj и пытаясь пробиться через эту "мертвую зону".

Рис. 17-11. Пояснения к методу Баранкина и Дофрмана
Рис. 17-11. Пояснения к методу Баранкина и Дофрмана

При дальнейшем развитии этого метода, реализованного в методе Франка и Вульфа, удается избавиться от этого недостатка.

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь