Научная статья на тему 'К решению задачи геометрического программирования'

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

CC BY
1114
127
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕОМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / СИМПЛЕКСНЫЙ МЕТОД / GEOMETRICAL PROGRAMMING / A SIMPLEX METHOD

Аннотация научной статьи по математике, автор научной работы — Тынкевич Моисей Аронович, Вересова Ксения Александровна

Краткое изложение идеологии геометрического программирования и трудностей его компьютерной реализации.

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

To the decision of a problem of geometrical programming

Summary of ideology of geometrical programming and difficulties of its computer realisation.is presented

Текст научной работы на тему «К решению задачи геометрического программирования»

МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

УДК 35.073.5

М.А.Тынкевич, К.А.Вересова

К РЕШЕНИЮ ЗАДАЧИ ГЕОМЕТРИЧЕСКОГО ПРОГРАММИРОВАНИЯ

В любой сфере своей деятельности человек стремится к выбору оптимальных, т. е. наилучших в его понимании решений, приводящих к экономии имеющихся материальных ресурсов и времени или осуществлению «голубой мечты детства». Конечно, что в реальной жизни достичь чего-то именно оптимального невозможно, как невозможно познать абсолютную истину, но стремление к этому естественно. Достижению этой цели способствует построение математической модели, по возможности учитывающей реалии, и формулировка проблемы, например, в виде задачи математического программирования, состоящей в отыскании значений п переменных х1, .., хп, которые удовлетворяют определенной системе условий и доставляют некоторой целевой функции /(х1, .., хп) наименьшее (наибольшее) значение.

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

Частный случай таких задач представляет задача геометрического программирования, формулировка и идеология которого принадлежат, если судить по литературным источникам, американским математикам Р. Дж. Даффину и Э. Л.Питерсону и специалисту по электротехнике К.Зенеру (первые их публикации датируются 1962-1964 гг.). Публикация их монографии [7] на русском языке с предисловием авторов состоялась уже в 1972 г., что свидетельствовало о значительном интересе к разработке методов условной оптимизации в те годы.

Прежде чем приступать к рассмотрению идеологии геометрического программирования, введем понятие позинома.

Функция

т

g(x1 ,х2 ,...,хп) = £ скх\1к х22к ...хппк , (1)

к=1

где х1>0, .., хп>0; с1>0, .., ст>0; ак - произвольные действительные числа, называется по-зиномом п-го порядка (каждое из слагаемых называют одночленным позиномом).

Класс позиномов достаточно широк и ими описывается множество известных закономерностей в технике, экономике и других сферах. Так

объем цилиндра у=пг2Н и закон Ома 1=ПЯ-1 представляются полиномами 2-го порядка, в принципе даже линейная функция с положительными коэффициентами является позиномом первого порядка.

Более того, многие функции представимы позиномом. Так линейное неравенство 2х1 - 3х2 + 4х3 - 1 < 0 элементарной заменой переменных х=1п(г) и возведением экспоненты в степень преобразуется к позиному третьего порядка

0.3679 • г12 • г-3 • ^4 <1 .

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

Задача геометрического программирования может быть сформулирована в форме:

найти наименьшее значение позинома g0(x1, .., хп) при естественных условиях положительности значений переменных величин

х1>0, .., хп>0. (2)

и ограничениях (их называют вынужденными)

gi(Xl, .., х„)< 1, 1=1, ..., р. (3) где все функции gi(x1, .., хп) - позиномы.

Прежде чем переходить к проблематике решения поставленной задачи, вспомним известное из школьной математики утверждение: «Среднее арифметическое положительных величин не меньше их среднего геометрического»

т(и1 + и2 + ... + ит) > Ци1 • и2 •... • ит ■

Его обобщением может служить неравенство

т т к

£ккЩ > цикк, (4)

к=1 к=1

где ик >0 и к к >0 - произвольные числа, т

£кк = 1.

к=1

Неравенство (4) можно преобразовать и к другой форме

т

£ ик > с к

к=1 к=Л к

или в развернутом виде

к

(4 а)

и1 + и2 + ... + ит >|- к

кт

к„

Обратившись к (1) и обозначив ее слагаемые

и = с ха1к ха2к хапк

ик ~'-кл 1 л2 " п

получаем правую часть (4а) в виде т.н. преддвой-ственной функции [1]

У(к,х) =

= ПП Г ССК^к ПП ха ]1к1+а] 2к2 +...+а)ткт ' (5)

к=1^кк ' у=1 }

Если подобрать ненулевые (положительные) значения кк так, чтобы степени величин х]- обратились в нуль, то есть найдя соответствующее решение системы п+1 уравнений с т неизвестными (!!)

