Научная статья на тему 'Модификация симплекс-метода на основе принципа эволюции'

Модификация симплекс-метода на основе принципа эволюции Текст научной статьи по специальности «Математика»

CC BY
957
80
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Проблемы управления
ВАК
Область наук

Аннотация научной статьи по математике, автор научной работы — Жевнеров В. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Жевнеров В. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A MODIFICATION OF SIMPLEX-METHOD BASED ON THE EVOLUTION PRINCIPLE

The paper suggests to use the optimization direction choice law when solving an LP problem. The choice law is based on the parameter evolution principle. It is shown that the application of this law eliminates cycling and ensures appreciable problem time reduction as against the simplex-method under equal realization complexity.

Текст научной работы на тему «Модификация симплекс-метода на основе принципа эволюции»

УДК 519.85

МОДИФИКАЦИЯ СИМПЛЕКС-МЕТОДА НА ОСНОВЕ ПРИНЦИПА ЭВОЛЮЦИИ

В. А. Жевнеров Институт проблем управления им. В. А. Трапезникова РАН, г. Москва

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

ПОСТАНОВКА ЗАДАЧИ

Как известно [1], около 25 % ресурсов общего парка ЭВМ расходуется на решение задач оптимизации, среди которых примерно 75 % составляют задачи линейного программирования (ЛП). Поэтому повышение эффективности алгоритмов решения задач ЛП имеет важное практическое значение.

В настоящее время большинство задач ЛП решается по алгоритмам, основанным на симплекс-методе [2]. Остальные известные алгоритмы, в том числе и имеющие полиномиальную сложность [3—5], уступают по эффективности симплекс-методу при решении конкретных прикладных задач.

Известно [4] , что вычислительная сложность алгоритма поиска решения с известной точки х 0, принадлежащей области допустимых значений, и алгоритма поиска любой такой точки х 0 одинакова. Поэтому для удобства изложения в дальнейшем полагается известной некоторая вершина х 0 области допустимых значений. Для определенности полагается х 0 = 0.

Итак, задача линейного программирования рассматривается в следующем каноническом представлении:

(

тах-

при ограничениях

х. Р 0, і = 1, п ,

.. (2) М (х ) = X а]іхі Р С, С О 0, і = 1, п, у = 1, М Р п.

і = 1

Такая постановка задачи является классической, и к ней может быть сведена любая задача ЛП. Каноническое представление удобно тем, что в этом случае значения Ь1 совпадают со значениями множителей Лагранжа, вычисляемых для активных ограничений х. Р 0, / = 1, п .

ПРИМЕНЕНИЕ ПРИНЦИПА ЭВОЛЮЦИИ ДЛЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

Известно [6], что решение задачи (1), если оно существует, достигается в вершине области допустимых значений, образуемых активными ограничениями, где выполняется необходимое и достаточное условие оптимизации

Ь. О 0, і = 1, п.

(3)

Решение задачи (1) симплекс-методом на каждой итерации заключается в переходе на соседнюю вершину области допустимых значений по следующему алгоритму:

выбирается любая переменная

х,.* : Ь.„ < 0:

(4)

значение переменной х1 * изменяется от 0 до минимально возможного значения

руемой функции : = X Ьіхі должны быть равны

і = 1

задаваемым положительным значениям Ь.. Нетрудно убедиться, что

Хі»тіп = т1Пу ■

, І = 1, М,

а,, <0

Иу»і»

т. е. осуществляется переход в соседнюю вершину области допустимых значений, образуемую актив-

хі Р 0, і = 1, п, і ф і»

Ф/»(Х) = X аі*іХі < С» і = 1

}х. = 0, а = 1, п, а ф а*

]х„ = х.* . ’

а* I *тт

• для приведения задачи оптимизации к каноническому виду производится замена переменной

п

Х * о ф, *( х) = X а) *х.

а = 1

Итерация повторяется, если после замены существует хотя бы одно значение х1 *: Ь1 < 0, т. е. пока не выполнится необходимое и достаточное условие (3) существования оптимального решения задачи.

В модифицированном симплекс-методе условие (4) имеет следующий вид

х. » = тіп,. Ь,\ .

і і Чь,< 0

(5)

