Научная статья на тему 'Непрерывно-логические методы в математической экономике'

Непрерывно-логические методы в математической экономике Текст научной статьи по специальности «Математика»

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

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

The article provides a substantial review of works on the application of continuous logic to the solving of problems in mathematical economics such as the calculation of labour productivity characteristics, their analysis and optimum synthesis.

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

CONTINUOUS LOGICAL METHODS IN MATHEMATICAL ECONOMICS

The article provides a substantial review of works on the application of continuous logic to the solving of problems in mathematical economics such as the calculation of labour productivity characteristics, their analysis and optimum synthesis.

Текст научной работы на тему «Непрерывно-логические методы в математической экономике»

УДК 519.711.3

НЕПРЕРЫВНО-ЛОГИЧЕСКИЕ МЕТОДЫ В МАТЕМАТИЧЕСКОЙ ЭКОНОМИКЕ

© В.И. Левин

Levin V.I. Continuous logical methods in mathematical economics. The article provides a substantial review of works on the application of continuous logic to the solving of problems in mathematical economics such as the calculation of labour productivity characteristics, their analysis and optimum synthesis.

1. В 1978 году автором впервые была указана возможность использования непрерывной логики (НЛ) для решения оптимальных задач математической экономики. Применение здесь НЛ с ее операциями взятия максимума и минимума представляется естественным. Менее очевидной оказалась обнаруженная автором в начале 80-х годов возможность определения с помощью НЛ различных показателей производственных систем: быстродействия, производительности, загрузки, основанная на том, что показатели и режимы работы этих систем определяются соотношениями «больше» или «меньше» между временными параметрами выполняемых в них работ. И уж вовсе не очевидны были разработанные в 80-е годы теория и методы НЛ-анализа и синтеза оптимальных расписаний выполнения работ в системах. В настоящее время методы НЛ в математической экономике представляют собой самостоятельную ветвь этой науки, со своими идеологией и методологией исследований и значительными результатами, связанными с первыми аналитическими решениями ряда задач, с обозримостью этих решений или уменьшением трудоемкости их нахождения. В данном обзоре кратко рассмотрены некоторые из этих результатов.

2. Рассмотрим последовательную систему с т блоками, выполняющими т различных операций. В систему одновременно поступает п работ, состоящих из т указанных операций (свободное по времени поступление работ). Времена выполнения операций і для работ у заданы матрицей А = |^||. Работы запускаются в систему и проходят ее блоки

1, т в одном и том же порядке 1, 2,п. При

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

T = A v = а,,

(1)

т. е. равно дизъюнктивному логическому определителю (ЛО) Аv от матрицы А времен операций. Здесь

ЛО |агу| есть функция (оД ^ аг - г -й в порядке

возрастания элемент матрицы А . Формула (1) сводит расчет (анализ) быстродействия последовательной системы к вычислению (анализу) ее ЛО Аv. Первое выполняется с помощью волнового алгоритма со сложностью 0(т п) , что позволяет рассчитывать системы практически неограниченной размерности. Второе выполняется на основании свойств дизъюнктивных ЛО, описывающих изменение величины ЛО при изменениях его элементов. Так как ЛО есть функция НЛ от его элементов, то, согласно (1), показатель Т выражается через времена операций а^ в

терминах НЛ. Аналогично, но чуть сложнее определяются условные показатели быстродействия системы, при условии известных времен прохождения работами части блоков. Через показатель Т выражается скорость работы (производительность) системы: V = п / Т .

3. Для последовательной системы из п. 2 показатели загрузки - средняя загрузка любого к -го блока

R,

= 1 ак]Т

(2)

j=i

и его мгновенная загрузка Гк (/) в произвольный момент / , а также средняя загрузка системы и ее мгновенная загрузка в момент /

m n m

R = ZZakj/mT>r(t) = Zrk(tVm

(3)

к =1 j=1

к=1

Согласно (1) - (3), для вычисления показателей средней загрузки блока и системы надо вычислить

ЛО Аv от матрицы времен операций А . В итоге показатель выразится через времена а^ с помощью

операций НЛ. Для нахождения показателей мгновенной загрузки надо определить матрицы моментов

начала работ в блоках Т = /г и окончания работ в

блоках T = t ■ Здесь t-- (tj )

моменты начала

v

(окончания) работы у в блоке I . Пусть Агк - дизъюнктивный ЛО из г первых строк и к первых столбцов матрицы А и А* =|А^|| матрица, присоединенная к А . Доказано, что

T = A .

Ясно также, что

T - T = A .

(4)

(5)

Таким образом, вычисляя с помощью волнового алгоритма А* , получим Т , а затем из (5) и Т. После этого показатель гк (ґ) мгновенной загрузки блока

rk (t) =

1 t euftki- Л, ]> i =1

