задачи объёмно-календарного планирования транспортного типа

advertisement
МНОГОИНДЕКСНЫЕ ЗАДАЧИ ОБЪЁМНО-КАЛЕНДАРНОГО
ПЛАНИРОВАНИЯ ТРАНСПОРТНОГО ТИПА
д.т.н., профессор М.Х.Прилуцкий (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
jR ( i )
i  1, m ,
i
где R(i) – множество индексов, соответствующих i-ой строке булевой

x
матрицы А, i  1, m , а вектор B x имеет координаты
jG (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
jG ( i )
j
i
, если
i
 x  S t , но  x  S t
i
i
i
i
i
i
i
jG ( i )
преобразований
1
S t , St  St
рассмотрим совокупность вложенных друг в друга сегментов
задача
j
i
jG ( i )
j
1
i
,
.
объёмно-календарного

ставится следующим образом: требуется найти вектор x ,
удовлетворяющий
x c ,
ограничениям
jR ( i )
минимизируемых критериев
j
F ( x ) t , t
i
jG ( 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
jR ( i )
i
i
 x  c , i  1, m , выполняется отношение
jR ( i )
j
i

0



F ( B x )  F ( B x) .

Каждой вершине куба z  ( z1 , z 2 ,..., z n) поставим в соответствие систему

S ( z ) линейных алгебраических неравенств, всегда
совокупность ограничений
x c ,
jR ( i )
j
i
включающую в себя
i  1, m , и, в зависимости от вершины
куба, совокупность двусторонних ограничений
 x  S z , i  1, n .
i
jG ( 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 .
jR ( 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
jQ (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
jQ ( s )
 x b Q(s)
0
jQ ( s )
j
,
j

s
)
если
a
1
,
если
s
x,
0

j
jQ ( s )
x b
0
j
jQ ( 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.
Download