Недостаток использования условий (4) и (5) состоит в неоднозначности выбора направления перехода на соседнюю вершину области допустимых значений. В соответствии с условием (5) может быть выбрана любая переменная хі»: Ьі» < 0 после соответствующего масштабирования. Для однозначного выбора направления перехода в задачах ЛП предлагается применить принцип эволюции параметра [7]. Ниже приводится обобщённый алгоритм решения задачи ЛП вида (1) и (2), основанный на этом принципе.

Подготовителъный этап

1. Выбирается любая переменная хі »: Ьі» < 0 (условие (4)).

п

2. Производится замена хі » о хі} = X Кіхі , после

і = 1

которой значения коэффициентов Ьі оптимизи-

\ кі = (Ь _ Ьі)/Ьі», і = 1, п, і ф і»

IК» = V іі„

и после замены ограничение х.„ Р 0 примет вид

»

Ьі» “ ш» Ьі»

Ь‘-Х, < 0.

(6)

При этом ограничение (6) с увеличением хи перестанет быть активным, так как в нём коэффициент Ь;.*/Ь;.* при ху является отрицательным: Ь* < 0 в соответствии с правилом выбора на шаге 1, а коэффициент Ь;* > 0 в соответствии с условием его назначения.

Собственно итерации

3. Увеличивается значение переменной ху на величину

Д х = тіп.

” 1 а а)о

= _2

, І = 1, М,

(7)

> > 0

V

определяемую ограничением ф^.»( х ) = X

а »іхі +

а}%1)х1}. Если во всех ограничениях отсутствуют коэффициенты > 0, то решением задачи является

бесконечно большое значение.

4. Производится замена переменной х. *:

после которой значения коэффициентов Ь; опти-

п

мизируемой функции : = X Ь1х1 должны оста-

а = 1

ваться положительными. Несложно убедиться, что при этом заменяемая переменная х. * должна выбираться из условия

Ьа

а^» і»

-у »і

()

ал > 0

обеспечивающего выбор переменной, так как в силу выражения (7) всегда выполняется неравенство

Если переменная хи не удовлетворяет условию (8), после такой замены ограничение х1 * Р 0 примет

П

вид х.* о ф,.*(х) = V а.* .х. и с ростом х перестанет

I ] ] I I и

I = 1

быть активным, так как коэффициент при хи в соответствии с условиями (7) и (8) будет отрицательным. Коэффициенты Ь1 оптимизируемой функции

П

: = V Е/х/ преобразуются следующим образом:

I = 1