0, в противном случае,

(6)

и показатель мгновенной загрузки системы г(ґ) определится из (3). Поскольку ЛО А'^к - функция НЛ от элементов матрицы А , все показатели загрузки системы выражаются через времена операций аіу в терминах НЛ. Так как показатели загрузки выражаются через дизъюнктивный ЛО Аv , анализ загрузки системы можно вести на основе свойств дизъюнктивных ЛО.

4. Особый класс составляют последовательные системы с принудительным по времени поступлением работ, в которых задается как порядок, так и моменты поступления работ в систему. Если этот порядок 1,2,..., п, а соответствующие моменты

х1, т2,..., %п , то время прохождения всех работ через систему

T =

Ті То — Ті

*m!

лт 2

— Ті

(7)

Из (7) видно, что любая система этого класса эквивалентна некоторой последовательной системе со свободным по времени поступлением работ, имеющей расширенную матрицу времен операций. Таким образом, расчет и анализ систем первого вида сводится к расчету и анализу систем второго вида (п. 2, 3).

5. Рассмотрим параллельную систему из т функционально однотипных блоков 1, 2, ... , т для выполнения п однотипных работ (п > т) . Времена выполнения работ у в блоках і заданы матрицей

А = а . Работы подаются в систему в заданном

порядке Рп = (у1, уп ). При этом в момент t = 0

работы у1,..., у т загружаются в блоки 1, ..., т , которые начинают свои операции и по мере высвобождения загружаются последующими работами Уи+1, ..., уп. Любые показатели быстродействия данной системы выражаются через вектор t = (^, ..., /и ), где tк - момент окончания работы У . В частности, общее время выполнения всех п работ и скорость их выполнения (производительность)

T = v t,.

i =1

v = n /T

(8)

где v = max - дизъюнкция НЛ. Вектор t вычисляется просто в случае однородной системы, где блоки одинаковы по быстродействию, так что матрица времен работ A вырождается в вектор времен работ а = (а, ..., аи ) , где aj - время выполнения работы

j в любом блоке. Пусть ~ = (а, ..., аи ) - вектор, отличающийся от вектора а перестановками элементов в соответствии с заданным порядком Рп запуска работ. Тогда моменты tk связаны таким рекуррентным соотношением

~к, 1 < к < m;

к—1

(к—m)

+ ~к, m +1 < к < n,

(9)

позволяющим последовательно вычислить эти моменты для однородной системы в терминах операций

а

НЛ, ибо порядковый ЛО вида

в (9) выражается

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

6. Показатели загрузки параллельной системы принимаются те же, что и последовательной системы, но выражения для них другие. Любой блок к параллельной системы начинает действовать в момент ґ = 0 , загружаясь работой 1, затем в момент ґ1(к) ее окончания загружается работой 2, оканчивает ее в момент ґ2(к) , ..., наконец, в момент ґ(к) оканчивает последнюю свою работу. Отсюда выражения средней и мгновенной загрузки к -го блока

Rk = t (к )/T, rk (t) =

1, 0 < t < ^к), 0, t > t(^),

к = 1, m, (10)

n

n

t

1

а

N

V

Т —Т

^n ^

n-1

а

а

а

а

и соответствующие им выражения средней и мгновенной загрузки системы

Я = [£ґ(к)]/тТ,

к =1

г(ґ) =

1, ґ < ґ1,

(11)

1 - (і /т), ґг < ґ < ґг +1, і = 1,т -1, 0, ґ > ґт.

В (11) {/!} есть множество {/(/)} , упорядоченное по возрастанию. Для нахождения моментов :(к) используются упорядоченные моменты окончания работ блоками, в сочетании с последовательностью номеров освобождающихся блоков.

7. Особый класс составляют параллельные системы с принудительным по времени поступлением работ, в которых задаются и порядок Рп = / ...,/п), и моменты ^тп поступления работ. Расчет и анализ таких систем базируется на соотношении-аналоге (9) (случай однородной системы).

