Геометрическое программирование и задачи проектирования

Бухвалова Вера Вацлавовна Филатов Антон Романович

Журнал: Образовательные технологии и общество @journal-ifets

Статья в выпуске: 1 т.20, 2017 года.

Бесплатный доступ

Геометрическое программирование (ГП) гораздо реже включается в математические курсы для инженерных специальностей, чем линейное и выпуклое программирования. Однако в последнее десятилетие ситуация изменилась. Это связано с тем, что были разработаны эффективные методы решения задач ГП и доказана сводимость довольно широкого класса нелинейных задач оптимизации к задачам ГП. В статье описаны два класса задач, для которых В.В. Бухваловой и её учениками была предложена схема их сведения к задачам ГП: экономические задачи с функциями с постоянной эластичностью замены и задача выбора оптимальных параметров балки, у которой помимо напряжений сжатия/растяжения присутствуют напряжение сдвига. Для популяризации идей и методов ГП в рамках Национального Открытого Университета «ИНТУИТ» был создан интернет-курс «Введение в геометрическое программирование», который успешно используется уже на протяжении 7 лет. Рассказ о структуре этого курса, опыте его использования в учебном процессе и планах его усовершенствования на базе системы MyOpenMath - вторая тема этой статьи.

геометрическое программирование \ интернет-курс \ система myopenmath

Похожие статьи в разделе Теория чисел

Применение информационных технологий в математическом образовании
Применение информационных технологий в математическом образовании

Андрафанова Наталия Владимировна, Губа Наталья Викторовна

Информатизация курса "Алгебра и геометрия" С помощью интеллектуальной обучающей системы Math-Bridge
Информатизация курса "Алгебра и геометрия" С помощью интеллектуальной обучающей системы Math-Bridge

Савкина Анастасия Васильевна, Нуштаева Анастасия Владимировна, Петровна Ирина Борискина

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

Майер Валерий Робертович, Апакина Татьяна Витальевна, Ворошилова Алена Анатольевна

Короткий адрес: https://sciup.org/14062758

IDS: 14062758

Текст научной статьи Геометрическое программирование и задачи проектирования

Геометрическое программирование (ГП) - сравнительно новый подход к решению нелинейных задач оптимизации специальной структуры, который редко в должном объёме включается в математические курсы для инженерных специальностей. Хотя история этого направления началась с применения его именно к задачам инженерного проектирования. Первая монография по ГП ( [24] ), автором которой является родоначальник этого направления К. Зенер, называется «Engineering Design by Geometric Programming». Последнее десятилетие были разработаны эффективные методы решения задач ГП и методы сведения довольно широкого класса нелинейных задач оптимизации к задачам ГП. Расширился и список областей исследований, в которых применяется ГП. С этими результатами можно ознакомиться в работах, приведённых в списке литературы ( [11, 12, 13, 14, 18, 21] ).

Статья имеет следующую структуру. Раздел 2 посвящён краткому обзору основных постановок задач ГП. В разделе 3 на примере экономической задачи оптимизации выпуска с целевой функцией с постоянной эластичностью замены приводится схема её сведения к задаче ГП. Задача выбора оптимальных параметров балки, у которой помимо напряжений сжатия/растяжения присутствуют напряжения сдвига, обсуждается в разделе 4. Приведён пример сведения частного случая этой задачи к задаче ГП. В разделе 5 рассказано об интернет-курсе «Введение в геометрическое программирование», который успешно используется уже 7 лет в рамках Национального Открытого Университета «ИНТУИТ».

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

История геометрического программирования началась в 1961 г., когда К. Зенер опубликовал статью [23] , в которой привел примеры задач инженерного проектирования, которые можно сформулировать как задачи оптимизации обобщённых полиномов, и доказал, что оптимальное решение этих задач является решением специальной системы линейных уравнений. В 1967 году Даффин, Питерсон и Зенер опубликовали монографию [6] , в которой впервые ввели термин геометрическое программирование для обозначения специального класса задач нелинейной оптимизации. Введение этого термина обусловлено тем, что в ранних исследованиях по ГП широко использовалось геометрическое неравенство Коши и его обобщения. Все имеющиеся на настоящий момент подходы к решению задач ГП базируется на теории двойственности, которая впервые была описана в работе Даффина и Питерсона [15] .

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

