Научная статья на тему 'Трансформационный подход к решению задач линейного программирования: алгоритмическое и программное обеспечение'

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

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

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

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

35 35 28 21 ее 14 7 0

С *

\ 5

\ >

>

0 0 1 2 3 4 5 6 0 m 6 Рис. 2. Зависимость средней ошибки аппроксимации от порядка модели

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

Воспользовавшись тем, что зависимость ет(т) унимодальна, а также тем, что максимальное значение порядка модели т обычно выбирается не больше 5-7, можно рекомендовать для поиска оптимального значения т дискретный вариант метода дихотомии [7].

Список литературы

1. Нейроуправление и его приложения. - Кн.2. - Сигеру Омату, Марзуки Халид, Рубия Юсоф / Под ред. А.И. Галушкина, В. А. Птичкина. - М.: ИПРЖР, 2000.

2. Усков А.А. Адаптивная гибридная нейронная сеть. -М.: Деп. в ВИНИТИ РАН, 2002. - Ю96-В2002.

3. Усков А.А., Фомченков В.П., Окунев Б.В. Di-nam_analysis. Свидетельство о регистрации программы для ЭВМ в Роспатенте N2002610429 от 25.03.2002.

4. Круглов В.В. Дли М.И., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. - М.: Физматлит, 2001.

5. Катковник В.Я. Непараметрическая идентификация и сглаживание данных. - M.: Наука, 1985.

6. Гаврилов А.И. Нейросетевая реализация процедуры идентификации динамических систем // Автоматизация и современные технологии. - 2002. № 3. - С.22-25.

7. Аоки М. Введение в методы оптимизации. - М.: Наука, 1977.

ТРАНСФОРМАЦИОННЫЙ ПОДХОД К РЕШЕНИЮ ЗАДАЧ

ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ: АЛГОРИТМИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Н.Е. Демидов

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

Научно-технический прогресс привел к использованию в аналитической деятельности новых информационных технологий. Современные экспертно-аналитические подразделения и службы предприятий и организаций получили инструментарий для автоматизированного решения многих задач, в том числе и оптимизационных (планирование производства и перевозок; управление поставками, запасами и сбытом; инвестиционное проектирование; ценообразование и др.) [1]. Характерными особенностями большинства перечисленных оптимизационных задач является их линейность (различные постановки задач линейного программирования) или наличие при нелинейной целевой функции только линейных ограничений в форме равенств и неравенств, а также высокая размерность (сотни, тысячи и десятки тысяч переменных) и, как следствие, значительные вычислительные затраты на получение решений. В связи с этим представляются актуальными многочисленные

исследования, направленные на уменьшение вычислительной сложности указанных задач [2]. Для рассматриваемого класса оптимизационных задач особый интерес представляют методы уменьшения размерности (редукции), основанные на линейно-алгебраических преобразованиях (трансформации) матриц ограничений математических моделей. Предлагаемый ниже трансформационный подход к таким задачам позволяет кардинально уменьшить вычислительные затраты на их решение.

Теоретическое обоснование подхода

Во многих задачах математического программирования (линейное и квадратичное программирование, нелинейная условная оптимизация и др.) используются так называемые обобщенные обратные (псевдообратные, квазиобратные) матрицы (ООМ) [3]. В задачах оптимизации в большинстве случаев ООМ необходимы для решения систем линейных алгебраических уравнений (СЛАУ) вида АХ=В с прямоугольной матрицей А размера п на т (п<т) полного (п=к) или неполного (п>к) строчного ранга (к=гапк А).

В настоящее время для расчета основных типов ООМ, и в первую очередь ООМ Мура-Пенроуза [3], имеются детально теоретически обоснованные на-

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

Известное соотношение для получения общего решения СЛАУ [3]

X = А+В + (Е - А+А)У

связывает исходную матрицу А, ее конкретную ООМ А+ и частное решение Х0=А+В со свободными параметрами в виде матрицы У того же размера, что и X.