ґк = 1

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

^к + ак,

Ґ ґ1 к - 2

ч +

V Ь-1 /

1 < к < т,

+ аи, т +1 < к < п.

(12)

8. Рассмотрим параллельно-последовательную систему из М последовательно соединенных ступеней с параллельными функционально однотипными блоками равного быстродействия в г -й ступени. На вход системы подается последовательность Р1п = (уп, ..., у1п ) из п работ 1, ..., п , проходящая по ее ступеням, где выполняются соответствующие операции. Времена выполнения операций г работ у

заданої матрицей

А = а,,

Порядок выполнения

работ внутри каждой ступени определяется закономерностями функционирования параллельных систем, а переход со ступени на ступень - законами действия последовательных систем. При этом порядок работ на выходе ступени в общем случае не совпадает с порядком на ее входе. Обозначим ґдк момент окончания д-й операции в работе, запущенной на операцию к-й. Показатель быстродействия системы -время Т выполнения всех работ - выражается через ґф с помощью дизъюнкции НЛ

Т = V ґ,

к =1

Мк

(13)

так что вычисление Т сводится к вычислению матрицы Ц^Ц . Последняя подчиняется рекуррентному

соотношению, позволяющему вычислить ее в терминах НЛ операций

ґдк =

д-1,1

4-1,п

(к )

+ , при 1 < к < тц

(14)

ґ д-1,1 (к) ґд1 ( к-тц ) '

ґ4-1,п V ґ4,к-1

+ аф, при т +1 < к < п.

В (14) матрица А = Ця^Ц получена из заданной

матрицы А = ЩуЦ перестановками элементов в каждой ц -й строке в соответствии с порядком запуска работ на ц -ю операцию (порядком окончания работ на (ц — 1) -й операции). Сложность этих вычислений

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

9. Рассмотрим последовательно-параллельную систему из параллельно соединенных ветвей в виде последовательности блоков. В к -й ветви тк блоков. Каждая к -я ветвь может выполнить любую из п (п > М ) подаваемых в систему работ ее разбиением на тк последовательных операций, выполняемых в соответствующих блоках ветви. Быстродействие любой к -й ветви задается матрицей

А( к ) = Я (к )||, где аі/( к) - время выполнения в

к-й ветви операции і работы ]. Порядок выполнения работ в каждой ветви определяется закономерностями действия последовательных систем, а распределение подаваемой на вход системы последовательности работ Рп = (/'І5 ..., ]п) между ветвями-законами действия параллельных систем. Распределение последовательности работ Рп - между ветвями зависит от порядка освобождения первых блоков ветвей. Эти блоки образуют параллельную систему с матрицей времен работ

А = а

= а1/ (к ), к =1М, / = 1, п .

(15)

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

=

а

к/

п

M

T = v t,

к=1

к, R = Х Rk /м.

к=1

(16)

10. Обратной по отношению к задачам расчета и анализа является задача синтеза системы. Она состоит в выборе из множества допустимых процедур выполнения работ оптимальной процедуры, придающей показателям системы наилучшие значения. Простейшей является задача синтеза статической системы. Ее формулировка такова. Параллельная система с т блоками предназначена для выполнения п работ (п > т) . Времена выполнения работ у в блоках г

заданы матрицей А = |Щ|. Множество работ Ж

выполняется путем его разбиения на подмножества Ж , ... , Ж , выполняемые в соответствующих блоках. Суммарное время работы всех блоков

Л=ХХ ‘

i=1 JeW,

(17)

Требуется выбрать оптимальное разбиение работ на подмножества Wi (оптимальное прикрепление их

к блокам), при котором D = min . Здесь возможны два варианта задачи: 1) без ограничений на мощности подмножеств Wj; 2) с ограничениями вида

bi < Wi\ < С. Доказано, что

Dmn = A Л (в первом случае);

Amin = A 2Л ( во втором случае),

(18)

где А1л и А2л - конъюнктивные ЛО 1-го и 2-го рода с ограничениями на суммы элементов от матрицы времен А . По определению, А1л есть функция вида л aij , где л = min - конъюнкция НЛ,

^ aij - сумма элементов aiJ-, включающая ровно один элемент из каждого столбца матрицы А . Далее А2л есть функция вида л^ aij , где ^

q lJ

