Научная статья на тему 'Применение принципа эволюции параметра в задачах линейного программирования'

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

CC BY
134
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ / СИМПЛЕКС-МЕТОД / ЭВОЛЮЦИЯ ПАРАМЕТРА

Аннотация научной статьи по математике, автор научной работы — Адигамов Аркадий Энгелевич, Жевнеров Владимир Алексеевич, Редкозубов Сергей Алексеевич

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

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

Текст научной работы на тему «Применение принципа эволюции параметра в задачах линейного программирования»

© А.Э. Адигамов, В.А. Жевнеров, С. А. Редкозубов, 2012

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

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

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

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

V = • х,.^, х = {х,} , I = (1)

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

х, < 0, I = 1, п

- . _ _ (2)

(р. (х) = £ а. • х,. < с., с. > 0, , = 1,} = 1, М < п.

,=1

Такая постановка задачи является классической и к ней может быть сведена любая задача ЛП. При этом вершина х = 0 принадлежит области допустимых значений. Вычислительная сложность алгоритма поиска решения задачи ЛП с известной точки х0, принадлежащей области допустимых значений, и алгоритма поиска любой такой точки одинаковы [5]. Поэтому анализ задачи (1)-(2) не повлияет на оценку сложности алгоритма решения.

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

зуемых активными ограничениями, при выполнении необходимого и достаточного условия оптимизации

b > 0 , i = Vn. (3)