В практических задачах возникает проблема использования минимального числа свободных параметров, то есть проблема минимальной параметризации X, в частности, для уменьшения вычислительной сложности алгоритмов. Минимальные и аппроксимирующие параметризации ООМ и решений СЛАУ открывают также и новые возможности решения многих задач [4].

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

Примем без потери общности, что матрица А имеет следующее блочное представление:

A =

Ali A A21 A

в котором подматрица Аи порядка к имеет полный ранг.

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

В качестве А+ необходимо использовать рефлексивную {1,2}-ООМ [4] для А вида

A + =

A

11

0

В этом случае минимальное параметризованное общее решение Х=Х0+8Р включает матрицу Р свободных параметров и матрицу 8 вида

S =

" A11A12

E

m—k

подматрица Ет-к которой является единичной матрицей порядка т-к.

Задачи линейного программирования (ЗЛП) имеют огромное практическое значение, чем объясняется большое число исследований, связанных с ЗЛП. Наиболее известным методом решения ЗЛП является симплекс-метод (СМ), однако для него при решении ЗЛП повышенной размерности (100 - 200 и более переменных) выявлен ряд специфических недостатков (недостаточная численная устойчивость, сложность средств устранения плохо обусловленных базисов и др.). В связи с этими недостатками СМ модифицируются существующие (например итерационные) и разрабатываются новые (в том числе приложения методов нелинейного программирования и, в частности, известный полиномиальный алгоритм Кармаркара) методы решения ЗЛП [5].

Известны прямые методы решения ЗЛП специального типа с помощью ООМ и общих решений СЛАУ [3], однако существенным ограничением

предлагаемого подхода является требование линейной независимости строк матрицы A, то есть наличие полного строчного ранга (m>n и k=n).

Новые возможности решения подобных задач с использованием минимальной параметризации вида X=X0+SP рассматриваются на примере ЗЛП следующего типа:

min{cTx : Ax = b, x, < x < xh} .

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

1. Получение общего решения СЛАУ Ax=b вида x=x0+Bp.

2. Формирование вспомогательной ЗЛП вида

min{dTp : z, = x, — x0 < Bp < zh = xh — x0 }

путем редукции исходной ЗЛП с учетом соотношений стх=стх0+стВр, ^=стВ и исключения из крите-

рия оптимизации постоянной составляющей с х0.

3. Решение редуцированной ЗЛП с помощью хорошо известных алгоритмов поиска набора активных ограничений (НАО) для оптимизационных задач с системой ограничений вида Е

z, <

E.

m—k

Р < zh

с плотно заполненной матрицей Е и последующее определение оптимального решения р* вспомогательной СЛАУ Gp=q, в которой матрица С порядка к-полного ранга и формируется из строк НАО, а вектор q из соответствующих элементов векторов - ограничений z1 или zh.

4. Формирование оптимального решения исходной ЗЛП х*=х0+Вр*.

Примеры решения ЗЛП

Для решения рассматриваемой ЗЛП с двусторонними ограничениями в [6] использован численный метод оптимизации для многошаговых процессов с дискретным управлением. Расчеты производились для следующего примера ЗЛП:

: = [- 5 1 2

A =

b =

—2 1 1 10

10 1 6 15

5 —1 2

- 3

—5 5 1J,

1 0 0 0"

0 1 0 0

0 0 1 0

0 0 0 1

0 < х, < 10, 1 = 1,2,...,6.

За пять итераций вычислений по используемому в [6] алгоритму получено значение критерия оптимальности стх= -5,342 при оптимальном значении -4,0435 (ошибка равняется 13,21%).

С учетом конкретной структуры и значений элементов матрицы А с помощью предлагаемого подхода найдены

1

A + =

[0 00 0] [0]

0 00 0 0

1 00 0 10

0 10 0 ,x0 = 1 ,

0 01 0 6

0 00 1 15

1 0] [0] [ 10

0 1 0 10

2 - 5 , zl -10 zh = 0

-1 1 = - 1 , 9

-1 - 2 - 6 4

-10 3 -15 - 5

B =

Для определения НАО и получения приближенного решения предлагается решить следующие две вспомогательные оптимизационные задачи.

1. Найти

тт{сту : х1 < V < xh }. Решение очевидно:

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

с^* =-150 при V* = [10 0 0 10 10 0]т.

2. Найти

тш||х - V

Решение:

}+