Задача A

S0 (х) ^ min при ограничениях дк(х) < 1, к = 1, .,р,

X j > 0, j = 1,..., m, где т 9 к (х) = ^ с^, ie[k]     j=1

к = 0, ., р, с( >  0.

Функции дк (к = 0, ., р) - это обобщённые полиномы, состоящие из суммы одночленов из индексного множества [/с]. Каждый одночлен внутри полинома является произведением строго положительного коэффициента С/ и переменных х, с показателями степени а/,. Эти показатели степени (в отличие от обычного полинома) могут быть любыми вещественными числами. Такие полиномы называются позиномами. Область определения позинома, поскольку возможен дробный и/или отрицательный показатель, ограничена строго положительными вещественными числами.

Обозначим через п общее число одночленов, входящих в р + 1 позином. Тогда индексное множество I = [1,..., п] нумерует их последовательно так, что первый элемент позинома д0 имеет номер 1, а последний элемент позинома др -номер п. Будем обозначать через [к] индексное подмножество, соответствующее позиному gk:

I = [1] и [2] и ... и [р], [к] П [Z] = 0 при [к] * [I].

Двойственная задача к задаче A (задача B ) имеет нелинейную целевую функцию и линейные ограничения:

Задача B

v(l, d) = ^^(c//d/^^П^) ^ max при ограничениях

Zie[k] dt = Ik, к = 0,..., р,

l0 = 1 (нормальность), £”=1diai;- = lk, j = 1, ..., m (ортогональность), di,lk > 0, к = 0, _,р, i = 1, _,п.

Методы решения задач ГП являются либо прямыми – непосредственно решающими нелинейную прямую задачу A , либо двойственными – решающими эквивалентную двойственную задачу B . Заметим, что сначала были разработаны именно двойственные методы. Эти методы условно можно разбить на две группы. К первой группе относятся методы, в которых используются необходимые условия Куна-Таккера и достаточные условия оптимальности для двойственной позиномиальной задачи. Методы из второй группы используют линейность ограничений двойственной задачи и возможность её переформулировки, при которой число переменных будет равно размерности множества всех решений в линейных ограничениях. Эта переформулировка называется редуцированной двойственной задачей и была впервые предложена в [15] . В двойственных методах часто используется линеаризация, впервые описанная Даффином в [16] .

Класс задач, для решения которых можно применять методы ГП, можно существенно расширить: в [6] показано, что любая корректно поставленная алгебраическая задача может быть преобразована в эквивалентную задачу со знакопеременными полиномами, которая затем при помощи преобразований, описанных в [17] , преобразуется в эквивалентную позиномиальную задачу. Однако на практике выполнение этих преобразований требует применения различных математических приёмов, что мы продемонстрируем в следующих двух разделах этой статьи.

Функции с постоянной эластичностью замены

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

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

Задача E

U(К, L) = (аКр + (1 - a)Lp)1/p ^ max при ограничении

ркК + pLL < w, где

U(К, L) - объём производимой продукции,

К - капитал, К > 0,

L - труд, L > 0,

0 < а < 1, рЕ ]-^; 1], рк - стоимость единицы капитала К, рк > 0, pL - стоимость единицы труда L, pL > 0, w - совокупный бюджет, w > 0.

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

Под эластичностью в экономике понимают меру чувствительности одной переменной (в рассматриваемой модели - капитала К) к изменению другой (в рассматриваемом модели - труда L) в предположении неизменности значения некоторой функции (в рассматриваемом модели - объём производства U). Коэффициент эластичности о показывает, на сколько процентов изменится первый показатель при изменении второго на 1%. Для целевой функции задачи Е коэффициент эластичности о постоянен и верна формула (см., например, [8] ):

