20 (275) - 2012
Экономико-математическое
моделирование
УДК 519.853.3
РЕШЕНИЕ РЯДА ЭКОНОМИЧЕСКИХ ЗАДАЧ АЛГОРИТМАМИ МЕТОДА ШТРАФНЫХ ФУНКЦИЙ С НЕПОЛНОЙ МИНИМИЗАЦИЕЙ ВСПОМОГАТЕЛЬНЫХ ФУНКЦИЙ
А. Г. ИСАЕНИН,
доктор физико-математических наук, профессор кафедры математического моделирования и информационных технологий в экономике E-mail: isavnin@mail. ru
М. Р. ХАМИДУЛЛИН,
соискатель кафедры математического моделирования и информационных технологий в экономике E-mail: nayka_prom@mail. ru Камская государственная инженерно-экономическая академия
Для метода штрафных функций разработаны и обоснованы новые алгоритмы и модификации. Предложены практически реализуемые правила задания управляющих параметров, при использовании которых выполнение условий остановки в алгоритмах выполняется не более чем за требуемое число этапов минимизации вспомогательных функций метода штрафов. Такие алгоритмы могут найти свое практическое применение в ряде экономических задач.
Ключевые слова: штрафная функция, выпуклое программирование, заданная точность.
Задача отыскания минимума некоторой функции Дх) - одна из основных проблем теории оптимизации, она эквивалентна задаче отыскания
максимума той же функции, взятой с противоположным знаком [3, стр. 9].
Метод штрафных функций может использоваться для исключения части или всех ограничивающих уравнений [1, стр. 225]. Он сводит задачу на условный экстремум к решению задачи на безусловный экстремум, что часто приводит к упрощению вычислений.
В настоящее время актуальной проблемой является разработка алгоритмов для решения нелинейных оптимизационных задач, позволяющих находить приближенное решение вспомогательных задач вида
f (x) ^ min (1)
с ограничениями
е, (x) < 0, i е I (2)
с заданной по f (x) точностью в > 0.
62
ЭКОНОМИЧЕСКИЙ АНАЛИЗ: жео7>ЪЯ -и чеМКЮехА
Известные алгоритмы для решения задач (1) -(2) являются достаточно трудоемкими, так как в них необходимо решать вспомогательные задачи точными методами. В общем случае это означает бесконечный процесс минимизации вспомогательных функций. Поэтому при решении задач математического программирования удобно пользоваться эвристическими критериями остановки, не гарантирующими выполнения неравенства f (xk) - f * < s, где f = min {f (x), x е D (0)} даже при включении итерационной точки xk е D(0), где в - заданная точность нахожденияf *, а {xk} - последовательность точек приближения.
В авторском исследовании представлены алгоритмы в методе штрафов, допускающие приближенное решение вспомогательных задач с заданной точностью за конечное число итераций. Эти алгоритмы имеют легко проверяемые на практике критерии остановки, при выполнении условий которых гарантируется допустимость и заданная точность полученного решения.
Рассмотрим алгоритмы, допускающие приближенное решение вспомогательных задач. Определенный выбор параметра p в зависимости от заданной точности решения вспомогательных задач обеспечивает требуемую точность решения задачи f * = min {fx), x е D (0)} [4, стр. 46].
Алгоритм 1. Задается требуемая точность решения е > 0, x0 е Rn, натуральное число N, число
5 е (0, е). Выбирается 0 < p < min
2L (8"5Х p , Р
возрастающая функция ф(0 такая, что ф (1) > 0,
Lp
ф (N) = -з—. Полагается k = 1. aß
1. Вычисляется Ck = ф (k).
2. Если k < N, то находится приближенное решение задачи min F(x, Ck). Переход к шагу 1 при
xeRn
k, измененном на k + 1.
3. Если k = N, то находится точка xN е A(a), являющаяся 5-оптимальным по функционалу решением задачи min F(x, Ck). Точка xN при-
x&Rn
нимается в качестве е - решения задачи (1). Алгоритм 2 (модификация алгоритма 1). Задается требуемая точность решения е > 0, x0 е Rn, натуральное число N, число 5 е (0, е). Выбирается
(
0 < p < min < 5
в - 5 2L
\
, p ! возрастающая функция
L5 (p)
ф(0 такая, что ф (1) > 0, ф (N) = —= k = 1. a
. Полагается
1. Вычисляется Ck = ф (k).
2. Если k < N, то находится приближенное решение задачи min F(x, Ck). Переход к шагу 1 при
xеRn
k, измененном на k + 1.
3. Если k = N, то находится точка xN е A(a), являющаяся 5-оптимальным по функционалу решением задачи minF(x,CN). Точка xN при-
xеRn
нимается в качестве е - решения задачи (1). Алгоритм 3. Задается требуемая точность решения е > 0, x0 е Rn, числа 5 е (0,е), у е (0, 1), натуральное число N. Выбирается 0 < p <
Руаф - 5)
< min <
L [ sV (x*) - ya(s -1 + у)]
,p , p f, возрастаю-
щая функция ф(t) такая, что ф(1) > 0,
Lp
ф( N) =
ßs(1 -y)sa
. Функция штрафа выбира-
ется вида V(x) = ^(max{0, f (x) + p})2,p > 0 при
ге1
s > 1. Полагается k = 1.
1. Вычисляется Ck = ф(к).
2. Если k < N, то находится приближенное решение задачи min F(x, Ck). Переход к шагу 1 при
xеRn
k, измененном на k + 1.
3. Если k = N, то находится точка x е A(a), являющаяся 5-оптимальным по функционалу решением задачи min F^(x, CN). Точка xN принимается в качестве е - решения задачи (1). Алгоритм 4 (модификация алгоритма 3). Задается требуемая точность решения е > 0, x0 е Rn, числа 5 е (0, е), у е (0, 1), натуральное число N. Выби-
yas(B - 5)
рается 0 < p < min \ 5—F---=г, p !
[ L[sV(x) -ya(s -1 + y)]
возрастающая функция ф (k) такая, что ф (1) > 0,
ф( N) = L5-'( p)
s(1 -y)s-1 a
Функция штрафа выбирается вида
m
V (x) = ^ (max{f (x),0})2 при s > 1 (в данном
i=1
случае s = 2). Полагается k = 1.
1. Вычисляется Ck = ф(^.
2. Если k < N, то находится приближенное решение задачи min F (x, Ck). Переход к шагу 1
xеRn
при k, измененном на k + 1.
3. Если k = N, то находится точка x е A(a), являющаяся 5 -оптимальным по функционалу решением задачи min F,(x, CN). Точка xN при-
ЭКОНОМИЧЕСКИЙ АНАЛИЗ: Ш5б7>ЪЯ те ЪР*?жг(Ъ4
63
нимается в качестве s - решения задачи (1). Алгоритм 5. Задается требуемая точность решения s > 0, x0 е R натуральное число N, число 5 е (0, s).
Выбирается 0 < p < min<U-,p',pl,
[[V(x )-yajL J
возрастающая функция ф(0 такая, что ф (1) > 0,
Ф( N) = LP
ßs(1 - s)s-1 ap Вычисляется C,
. Полагается k = 1.
к Ф (k).
2. Если k < N, то находится приближенное решение задачи min F (x, Ск). Переход к шагу 1 при к, измененном1 на k + 1.
3. Если k = N, то находится точка xN е A(ä), являющаяся 5-оптимальным по функционалу решением задачи minF(x,CN). Точка xNпринимается в
xеRn
качестве s - решения задачи (1).
Алгоритм 6 (частный случай алгоритма 5).
Задается требуемая точность решения s > 0, x0 е Rn,
натуральное число N, число 5 е (0, s). Выбирается ßy(B-5)
0 < p < min
, P, P
(1 -у2) L
ция ф(0 такая, что ф (1) > 0, ф(N) =
возрастающая функ-
Lp
ßs(1 - s)s-1 ap
бирать 0 < p < min
ßY (в-5)
p ,p
и t = m.
Полагается k = 1. Выбирается функция штрафа вида
V(x) = max{g (x) + p,0}s, s > 1.
1. Вычисляется Ск = ф(к).
2. Если k < N, то находится приближенное решение задачи min F (x, Ск). Переход к шагу 1 при
xеRn
к, измененном на k + 1.
3. Если k = N, то находится точка xN е A(ä), являющаяся 5-оптимальным по функционалу решением задачи min F(x, CN). Точка xN принимается в качестве s - решения задачи (1). Если используется штрафная функция вида
V(x) = ^ (max{f(x) + p,0})s, s > 1, то можно вы-
(m - y 2 )L
Здесь p - число p = p(s), p > 0 такое, что из включения x (С) е D (0) будет следовать неравенство |f [x(c)] - f | < s; L - константа Липшица для функций f (x), определенных на множестве G, L > 0, \f(x) - f(y)\ < L || x - y ||, V x, уе G и G с Rn; ß, у - параметры аппроксимаций, где Y е [0,1] и ß > 0; 5-1(p) - функция, обратная к модулю x* е Arg min{ f (x), x е D(0)} выпуклости 5(p) и 0 < p < p; Ск - коэффициент штрафа, вычисленный по следующему правилу: Ск = a k, где а - параметр,
используемый для вычисления коэффициентов штрафа; множество ^(а) - аппроксимация допустимого множества; g (х) - функция, равномерно выпуклая на множестве D (0) с неубывающим модулем выпуклости 5 (р); точка р - число, где р е (0,-inf{g(х),х е Rn}); р' - число, где р' е (0,р), где р е (0,-т^(х),х е Rn}); V(х) - функция штрафа; k - номер итерации.
Метод штрафных функций может эффективно использоваться для решения некоторых экономических задач и задач выпуклого программирования. Важным этапом метода штрафа является выбор способа задания начального коэффициента штрафа.
Существуют различные способы задания начального коэффициента штрафа:
1) Ск = а к, где а - некоторая задаваемая константа, к - номер итерации;
2) Ск = а Ск_1, где Ск-1 - предыдущее значение мультипликативного параметра;
3) Ск = Са_1;
4) Ск = 2к.
Управление мультипликативным параметром а позволяет влиять на скорость алгоритма решения задач экономического содержания, таких как задача оптимального распределения ресурсов, задача об оптимальном управлении запасами, задача о замене оборудования, задача о ремонте дорог и др. Рассмотрим несколько тестовых практических примеров.
Задача оптимального распределения ресурсов. Имеется некоторое количество ресурсов, под которыми можно понимать денежные средства, материальные ресурсы (например сырье, полуфабрикаты, трудовые ресурсы, различные виды оборудования и т. д.). Показателями эффективности могут служить суммарные затраты, себестоимость, время выполнения данного объема работ и т. п. [2, стр. 22].
Допустим, предприятие выпускает продукцию двух видов, используя при этом два типа ресурсов. Запасы ресурсов ограничены: на складе имеется 10 ед. первого ресурса, 10 ед. второго, т. е. х1 _ 10 < 0
х2 _ 10 < 0
Функция суммарных затрат имеет вид
/(х) = 7(х1 - 6) 2 + 3(х2 - 4)2. Для минимизации суммарных затрат используем метод штрафных функций.
Введем функцию затрат и ограничения: /х) = 7 х - 6)2 + 3 (Х2 - 4)2.
64
ЭКОНОМИЧЕСКИЙ АНАЛИЗ: жгбТЪсЯ те ЪРЛЖкЫ
При
-х1х2 +1< 0 х12 + х22 - 9 < 0 х1 -10 < 0 х2 -10 < 0
начальная точка
При ограничениях
х1 -10 < 0
х2 - 3 < 0 начальная х3 - 4 < 0
)Е -
г; ^
Е-
X
О
1 600 1 400 1 200 1 000
800 -Н 600 400 -Н 200 0
Х0 = (0, 0), ^Щ) =300.
Точка минимума: ХтП = (2,795; 1,0885), /Хт)|1) = 97,3062 - суммарные затраты.
Результаты применения рассмотренных алгоритмов к данной задаче представлены на рис. 1.
Оптимальное управление запасами. Запасы - это любые денежные или материальные ценности, которые периодически пополняются (производятся, доставляются и т.д.) и некоторое время сохраняются для расходования их в последующем периоде. Цель управления - оптимизация некоторого критерия, зависящего от расходов на хранение запасов, стоимости поставок, затрат, связанных с пополнением, штрафов и т. д. В такой общей постановке подобные задачи могут иметь самое разнообразное практическое применение. Например, запасы - товары, поставляемые в магазин для удовлетворения непрерывного, но подверженного случайным колебаниям потребительского спроса. Критерий оптимальности - суммарные затраты на поставки, хранение запасов и изменение производственного ритма [2, с. 23-24].
Пусть предприниматель занимается покупкой и продажей одних и тех же изделий. Его целью, кроме максимизации прибыли, является минимизация издержек хранения товарных запасов при ограничениях на транспортировку и ограничениях на хранение. Его функция затрат имеет вид /(х) = 7(х1 + 1)2+ + (х2 - 3)4 + (х3 - 4)2.
точка Х0 = (1, 1, 1), (Х0) = 53.
Точка минимума ХшЬ = (-0,99; 2,99; 3,99).
При нахождении точки минимума видно, что третий ресурс самый затратный, поэтому можно поискать альтернативу этому виду ресурса.
Результаты применения рассмотренных алгоритмов представлены на рис. 2.
Алгоритм 1 Алгоритм 2
Алгоритм 3
1 10 Значения параметра а Алгоритм 4
Алгоритм 5 Алгоритм 6
1 000
Рис. 1. Решение задачи оптимального распределения ресурсов различными алгоритмами
0,01
0,1
Алгоритм 1 Алгоритм 2
1 10
Значения параметра а
100
1 000
Алгоритм 4 Алгоритм 5
| Алгоритм 3 АлгоРи™ 6
Рис. 2. Решение задачи оптимального управления запасами различными алгоритмами
ЭКОНОМИЧЕСКИЙ АНАЛИЗ: Ж80РЯЯ Ъ ЪР*?жг(Ъ4
65
Таким образом, метод штрафных функций с неполной минимизацией вспомогательной функции позволяет решать различные задачи экономического характера. Анализируя результаты решения разными алгоритмами, выяснилось, что алгоритмы 1 и 3 позволяют решать такие задачи за меньшее число итераций, что упрощает трудоемкость вычислений. По некоторым результатам решения данных задач наблюдалось соответствие по количеству итераций у алгоритмов 2, 4, 5, 6. Хотя в других тестовых примерах данное соответствие не отмечалось. Значение мультипликативного параметра а лучше выбирать от 10 и выше, чтобы увеличить скорость решения алгоритмов. Оцениваемый параметр у не сильно влияет на исход решения данных задач. Однако точность решения таких задач в большей степени зависит от оцениваемого параметрар, который используется в промежуточных вычислениях [5].
Список литературы 1. Аоки М. Ведение в методы оптимизации. М.: Наука. 1977.
2. ВасильковЮ. В., ВасильковаН. Н. Компьютерные технологии вычислений в математическом моделировании: учеб. пособие. М.: Финансы и статистика, 2001.
3. Грешилов А. А. Прикладные задачи математического программирования: учеб. пособие. М.: Логос, 2006.
4. Заботин Я. И., Фукин И. А. Алгоритмы в методе штрафов с аппроксимацией допустимого множества // Известия высших учебных заведений. 2004. № 1.
5. Исавнин А. Г., Хамидуллин М. Р. Программная реализация решения задач выпуклого программирования алгоритмами метода штрафных функций с неполной минимизацией вспомогательных функций // Образование и наука Закамья Татарстана: научный периодический интернет-журнал/ URL: http://nauctat. ru/nauka-i-inovatsii/ programmnaya-reaHzatsiya-resh-zadach-vipuklogo-programmirovaniya-amshf-s-nepolnoy-minim-vspomog-f-tsiy.html.
66
ЭКОНОМИЧЕСКИЙ АНАЛИЗ: жеб7>ЪЯ -и ЪРЛЖкЫ