МНОГОИНДЕКСНЫЕ ЗАДАЧИ ОБЪЁМНО-КАЛЕНДАРНОГО ПЛАНИРОВАНИЯ ТРАНСПОРТНОГО ТИПА д.т.н., профессор М.Х.Прилуцкий (pril@iani.unn.ru) Нижегородский госуниверситет Задача объёмно-календарного планирования математически может быть описана либо в наиболее общем виде с учетом всех возможных ограничений и связей, либо с той или иной степенью идеализации. Будем рассматривать такую задачу не в общей постановке, с учетом всех зависимостей и связей ([1-3]), а с некоторой степенью идеализации. Вместо технологических требований, которые обычно задаются сетевыми структурами, будем рассматривать этапы изготовления продукции, а вместо конкретных работ с их длительностями – объемные показатели, связанные с совокупностями работ, входящих в соответствующие этапы изготовления продукции. Содержательно задача объемно-календарного планирования формулируется следующим образом. Требуется распределить общий план предприятия в объёмных характеристиках (нормо-часы, рубли, условные тонны) по различным показателям: группам оборудования, периодам планирования, этапам изготовления, потребляемым ресурсам, видам продукции. Показатели искомого плана делятся на «жесткие», выполнение которых обязательно, и «желательные», к выполнению которых нужно стремиться. Жесткие показатели формализуются в виде ограничений, а «желательные» - в виде критериев оптимальности. Тогда задача объёмнокалендарного планирования ставится как многокритериальная задача (учет «желательных» показателей) с ограничениями (учет «жестких» показателей), которые в рассматриваемой идеализации являются линейными. К особенностям рассматриваемых задач объёмно-календарного планирования относится: параметры математической модели являются многоиндексными, причем число индексов может быть различным, в зависимости от рассматриваемой задачи; ограничения математической модели представляют собой систему линейных алгебраических неравенств транспортного типа, каждое из которых получается суммированием по некоторым индексам; критерии оптимизационных задач задаются в виде ступенчатых функций, аргументами которых так же являются суммы значений варьируемых параметров по некоторым индексам. Пусть: s=1,…,S - номера подразделений предприятия, j=1,…,J - номера заказов, i=1,…,I - номера изделий, t=1,…,T - номера периодов планирования. К показателям искомого плана могут относиться, например, величины: At – объем работ, который может быть выполнен в t-ом периоде планирования, Bjt – объем работ, который должен быть выполнен по j-му заказу в период t, Cjit – объем работ, который должен быть выполнен по i-му изделию j-го заказа в период t, Dsj - объём работ, который может быть выполнен по заказу j в подразделении s, Ej – объём работ, который необходимо выполнить по заказу j, asjit - объём работ, оставшийся невыполненным в подразделении s по изделию i заказа j в период t , s 1, S , j 1, J , i 1, I , t 1, T . Показатели искомого плана могут быть и другие, формулируемые с использованием введенных выше индексов. Пусть к “жестким” показателям искомого плана относятся показатели At, Cjit и Dsj, а Bjt и Ej являются “желательными” показателями. Тогда задача объемнокалендарного планирования формулируется следующим образом: требуется определить такие величины xsjit – объем работ, будет выполнен в подразделении s по изделию i заказа j в период планирования t, для которых выполняются соотношения: S J i 1 I x sjit At , s 1 j 1 S x sjit C jit , s 1 j 1, J, t 1,T ; (1) i 1, I , t 1,T ; (2) I T x sjit Dsj , i 1 t 1 s 1, S , j 1, J ; 0 xsjit asjit, s 1,S , j 1, J , i 1,I , t 1,T ; (3) (4) который с учетом минимизируемых критериев: S s 1 f jt I x sjit , B jt , j 1, J , t 1,T ; i 1 (5) S I T j x sjit , E j , j 1, J . s 1 (6) i 1 t 1 Здесь ограничения (1) означают, что объёмы работ по всем заказам, всем изделиям, который будет выполнен во всех подразделениях, не должен превышать общего объёма работ, который может быть выполнен в период t; ограничения (2) означают, что запланированные объемы работ по каждому заказу, каждому изделию в каждом такте планирования должны быть были выполнены; ограничения (3) означают, что в объёмы работ, запланированные к выполнению по всем заказам и всем тактам планирования, не должны превышать объёмов соответствующим работ, изделиям которые в могут быть соответствующих выполнены по подразделениях; ограничения (4) являются естественными условиями на переменные. Функции S s 1 f jt I x sjit , B jt , j 1, J , t 1,T i 1 S I T и j x sjit , E j , j 1, J , являются s 1 i 1 t 1 функциями оценок отклонений объемов выполняемых работ от заданных величин Bjt и Ej, - «желательных» показателей искомого плана, j 1,J , t 1,T . В качестве таких функций в классических постановках обычно выбираются линейные или кусочно-линейные, а свертка для таких задач выбирается в виде их линейной комбинации. Однако опыт решения таких задач показал [4], что пользователь затрудняется задавать углы наклона линейных участков функций и коэффициенты свертки. Пользователю проще указать лишь границы величин отклонения, в которых они определяют понятие «отлично», «хорошо», «допустимо», «недопустимо» и др. Отсюда, такие функции должны быть кусочно-постоянными, разбивающими множество величин отклонений по каждому критерию на области «качества» отклонений. Такими функциями могут быть функции, область значений которых задается множеством целых неотрицательных чисел от 0 до p-1 (0 – «отлично», 1 – «очень хорошо», и т.д.). При разных схемах выбора «жестких» и «желательных» показателей искомого плана, по-разному ставятся задачи объёмно-календарного планирования. К особенностям рассматриваемых задач объёмно-календарного планирования относятся: параметры математической модели являются многоиндексными, причем число индексов может быть различным, в зависимости от рассматриваемой задачи, ограничения математической модели представляют собой систему линейных алгебраических неравенств транспортного типа, каждое из которых получается суммированием по некоторым индексам, критерии оптимизационных задач задаются в виде ступенчатых функций, аргументами которых так же являются суммы значений варьируемых параметров по некоторым индексам. 1. Общая математическая модель объёмно-календарного планирования В наиболее общем виде задача объёмно-календарного планирования может быть поставлена следующим образом. Заданы булевы матрицы A и B, соответственно, размерностей m×k и n×k, действительный неотрицательный вектор c размерности m множестве n-мерных векторов из и векторная функция F ( y) , определенная на R n со значениями из {0,1,…,p-1}. Введенная функция F ( y) отображает пространство R n на множество вершин n-мерного p-ичного куба. Требуется найти вектор x , удовлетворяющий ограничениям A x ≤ c с учетом минимизируемых критериев F ( B x) . Полученная задача является n-критериальной задачей с линейными ограничениями и частными критериями оптимальности, вид которых зависит от вида функции F ( y) . Система ограничений A x ≤ c эквивалентна системе x c , линейных алгебраических неравенств транспортного типа j jR ( i ) i 1, m , i где R(i) – множество индексов, соответствующих i-ой строке булевой x матрицы А, i 1, m , а вектор B x имеет координаты jG (i ) j , i 1, n , где G(i) – множество индексов, соответствующих i-ой строке булевой матрицы В, i 1, n . Относительно векторной функции F ( y ) можно сделать следующие допущения: Для любой вершины n-мерного p-ичного куба z , множество векторов y, удовлетворяющих параллелепипедом в пространстве базисным векторам R k неравенству R k F ( y) ≤ z , является , ребра которого параллельны . Если z =(p-1,p-1,…,p-1), то множество векторов, удовлетворяющих ограничениям F ( y) ≤ z , совпадает с R k . Определим функцию F ( y) следующим образом. Для каждой компоненты i t i 0, p 2 , p≥1, i 1, n . Тогда После проделанных планирования F ( x ) t i jG ( i ) j i , если i x S t , но x S t i i i i i i i jG ( i ) преобразований 1 S t , St St рассмотрим совокупность вложенных друг в друга сегментов задача j i jG ( i ) j 1 i , . объёмно-календарного ставится следующим образом: требуется найти вектор x , удовлетворяющий x c , ограничениям jR ( i ) минимизируемых критериев j F ( x ) t , t i jG ( i ) j i i i i 1, m , с учетом {0,1,..., p 1} , i 1, n . 2. Алгоритм решения задачи объёмно-календарного планирования Решение поставленной многокритериальной задачи будем осуществлять сведением её к однокритериальной, путем задания на множестве вершин nмерного p-ичного куба некоторого линейного порядка , для которого должно выполняться: если для вершин куба и v , задаваемых векторами пространства R n , выполняются условия v (покомпонентно), то v . Это можно сделать, так как множество значений критериев (значения векторной функции F ( y) ) является конечным множеством. Тогда задача объёмно-календарного планирования будет заключаться в определении такого k-мерного вектора x , для которого 0 x , для которого x c , i 1, m , и для любого 0 jR ( i ) i i x c , i 1, m , выполняется отношение jR ( i ) j i 0 F ( B x ) F ( B x) . Каждой вершине куба z ( z1 , z 2 ,..., z n) поставим в соответствие систему S ( z ) линейных алгебраических неравенств, всегда совокупность ограничений x c , jR ( i ) j i включающую в себя i 1, m , и, в зависимости от вершины куба, совокупность двусторонних ограничений x S z , i 1, n . i jG ( i ) j i Зададим на множестве вершин куба двузначную функцию f ( z ) , принимающую значение 1, если система S ( z ) совместна и 0 в противном случае. Для функции f ( z ) выполняется: если для вершин куба и v имеет место v (покомпонентно), то f ( ) f ( ) , отсюда функция f ( z ) является монотонной. Таким образом, для решения задачи объёмно-календарного планирования необходимо уметь решать две задачи: задачу 1 – поиска оптимальной вершины многомерного многозначного куба и задачу 2 - проверки на совместность систем двусторонних линейных алгебраических неравенств транспортного типа. 3. Задача поиска оптимальной вершины многомерного многозначного куба Для решения задачи 1 можно предложить следующую вычислительную схему. На первом шаге выбирается вершина куба * z ( p 1, p 1,..., p 1) и вычисляется f ( z *) , что равносильно проверке на совместность системы * S(z ) : x c , i 1, m . jR ( i ) j i Если система несовместна, то исходная задача не имеет решения. Если система совместна, то выбирается некоторая вершина 1 куба z и вычисляется f ( z1) , что равносильно проверке на совместность 1 системы S ( z ) . В зависимости от значения f ( z1) , выбирается следующая вершина и т.д. Процесс вычислений должен быть конечен. Из всех просмотренных вершин куба выбирается оптимальная вершина, т.е. такая вершина 0 z , 0 0 для которой f ( z ) 1 и z z для всех z , для которых f ( z ) 1 . Решением исходной задачи объёмно-календарного планирования 0 будет любой допустимый план совместной системы S ( z ) . В качестве порядка , определенного на множестве вершин n-мерного p-ичного куба, выберем лексикографическое отношение, т.е. 1 2 z z тогда и только тогда, когда существует такое i, 1≤i≤n, что для координат векторов выполняется: z z 1 2 k k , k=1,2,…,i-1, и z z 1 2 i i 1 2 z,z . Алгоритм поиска оптимальной вершины куба при лексикографическом порядке для монотонной функции состоит из n шагов. На первом шаге среди вершин вида ( z1 ,p-1,…,p-1) находится 0 такое f ( z , p 1,..., p 1) 1 1 значение и z ≤z z 0 1 0 1 1 , f ( z1 , p 1,..., p 1) 1 . На втором шаге , z 0 1 для {0,1,..., p 1} , всех тех для z 1 , для которого которых среди узлов вида ( z1 , z 2 ,p-1,…,p-1) 0 аналогично находится вторая координата оптимальной вершины. На n-ом шаге находим искомую оптимальную вершину куба. Общее число вычислений функции f ( z ) имеет порядок n log p . 2 Замечание В случае, если размерность куба больше, чем количество вложенных сегментов, можно модифицировать описанный выше алгоритм, осуществляя двоичный поиск не по значениям координат, а по координатам куба. Тогда оценка числа вычислений функции f ( z ) будет иметь порядок p log n . 2 4. Задача проверки на совместность систем линейных неравенств транспортного типа Для решения задачи 2 – проверки на совместность систем линейных алгебраических неравенств S ( z ) , в общем случае можно использовать классические вычислительные методы линейной алгебры ([5]), однако, то, что ограничения задачи являются транспортного типа, позволяет для их решения предложить специальные алгоритмы. В общем случае S ( z ) может быть представлена в виде системы линейных алгебраических неравенств транспортного типа с двусторонними a x b , ограничениями пространством i R k jQ (i ) j i . Здесь q=m+n; i 1, q , a =0 i над и k-мерным b =c , i i если евклидовым i 1, m ; a иb i i - границы сегмента с номером i, если i n 1, q ; Q (i ) - множество индексов, по которым осуществляется суммирование i-ого ограничения, i 1, q . Если 0 x- произвольный k-мерный вектор,. удовлетворяющий всем q ограничениям системы, то задача решена. Пусть s – первое по порядку ограничение, условия которого нарушены. Построим вектор 1 x по следующему правилу: 1 j x x a x ) Q(s) 0 j x ( 0 j ( s 0 1 jQ ( s ) x b Q(s) 0 jQ ( s ) j , j s ) если a 1 , если s x, 0 j jQ ( s ) x b 0 j jQ ( s ) j 1, k , , s и перейдем к следующему (s+1)-ому ограничению. Так для всех ограничений. Если система совместна, то последовательность векторов x , найденных по выше описанной схеме, при сходится к допустимому решению системы. Предложенный алгоритм является обобщением релаксационного метода ортогональных проекций Агмона-Моцкина ([6,7]) на случай двусторонних систем линейных алгебраических неравенств транспортного типа. Замечание Предложенный алгоритм является итерационным, поэтому для его реализации необходимо задавать два параметра – число шагов работы алгоритма и точность решения задачи. Если за указанное число шагов с заданной точностью допустимое решение не будет найдено, то делается предположение о несовместности исходной системы. 5. Задача поиска допустимой циркуляции в транспортной сети Так как в рассматриваемых задачах объёмно-календарного планирования варьируемые параметры ограничения представляют собой систему линейных алгебраических неравенств транспортного типа, являются многоиндексными, а каждое из которых получается суммированием по некоторым индексам, то для удобства изложения материала можно воспользоваться формализацией, предложенной в [8] при постановке многоиндексных транспортных задач линейного Пусть N s 1,2,..., s; jl - некоторый параметр (индекс), j l J l 1,2,..., nl , программирования. l N (s) ; f k1, k2 ,..., kt , значений индексов, f N s . Ff E f Обозначим через F f = ( jk1 , jk 2 ,..., jkt ) - набор , E f J k J k ... J k . Каждому 1 2 t F f поставим в соответствие действительное число z Ff , F f E f . Совокупность таких чисел для всех возможных значений индексов { z j k1 , j k2 ,..., j kt }{ z F } .Пусть f N s \ f f набор (k1, k2 ,..., kt , kt 1,..., ks ) . Пусть допустимых планирования D( M ) {{ x }a F Ff может x F f E f Ff Ff обозначим через , тогда через FN(s)= Ff Ff будем обозначать F f E f множество jk1 , jk 2 ,..., jkt z Ff F f решений быть z jk t J k t задачи описано bF , F f E f , f M } , f ... jk1 J k1 jk 2 J k 2 где Ff F f , Ff E f . Тогда объёмно-календарного следующим образом: М – заданное множество, M 2N ( s ) и задача 2 будет заключаться в определении, пусто ли множество D(M), M 2N ( s ) . Будем предполагать, что aF f и bF f - целые числа, Ff E f , f M . Тогда будем говорить, что система ограничений, определяющая множество D(M), сводится к задаче L - поиска допустимой циркуляции в транспортной сети ([9]), если некоторое подмножество компонент допустимого решения задачи L образует допустимое решение системы ограничений, определяющей множество D(M), и система ограничений не совместна, если не имеет допустимого решения задача L. Так как система ограничений, определяющая D(M) зависит от множества М, M 2N ( s ) , будем решать задачу поиска таких множеств M, при которых система ограничений, определяющая множество D(M), сводится к задаче L. Оказывается ([10]), что для того, чтобы система ограничений, определяющая множество достаточно, чтобы существовало такое M 2 f1( 2) , f 2( 2) ,..., f m( 2) 2 множества M, для D(M), сводилась к задаче L разбиение которого M1 f1(1) , f 2(1) ,..., f m(1) fi(1) fi(11) , i 1, m1 1 1 , и f i( 2) f i(21) , i 1, m 2 1 . Таким образом, если для множества М существует соответствующее разбиение, то может быть построена транспортная сеть с двусторонними пропускными способностями дуг, поиск допустимой циркуляции в которой может быть осуществлен путем построения соответствующей транспортной сети (с односторонними пропускными способностями дуг) и решения для нее задачи поиска максимального потока, например, модифицированным алгоритмом расстановки пометок ([11]). Если допустимый поток в сети с двусторонними пропускными соответствующая система способностями ограничений D(M) существует, совместна. то Так как вычислительная сложность модифицированного алгоритма расстановки пометок имеет порядок O(|V|3), где V – множество узлов транспортной сети, то вопрос о совместности систем ограничений типа D(M) решается за порядка O(|V|3) арифметических операций. Замечание Для задачи объёмно-календарного планирования, рассмотренной во введении, c учетом M={{s,j,i},{s},{i,t},{s,i},{s,i,t},,} критериев и оптимальности, существует разбиение M1={{s,j,i},{s,i},{s},}, M2={{s,i,t},{i,t}}, для которого выполняются условия сводимости. Тем самым для проверки совместности систем типа S ( z ) , соответствующих рассматриваемой задаче, можно строить транспортные сети с двусторонними пропускными способностями и решать задачи поиска допустимых потоков в построенных сетях. На последнем шаге работы алгоритма требуется построить максимальный поток, который и определит оптимальное решение исходной задачи. Литература 1. Батищев Д.И., Гудман Э.Д., Норенков И.П., Прилуцкий М.Х. Метод декомпозиций для решения комбинаторных задач упорядочения и распределения ресурсов// Информационные технологии. 1997, N1. 2. Батищев Д.И., Гудман Э.Д., Норенков И.П., Прилуцкий М.Х. Метод комбинирования эвристик упорядочения и технологии. 1997, N2. для решения распределения комбинаторных задач ресурсов. //Информационные 3. Прилуцкий М.Х., Кумагина Е.А.. Задача упорядочения работ как задача о назначениях // Вестник Нижегородского государственного университета. Математическое моделирование и оптимальное управление. 1999, вып. 21. 4. Прилуцкий М.Х., Власов С.Е. Оптимальное распределение ресурсов в задачах календарного и объемно-календарного планирования// Труды Нижегородского государственного технического университета. Системы обработки информации и управления. 2004, вып. 11. 5. Черников С.Н. Линейные неравенства. Москва. Наука. 1968. 6. Motzkin T.S., Schoenberg I.J. The relaxation method for linear inequalities // Caned. J. Moth. 1954. V. 6. №3. 7. Прилуцкий М.Х. Многокритериальное распределение однородного ресурса в иерархических системах//Автоматика и телемеханика. 1996, №2. 8. Раскин Л.Г., Кириченко И.О. Многоиндексные задачи линейного программирования. Москва. Радио и связь, 1982.. 9. Форд Л. , Фалкерсон Д. Потоки в сетях. Москва. МИР, 1966. 10. Прилуцкий М.Х., Афраймович многоиндексных систем «Исследовано в Л.Г. Условия совместности транспортного типа. «Электронный журнал России», 70, стр. 762-767, 2005г. http://zhurnal.ape.relarn.ru/2005/070.pdf 11. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. Москва. Мир, 1985.