сумма элементов Цу, включающая ровно один элемент из каждого столбца матрицы А и из ее г -й строки, где < р( < сг-. Таким образом, для решения

задачи надо вычислить соответствующий ЛО. При этом значение ЛО укажет значение О^п , а его элементный состав - оптимальное распределение работ по блокам (наличие в выражении ЛО элемента агу

означает прикрепление ] -й работы к г -му блоку). Представление (18) также показывает, что анализ оптимальной статической системы сводится к анализу поведения соответствующего ЛО при изменениях его элементов. Поскольку ЛО в (18) - функции НЛ от их элементов, значение Отп выражается через вре-

мена aij в терминах НЛ. В соответствии с упрощенной формулой вычисления ЛО А1л = ^л aj к про-

J k

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

11. Задача синтеза последовательной системы с m блоками, выполняющей n работ (п. 2), состоит в отыскании оптимального порядка РОПт = Ol, ..., Jn ) выполнения работ, при котором время выполнения всех работ T = min . Решение задачи наиболее просто в случае m = 2 . Здесь, для того чтобы любые две работы i, J следовали в Р в порядке i ^ j, независимо от остальных работ, достаточно выполнения условий

all Л a2j < a1j Л a2i

(19)

где л = min - конъюнкция НЛ. Условие (19) дает возможность сконструировать простые решающие правила для непереборного нахождения оптимального порядка работ Ропт. Характерно, что в случае

m = 2 решение задачи синтеза ищется в классе перестановочных расписаний, т. е. последовательностей работ, не меняющихся при переходе от предыдущего блока к последующему. Это связано с известным фактом: Ропт при m = 2 находится в классе перестановочных расписаний. При этом, для того чтобы любые две работы i, j следовали в Ропт в порядке i ^ j, независимо от остальных работ, достаточно выполнения условий

a1i Л a2 j < a1j Л a2i, a і Л a, j < a2 J Л a3i (ah. + a2i) л (an + a j ) л ( a j + a j ) <

< ( aij + a2j ) л (aij + a3i) л (a2i + a,i).

(20)

Условия (20), в отличие от (19), позволяют упорядочить не все пары работ (і, / ) (три неравенства не всегда совместны). Отыскание Р в системе с

т = 3 блоками проводится путем: 1) построения орграфа приоритетов работ, связывающего дугой і ^ / вершины і, / , которые представляют работы, удовлетворяющие условию (20); 2) нахождения в графе какого-нибудь гамильтонова пути, который и дает Ропт . Данный алгоритм отыскания Ропт в системе с т = 3 блоками сложнее непереборных решающих правил для систем с т = 2 блоками. Он требует частичного перебора. Впрочем, существует ряд частных случаев определенных соотношений времен операций аі/ , когда Ропт в системе с т = 3

lJ

блоками находится с помощью решающего правила и без перебора, аналогично случаю т = 2 .

12. Синтез последовательных систем с числом блоков т > 4 отличается тем, что здесь оптимальный порядок выполнения работ Р следует искать в более широком классе неперестановочных расписаний. Однако из-за возникающих трудностей на практике обычно ищут Р среди перестановочных расписаний. Более того, ограничивают класс рассматриваемых последовательностей работ разделимыми последовательностями. Последовательность работ Р = (..., 1к, г,у, ..., ги ) называется сильно (слабо) разделимой, если перестановка в ней любой пары соседних работ г, у увеличивает или уменьшает момент окончания подпоследовательности работ (г1, ..., гк , г, ]) во всех блоках q (хотя бы в одном

из блоков q ), q = 2, т независимо от предшествующей этой паре последовательности ( г , ... , г ) . Такие ограничения практически не стеснительны и в то же время позволяют сформулировать в терминах НЛ и ЛО общие аналитические условия оптимальности порядка работ в системах с любым числом блоков т . Именно: 1) для того чтобы последовательность Р = (г1,..., гк, г, у,..., гп ) прохождения п работ через т блоков была оптимальной (и сильно разделимой), достаточно, чтобы у любой упорядоченной пары (г, у ) соседних работ из Р времена операций удовлетворяли условиям

j) <ASS+i(J,i)> s = 1m —1