адк1 + а]-2к2 + ... + аткт =0 , ]=1,- -,п; (6)

к1 + к2 + ... + кт = 1, преддвойственная функция превратится в независимую от х, двойственную функцию

т /с, Лкк

х(к)=и{Ск)

к=1^°к)

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

g(X) > v(к),

из которого следует принципиальное существование искомого минимума функции g(X).

Условия (6) авторы [1] называют условиями ортогональности и нормировки.

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

Возьмем в качестве примера задачу [1, с.16] минимизации функции

g0 (Х) = + 40х2 х3 + 20х1 х3 + 10х1 х2 .

х1х2 х3

Двойственная функция здесь выступает в фор-

(7)

ме

к,

х

к

2

«к к х(£ /4<7а)

и поиск к к осуществляется из системы уравнений:

(коэффициенты при х1) -к +кз +к4 =0

(коэффициенты при х2) -к +к +к =0

(коэффициенты при х3) -к +к +к =0

к +к +к +к =1

В данном случае решение системы однозначно (считайте, что вам повезло т=п+1=4!): к=2/5 , к2=1/5 , к3=1/5 , к4=1/5.

Подставляя найденное решение в двойственную функцию (7 а), получаем v(к)=100 и мо-

жем гарантировать выполнение условия g0(X) > 100, то есть существование . искомого минимума. Как мы увидим из дальнейшего, минимум

g0(X*) = у(к = 100 и равенства Uk=кk■v(к), откуда возникает нелинейная (!) система

= 2 • 100 ;

х^2х3 5

40х2 х3 = 1 • 100;

20хх = -1 • 100;

10 х^2 = -1 • 100,

прологарифмировав которую и решив возникающую систему т=4 линейно зависимых уравнений с п=3 неизвестными, получаем решение исходной задачи х=2, х2=1, хз=0.5.

Снова обратимся к общему случаю задачи минимизации позинома g0(x1, .., х„) при ограничениях ^>0 (=1...п) , gk(x1, .., хг)<1 (к= 1,..., р) где все функции gk(x1, .., х„) - позиномы .

Пусть тк - количество членов в позиноме

gk(х1, .., хп) и £^тк = т . к=0

Из соображений компактности последующих формулировок, введем символику для следующих множеств натуральных чисел:

3 0 ={1,2,...,т0 },

31 = {т0 + 1,т0 + 2 ,...,т0 + т1}, (8)

Г р-1 р-1 р-1 1

3р =\ £т +1 £т + 2,..., £т + тр \.

[ i=0 i=0 i=0 1

Объединение всех множеств 3к дает ряд натуральных чисел {1. т}. Авторы [7] называют его неприводимым множеством.

Если перенумеровать все члены позиномов числами из соответствующих множеств, то каждый позином можно теперь записать в эквивалентном виде

gk(x1 ,х2 ,...,хп) = £ скх1

к

аИ ха2г 2

ха™

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

п

(9)

Естественно, что все коэффициенты ск>0

(к=1,2,...,т), а показатели степени - произвольные действительные числа. Совокупность этих показателей может быть представлена т.н. матрицей экспонент, составленной из п строк (по числу переменных величин задачи) и т столбцов (по общему числу слагаемых в позиномах).

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

У(к) =

кк

П ъ(к)

s=1

Х8(к)

(10)

где

^(к) = £ к 4, 8=1,2,... ,р,

(11)

4е3(8)

к к >0 (к =1,2,.,т), (12)

к1 + к2 + ... + кт0 = 1 , (13)

т

£ак = 0, ]=!,2,..,п . (14)

, =1

Следует заметить, что максимизируемая

функция У(8) является непрерывной в области значений к поскольку даже при к=0 соблюдается предельное кк=1.

Если система (1)-(2) ограничений прямой задачи совместна (не противоречива, имеет хотя бы одно решение) и к тому же существует хотя бы одна точка Х(х], .., хп), где условия (2) выполняются как строгие неравенства g1(X)<1, ,.^р(Хп)<1, авторы [7] называют ее сильно совместной.

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

Первая теорема двойственности геометрического программирования.

Пусть ограничения прямой задачи сильно совместны и существует точка X*, в которой достигается минимум целевой функции g0(X) (глобальный или локальный). Тогда :

(I) Условия (12)-(14) двойственной задачи совместны и существует точка к*, в которой достигается максимум целевой функции У(к) (глобальный или локальный), причем g0(X*) = У(к*).

(II) Если X* - оптимальное решение прямой задачи, существуют множители Лагранжа л* >0 такие, что для функции Лагранжа

L(X,л) = go(X) + £Лк[gk(X) -1] (15) к=1

имеет место

L(X*, /и) < go (X*) = L(X*, л*) < L(X, л*)

(16)