о = 1-р, р Е ]-ю; 0[ U ]0; 1[.

Рассмотрим сначала задачу E при 0 <  р < 1. Введём дополнительную переменную То > 0 и заменим целевую функцию минимизацией позинома:

Т-1/р ^ min при ограничении

аКр + (1 - a)Lp > То.

Разделим обе части этого ограничения на То (> 0):

аК^1 + (1 - a)LpT0-1 > 1.                           (1)

Получили обратное ограничение задачи ГП, которое преобразуем в прямое ограничение, используя лемму из [6] . Согласно этой лемме, выполняется неравенство:

1/g(t)

N

g(t) = ^u(t),    Ui(t) = cit^t^2... t^m i=i и положительных весов /?1,., PN, таких что Е/=1/?1 = 1, соответствующим гармонически обратным называется позином:

N 1

И

g (t; P)    / z,y

4-» ui(t) i=i

Возьмём положительные P1 и P2, такие что P1 + р2 = 1, получим для ограничения (1):

— КрТ-1 + -2— LpT-1 < 1.

а        1 - а

Рассмотрим бюджетное ограничение задачи E. Разделим обе его части на w

(> 0):

w 1ркК + w 1pL[< 1.

Таким образом, мы получили задачу ГП = 2, т = 3):

Т-1/р ^ min при ограничениях

  • — КрТ-1 + -^—TpTQ1 < 1, а        1 — а

  • w-1pKK + w-1pL[ < 1.
  • 4.    Статически определимая балка

Преобразование задачи E при р< 0 аналогичное, но существенно проще: не потребуется преобразовывать обратное ограничение. В результате получим следующую задачу ГП (р = 2, т = 3):

Т0-1/р ^ min при ограничениях аКрТ0-1 + (1 — а)[рТ0-1< 1, w-1pKK + w-1pL[< 1.

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

Уже в первой монографии, посвященной ГП [7], К. Зенер рассматривает задачу минимизации веса арки в гражданском строительстве и приводит её сведение к задаче ГП. При этом он отмечает, что «система напряжений арки чрезвычайно проста, . .она находится под напряжением чистого сжатия». Из теории известно, что это линейное напряжённое состояние, которое описывается достаточно простым уравнением. В развитие этих идей авторы рассматривают классическую задачу плоского напряжённого состояния, изучаемую в курсе сопротивления материалов: свободно опёртая однородная металлическая балка AB длиной i нагружена равномерно распределённой поперечной нагрузкой q(рис. 1). Балка имеет прямоугольный профиль шириной t и высотой h(рис. 2). Требуется найти балку минимальной массы М, удовлетворяющую условиям прочности (весом конструкции по сравнению с нагрузкой можно пренебречь):

Задача S

M(t, h) = pith ^ min при ограничении

^iv < [a],

где р = const - плотность материала балки, р > 0;

aIV- эквивалентное напряжение в балке, вычисленное по IV (энергетической) теории прочности:

aiv  ^ ax + 3ТхУ

  • [a] - допускаемое напряжение.

При этом компоненты ох и тху тензора напряжений вычисляются согласно теории Тимошенко [9].

Вопрос устойчивости стенки балки выносится за пределы рассмотрения.

Рис. 1. Конструктивная схема закрепления балки и её нагружения, а также связанная с ней система координат

Рис. 2. Профиль поперечного сечения балки и обозначения его размеров

Очевидно, что минимизация массы М эквивалентна минимизации площади А профиля балки:

g0(t,h) = А = th ^ min, которая по своему виду является позиномом.

Для авторов задача имеет чисто математический интерес, поэтому помимо естественных ограничений t > 0 и h > 0 на размеры профиля также накладываются удобные, с точки зрения вычислений, ограничения:

tI, hкоторые с помощью элементарных преобразований записываются в виде позиномов (l > 0):

(Qi(t, h) = l-1t < 1, tg2 (t, h) = l-1h < 1.

Остаётся лишь канонически записать прочностное ограничение. Для этого сначала необходимо при фиксированных размерах профиля балки определить точки локальных максимумов эквивалентного напряжения ctiv. Прежде перехода к поиску этих точек отметим, что все выкладки удобно производить с использованием внутренней системы координат (f, д, £) балки:

f — x/l - 1/2, д — y/h, < — z/t.

В этих обозначениях нормальные и касательные напряжения соответственно принимают вид

, ч     ql2h 1а z         ql2hh   1

"'(f,g) = - "2/7(4 - fp,A$,д) = - -^;те(,4 -д2), th3

где /z = — - момент инерции профиля. Тогда

ql2h    1      \2          h\2     1       2

°iv(f,g)=M(4-f2) д2+3(т) f2(4-д2).

Заметим, что O"IVявляется чётной функцией по обоим аргументам, поэтому достаточно найти точки локальных максимумов только внутри квадрата [0,1/2]2.

Применяя стандартную технику дифференцирования и поиска стационарных точек с последующим сравнением значений функции в найденных точках со значениями функции на границе области определения, приходим к выводу, что эквивалентное напряжение достигает своих локальных максимумов в точках (0,1/2) и (1/2,0), а также в симметричных им точках (0, — 1/2) и (— 1/2,0):

3 ql2                                  3^3 ql aiv(0,1/2) = aiv(0, — 1/2) = 4 t-, av(1/2,0) = aiv(—1/2,0) = — tL которые соответствуют наибольшим нормальному и касательному напряжениям (тут стоит сказать, что у наибольшего касательного напряжения появляется коэффициент V3). Полученная система прочностных ограничений записывается в виде позиномов:

3 ql2

83(t, У=4Йt A < 1

^Ct ^) =34^ t-1^-1 < 1.

Введём обозначения:

Co:= 1-1, q : = 3£, c2:=      .

0               1      4 [ст ]    2        4 [ст]

Учитывая эти обозначения, система ограничений перепишется в виде:

Cot < 1,

Coh < 1, C1t-1^-2 < 1, c2t-1^-1 < 1,

Приведём вектор   коэффициентов   и матрицу экспонент для сформулированной задачи ГП:

l Л ( 15,2  /110 —1 —1 \T

c — {1, Co, Co, C1, C2}, Л = (azy)1,1 =      0 1 —2 - 1 ) •

Для решения этой задачи воспользуемся двойственностью. Поскольку прямая задача имеет пять мономов, двойственная функция v имеет пять переменных d = (dn ^2, ^з, ^4, ds):

«о - Q" (Г (Г CL:' / . Г" * W** —

Запишем условия нормальности и ортогональности с учётом неотрицательности двойственных переменных:

(         d1 - 1,

j d1 + d2 — d4 — dg — 0, I d1 + d3 — 2d4 — dg — 0;

dz > 0, i — 1,^,5.

Решение полученной системы уравнений можно представить в виде двухпараметрического семейства:

d — (1, d2, d3, d3 — d2,1 + 2d2 — d3), 0 < d2 < d3 < 1 + 2d2, следовательно,

  • 9 q 1 V3 3V3 ql
  • V(d) (4 l[aj У 4 [a]'

По условию t < l ^ q/l < q/t — p, где p - среднее давление, действующее на верхнюю поверхность балки, причём на практикеp ^ [a], откуда

  • 9 q
  • -— « 1.

4 l[a]

В такой ситуации очевидно, что двойственная функция v максимальна при d2— d3— 0. Поэтому минимальная площадь Л* профиля балки равна

3V3 ql

А* = g0(t*, h*) = v(1,0,0,0,1) = —[О].

На последнем этапе запишем условие существования оптимального решения:

t*h*

3V3 ql которое совместно с ограничением д3 решений

_Тй приводит к однопараметрическому семейству

h* = а^, t* = 19—, 1 < а < V3.

V3        а 4 [а]

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

t < l/10, h< l/10, приводящие нас к двойственной функции вида

-)=4            '41

9   , 1

которая в случае — < — максимальна уже при

4 [а]’

(d2,d3) = (0,1). Тогда мы получим решение

А* _ 30 q£ h* <— t* = 300 Q 4 [а],     — 10,         4 [а], которое находится на границе геометрических ограничений. А в случае yj-y > у|у задача решений не имеет, так как требуется хотя бы один размер профиля, превосходящий 1/10.

Интернет-курс по ГП

Для популяризации идей и методов ГП под руководством В.В. Бухваловой в рамках Национального Открытого Университета «ИНТУИТ» был разработан интернет-курс по геометрическому программированию «Введение в геометрическое программирование», который успешно используется уже на протяжении 7 лет [4, 5,25]. За это время на курс записалось около 500 слушателей.

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

Специфика интернет-курса нашла своё отражение в двух деталях. Во-первых, для каждой лекции разработаны практические задания в виде тестов и упражнений, позволяющие закрепить материал лекции. Во-вторых, для задач ГП, решение которых требует применение специальных методов, предлагается использовать созданный авторами пакет GeomProg. Установка этого пакета предельно проста, так как он создан как приложение к MS Excel (язык программирования VBA). Описанию пакета GeomProg посвящена последняя лекция курса. В существующей версии курса при процессе сдачи экзамена слушателю предлагаются задачи из фиксированного набора, подготовленного авторами курса.

Для решения задач ГП в пакете GeomProg реализован двойственный метод, предложенный в [22]. Суть этого метода состоит в том, что исходной задаче ГП с ограничениями в стандартной постановке ставится в соответствие пара эквивалентных задач (прямая и двойственная), которые являются задачами обобщённого линейного программирования. Такая замена позволяет устранить вычислительные трудности, обычно связанные с двойственностью – наличие неактивных ограничений и недифференцируемость.

Перечислим основные возможности пакета:

  • •    решение задачи ГП с ограничениями;

  • •    поддержка русского и английского языков;

  • •    поддержка стандартных способов ввода-вывода, сохранения данных и

  • решения задачи;
  • •    формирование отчёта по итерациям;

  • •    формирование листа с отчётом о решении задачи;

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

К пакету GeomProg прилагается банк задач ГП, состоящий на настоящий момент из 74 задач, отобранных из 29 источников. Для каждой задачи, включенной в банк, указываются полные библиографические данные её источника, условие задачи и решение. Поэтому банк можно использовать как для составления дополнительных заданий, так и для тестирования вновь создаваемого программного обеспечения. В качестве примера на рис. 3 приведён фрагмент листа с условиями задачи Attetkov [1] из банка задач. Полученное решение этой же задачи приведено на рис. 4.

А             В              C             О Е F GH

  • 1    _______________________________________________________________________

  • 2    Имя задачи           Attetkov [1]                        информация о целевой функции

  • 3    I Число переменных 3                                          ____________

  • 4    Число ограничений______1__________ с =      |1     1|

  • 7        Решив, задачу       |                        Е

  • 9 |   „                  л - I                             информация об ограничении 1

^ Сохранить задачу в файле                                т г п г

33                                                        С= |1     1|

12                                                                                _________________________

14 |                                                                                                  2-1

ЗЕ

ЗЕ

ЗЕ

  • 19 о                                  I

  • 2Q Вернуться в главное меню

Рис. 3. Фрагмент листа с данными задачи Attetkov [1]

Рис. 4. Фрагмент листа с решением задачи Attetkov [1]

Наряду с продолжением расширения банка задач ГП, авторы планируют создание программы-генератора случайных задач ГП с заданными свойствами. Именно такой подход является современным при создании интернет-курсов. В качестве платформы предполагается использовать систему MyOpenMath [2].

Список литературы Геометрическое программирование и задачи проектирования

  • Бекишев Г.А., Кратко М.И. Элементарное введение в геометрического программирование -М.: Наука, 1980.
  • Бухвалова В.А., Бухвалова В.В. MyOpenMath: от генерации задач до полной сетевой поддержки курсов//Компьютерные инструменты в образовании -2015. № 2. -С. 49-62.
  • Бухвалова В.В., Рогульская А.С. Расширение области применимости методов геометрического программирования//Обозрение прикладной и промышленной математики -2008. Т. 15, выпуск 2. -С. 270-273.
  • Бухвалова В.В., Рогульская А.С. О создании интернет-курса «Введение в геометрическое программирование»//Обозрение прикладной и промышленной математики -2009. Т. 16, выпуск 3. -С. 457-458.
  • Бухвалова В.В., Рогульская А.С. Введение в геометрическое программирование -М.: Интернет-Университет Информационных Технологий -2009.
  • Даффин Р., Питерсон Э., Зенер К. Геометрическое программирование -М.: Мир, 1972.
  • Зенер К. Геометрическое программирование и техническое проектирование -М.: Мир, 1973.
  • Плакунов М.К., Раяцкас Р.П. Производственные функции в экономическом анализе -Вильнюс: Минтис, 1984.
  • Тимошенко С.П. Сопротивление материалов -М.: Наука, 1965.
  • Филатов А.Р. Применение методов геометрического программирования при оптимизации балочных конструкций: дипломная работа -СПб:. СПбГУ, 2016.
  • Boyd S. at al. A Tutorial on Geometric Programming//Optimization and Engineering -2007. Vol. 8, № 1. -P. 67-127.
  • Chiang M. Geometric Programming for Communication Systems//Foundations and Trends in Communications and Information Theory -August 2005. Vol. 2, № 1. -P. 1-156.
  • Chiang M. at al. Geometric Programming for power control//IEEE Trans. Wireless Communications -2006.
  • Creese R. Geometric Programming for Design and Cost Optimization (with Illustrative case study problems and solutions) -Morgan & Claypool Publishers, 2011.
  • Duffin R.J., Peterson E.L. Duality theory for geometric programming//SIAM J. Appl. Math. -1966. Vol. 14, № 6. -P. 1307-1349.
  • Duffin R.J. Linearizing geometric programs//SIAM Review -1970. Vol. 12 -P. 211-227.
  • Duffin R.J. Geometric programming with signomials//J. Optimization Theory and Applic. -1973. Vol. 11 -P. 3-35.
  • Hoburg W., Abbeel P. Geometric Programming for Aircraft Design Optimization//AIAA Journal -September 15, 2014.
  • Hoff A. The Linear Approximation of the CES Function with n Input Variables//Marine Resource Economics -2004. Vol. 19. -P. 295-306.
  • Lange K., Zhou H. MM algorithms for geometric and signomial programming//Math. Program., Ser. A -2014. Vol. 143 -P. 339-356.
  • Martins J.R., Lambe A.B. Multidisciplinary Design Optimization: A Survey of Architectures//AIAA Journal -September 2013. Vol. 51, № 9. -P. 2049-2075.
  • Rajgopal J., Bricker D.L. Solving Posynomial Geometric Programming Problems via Generalized Linear Programming//Computational Optimization and Applications -2002. Vol. 21. -P. 95-109.
  • Zener C. A Mathematical Aid in Optimizing Engineering Design//Proceedings of the National Academy of Science -1961. Vol. 47. -P. 537-539.
  • Zener C. Engineering Design by Geometric Programming -NY: John Wiley, 1971.
  • Бухвалова В.В., Рогульская А.С. Интернет-курс «Введение в геометрическое программирование»//Национальный Открытый Университет «ИНТУИТ». URL: http://www.intuit.ru/studies/courses/539/395/info (дата обращения 24.12.2016).
Еще