j ) < As,s+2( j i x s = 1m - 2;

A1m (hj ) < A1m (j i X

(21)

в которых фигурируют специальные дизъюнктивные ЛО от усеченных І -го и j -го столбцов матрицы

A = a времен операций

ASr(i, j ) =

1 < s < r < m

(22)

2) для того чтобы та же последовательность Р была оптимальной (и слабо разделимой), необходимо, чтобы у любой пары (г, у ) соседних работ в ней времена операций удовлетворяли условиям с теми же ЛО (22)

[ АІ2(і, j) < A^j, І)] и [ AS3 (І, і) < AV3 (і, І),

s = 1,2] и ... и [Asm (І,і) < Am ( j iX s = 1, m — 1].

Так как ЛО (22) - функция НЛ, то условия (21), (23) в явном виде выражаются в терминах операций НЛ. При m = 2 условия (21) и (23) совпадают, давая

(19), являющееся, следовательно, необходимым и достаточным условием оптимальности систем с двумя блоками. При m = 3 условия (21) переходят в

(20). При m > 3 условия (21) жестче условий (23) и различие в жесткости с увеличением m растет. Отыскание в системах с > 4 блоками с помощью достаточных условий оптимальности (21) проводится как и в случае m = 3 , с использованием орграфа приоритетов работ (см. п. 11). Отыскание в системах с m > 3 блоками с помощью необходимых условий оптимальности (23) проводится так: 1) строится орграф приоритетов работ, связывающий дугой i ^ j вершины, которые представляют работы, удовлетворяющие условию (23); 2) находятся в графе все гамильтоновы пути, дающие последовательности P , подозрительные на оптимальность; 3) в качестве РОПт выбирается та P , для которой T = min .

13) Для последовательных систем с большими числами блоков m и работ n, а также для систем другой структуры (параллельных и более сложных) аналитические условия оптимальности или не работают, или вообще отсутствуют. Поэтому синтез таких систем обычно проводится методом ветвей и границ. Эффективность этого метода существенно зависит от силы используемых оценок времени T выполнения системой всех n работ или другого ее показателя, общих для всех возможных последовательностей работ вида Pr = (Rr, Qr ) , где Rr - фиксированная

последовательность r первых работ, а Qr - множество всех возможных последовательностей остальных n — r работ. Применение НЛ и ЛО как раз позволяет получить сильные оценки показателей систем. Это объясняется тем, что значение показателя для начального участка Rr последовательности Pr, как показано выше, выражается точно с помощью операций НЛ и ЛО, а оценка показателя для оставшегося

участка Q r получается выбором наилучшего (наихудшего) случая, что ведет к использованию операций НЛ V = max и л = min . Так, для параллельной системы с m блоками и матрицей времен работ

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

A = ||ау|| (см. п. 5) оценка снизу показателя T имеет

вид

T(Pr) > Z лaij m +

j^Qr ‘=1 /

ii( Rr)

tr (Rr)

(r—m )+1

(24)

Здесь Qr - множество всех работ из Qr , 1к(Яг)

- момент окончания к -й по порядку работы из Кг, вычисленный согласно п. 5, |...р - порядковый ЛО-столбец ранга 5.

V

asi asj

ari arj

14. Не связанные с логикой модели экономических систем производственного типа рассмотрены, например, в [1-5]. НЛ-модели нескольких конкретных классов этих и других систем изучены в [6-8]. Обобщающее рассмотрение предпринято в [9].

ЛИТЕРАТУРА

1. Первозванский А.А. Математические модели в управлении производством. М.: Наука, 1975. 616 с.

2. ГранбергА.Г. Моделирование социалистической экономики. М.: Экономика, 1988. 487 с.

3. Вагнер Г. Основы исследования операций. М.: Мир, 1972.

4. Кофман А. Введение в прикладную комбинаторику. М.: Наука, 1975. 420 с.

5. Кофман А., Анри-Лабордер А. Методы и модели исследования операций. М.: Мир, 1977. 423 с.

6. Буланов А.Ф. Логические модели решения экстремальных задач: Дис. ... канд. техн. наук. Рига, 1988. 185 с.

7. Лысак С.А. Логические методы и алгоритмы оптимального упорядочения работ: Дис. ... канд. техн. наук. Л., 1989. 197 с.

8. Мирецкий И.Ю. Построение оптимальных расписаний выполнения работ для технических систем конвейерного типа: Дис. . канд. техн. наук. М., 1993. 203 с.

9. Левин В.И. Структурно-логические методы исследования сложных систем. М.: Наука, 1987. 304 с.

Поступила в редакцию 28 марта 2000 г.

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