для всех Х>0 и [л > 0. Кроме того, оптимальное решение двойственной задачи имеет вид

к =

с ц х?

5 = 1

п и

5

лк с С х<а

5 = 1

g 0 (X)’

г е 3( 0) г е 3(к) ,к = 1,..,р

(17)

(здесь Х=Х*, л =л*) и

Ык* = л*к/ё0(X*), к = 1,..,р. (18)

(III) Для оптимального решения двойственной задачи к* любая точка минимума Х* прямой задачи удовлетворяет системе

с, Их?? =\к, Х У(к*),'е 3(0) (19)

5 = 1 к, / Ак( к*), г е 3(к)

где к принимает все положительные значения такие, что Лк(к*)>0.

Вторая теорема двойственности геометрического программирования.

Если ограничения прямой задачи совместны и существует точка к* с положительными компонентами, удовлетворяющая ограничениям двойственной задачи, то существует точка Х*, удовлетворяющая ограничениям прямой задачи, в которой достигается минимум целевой функции g0(X) (глобальный или локальный).

Обе теоремы, равно как и формулировку пары двойственных задач, можно получить из условий общеизвестной теоремы Куна-Таккера (теоремы о седловой точке), хотя и не с тем изяществом, как это удается сделать для задач линейного программирования.

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

Остановимся на деталях алгоритма.

Естественно, что программная реализация алгоритма начинается с ввода информации о задаче.

иные задачи

Количество переменных:

Количество вынужденных ограничений: -\

Далее >

Внесите данные □ каждом из позиномов в матрицы коэффициентов и степеней:

Позином[0] Позином[1] |

Укажите количество слагаемых позинома 1: |2 ~т~{

Укажите степени при переменных и коэффициенты С при слагаемых

х1 4 ■1

х2

С1 С2

И I

Выводить промежуточные результаты

Выход Решить

Рис.1

Так для задачи минимизации у при ограничениях

х у ^

х, у>0

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

Введенная информация позволяет сформировать матрицу А степеней при неизвестных (размерность п на т ), вектор коэффициентов С и неприводимое множество индексов / (8).

а

7'Геометрическое программирование

Данные

Матрица экспонент: Выв езчльтагта I расчетов:

1 1

степень трщности равна О Число позиномов равно 2 Нелривоаимое множество целых чисел .№{1}

Л ={2 3}

Двойственная задача: тан

■А (1 1213М1 /11 р1"(1 Л2П2*|1 АЗПЗ,Ц2+ОП(2+13)

(1=1

12=0,5

13=2

так = 3,49 ггмп = 3,49 >:1 =2,34 к2=3,49

А в

1 -1 ■0.17

0 1 0,54;

0 -0,5 ■0,27

А В

1 0 0,36!

0 1 0.54;

0 0 0

Х1 = 2,33(

Х2= з.4э;

б

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

Для нашего примера

А=

х1 0 4 -1

х2 1 -4 0,5

С = 1 1 1

висимая система

X2 =5 x V(S) =3.4939 А / Ґ с Л

•Д1)=(1)

Следующим этапом

(52 +63 /2 +5

•/(2)=(2 3) является постановка двойственной задачи (10)-(14).

Для нашего примера максимизируемая целевая функция имеет вид

™ =5 Г 5 5 (5 Т

и ее множество планов определяется положительными (в пределе неотрицательными) решениями системы

4 52 - 53 =0

5! - 4 52 + 0,5 5з =0

5! =1

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

Если решение завершилось успехом (в нашем примере, 5 =[1 1/2 2]), то без особых затруднений с учетом 00=1 вычисляется значение У(5). Здесь У(5).=3.4939.

Получив эту оценку(ри.2а), обращаемся к (19) для поиска решения исходной задачи.

Так в нашем примере возникает линейно за-

52

52 +53

53

У

52 +53 ,

откуда легко найти х1= 2.34 , х2 = 3.49. В общем же случае для линеаризации приходится прибегнуть к логарифмированию. Если обозначить 2^■=1ogl0(x^■), то получаем систему, матрица которой совпадает с транспонированной матрицей экспонент

22 = 0.5433

4 21 -4 22 = -0.6990

- 21 +0.5 22 = - 0.0969

В нашем случае решение этой (линейно зависи-

мой) системы единственно

21 = ^10^1)= -0.0198 ,

22= 1о§ю(х2)= -0.2334 и однозначно получается решение поставленной задачи (ри.2б).

Если же степень трудности решаемой задачи ненулевая (8 =т-п-1>0), то на пути решения задачи встают значительные трудности.

Например, решая задачу минимизации [1]

40 '

£ = ——Н 4Р£а -Ь 20?!+ И»£?я *14

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

7'Геометрическое программирование

Данные

Матрица экспонент:

Вывод результата расчетов:

степень трудности равна 1 Число позиномов равно 1 Неприводимое множество целых чисел J0={ 1 2 3 4}

Двойственная задача: max

v( П \2 1314Н40Л1ГП x(40/t2rt2x[20/t3rt3x[10/t4f t4x

Базисное решение для максимизации двойственной Функции

t = {0,333:0,333; 0,333; 0;}

40 А1 0,5 1 0 0.5 0 0 -0,5 0,5

Zk LIX] 40 40 -1,5lv -1М+ -1М 0,5М -0,51.

Dk -0,5N 0 0 -1,5lv -1М+ 0 1,5М 0,5М

40 40 20 10 -їм -ЇМ -ЇМ

Сба; 20 Баз1- АЗ Плаї- А1 А2 АЗ А4 А5 А6 А7

о.зз; 0 0 1 □ ЄЄ" О.ЄЄ" -0.33 0.33

40 А2 о,зз: 0 1 0 □ ЄЄ" -0.33 о,єє; о,зз

40 лі о,зз; і о 0 -0.33 -0.3Ї -0,33 0,33

Zk LIX] 40 40 20 26.7 -13.3 Є,67 33,3

Dk 33,3 0 0 П 167 1М-1 1М+ММ+

V

V(5) =

51

52

54

f)"' (f)" ‘ (f)"' (5 51 J ( 52 J ( 53 J ( 54

на множестве неотрицательных решений системы

уравнений

-61 + 63 + 64 =0

-61 + 82 + 84 =0

51

+ 52 + 53 + 54 =1

Один из возможных путей решения этой задачи при наличии гарантий вогнутости У(5) аналогичен традиционным численным методам минимизации выпуклых функций при линейных ограничениях. Однако вогнутость У(8) в общем случае не гарантирована и потому авторы [1] предлагают заменить максимизацию У(5) на максимизацию вогнутой функции 1п (У(5)) с тем же множеством точек максимума.

Другой путь выводит на задачу максимизации меньшей размерности. Здесь отыскивается т.н. базисное решение системы (с использованием симплексной процедуры с полным искусственным базисом), т.е. система разрешается относительно п+1 переменных с сохранением неотрицательности правой части системы. Так вышеприведенная система сводится к виду (рис.3)

+ 53 + 0.667 54 =0.333 + 52 + 0.66 7 54 =0.3 3 3

51

- 0.333 54 =0.333

Полагая внебазисные 5 переменных некоторым величинам г (1=1..я), подставляем представления базисных через небазисные в У(8) и приходим к максимизации функции 5 переменных в области, определяемой системой п+1 линейных неравенств.

В нашем примере

81 = 0.333 +0.333 г >0

52 = 0.3 3 3 -0.667 г >0

53 = 0.3 3 3 -0.667 г >0

У(г) =

= (120 У(1+г)(120 У(1-2^ (_бЛ1 (1-2г)(У

4+г' Ч-2г' V-2г' V '

и задача свелась к максимизации функции одной

переменной в области 0 < г <0.5. Элементарно получив г ~0.0953 (рис.4), находим оптимальный вариант значений 5= (0.3651, 0.2698, 0.2698, 0.0953б) и У(5) =106.5455. Дальнейшие действия идентичны ранее рассмотренному примеру, где опять-таки приходится столкнуться с переопределенной, линейно зависимой системой уравнений.

Геометрическому программированию посвящена не слишком обширная литература, которая, за небольшим исключением, повторяет [1] и не отличается компактностью изложения. Мы постарались рассказать о геометрическом программировании и возникающих «неприятностях» предельно коротко.

Что касается компьютерной реализации, то нам удалось найти лишь ссылку на существование таковой в Стэндфордском университете, разработанной в среде МаїЬаЬ (2006 г.). Программа, разработанная нами в среде БеІрЬі, обеспечивает полное решение задачи в варианте нулевой степени трудности и частичное для других случаев.

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

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

1. Даффин Р., Питерсон Э., Зенер К. Геометрическое программирование. - М.: Мир, 1972. -311 стр.

2. Бекишев Г.А., Кратко М.И. Элементарное введение в геометрическое программирование - М: Наука 1980.

3. Зенер К. Геометрическое программирование и техническое проектирование. - М.: Мир, 1973.

4 . Исследование операций http://iasa.org.ua/iso?lang=rus&ch=0

□ Авторы статьи::

Тынкевич Моисей Аронович -канд. физ.-мат. наук,доц., проф.каф. вычислительной техники и информационных технологий КузГТУ Email : tma_vt@kuzstu.ru

Ксения Александровна - студ. гр.ПИ-041 КузГТУ Email : k .veresova@mail.ru

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