| УПРАВЛЕНИЕ В СОЦИАЛЬНО-ЭКОНОМИЧЕСКИХ СИСТЕМАХ
УДК 330.45
УПРАВЛЕНИЕ ИНТЕГРАЦИЕЙ ИННОВАЦИОННЫХ ПРОЕКТОВ В ПРЕДМЕТНУЮ ОБЛАСТЬ
Д. Б. Босов,
канд. экон. наук, глава представительства Компания «Аллтек инвестментс лимитед»
Предложены модель и алгоритм решения задачи оптимизации многомерных параметрических рядов в интересах рациональной интеграции инновационных проектов в предметную область.
Ключевые слова — управление, инновационный проект, математическая модель, множество, вариант математической формализации, решение задачи.
Постановка задачи
Любой инновационный проект создается и реализуется в интересах удовлетворения некоторого спектра характерных для соответствующей предметной области его использования потребностей. Поскольку все они, как правило, не могут быть полностью обеспечены каким-либо одним вариантом инновационного продукта, рациональная интеграция инновационных проектов в предметную область путем формирования соответствующих параметрических рядов инновационных продуктов (изделий) становится актуальной задачей инновационного менеджмента.
Сложность современных инновационных проектов и разнообразие предъявляемых к ним требований приводят к тому, что проблемы формирования таких рядов в процессе инновационного развития становятся весьма непростыми. Попытки решить их на основе предыдущего опыта и интуиции часто приводят к грубым ошибкам, что в условиях высокой стоимости и большой длительности разработки и производства инноваций недопустимо. Поэтому решение указанных проблем должно опираться также и на объективные научные обоснования. Инструментом для таких обоснований могут быть соответствующие математические модели. В настоящей работе предложены модель и алгоритм решения задачи оптимизации многомерных параметрических рядов в интересах рациональной интеграции инновационных проектов в предметную область.
Сущность задачи состоит в следующем.
Задано множество J = {1, 2, ..., у, ..., N видов потребностей. Каждый вид потребности опреде-
ляется совокупностью многих характеристик (показателей, параметров).
Имеется также множество I = {1, 2, ..., i, ..., М} изделий, способных совместно обеспечить все виды потребностей. Каждому ^у изделию также соответствует набор значений параметров, характеризующих его эксплуатационные, технические, эргономические и другие свойства. Так как каждый набор значений параметров соответствует изделию с определенным номером i, далее будем считать, что тип изделия полностью определяется своим порядковым номером.
Необходимо из множества I допустимых типов изделий выбрать такое подмножество I*с I (оптимальный ряд изделий), которое полностью обеспечит множество J видов потребностей с минимальными затратами.
Варианты математической формализации этой задачи зависят от многих факторов. В частности, их вид определяется структурой областей применения изделий, т. е. свойствами потребностей (обладают ли они свойством связности или нет), выбором критерия оптимизации ряда, учетом дополнительных ограничений, неопределенностью спроса и т. п. [1].
В данной работе мы рассмотрим формализацию указанной задачи в следующем виде. Требуется определить
С = шт
М М N
ЕС?У1 +ЕЕС;Х
(1)
/ уVI 1 / у /
1=1 1=1 ц=1 у
при ограничениях
м
^а^х^ = 1, ] = 1,2,..., N (2)
1=1
Хц < У1, I = 1,2,..., М, ] = 1,2,..., N; (3)
xij Ш 1}, yi Ш 1},
I = 1,2,...,М, ] = 1,2,...,N (4)
м
£У1 < Мо, Мо < м, (5)
1=1
где с0 — постоянные затраты на разработку и применение изделий ;-го типа (начальные затраты);
Су = асЬ — затраты, связанные с обеспечением потребностей у-го вида изделиями ;-го типа;
— число изделий ;-го типа, необходимых для обеспечения единицы потребностей у-го вида;
Су — затраты на производство и эксплуатацию одного изделия ;-го типа;
Ьу — величина потребностей у-го вида;
М0 — количество типов изделий, которые могут быть включены в оптимальный ряд I*.
Взаимосвязь элементов множеств I и J задается с помощью матрицы применений \\ау\Мх^ в которой а^ = 1, если изделие ;-го типа может обеспечивать у-й вид потребности, и а^ = 0 в противном случае. Причем полагаем, что Су = ж, если ау = 0.
Управляющие переменные принимают значения:
1, если £-й тип изделия
включают в выбираемый у1 =" ряд изделий;
0 в противном случае;
1, если £-й тип изделий назначен для удовлетворения потребности /-го вида;
0 в противном случае.
Ч/ =
Ограничения (2) означают, что все потребности множества J должны быть обеспечены. Из выражения (3) следует, что для обеспечения потребностей у-го вида можно назначать изделия только тех типов, для которых Уу = 1.
Соотношения (1)—(5) формализуют рассматриваемую задачу в виде модели дискретной многомерной задачи стандартизации при детерминированном спросе [2].
Алгоритм решения задачи с использованием схемы метода ветвей и границ и теории двойственности
Рассмотрим алгоритм решения задачи (1)— (5), представляющий собой процесс направленного перебора с возвращениями. В основу этого процесса положена принципиальная схема метода ветвей и границ. При этом в предлагаемом алгоритме построение дерева возможных вариантов осуществляется в соответствии с односторонней схемой ветвления [2]. Для оценки нижней грани-
цы решения в процессе ветвления используется задача линейного программирования, двойственная по отношению к задаче (1)—(5), в которой условие целочисленности (4) заменяется условием
0<уI < 1, I = 1,2,...,М. (6)
Проверка допустимого решения задачи (1)— (5) на оптимальность осуществляется решением оценочной двойственной задачи.
Для описания алгоритма введем следующие обозначения:
!0 = {;|у; = 0} — множество индексов управляющих переменных у, вошедших в ветвь дерева вариантов со значением, равным нулю (такие переменные будем обозначать через у1);
II = = 1} — множество индексов управляю-
щих переменных у, вошедших в ветвь дерева вариантов со значением, равным единице;
!2 = ^0 — множество индексов управляющих переменных у, вошедших в ветвь дерева вариантов;
!3 = I/I2 — множество индексов управляющих переменных у, из которых выбирается индекс переменной для включения в множество !2;
Iд (!д = I1 при условии ^2\ = М или !3 = 0) — множество индексов управляющих переменных у, соответствующих допустимому решению задачи (1)—(5);
;+ — индекс управляющей переменной у, включение которого в множество I1 предпочтительнее по сравнению с другими индексами из множества !3;
; — индекс управляющей переменной У1, который целесообразно включить в множество !0.
Значения Су = ж заменяем величинами, равными шт (с0 + ).
ш
Двойственную задачу линейного программирования по отношению к релаксированной задаче (1)—(3), (6) можно записать следующим образом:
^ = тах £Vj (7)
jш
при ограничениях
£Щ <с°> 1 12,-,М; (8)
ш
V; -Щ; < Сц, ] = 1, 2,..., N,
I = 1,2,..., М; (9)
Wij > 0, ] = 1,2,..., N,
I = 1,2,..., М, (10)
где V, Wу — переменные двойственной задачи.
Теоретически задачу (7)—(10), введя дополнительные переменные уц, 5;, (£ = 1, М, ] = 1, =, можно представить в виде основной задачи линейного программирования, исходное базисное решение которой имеет вид
N
2= Е V; у ц = сц + wij - Vj,
ц=1
i = 1,2,..., М, Ц = 1,2,..., N
N
^ = с0-Е Wij, І = 1,2,..., М.
Ц=1
Полученную таким образом задачу можно решить симплексным методом.
Однако практика показала, что даже небольшие задачи оптимизации многомерных параметрических рядов требуют решения задач линейного программирования большой размерности. Их опорные планы сильно вырождены, а установление оптимальности в некоторых случаях связано с большим числом симплексных итераций. Действительно, количество переменных и число уравнений ограничений &2 задачи линейного программирования связано с размерностью исходной задачи соотношениями й1 = М + + 2MN + N й2 = M(N + 1). Для решения задачи линейного программирования такой размерности требуется обычно от M(N + 1) до 3M(N + 1) итераций. Учитывая, что оценка нижней границы производится многократно, такой способ решения является нерациональным. Кроме того, нецелесообразно искать и точное решение задачи (7)—(10), так как оно позволяет получить точное решение не исходной целочисленной задачи (1)— (5), а лишь непрерывной релаксированной задачи (1)—(3), (6). Поэтому дальнейшее развитие рассматриваемого направления идет по пути построения приближенных методов решения двойственной задачи [3] и упрощения тем самым способов оценки нижней границы исходной целочисленной задачи. Алгоритмы, использующие для оценки двойственную задачу, различаются способами определения приближенного решения задачи (7)—(10). Наиболее простым является способ расчета, основанный на следующих соотношениях:
0 N
Щ=-С-; V=т1п {сч + Щ);г=Е V,
j=l
где ^ = а I а.ц =1}; I = {г | а.ц =1}.
При этом достаточно простая структура задачи (7)—(10) позволяет получить приближенное решение, совпадающее с оптимальным или достаточно близкое к нему. Вычислительные эксперименты на ЭВМ показали, что особенностью задачи (1)—(5) является довольно частое совпадение оптимального целочисленного решения с непрерывным. Поэтому обычно приближенно решают двойственную задачу, а от нее переходят к соответствующему решению непрерывной задачи (1)—(3), (6). При совпадении целочисленного
и непрерывного решений полученный результат является оптимальным, в противном случае переходят к обычному алгоритму ветвей и границ. Однако переход от приближенного решения двойственной задачи к соответствующему приближенному решению задачи (1)—(5) является достаточно сложным и не всегда однозначным. Значительно более простым является способ, когда вначале определяется достаточно точное решение задачи (1)—(5), а по этому решению определяется решение двойственной задачи. Совпадение решений свидетельствует об оптимальности целочисленного решения. В дальнейшем этот способ мы будем называть направленным, так как он использует решение целочисленной задачи в оцениваемой вершине.
Рассмотрим направленный способ решения двойственной задачи (7)—(10) более подробно.
Упростим структуру задачи (7)—(10), для этого исключим переменные Wj, входящие лишь в ограничения. Действительно, при любом допустимом выборе переменных Vj переменные Wj можно положить равными максимальной из величин 0 и Vj - Cj. C учетом этого двойственную задачу (7)—(10) запишем в виде
N
Z = max ^ Vj (11)
j=i
при ограничениях
N
^ max (Vj -cj; 0) < c0, j=i
i = 1,2,...,M. (12)
Сущность направленного решения двойственной задачи (11), (12) заключается в следующем. Учитывая ее более простую структуру и возможность использовать приближенное решение для оценки нижней границы на различных этапах ветвления, предлагаем следующий способ формирования значений переменных Vj, доставляющих целевой функции (11) по возможности большее значение. Процесс начинается с допустимого
решения V: = min сц задачи (11), (12) и состоит
ieI1eIs
в многократном последовательном просмотре j-х столбцов (j = 1, 2, ..., N) матрицы ||с^|| в целях проверки возможности увеличения Vj до ближайшей большей величины Cj. При этом в каждом цикле просмотра проверяется возможность увеличения
Vj для тех столбцов, в которых находится наименьшее количество элементов Cj, удовлетворяющих условию Cj < Vj. Увеличение значений переменных Vj происходит с учетом (12) и ограничено величинами
V:< min [minCj; min (cj +c0)]. (13)
‘ i€l1 ‘ i€l
Оценка, получаемая с помощью данного способа, определяется элементами множеств I1, I3 и, когда дальнейшее увеличение переменных V становится невозможным, вычисляется по формуле
N
Z(.h) = гх = Е V + Е с0 (14)
7=1 '■е11
В ходе экспериментов со случайными матрицами ||с.;|| выявлено довольно частое (до 90 %) соч
впадение оптимального целочисленного решения задачи (1)—(5) с решением, которое определялось с помощью двойственной задачи (11), (12). Учет этой особенности в сочетании с достаточно простым способом нахождения решения двойственной задачи позволил значительно сократить время поиска оптимального решения задачи (1)—(5). Выигрыш во времени достигается за счет доказательства оптимальности одного из допустимых решений задачи (1)—(5), полученных на первых шагах работы алгоритма.
Эффективность применения данного способа и точность полученного с его помощью результата в значительной степени определяются точностью используемого (одновременно проверяемого на оптимальность) целочисленного решения. Если для оценки нижней границы целевой функции путем направленного решения двойственной задачи (11), (12) используются ограничения (13), то при проверке допустимого решения на оптимальность вместо (13) требуется выполнение неравенств
Сг; < V: < шт [с1:; шт (с: + с0)],
ш
]■ = 1,2,..., N, (15)
где сГ1 = шт Сц; сц = шт сц.
ш' ш
1^1
Процесс проверки допустимого решения задачи (1)—(5) на оптимальность начинается с допустимого решения V: = шт С;: задачи (11), (12).
‘ 1е1 ‘
Необходимость неравенств (15) следует из соотношений
N
0
Vi
ci -Еmax(Vj -сФ0)
i=
= 0;
(V* - x*j) max (Vj - сц; 0) = 0 ,
определяющих оптимальность полученных решений для непрерывной и целочисленной задач. Знак «*» указывает на оптимальность решений соответствующих задач. При выполнении ограничения (15) совпадение величины
=EVj ’ (16)
7=1
полученной в результате решения двойственной задачи (11), (12), со значением целевой функции
задачи (1)—(5), соответствующей проверяемому целочисленному решению
N
сд = Е с° + Е minc4 ’ Хд = 1 (17)
ieln j=l ieIД
указывает на оптимальность найденного целочисленного решения, т. е.
* т *
1 = 1д, c = СД-
В случае несовпадения значений целевых функций поиск оптимального решения задачи (1)—(5) продолжается методом ветвей и границ.
Поиск первого допустимого решения и дальнейшее ветвление осуществляется с помощью показателей вида N
Pi = Еmax(vj -cij; 0) -с°, ie h, (18)
7=1
min Cij; min (c0 +c^j) .
_ ieli ieI _
Таким образом, общая схема алгоритма решения задачи (1)—(5) включает следующие основные этапы:
1) определение допустимого решения 1д, Сд исходной задачи;
2) проверка допустимого решения на оптимальность путем решения двойственной задачи;
3) уточнение, в случае необходимости, допустимого решения методом ветвей и границ и проверка его на оптимальность.
Вычислительный процесс заканчивается при выполнении одного из условий:
— доказана оптимальность допустимого решения с помощью решения двойственной задачи;
— просмотрены все перспективные ветви дерева вариантов.
Перед началом решения задачи полагаем I0 = = Il = I2 = 0, I3 = {1, 2, ..., M}.
Ha каждом шаге вычислительного процесса определяются показатели р,, ieI3, характеризующие целесообразность включения переменных у,, ieI3 в формируемое допустимое решение задачи (1)—(5). Если среди показателей (18) имеются р7 < 0, то принимаем соответствующие им переменные у, равными нулю, так как включение их в допустимое решение не приведет к его улучшению. Индексы {i|p,, < 0} выводим из множества I3 и включаем в множество I0. Кроме того, из множества I3 исключается и в множество I1 вводится индекс i+, для которого
Р;+= max Pi, (19)
{i|pi >0}
так как переменная у,+ может привести к улучшению решения. Последним шагом алгоритма, заканчивающим формирование допустимого ре-
где Vj = min
шения, является шаг, на котором !3 = 0. Значение целевой функции, соответствующее найденному допустимому целочисленному решению, определяется согласно (17). Если проверка с помощью решения двойственной задачи не подтверждает оптимальности допустимого решения, то его уточняем методом ветвей и границ. Схема ветвления односторонняя, использующая правило «последний вошел — первый выходит», т. е. для ветвления выбирается висячая вершина, образованная последней. В основу дерева вариантов принимается ветвь, полученная на первом этапе, дальнейшее ветвление производится с помощью показателей р;, как и при поиске первого допустимого решения.
Отсечение бесперспективных ветвей осуществляется сравнением оценки (14), полученной в результате решения двойственной задачи (11)—(12) с учетом ограничения (13), со значением целевой функции (17), соответствующей наилучшему из уже найденных допустимых решений. Поэтому здесь важно с самого начала получить значение целевой функции задачи (1)—(5), близким к оптимальному. Следовательно, способ получения допустимого решения должен быть достаточно эффективным.
Литература
1. Береснев В. Л., Гимади Э. Х., Дементьев В. Г. Экстремальные задачи стандартизации. — Новосибирск: Наука, 1978. — 333 с.
2. Анисимов В. Г., Анисимов Е. Г. Метод решения одного класса задач целочисленного программирования // Журнал вычислительной математики и математической физики. 1989. Т. 29. № 10. С. 15861590.
Одной из основных сложностей, связанных с решением задач оптимизации многомерных параметрических рядов, является их большая размерность. В некоторых случаях размерность задачи можно уменьшить на этапе предварительного анализа исходных данных. Сущность одного из возможных способов заключается в определении с помощью специальных показателей тех изделий, которые обязательно следует включить в оптимальный ряд. Поиск таких изделий осуществляется без решения исходной оптимизационной задачи с помощью показателей N
Ai =Е min [ max (clj - cu; 0)] - c0, i e I, (20)
Uftyo 1 1
l^i
характеризующих увеличение затрат на обеспечение заданных потребностей в изделиях, если принять у, = 0. Поэтому при условии Д > 0 необходимо включить i-й тип изделия в I*, приняв у, = 1.
В целом предложенный подход к математической формализации задачи формирования параметрических рядов и алгоритм ее решения позволяют обеспечить рациональную интеграцию инновационных проектов в предметную область их использования и могут найти широкое применение в инновационном менеджменте.
3. Алексеев О. Г., Анисимов В. Г., Анисимов Е. Г. Применение двойственности для повышения эффективности метода ветвей и границ при решении задачи о ранце // Журнал вычислительной математики и математической физики. 1985. Т. 25. № 11. С. 1666-1673.