= min Bp + x0 - v при Ax = b .

= [1,9261] [2,0279]'

р = -х0) =

dTp = -3,954 при z1 <х = Вр < zh .

Ошибка в 2,21% для оптимума стх* = -4,0435 позволяет считать найденное решение приемлемым для большинства практических задач с учетом погрешностей получения исходных данных. Однако дополнительный анализ изменений значений конкретных элементов вектора х при переходе от V* к х = Вр =

= [1,9261 2,0279 -6,2874 0,1018 -5,9816 -13,1769] т

и степени приближения их к соответствующим элементам z1 и zh позволяет выделить НАО (две последние строки матрицы В), сформировать матрицу С и вектор q и рассчитать точный оптимум:

G =

-1 10

* п-1 [ 2' p =G q=Us

-32]'1 =I

2,087 9565

-6 15

cT(x0 + Bp) = -4,0435

при x* = [2,087 1,9565 4,3913 0,8696 0 0]T.

С помощью предложенного подхода для задачи об ассортименте [7] вида

max { стх: Ax < b и x > 0 }

при c

= [4 5 9 11], A =

[1 1 1 1] 15

7 5 3 2 ,b = 120

3 5 10 15 100

получена преобразованная ЗЛП

max{cTx: -x0 <Bp}, исследование ограничения которой - 45 ,8333 = 54,1667 x° - 23,3333 0

< Bp =

- 0,8333 2,1667

- 2,3333

1

позволило выявить несовместные по знаку условия (строки 2 и 4 матрицы В) и сформировать новую редуцированную ЗЛП с совместными условиями

max

G=

dTy : Gy < b} при d = [4 9], 11

3 10

Преобразованная двойственная ЗЛП имеет вид: min{bTz: -z0 <Hr}.

Исследование ограничения

- 51/4 - 61/4

5/4 < Hr = 7/4

0 1

-z0 =

позволило выделить избыточное ограничение -строку 2 в матрице С - и получить оптимальное решение у* редуцированной ЗЛП и соответствующее решение х* исходной ЗЛП

7,1429 7,8571]т и 7,1429 0 7,8571 0]т.

*

У =

*

x =

Особенности подхода

Принципиальными особенностями предлагаемого подхода являются:

1) понижение размерности исходной ЗЛП с уменьшением числа неизвестных до величины, не превышающей m-k, что может иметь определяющее значение для больших ЗЛП;

2) возможность использования стандартного ПО для выполнения необходимых линейно-алгебраических операций, таких как определение ранга, ортогональных преобразований, разложения по сингулярным числам и др. [4];

3) возможность применения известных эффективных алгоритмов решения редуцированной ЗЛП, в том числе и предложенных эвристических алгоритмов.

Рассматриваемый подход распространяется на задачи интервального ЛП и дробно-линейного программирования.

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

Программная реализация

ПО для решения ЗЛП на основе трансформационного подхода разработано в инструментальной среде системы для математических расчетов MATLAB версии 6.1 и включает ряд программных систем, и в том числе: версию для разработчиков - с режимом работы в командной строке MATLAB; для конечных пользователей - на основе приложения Excel Link; для учебного назначения - на основе приложения Notebook и для ИТ-специалистов - в виде специализированной библиотеки тулбокса (toolbox) LPT.

ПС для режима работы в командной строке MATLAB была использована для проведения сравнительного исследования известных и оригинальных

r

и

p

алгоритмов решения проблем ЗЛП и содержит свыше 50 модулей в виде М-функций МЛТЬЛБ, которые подразделены на три группы (уровня):