Решение задачи симплекс-методом, являющимся в настоящее время наиболее эффективным, на каждой итерации заключается в переходе на соседнюю вершину области допустимых значений в направлении возрастания оптимизируемой функции при уменьшении х* : b* < 0, выбираемого произвольным образом [2]. В модифицированном симплекс-методе х* выбирается по условию х* = min( bt |b <0, обеспечивающему значительное сокращение

количества итераций [5]. Общим недостатком симплекс-методов является возможность зацикливания в случае, когда через одну вершину проходит более n ограничений или когда ограничения являются вырожденными. Кроме того, направление перехода между вершинами в модифицированном симплекс-методе может быть выбрано любым из х* : b* < 0 после соответствующего масштабирования .

Для однозначного выбора направления перехода в задачах ЛП предлагается применить метод эволюции параметра (ЭП) [4], разработанный ранее для нелинейной оптимизации. Суть метода ЭП заключается в изменении условий задачи таким образом, чтобы начальный вариант задачи являлся бы её решением. Затем при восстановлении изменённых условий до начальных значений отслеживается эволюция оптимального решения.

1. ПРИМЕНЕНИЕ МЕТОДА ЭВОЛЮЦИИ ДЛЯ РЕШЕНИЯ ЗАДАЧ ЛП

Для задачи (1)—(2) начальное решение в точке х = 0 всегда может быть обеспечено введением в задачу дополнительного ог-

n

раничения pd (х) = ^ hi ■ х!. = 0. Затем выбирается любая перемен-

i =1

n

ная х*: b* < 0 и производится замена х* ^ хл = pd (х) = ^ hi ■ х1 ,

i=1

после которой значения коэффициентов bi оптимизируемой

функции Ж = ^ Ь1 ■ х1 должны стать равными задаваемым поло-

1=1

жительным значениям Ь1 > 0. Нетрудно убедиться, что для этого коэффициенты к в <ра (х) выбираются из условия

[к. = (Ь. - Ь.)Ь.*, ' = \п, ' Ф ' *

I • -и ' . (4)

к = Ь*/Ь*

и после замены ограничение х** < 0 примет вид

Ь * „ ^ Ь - Ь

■ х

-У-*-'-■ х. < 0.

¿—I и '

Ь* ш* Ь'*

Такое ограничение с увеличением хл перестанет быть активным, так как в нём коэффициент — при ха является отрицатель-

Ь*.*

ным: Ь* < 0 в соответствии с правилом выбора х * и Ь* > 0 в соответствии с условием его назначения.

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

На очередной итерации вершина, на которую осуществляется переход, и соответствующий шаг эволюции Аха находятся из условия

= ™п j —

а, >0 *

* = 1,м, (5)

определяющего новое активное ограничение <р**(х) = ^а*. ■ х1 +

* ф.*

+а**а ■ хл . Если во всех ограничениях отсутствуют а]а > 0 , то решением задачи является бесконечно большое значение. В вершине производится замена переменной х**

п

*=1

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

п

функции Ж = ^Ь1 • х1 должны остаться положительными. Не-

1=1

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

Ь* i Ь1 —— = mln, —-

а а

(6)

обеспечивающего выбор заменяемого ограничения (переменной),

так как в силу (5) всегда выполняется

ага > 0 . (7)

п

Исключаемое ограничение х** < 0 примет вид х** ^фг(х) = ^а/** ■ х1

*=1

и с увеличением хл перестанет быть активным, так как коэффициент при хл в соответствии с условиями (5)-(6) будет отрица-

п

тельным. Коэффициенты Ь,. оптимизируемой функции Ж = ^Ь1 • х1

=1

преобразуются следующим образом

Ь ! ^ Ь ! - Ь* • 1а**, ё,

■Ь* ^ Ь**/а** (8)

Ьё ^ Ьё- Ь ** • а^!ап*

Если условию (6) удовлетворяет переменная ха то после её замены процесс эволюции заканчивается, для найденной вершины области допустимых значений выполняются необходимые и достаточные условия оптимальности (3), то есть найдено решение задачи. В противном случае выполняется следующая итерация.

2. ОСОБЕННОСТИ ПРИМЕНЕНИЯ МЕТОДА ЭВОЛЮЦИИ ПАРАМЕТРА

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

переменных являются идентичными. Основное различия заключается в ином правиле выбора исключаемого ограничения.

Основное отличие предлагаемого алгоритма от симплекс-метода заключается в поиске экстремума при увеличении только одной переменной, то есть по выделенному направлению. Такое направление определяется дополнительным ограничением, вводимым в задачу. Коэффициенты в этом ограничении вычисляются в соответствии с (4) через задаваемые начальные значения Ь1 > 0 — коэффициентов оптимизируемой функции.

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

Исключение возможности зацикливания обеспечивается присвоением начальных значений Ь1 > 0 с использованием датчика случайных чисел с целью исключения появления значений Ь * = 0 после замены переменных на очередной итерации в соответствии с соотношениями (8). В этом случае в соответствии с условиями (6)—(7) на каждой итерации значение Ьа > 0 будет

строго монотонно убывать, что обуславливает исключение возможности повторного попадания на вершину области допустимых решений (то есть зацикливания), так как при этом значение Ьа > 0 должно будет повториться. Напомним, что устранение такого зацикливания для симплекс-метода обеспечивается дополнительным усложнением алгоритма, заметно (до 2—10 раз) увеличивающим время решения задачи [5].

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

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

Алгоритмы решения задач на основе использования метода эволюции параметра и модифицированного симплекс-метода были реализованы на персональной ЭВМ Pentium-4 в приложении Excel. Количество ограничений M полагалось равным удвоенному количеству переменных M = 2 • n . Значения коэффициентов при переменных в ограничениях и оптимизируемой функции задавались датчиком случайных чисел. Вычислительная сложность для отдельной итерации (объём оперативной памяти и время выполнения) для всех алгоритмов получились практически полностью одинаковыми, поэтому сравнение эффективности алгоритмов проводится по среднему числу итераций.

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

к

2 i

2D

1,5

С 1« 2» 300 400 500

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

Для алгоритма, использующего принцип эволюции параметра, исследовалось влияние выбора направления перехода между вершинами области допустимых значений (задания начальных значений Ь1 коэффициентов оптимизируемой функции) на полное время решения. В результате численных экспериментов установлено, что в среднем более предпочтительно выбирать примерно одинаковые значения Ь1. При этом значение 8 — среднего относительного увеличения времени решения при случайном выборе начальных значений Ь1 составляет менее ~10 % и это различие убывает с ростом п. Соответствующие экспериментальные результаты зависимости 8 от п приведены в таблице:

п 50 100 200 400 500

5 1,09 1,08 1,05 1,04 1,03

СПИСОК ЛИТЕРАТУРЫ

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

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

3. Людвиченко В.А. Компьютерные технологии решения задач прикладной и вычислительной математики с заданными значениями характеристик качества. — Кибернетика и системный анализ, 2006. — Т. 42. — .№ 05. — С. 43—48.

4. Жевнеров В.А. Метод эволюции параметров в нелинейных задачах на примере оптимизации распределения входящих потоков нагрузки // Проблемы управления. — 2008. — № 04. — С. 65—70.

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

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

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