Ъ о Ъ{ — Ъ{* а]*./а,.*.*, . ф .*, . ф и

< Ъ1 о Ъ1 */а,*1 * (10)

Ъ о ьи — Ь1 * а*и/а,*.*.

Далее итерация повторяется (переход к п. 3). Если условию (8) удовлетворяет переменная хи,

то производится замена переменной хи о ф .*( х) =

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

П

= V а.*.х., и процесс решения заканчивается, так

I = 1

как для найденной вершины области допустимых значений выполняются необходимые и достаточные условия оптимальности (3).

ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ АЛГОРИТМОВ

В соответствии с изложенным основное отличие предлагаемого алгоритма от симплекс-метода заключается в обеспечении возможности поиска экстремума при увеличении всегда только одной переменной, т. е. по выделенному направлению. В этом случае поиск экстремума производится также последовательным переходом по вершинам области допустимых значений, но при ином правиле выбора направления.

Вычислительная сложность симплекс-метода и предлагаемого алгоритма будет практически одинакова. Хотя после проведения замены х1 * о хи

(см. п. 2) количество ограничений вида ф. *( х) =

П

= V а.* .х. < с.* формально увеличивается на еди-

I = 1

ницу, т. е. будет равно М + 1, на каждой итерации последнее преобразованное ограничение вида х.* < 0

можно не анализировать, так как оно не влияет на выбор направления перехода в соответствии с замечаниями для пп. 2 и 4 предлагаемого алгоритма. Основные блоки алгоритмов — выбор шага приращения на каждой итерации и замена переменных — будут идентичными. Основные различия заключаются в дополнительной реализации пп. 1 и 2 (фактически проведение одной дополнительной итерации). Разница в блоках выбора исключаемой переменной по условиям (4)—(6) несущественна.

Задание начальных значений Ъ1 в п. 2 предлагаемого алгоритма фактически определяет направление, в котором будет проводиться переход между вершинами области допустимых значений в

процессе оптимизации. При задании Ъ1 = 0, I ф I*

и Ь1 = 1, I = г* в соответствии с соотношениями (10) в дальнейшем всегда будет выполняться : = хи и присутствовать неопределённость при выборе заменяемой переменной по правилу (8). При случайном выборе реализуется обычный симплекс-метод, а при выборе по дополнительному условию (5) реализуется модифицированный симплекс-метод. Таким образом, симплекс метод является частным случаем предлагаемого алгоритма.

При реализации предлагаемого алгоритма можно исключить возможность зацикливания. Это достигается присвоением начальных значений Ъ1 в п. 2 с помощью датчика случайных чисел с целью исключения возможности появления значений = 0 после замены переменных в соответствии с соотношениями (10). В этом случае в соответствии с условиями (8) и (9) на каждой итерации значение Ъи > 0 будет строго монотонно убывать, что обуславливает исключение возможности повторного попадания на вершину области допустимых решений (т. е. зацикливания), так как при этом значение Ъи > 0 должно будет повторяться. Напомним, что устранение такого зацикливания для симплекс-метода обеспечивается дополнительным усложнением алгоритма, заметно (в 2...10 раз) увеличивающим время решения задачи [4].

Кроме того, во многих практических задачах можно выбрать в качестве переменной хи параметр, имеющий определённый смысл, например, объём распределяемых ресурсов. Тогда в процессе решения можно получить сразу зависимость оптимального решения от значения хи.

ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА

Алгоритмы решения задач на основе симплекс-метода, модифицированного симплекс-метода и принципа эволюции параметра были реа-

30

СОНТШ 5С1ЕНСЕ5 № 1 • 2004

О_____________100_______________200________________300_______________400_______________500

Рис. 1. Зависимость числа итераций от размерности задачи

0 100 200 300 400 500

Рис. 2. Зависимость относительного времени решения от размерности задачи (по отношению к модифицированному симплекс-методу)

лизованы на компьютере Pentium-З в приложении Excel. Количество ограничений М полагалось равным удвоенному количеству переменных: М = 2п (в число ограничений входят и ограничения вида X; d 0). Значения коэффициентов при переменных для ограничений и оптимизируемой функции задавались датчиком случайных чисел. Вычислительная сложность для отдельной итерации (объём оперативной памяти и время выполнения) для всех алгоритмов получилась практически полностью одинаковой, поэтому ниже эффективности алгоритмов сравниваются по среднему числу итераций.

Результаты численных экспериментов приведены на рис. 1, где показана зависимость среднего числа итераций I от количества переменных п для перечисленных выше алгоритмов.

Обычный симплекс-метод, как видно из рис. 1, значительно менее эффективен по сравнению с модифицированным симплекс-методом.

Зависимость относительного значения к среднего числа итераций задачи для предлагаемого алгоритма на основе принципа эволюции параметра (по отношению к модифицированному симплекс-методу) от количества переменных п показана на рис. 2. Как видно из рисунков, решение задачи предлагаемым алгоритмом производится за меньшее число итераций по сравнению с модифицированным симплекс-методом примерно в 2,5 раза при п - 500, и это отличие увеличивается с ростом п.

Для алгоритма на основе принципа эволюции параметра исследовалось влияние начальных зна-

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

примерно одинаковые значения Ъ..

ЛИТЕРАТУРА

1. Рейклейтис Г., Рейвиндран А., Рэгсдел К. Оптимизация в технике. — М.: Мир, 1986.

2. Данциг Д. Линейное программирование, его применения и обобщения. — М.: Про гресс, 1966.

3. Андрусенко С., Нурминский Е, Стецюк П. Численные эксперименты с новым классом ал горитмов в линейном программировании // Журнал вы числительной математики и математической физики. — 1987. — Т. 27, № З.

4. Пападимитриу X., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. — М.: Мир, 1985.

5. Кагтагкег N. A new polinomyal algorithm for linear programming // Combinatorica. — 1984. — № 4. — Р. З7З—З95.

6. Муртаф Б. Современное линейное программирование. — М.: Мир, 1984.

7. Жевнеров В., Родионов И. Оптимальное проектирование информационных систем мето дом эволюции параметра // Журнал вычислительной математики и математической физики. —1986. — Т. 26, № З.

© (095) 334-85-79

E-mail: jewn@mail.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.