• базовые модули - не используют вызовов других модулей ПС;

• модули второго уровня - предназначены для решения конкретных задач редукции, агрегации и трансформации моделей ЛП, определения внутренних допустимых точек систем линейных ограничений и выполнения процедур предоптимизационного и постоптимизационного анализов;

• модули третьего уровня - законченные функциональные приложения для решения ЗЛП в различных постановках, описанных в специальной литературе.

Список литературы

1. Филлипс Д.Г., Гарсиа-Диас А. Методы анализа сетей. -М.: Мир, 1984. - 496 с.

2. Гольштейн Е.Г., Немировский А.С., Нестеров Ю.Е. О некоторых последних достижениях в оптимизации // Экономика и математические методы. - 1990. - №1. - С. 178-190.

3. Алберт А. Регрессия, псевдоинверсия и рекуррентное оценивание. - М.: Наука, 1997. - 224 с.

4. Демидов Н.Е. Параметризация обобщенных обратных матриц: алгоритмическое и программное обеспечение // Программные продукты и системы. - 1998. - №2. - С. 33-36.

5. Муртаф Б. Современное линейное программирование. Теория и практика. - М.: Мир, 1984. - 224 с.

6. Основы теории оптимального управления. - М.: Высшая школа, 1990. - 430 с.

7. Вагнер Г. Основы исследования операций. - М.: Мир,1973. - Т.1. - 355 с.

ИНТЕЛЛЕКТУАЛЬНЫЙ ВОЗВРАТ В УСЛОВИЯХ ФАЗОВОГО ПЕРЕХОДА ПРИ РЕШЕНИИ КОМБИНАТОРНЫХ ЗАДАЧ

В.Б. Вальковский, С.А. Беляев

В настоящее время разработчикам многих программных систем приходится решать ^Р-трудные задачи. Существует множество алгоритмов решения таких задач, наиболее известный класс алгоритмов нахождения точного решения - методы ветвей и границ. Известно, что средняя их сложность - кубическая зависимость от размерности, а в качестве верхней границы - экспоненциальная [1,2].

В последнее десятилетие обнаружен эффект фазового перехода, когда при незначительном изменении параметров системы сложность решения точным алгоритмом возрастает па порядки [3], то есть приближается к верхней границе сложности. На примере задачи коммивояжера показано, что один из типов фазового перехода основывается на специфических топологических особенностях исходных данных [2,4], когда у весовой матрицы на главной диагонали находятся квадратные подматрицы, кластеры, элементы которых в среднем меньше элементов вне данных подматриц. Экспериментально получено, что сложность значительно возрастает при наличии строгого неравенства. Среднее число исследуемых ребер при поиске точного решения для матриц размером 20x20 и 30x30, сгенерированных по равномерному закону с учетом топологических особенностей, представлено в таблице 1. Количество статистических испытаний 100.

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

Таблица 1

Среднее число ребер, исследуемых методом ветвей и границ

Весовая матрица, Матрица 20x20 Матрица 30x30

равномерный с 4 кластерами с 5 кластерами

закон 5x5, (ребер) 6x6, (ребер)

Без топологиче- 7

ских особенно- 146.9 43

стей

Наличие кластеров 164.9 1583

Наличие "стро- 5814.8 639057.7

гих" кластеров

когда элементы в кластерах из интервала (0, 0.5), а вне кластеров - (0.5, 1), представлен на рисунке 1, при этом более 85% элементов, использованных при построении точного решения, принадлежат кластерам. Такое количество повторений комбинаций ребер из кластеров связано с особенностями работы метода ветвей и границ [5].

Дерево решения методом ветвей и границ бинарное. При построении дерева решения возврат происходит на предыдущую ветвь и производится

0,2 0,18 0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0

т-ТП,11,-т-ТП,П,П,П,п,

ГГГГГГГГГГГГГГГГ1—I—г

Рис. 1. Доля исследованных ребер длиной от 0 до 1

проверка возможности существования решения на

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