И нформационные технологии в управлении
УДК 681.3:771.537.442
РЕШЕНИЕ ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ ФУНКЦИОНАИЬНО-ВОКСЕИЬНЫМ МЕТОДОМ
A.B. Толок, Н.Б. Толок
Рассмотрен один из подходов к решению задач математического программирования с применением средств функционального моделирования. Изложены некоторые инструменты функционально-воксельного м етода для компьютерного решения оптимизационных задач с помощью воксельного алгоритма градиентного спуска. Приведены наглядные примеры компьютерного вычисления в сопоставлении с бескомпьютерными решениями.
Ключевые слова: Я-функция, ^-функциональное моделирование, воксель, локальные геометрические характеристики, функционально-воксельный метод, функционально-воксельная модель, М-образ, математическое программирование.
ВВЕДЕНИЕ
Существуют некоторые подходы к решению задач математического программирования одно-критериальных задач компьютерными средствами. Они, как правило, базируются на табличном задании параметров, а затем требуют проведения дополнительных процедур по организации расчетов для получения результата. При этом каждый вариант постановки задачи может влиять на выбор метода решения, а значит, говорить об универсальности подхода не приходится. В случае увеличения размерности задачи положение разработчика вновь усугубляется необходимостью приведения постановки к разрешимым условиям. На данном этапе развития таких методов можно констатировать несовершенство теоретической основы для разработки автоматизированной системы, приводящей к единому модельному подходу к решению задач математического программирования.
Авторы предлагают принцип компьютерных вычислений, приводящий к единому подходу к решению рассмотренных в работе задач линейного и нелинейного программирования. Этот принцип основан на двух активно развивающихся методах: Я-функциональном моделировании [1, 2] и функцио-нально-воксельном моделировании (ФВМ) [3]. Как аналитическое средство построения сложных геометрических моделей Я-функциональное моделирование базируется на применении математического аппарата Я-функций, разработанного академи-
ком В.Л. Рвачевым [2]. По сути, аппарат позволяет производить теоретико-множественные операции над неявно заданными функциями, увеличивая при этом размерность пространства.
В 2016 г. был сформулирован компьютерный метод функционально-воксельного моделирования, основанный на принципах линейной аппроксимации функционального пространства для вычисления его локальных геометрических (дифференциальных) характеристик [3]. При этом под термином воксель понимается цветовая характеристика в заданном целочисленном пространстве, которая служит средством отображения локальной геометрической характеристики. В работах [4—8] приводятся различные приложения метода и раскрываются его достоинства. Главная особенность этого метода заключается в его преемственности в организации компьютерного графического подхода к решению математических задач с геометрической постановкой. Отметим, что к геометрической постановке можно сводить решение достаточно широкого класса математических задач, основанных на применении функциональных зависимостей.
1. ФУНКЦИОНАЛЬНО-ВОКСЕЛЬНОЕ ПРЕДСТАВЛЕНИЕ ГЕОМЕТРИЧЕСКОЙ МОДЕЛИ
В работе [3] построение функционально-вок-сельной модели основано на принципах линейной аппроксимации пространства функции для вычисления его локальных геометрических характеристик. В отличие от существующих подходов к ли-
Рис. 1. Образ поверхности функции z = еоэ((5я/2)ху)
неинои аппроксимации локальные геометрические характеристики этой модели представлены компонентами нормали повышенной размерности пространства. В основе такого представления лежит
Утверждение. В пространстве Ет + 1 семейство гиперплоскостей вида п1х1 + ... + птхт = р предста-
вимо как п1х1 + ... + ПтХт + пт + 1Хт + 1 = 0 ♦
Линейная аппроксимация определяет плоскую окрестность в точке ЗБ-пространства компонентами нормали п(п1, п2, п3, п4) для нормального уравнения п1х1 + п2х2 + п3х3 + п4х4 = 0.
Определение. Графический образ, соразмерный его прототипу и отображающий некоторое единственное свойство прототипа, называется графическим образом-моделью прототипа, или графическим М-образом. ♦
Поскольку создаваемая воксельная геометрическая модель базируется на отображении локальных геометрических характеристик, то каждый из вок-сельных образов модели есть графический М-образ.
Представим аппроксимированную модель х3 = = g(n1, ..., п4, х1, х2) некоторой функции х3 = /(х1, х2) (рис. 1) нормальным векторным полем, выраженным четырьмя скалярными полями п = (п1, п2, п3, п4) согласно условиям утверждения.
Установим некоторое соответствие скалярных полей п1, п2, п3, п4, определяемых на промежутке [—1, 1] с их воксельным представлением С1, С2, С3, С4, выразив ч ерез градацию интенсивности тона монохромной палитры, например [0, Р], где Р = 255 — верхнее значение интенсивности цвета палитры (рис. 2):
= Р ( 1 + пх) С 2 :
с = Р( 1 + п2 ) с 2
= Р( 1 + п4) ч 2
с = Р ( 1 + пз)
с 2
Характерно то, что на этом этапе прекращается компьютерная обработка функции аналитического вида и в дальнейших преобразованиях появляется возможность использовать только графические данные полученных базовых М-образов для реализации различных вычислений. Аналитическая функция может быть востребована лишь при определении максимально точных решений, а значит, в достаточно редких случаях, либо для промежуточного уточнения модели при накоплении возможной погрешности от целочисленных вычислений в ходе ее преобразований.
Основное достоинство такого компьютерного представления геометрической модели состоит в ее соразмерной связи с евклидовым пространством Еп, позволяющей работать с любой размерностью задаваемых функций.
Одним из конструкций функционально-вок-сельного моделирования является алгоритм градиентного спуска [3], работающий на основе порожденных М-образов. К примеру, двумерные М-об-разы задаются как
С«1 = (С08 а^ (С08 «¡V )2 + (0О8 р^)2 + 1) Р/2,
~ху
ф^д/(С08«¡V)2 + (С08 вЦ)2 + 1) Р/2,
С1ху = 1 С08
где верхний индекс указывает на размерность компонент вектора нормали, I и } — индексы массива точек образа, а и в — углы отклонения от осей Ох
Рис. 2. Воксельное отображение компонентов нормали функции г = еоэ((5я/2)ху)
Рис. 3. Пример прокладки градиентного спуска из точек А и В в точку С на основе М-образов и, наложенного на М-образ, отображающий интенсивность градиента
и Оу соответственно, а Р — верхнее значение интенсивности цвета палитры. Пример работы алгоритма приведен на рис. 3.
2. ^-ФУНКЦИОНАЛЬНОЕ МОДЕЛИРОВАНИЕ ДЛЯ РЕШЕНИЯ
ЗАДАЧ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ
Чтобы моделировать сложные функциональные конструкции с сохранением условий к значениям получаемой при этом функции — ноль на границе, положительные значения внутри функциональной области, а отрицательные снаружи — применим класс Я-функций, нацеленный на решение такой задачи.
Рассмотрим наиболее распространенную полную систему Я-функций, широко применяемую в геометрическом моделировании функционального пространства, Яа:
X л у =
а
1
,+ 1
7' 2 2
х + у - 2 аху) — пересе-
чение двух функциональных областей х и у;
х л у =
а
1
+1
нение двух функциональных областей х и у;
X = —х — отрицание на области х, —1 < а < 1.
В приложениях часто полагают а = 0: в результате получается квадратичный закон заполнения функционального пространства при сохранении нулевых значений на границе:
х л0 у = х + у — л/х2 + у
22
х V0 у = х + у + */х2 + у2
22
х = —х.
Значение а = 1 приводит к линейному закону описания функционального пространства с теми же условиями знака функционального значения:
х Л1 у = 2 (х + у - |х - у|); х л1 у = 1 (х + у + |х - у|),
и это сказывается на форме поверхности значений функционального пространства.
Исходим из того, что математическое программирование рассматривает методы решения задач нахождения экстремумов функций на множествах конечномерного векторного пространства, определяемых линейными и нелинейными ограничениями (равенствами и неравенствами). Таким образом, постановка задачи сводится к организации такого геометрического пространства, где определяется область допустимых решений со значениями целевой функции внутри нее (область допустимых планов), а оставшаяся часть пространства не должна противоречить решению поставленной оптимизационной задачи градиентным методом.
В общем случае рассмотрим систему ограничений как пересечение м ножества предикатных функций w1, w2, ..., м>п для некоторого пространства Еп:
м> = w1 л w2 л
Л w„
(х + у + а/х2 + у1 - 2аху) — объеди- Wo w ^^
При этом на границе области функция w принимает нулевое значение, вне области функция отрицательна, а внутри области присутствует некоторый нелинейный закон распространения положительных значений. Присутствующие положительные значения внутри области w создают проблему применения данного подхода к исследованию заданной целевой функции ¥, описанной в
том же пространстве Еп. Для помещения функции ¥ в область w необходимо предварительно обнулить положительные значения внутри области w.
Для этого предлагается воспользоваться главным свойством теории Я-функций — сохранение нулевой границы в ходе логических операций над предикатами. Вычтем из полученной функциональной зависимости w ее значение по модулю:
При этом положительная область значений w обнуляется, а отрицательная область обретает более выраженное убывание значений. Сложение пространства целевой функции ¥ с пространством области ограничений w позволяет получить общее пространство функции = ¥ + w0, где значения целевой функции сохранятся на области ограничений w, а на ее границе образуется излом, позволяющий определять экстремальные точки, попадающие на границу области w. Учитывая возможность негативного влияния формы поверхности ¥ на форму поверхности w0, добавим корректирующий элемент 1 + ¥ |, тогда получим окончательный вид функции ^ шш/шах:
Fw = ¥ + Wo( 1 + ) ^ шах, Fw = ¥ + |wo( 1 + И шш,
(1)
где ¥ — целевая функция, w0 — обнуленная область допустимых планов.
Возникает правомерный вопрос о дифференцировании изломов функции Решить данную проблему позволяет принцип получения дифференциальных образов-моделей методом ФВМ [3]. В соответствии с этим принципом «окрестность излома» всегда рассматривается с постоянным приближением. Погрешность решения зависит от заданной площади элемента аппроксимации.
Проверим изложенный алгоритм на известных примерах, найденных в различных источниках [9, 10]. Авторы опускают рассмотрение задач линейного программирования в силу их очевидного решения в рамках предлагаемого подхода и переходят сразу к нелинейной постановке задач.
3. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Решим задачу с заданными линейными ограничениями и нелинейной целевой функцией [10].
Задача 1. Найти глобальные экстремумы функции Р = (х — 2)2 + (у — 3)2 ^ шш/шах на множестве ограничений
х + 2у < 12, х + у < 9, х > 0, у > 0.
Классическое решение. Построим многоугольник д опустимых планов и несколько л иний уровня (рис. 4). Линии уровня Р = с представляют собой окружности с центром в точке А(2, 3) и радиусом г = л/С. Видно, что Рш1п = 0 достигается в точке А(2, 3), Ршах — в точке В(9, 0). ♦
Промоделируем решение такой задачи м етодом ФВМ, используя аппарат ^-функций. Представим многоугольник допустимых планов в виде пересечения функций-предикатов:
^ = —(х + 2у — 12); ;2 = -(х + у - 9);
= х; ;4 = у;
; = Л л л
Результат построения базовых образов поверхности ; показан на рис. 5.
Получение базовых образов поверхности ;0 = = ; — \;1 составляет следующий этап преобразования ФВМ (рис. 6).
Сложение целевой функции Р с функцией позволяет получить новую поверхность = Р + м>0, отображающую внутри многоугольника функцию Р без изменений с характерными изломами по границам многоугольника (рис. 7). При этом возникает проблема: на границах излома направление гради-
Рис. 4. Графическое представление задачи
Рис. 5. Представление базовых образов поверхности и>
Рис. 6. Базовые образы поверхности
ента всегда должно быть противоположным. Поставив в зависимость от интенсивности изменения значений целевой функции Р полученную функцию ;0, получим решение этой проблемы (рис. 8):
= р + ^,(1 + И).
На рис. 9 показаны порожденные М-образы С? для максимизации и минимизации функции
ху
соответственно с выделенными экстремальными точками на ее поверхности, сохраняющей свои значения в многоугольнике допустимых планов. Центр окружности показывает глобальные экстремумы, полученные путем перебора значений функции ^ шш/шах для полученного множест-
ва экстремальных точек (центр окружности), определяемых работой алгоритма градиентного движения (ломаная линия).
Рассмотрим пример с нелинейными ограничениями и нелинейной целевой функцией [9].
Задача 2. Найти глобальные экстремумы функ-
ции z
= х2 +
у2 на множестве ограничений
(х - 5)2 + (y - 3)2 > 9, (х - 5)2 + (y - 3)2 < 36,
х + у > 8, х > 0, у > 0.
Классическое решение. На рис. 10 множество допустимых решений ограничено замкнутой жирной линией. Видно, что оно не является выпуклым. По изображению горизонталей можно заметить, что наименьшее значение функция z достигает в точке В, а наибольшее — в точке К (точка
22
касания окружности (х — 5) + (у — 3) = 36 и линии уровня).
Найдем координаты точек В и К. Точка В при-
2
надлежит прямой х + 8 = у и окружности (х — 5) +
2
+ (у — 3) = 9. Поэтому ее координаты находим из системы уравнений
(х - 5 )2 + (у - 3 )2 = 9,
I х + у = 8,
В(5 - 3 л/075 , 3 + 3ДЗ).
Точка К принадлежит линии ц ентров ОО1 с урав-
3 2 2
нением у = 5 х и окружности (х - 5) + (у - 3) = 36.
Приходим к системе уравнений
(х- 5)2 + (у - 3)2 = 36, 3
х = 5 х,
<
5 + , 3 + -PL л/34 734
Следовательно, zmin = 43 - 12 70,5; zmax = 40 -- 12 л/34 . ♦
Промоделируем решение такой задачи м етодом ФВМ на основе построенной Я-функциональной модели (1). Представим многоугольник допустимых планов в виде пересечения предикатов: W1 = (х - 5)(х - 5) + (у - 3)(у - 3) - 9;
W2 = -((х - 5)(х - 5) + (у - 3)(у - 3) - 36); w3 = х + у - 8; w4 = х;
^ = у;
w = w1 л w2 л w3 л W4 л W5.
Рис. 7. Базовые образы поверхности Fw
Рис. 8. Базовые образы поверхности
Рис. 9. Построение градиентного движения для решения задачи:
а — F ^ max; б — F ^ min
Рис. 10. Графическое представление задачи
г ^
Рис. 11. Базовые образы представление поверхности Fw
ЛИТЕРАТУРА
Рис. 12. Результат определения максимального и минимального значений: а — F ^ min; б — F ^ max
Результат образного представления поверхности показан на рис. 11.
На рис. 12 демонстрируются М-образы С;1 для
ху
максимизации и минимизации функции соответственно с выделенными экстремальными точками на ее поверхности, сохраняющей свои значения в многоугольнике допустимых планов. Результат получен в системе РАНОК-МП. Центр окружности показывает глобальные экстремумы, полученные путем перебора значений функции ^ шш/шах для найденного множества экстремальных точек при помощи градиентного спуска).
ЗАКЛЮЧЕНИЕ
Демонстрация работы нового метода — функци-онально-воксельного моделирования — на простых тестовых примерах, не отличающихся повышенной размерностью и сложностью вычислений, наглядно показывает, что в сочетании с полученной ВР-мо-делью, он позволяет без особой сложности повышать размерность пространства решаемых задач и применять в описании их постановки уравнения неявного вида любого степенного порядка.
1. Максименко-Шейко К.В. ^-функции в математическом моделировании геометрических объектов и физических полей: монография. — Харьков: ИПМаш НАН Украины, 2009. — 306 с.
2. Рвачев В.Л. Теория ^-функций и некоторые ее приложения. — Киев: Наукова думка, 1982. — 552 с.
3. Толок А.В. Функционально-воксельный метод в компьютерном моделировании / Под. ред. акад. РАН С.Н. Васильева. — М.: Физматлит, 2016. — 112 с.
4. Толок Н.Б., Ульянов С.А. К планированию маршрутов в 3Б-среде с многовариантной моделью / С.Н. Васильев, М.А. Локтев, А.В. Толок и др. // Тр. СПИИРАН. — 2016. — Вып. 2 (45). — С. 5—25.
5. Григорьев С.Н, Локтев М.А., Толок А.В. Построение вок-сельных моделей геометрических объектов // Прикладная информатика. — 2013. — № 4 (46) — С. 50—55.
6. Пушкарев С.А., Толок А.В. Автоматизация графического способа решения некоторых математических задач / С.Н. Григорьев, Д.А. Силантьев, Е.А. Лоторевич и др. // Прикладная информатика. — 2012. — № 5 (41) — С. 44—50.
7. Ковалев С.П., Толок А.В. Применение модельно-ориентиро-ванного подхода в управлении жизненным циклом технических изделий // Информационные технологии в проектировании и производстве. — 2015. — № 2 (158). — С. 3—9.
8. Силантьев Д.А., Лоторевич Е.А., Пушкарев С.А., Толок А.В. Воксельно-математическое моделирование при решении задач определения площади для поверхностей деталей // Информационные технологии в проектировании и производстве. — 2013. — № 3. — С. 29—33.
9. Барский А.Б. Параллельные информационные технологии: учеб. пособие. — М.: Интернет-университет информ. технологий; БИНОМ. Лаборатория знаний, 2007. — 503 с.
10. Монахов В.М. Методы оптимизации. Применение математических методов в экономике: пособие для учителей. — М.: Просвещение, 1978.
Статья представлена к публикации членом редколлегии
В.Г. Лебедевым.
Толок Алексей Вячеславович — д-р техн. наук, зав. лабораторией,
И a.tolok@stankin.ru,
Толок Наталия Борисовна — вед. инженер,
И nat_tolok@mail.ru,
Институт проблем управления им. В.А. Трапезникова РАН,
г. Москва.