Оптимальная круговая расстановка станков в поточном производстве

2004 ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА Сер. 5. Вып. 3

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

В. К. Тютюкин

ОПТИМАЛЬНАЯ КРУГОВАЯ РАССТАНОВКА СТАНКОВ В ПОТОЧНОМ ПРОИЗВОДСТВЕ

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

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

Допущения и исходные данные

Пусть рассматриваемое многопредметное поточное производство осуществляется на переменно-поточной линии (ППЛ), т.е. такой многопредметной поточной линии (МПЛ), на которой изготавливаемые предметы (их партии) чередуются последовательно друг за другом.4

Как и для всякой МПЛ, имеем следующие исходные данные:

т - количество разнообразных технологических (т.е. основных) операций (для краткости, операций), которые могут быть выполнены на МПЛ;

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

тютюкин

Виктор Константинович

- д-р экон. наук, профессор кафедры экономической кибернетики СПбГУ. Окончил математикомеханический факультет СПбГУ (1964) и аспирантуру кафедры экономической кибернетики СПбГУ (1972). В Университете работает с 1965 г. Кандидатскую диссертацию защитил в 1973 г., докторскую - в 1989 г. Стажировался в университетах Франции (1976). Область научных интересов - производственный менеджмент, гибкие автоматизированные производства, микроэкономика. Автор более 30 научных публикаций, в том числе одного учебного пособия с грифом министерства (в соавторстве) и одной монографии.

© В. К. Тютюкин, 2004

По предмету 7-го (/' = 1: п) наименования (для краткости, у'-му предмету) известны следующие характеристики:

- программа выпуска ( шт.) на планируемый период;

(ТА/), - технологический маршрут изготовления.

Технологические маршруты предметов предполагаются общего вида, т.е. являются разными (разнонаправленными).

Знание технологического маршрута изготовления предполагает прежде всего знание его длины: т) - длина (ТМ)р т.е. общее количество (технологических) операций, необходимых для изготовления предмета у .

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

операций к станкам. В этом случае известен - номер станка, на котором выполняется

/-я по порядку в технологическом маршруте операцияу-го предмета (/<5;у < т , { = 1: т1 ,

У = 1: п )• Таким образом, (ТЩ = (,52у........£• , • • •,5 • )•

У 7

Далее считаем, что технологический маршрут любого предмета не имеет петель, т.е. все необходимые для изготовления предмета операции выполняются (станки используются) по одному разу. Из этого необходимо вытекает, что < т, при этом если для изготовления некоторого предмета у требуется выполнить все т операций, то т, = т , а если некоторые из них пропускаются (не требуются), то ту < т. Отсутствие петель в технологических

маршрутах предметов формальна'означает, что 5» Ф Бц при 1фк , т.е. (ТЩ есть

некоторое размещение из т по т] (/ = 1: п).

Помимо этой общей информации для МПЛ имеется также и следующая дополнительная информация, являющаяся специфической для ППЛ. штучный весу-го предмета (/ = 1: и).

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

Считаем, что ППЛ оснащена круговым (т.е. горизонтально замкнутым) конвейером длиной Ь метров, направление движения (вращения) которого известно, например, по часовой стрелке. По периметру ленты конвейера имеется т+1 площадка, из которых одна (занумеруем ее нулем: / = 0) заранее отводится под кладовую (комплектовочную кладовую), а остальные (/ = 1 : т) - для расположения на них имеющихся т станков (естественно, по одному на каждой) в каком-либо порядке.

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

маршруты всех предметов. Таким образом, (ТЩ = ( 0, 51у ,$2у ,. . . , , . . . , 0 ).

Следовательно, он представляет собой одну большую петлю от кладовой.

Постановка задачи

Введем обозначения. „

5, - номер станка, устанавливаемого на /-ю площадку (1 < 5, < т, 1=1: т\ 5, Ф 5* при / Ф к).

Следовательно, совокупность . . . , Л, , . . . . ) = Р представляет собой порядок

расстановки станков по площадкам. Количество таких порядков (перестановок) равно т!

Р/Р) - количество оборотов (витков) конвейера, необходимое для полного изготовления у'-го предмета (/' = 1 : п), если станки расставлены по площадкам в порядке Р. Очевидно, оно удовлетворяет неравенствам: 1 < Р/Р) < /я, (у = 1 : п ). Явного (аналитического) выражения для величины Р,(Р) не существует. Однако для конкретной пары перестановок подсчет ее не вызывает затруднений.

Пример расчета Р/Р).

Пусть на линии имеется 5 станков

Для суммарного (т.е. по всем предметам) грузооборота (т.е. работы по перемещению всех грузов, кГм) на линии имеем следующую очевидную формулу: 1Х"=1 (/>).

Так как множитель Ь не влияет на оптимизацию, то в дальнейшем будем рассматривать равносильную ей целевую функцию (суммарные кГ-витки):

Р(Р) = ^ ^ ^Р).

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

Как уже указывалось выше, требуется расставить станки по площадкам так, чтобы суммарный грузооборот на линии был минимальным. Таким образом, требуется найти перестановку Р': Р(Р') = пипР(Р).

Матрица грузопотоков

Для нахождения явного выражения для ЦФ-и и решения рассматриваемой задачи предварительно построим (на основе указанных выше исходных данных) так называемую матрицу грузопотоков (т.е. весов перемещаемых предметов) с каждого станка на каждый другой 2 = || q кг | |д|. I , элемент д кг которой означает грузопоток (т.е. вес перемещаемых предметов) с к-го станка на г-й станок (к , г = 0: т) в течение планового периода и вычисляется по формулам ди =0(к = 0:т) и Чкг = HjeD|!r(ІJ^j ( к Ф г ), где £) кг есть

множество всех предметов, в технологических маршрутах которых за станком к сразу следует станок г: £) = {j : я = к 5 , =/•} Следовательно, матрица 2 является

л/* у ^ I \ у J

квадратной порядка т+1 и имеет нулевую главную диагональ. Ее строка и столбец с нулевым номером соответствуют кладовой, принятой выше за дополнительный, условный станок.

Матрица грузопотоков обладает следующим очевидным балансовым свойством -сумма элементов к-й строки совпадает с суммой элементов к-го столбца:

Можно заметить также, что обе эти суммы равны Ч 7 ^7 , где О к есть множество

тех предметов, в технологические маршруты которых входит к-й станок, т.е. Г), = = {у ; к е (ТМ)] }. В частности, если к-й станок входит в технологические маршруты всех предметов, то обе суммы (1) равны

Покажем построение матрицы грузопотоков для конкретных численных данных.

Пример1. Пусть для пяти предметов (п = 5) имеем следующие программы выпуска и штучные веса (табл. 1, строки 1-3). Рассчитываем вес на программу каждого предмета (табл.1, строка 4). Далее, пусть в цехе имеется шесть станков, т.е. могут быть выполнены

шесть операций ( т = 6 ), и заданы технологические маршруты (номера 5;у станков для выполнения операций) всех предметов (столбцы табл. 2).

Таблица 1

j 1 2 3 4 5

1000 500 1200 700 1500

0,1 0,15 0,1 0,13 0,08

100 75 120 91 120

Тогда матрица грузопотоков, рассчитанная по указанному выше правилу, имеет следующий вид:

0 1 2 3 4 5 6

0 ' 0 120 75 100 91 0 120

1 120 0 0 211 0 100 0

2 0 211 0 75 220 0 0

3 0 100 240 0 75 0 91

4 100 0 91 120 0 0 195

5 286 0 0 0 120 0 100

6 , о 0 100 0 0 406 0

= II Чкг II =Я

Так, например, следование за станком 6 сразу станка 5 имеет место для технологических маршрутов предметов 2,3,4,5 (см. табл. 2) и поэтому, беря веса на программу этих предметов из табл.1, имеем q 65 = 75 + 120 + 91 + 120 = 406.

С помощью матрицы <2 построим две следующие матрицы и отметим их свойства.

1. Для перестановки (номеров станков) Р = (5,, ^ ) построим матрицу

Qp, получающуюся из матрицы Q расположением ее строк и столбцов в порядке Р :

0 .У 1 5 . 2 . . 3 . . 5 т

0 ' 0 Я 05 1 Яоб2 •• 903 > " ЯоБт

1 Чз^О 0 Я Б Б 1 2 •• Чз .5 1 1 " Яб]бм

5 Чз О Яб Б 0 •• Чз ^ " Яб Б

. 2 . 2 2 1 . 2 / . 2 т

• 1 Яб о Чз 3 •• Яб Бт

.У Яб О Яб Б Чз .5 •• Чз ^ .. 0

Можно показать, что Р(Р) = Ql,, где символ (2,, означает сумму элементов нижней треугольной «подматрицы» (т.е. расположенных ниже главной диагонали) матрицы Q|1. Тогда решаемую задачу можно записать в виде ()г —> /иш или в очевидно равносильном виде —>тах, где символ ()г означает сумму элементов верхней треугольной

«подматрицы» (т.е. расположенных выше главной диагонали) матрицы (3^ .

2. А = Q - Q' = || Д*г ||да+/ ( к, г = 0 : т ), т.е. из каждого элемента матрицы Q вычтем симметричный ему элемент - транспонированная матрица Q ). Матрица Д является, очевидно, кососимметрической: (Д*г = - А,*'). В дальнейшем эта матрица будет играть основную роль при решении поставленной задачи.

По матрице А тоже построим соответствующую матрицу А,, (А,, = (£? - Q')l,), т.е. получающуюся из.матрицы А расположением ее строк и столбцов в порядке Р (или все равно что равную матрице 0И - {9', ). Она является, очевидно, тоже кососимметрической матрицей. Тогда решаемую задачу, очевидно, можно записать еще и в следующих равносильных видах : Л/>

тт,

Легко видеть, используя формулу (1) (из которой следует равенство нулю суммы элементов любой строки или столбца матрицы Д, а следовательно, и матрицы Д;, при любом Р ), что для элементов верхней треугольной (т.е. расположенной выше главной диагонали) «подматрицы» матрицы Ар справедливо следующее балансовое соотношение:

-£‘-04*. ”)' <2)

где для общности полагается Я0 =0; при к=0 : Х/=о =0 (и, следовательно, (2) принимает вид ~  > т е- в матрице дл сумма элементов строки с номером ноль

равна нулю); при к=т: £у=ш+1 = 0(и, следовательно, (2) принимает вид

^ т1 д 5 х = о , т.е. в матрице сумма элементов последнего столбца равна нулю). Свойство (2) можно записать, как легко видеть, и в следующей равносильной форме:

Ук * ,А, , • =0

> 1 = 0 *-1 ] = к + \ *1* )

Таким образом, нулю равна сумма всех элементов любой подматрицы (а не только подматрицы из одной первой строки или одного последнего столбца), имеющей тот же 94

правый верхний угол, что и матрица АР, и левый нижний угол которой лежит на следующей (сверху) после главной диагонали.

Элементарное преобразование перестановки

Определение. Элементарным преобразованием перестановки назовем перемену в ней местами друг с другом двух каких-либо соседних номеров.

Ясно, что это преобразование как-то повлияет на количество витков для каких-либо предметов и, соответственно, на значение целевой функции (ЦФ). Именно справедливо следующее утверждение,5 дающее одновременно и интерпретацию элементов матрицы А .

Утверждение 1. При элементарном преобразовании перестановки Р=

в перестановку Р' =(..., г, к....) значение ЦФ-и изменится на величину Д*г, т.е. имеем: Р(Р)=Р(Р) + Акг.

Справедливость этого утверждения вытекает из того, что при указанном элементарном преобразовании перестановки Р количество витков:

-увеличится на единицу для всех предметов из множества и, следовательно, значение ЦФ-и увеличится на величину цкг ,

- одновременно уменьшится на единицу для всех предметов из множества £)г£ и, следовательно, значение ЦФ-и уменьшится на величину дгк,

- останется неизменным для всех остальных предметов (т.е. тех предметов, в технологических маршрутах которых номер к и/или г отсутствует или эти номера не являются смежными).

В результате значение ЦФ-и изменится на величину Цкг- дг/(, т.е. Аь-.

Заметим, что приращение Д*г определяется одними и теми же характеристиками только

переставляемой пары номеров (величинами Цкг и дгк), т.е. не зависит от того, сколько

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

Алгоритм ветвления для построения множества допустимых перестановок

Перестановку Р = (5,, 52> . . . , ,$т) номеров станков назовем допустимой,

если для нее

Существование хотя бы одной допустимой перестановки обеспечивается тем, что невозможно бесконечное уменьшение (каждый раз - на конечную величину) значения ЦФ-и. Пусть М есть множество всех допустимых перестановок. Знание необходимого условия оптимальности перестановки означает, что множество М не только пересекается с множеством оптимальных перестановок, но даже целиком содержит его. Следовательно, при нахождении оптимальной перестановки вместо рассмотрения всего множества перестановок можно ограничиться рассмотрением только множества М.

Для допустимости перестановки Р =(5,, 52, . . . , Ят), очевидно, необходима допустимость и для любой ее части Р = (5,, 5,.........(7 = 1 : т-1), т.е. выполнение необ-

ходимого условия оптимальности для соответствующих треугольных подматриц меньших

размеров. Это свойство, вполне аналогичное принципу оптимальности динамического программирования, и позволяет постепенно строить дерево всех допустимых перестановок, как частичных, так и полных.

Любой й уровень этого дерева соответствует ;-й площадке, т.е. /'-му месту в иско-мой перестановке (7 = 0 : т). В частности, нулевой уровень (вершина) дерева соответствует нулевой площадке, на которой размещается кладовая (нулевой станок). Для установления возможности удлинения той или иной частичной допустимой перестановки ( разветвления соответствующего узла дерева) используется матрица Д, которая строится, как указано выше, на основе матрицы грузопотоков Q : Л = Q - Q' = || Д*г ||,„+/ ( к, г = 0 : т ). Допустимость при удлинении данной частичной перестановки сохраняется или нет в зависимости от выполнения необходимого условия оптимальности для удлиненной частичной перестановки. Это позволяет данную допустимую частичную перестановку, соответственно, либо удлинить (т.е. развить соответствующий узел дерева), либо отбросить как не перспективную.

Алгоритм построения искомого дерева опишем по индукции по длине ( /) частичной перестановки (Р ):

а) построение узлов первого 0 = 1) уровня дерева (т.е. разветвление вершины дерева): эти узлы имеют все те номера г, для которых выполняются (как следует из утверждения 1) условия: Д„г> 0 (1 <г<т);

б) индуктивное допун/ение - допустим, что уже построена допустимая частичная перестановка Р’ = (я[, .....я,) (1 < I < т-1) и, следовательно, имеем соответствующий узел

на ;'-м уровне дерева.

Это означает выполнение необходимого условия оптимальности для следующей треугольной подматрицы:

•*/

О

5/

х>-1

в) индуктивный переход - к имеющейся треугольной подматрице будем последовательно присоединять справа следующие столбцы с номерами 5 : (Д(ц ,Д5 5............Д5 л) (я ф

Ф £,,$2......5/Л проверяя каждый раз выполнение необходимого условия оптимальности

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

Построив таким образом множество всех допустимых (полных) перестановок (мно-жество М), вычисляем для каждой из них значение ЦФ-и. Те из них, для которых это зна-чение является минимальным, и являются оптимальными (как на подмножестве М , так и на множестве всех перестановок). Если множество М состоит 96

из единственной перестановки, то необходимое условие оптимальности перестановки оказывается, естественно, и доста-точным.

Если отказаться от построения всего множества М, а ограничиться построением лишь одной какой-либо перестановки из этого множества, то она может быть взята в качестве хорошего приближенного решения. При этом, естественно, она не обязательно является оптимальной, т.е. она может оказаться лишь околооптимапьной.

Решение задачи с помощью одиночных переносов

Определение. Одиночным переносом в перестановке назовем перемещение в ней одного какого-либо номера с занимаемого им места на другое место.

Одиночный перенос в перестановке однозначно определяется множеством Б всех тех номеров, через которое он осуществляется. Это множество непосредственно следует или предшествует переносимому номеру соответственно его переносу вправо или влево.

Одиночные переносы можно классифицировать на ближние (т.е. на соседнее место) и дальние (т.е. перемещение более чем на одно место), а также вправо и влево. Таким образом, получается четыре их вида.

1. Величина изменения значения ЦФ-и

Ближний перенос вправо какого-либо номера очевидно равносилен ближнему переносу влево соседнего с ним справа номера. Любой из этих двух переносов является элементарным преобразованием данной перестановки. Поэтому соответствующую величину изменения значения ЦФ-и можно находить, пользуясь утверждением 1. Действительно, это утверждение можно сформулировать и в следующем виде: ближний перенос номера к вправо или, все равно что номера г влево, влечет изменение значения ЦФ-и на величину Д*,..

Таким образом, при перемещении на одно место какого-либо номера вправо (номер к) или влево (номер /) соответствующую величину изменения значения ЦФ-и (Д*т) следует брать в матрице Д;, из строки или столбца с тем же номером (из строки к или столбца г).

Многократное применение утверждения 1 позволяет обобщить его, т.е. получить следующие два следствия, указывающие величины изменения значения ЦФ-и и при дальних переносах.

1. При дальнем переносе вправо (в перестановке Р ) какого-либо номера к, т.е. при переходе от перестановки Р = (..., к, Б , . . .) к перестановке (. . . , 5, к , . . .), изменение значения ЦФ-и составляет величину Х^^Д^у (сумму соответствующих элементов к-й строки

матрицы Дя).

2. При дальнем переносе влево (в перестановке Р ) какого-либо номера г, т.е. при переходе

от перестановки Р = Б, г к перестановке (. . . , г , Б, . . . ), изменение значения

ЦФ-и составляет величину £ (сумму соответствующих элементов г-го столбца

матрицы АР).

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

треугольной «подматрицы» матрицы Д;>.

Заметим, что в перестановке Р = ( 0, 5т^ помещение любого номера я*

(к^ 0, т) в конец перестановки (такой перенос вправо приводит к изменению значения

ЦФ-и, согласно следствию 1, на величину * ) или перед кладовой (такой

J-K+l £ j

перенос влево приводит к изменению значения ЦФ-и, согласно следствию 2, на величину

1^=0 ^51!^ ) приводит к одной и той же перестановке и, следовательно, соответствующие величины изменения значения ЦФ-и должны быть одинаковыми. Это подтверждается уравнением (2).

2. Необходимое условие оптимальности перестановки

Утверждение 2. Необходимым условием оптимальности перестановки Р = (51, з2,...,

5,......*„,) является выполнение для элементов верхней треугольной подматрицы матрицы

Лу следующей системы неравенств:

Х/=*+1 А .у 5 >0

к ' \

Е?=г' До , >0

I к

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

Заметим, что поскольку в условии (4) неравенств достаточно много (а именно т2 штук), то это условие является достаточно жестким, т.е. близким к необходимому и достаточному условию оптимальности перестановки. Следовательно, множество Делишь не намного шире множества всех оптимальных перестановок. Для каждой перестановки из множества М возможности ее улучшения за счет одиночных переносов исчерпаны и, следовательно, все они являются «подозрительными» на оптимальность.

Отметим, что необходимым условием оптимальности перестановки Р является также

выполнение следующих неравенств Т!^=г &05. — 0 (г=2:т ), 5£_о — 0 (г = 0 : т-2),

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

Для доказательства этого возьмем из (2) уравнения при к = 0 и к = т :

0 = I”, + X/=гДолу (г-2:т ) ,

0 = 1:=оЧ,т = Е/=оА^т +Е”г'+1А^т Сг=0:т-2).

Так как в этих уравнениях величины , ХИг+1 ~ неотрицательны

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

Утверждение 2 можно сформулировать и в виде обратного утверждения: если для какой-либо перестановки хотя бы одна из сумм в формулах (4) является отрицательной, то эта перестановка не является оптимальной. Действительно, эта перестановка может быть улучшена на величину модуля этой суммы путем соответствующего одиночного переноса в ней. Если к есть номер строки (столбца), в которой находится эта отрицательная сумма в 98

треугольной подматрице матрицы Д,,, то переносимый вправо (влево) в соответствующее место номер в перестановке Р есть 5* .

Пример 2. Для исходных данных из примера 1 рассмотрим следующую перестановку Р = (2, 1, 4, 3, 6, 5), полученную в качестве приближенного решения по эвристическому алгоритму проф. А. И. Неймарка.6 Значение ЦФ-и для нее: Р(Р) = 1332. Покажем, что она не является оптимальной. Для нее треугольная подматрица матрицы ДДс учетом матрицы грузопотоков Q, построенной в примере 1) имеет следующий вид:

2 1 4 3 6 5

0 Г 75 0 - 9 100 120 - 286 '

2 211 129 - 165 - 100 0

1 0 111 0 100

4 45 195 - 120

3 91 0

6 \ 306 ,

Как видно, в этой подматрице имеется отрицательная сумма, равная (-9), расположенная в столбце 4 (она обведена прямоугольником). Следовательно, переместив в перестановке Р соответствующий номер 3 влево, а именно поставив его перед номером 2 (т.е. сразу после кладовой), получим улучшенную перестановку Р' = (3, 2, 1, 4, 6, 5) со значением ЦФ-и Р(Р) = Р(Р) - 9 = 1332 - 9 = 1323. Легко проверить, что перестановка Р' уже не улучшаема с помощью одиночных переносов, т.е. для нее выполняются условия (4), и поэтому она является подозрительной на оптимальность. Однако, как будет показано ниже, она не является оптимальной.

3. Нахождение оптимальной перестановки

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

Пример 3. Для исходных данных из примера 1 и найденной в нем матрицы грузопотоков дерево для получения множества М (множества всех допустимых перестановок), построенное по описанному выше алгоритму ветвления, показано на рис. 1.

Проиллюстрируем какой-либо шаг алгоритма, например развитие узла (3, 2, 4) на третьем уровне дерева (рис. 1), т.е. узла, которому соответствует назначение станков 3,2,4 на первые три площадки. Пробуем поочередно назначать на следующую (четвертую) площадку остальные станки 1,5,6.

Для этого, во-первых, к соответствующей треугольной подматрице Д3,4 поочередно

присоединяем (справа) вектор-столбцы 1,5,6 матрицы А , номерами координат которых являются 0,3,2,4 и, во-вторых, ищем отрицательные суммы (начинающиеся от главной диагонали) в строках и столбцах получающихся треугольных подматриц Д3241 , Д3245 , Д3246 (при обнаружении таковых соответствующие слагаемые обведем прямоугольником):

Площадка

(уровень

дерева):

Рис. I. Дерево для нахождения оптимальной перестановки

с помощью одиночных переносов (в кружках - номера станков).

3 2 4 3 2 4 1

0 О О 75 -9 'ї 0 О О 75 -9 0 '

3 165 - 45 — А 324 , 3 165 - 45 - 111

2 129 2 129 211

\ У 4 0 ,

3245 3246

0 ґ|іІ°0 75 -9 - 28бП 0 О о 75 - 9 120 '

3 165 - 45 0 3 165 - 45 91

2 129 0 = Д 3245 . 129 - 100

4 к - 120 у 4 ч 195 )

Так как искомая отрицательная сумма имеется только в подматрице Д3245 , то из трех

возможных разветвлений узла (3, 2, 4) перспективными являются только два из них, а именно: узлы (3, 2, 4, 1) и (3, 2, 4, 6) (рис. 1). ,|Е

В результате применения алгоритма получим, что множество М состоит всего лишь из следующих четырех перестановок: (3, 2, 1, 4, 6, 5) (эта перестановка получена выше в примере 2), (3, 2, 4, 1, 6, 5), (3, 2, 4, 6, 1, 5), (3, 6, 2, 1, 5, 4). Для трех первых из них количество витков по всем пяти предметам одинаково и равно, соответственно, 3, 2, 2, 3, 3, что дает и одинаковое значение ЦФ-и - 1323.

Как видно, в двух первых перестановках станки 1 и 4 стоят рядом друг с другом и могут располагаться между собой в обоих порядках без изменения значения ЦФ-и. Объясняется это тем, что предметов, в технологических маршрутах которых эти станки стоят рядом, нет (см. табл. 2) и, следовательно, в матрице грузопотоков Q (см. пример 1) соответствующие элементы - нулевые (д14 =<741 =0), а тогда, согласно утверждению 1, получается и нулевое приращение значения ЦФ-и (Д|4 = Д41 = 0) при любом упорядочении этой пары соседних станков.

Аналогичное справедливо для станков 1 и 6 во второй и третьей перестановках.

Для четвертой перестановки количество витков по всем пяти предметам равно, соответственно, 2, 3, 3, 3, 2, что дает значение ЦФ-и - 1298, которое меньше, чем для трех первых перестановок. Следовательно, она является единственной оптимальной перестановкой. Первые же три из указанных четырех перестановок являются околооптимальными, но улучшить их можно лишь с помощью группового переноса (одновременного переноса нескольких номеров).

Решение задачи с помощью двойных переносов

Определение. Двойным переносом в перестановке назовем перемещение в ней двух каких-либо номеров с занимаемых ими мест на другие места.

Возьмем какую-либо перестановку (номеров станков) Р и пару номеров к и г в ней. Не ограничивая общности, можно считать, что к-<г (-< - символ предшествования) и тогда к может быть и нулем, т.е. кладовой. Рассмотрим какой-либо их двойной перенос.

Для описания двойного переноса рассмотрим в перестановке Р не пустые множества 5, и 52, определяющие, соответственно, одиночные переносы номеров Л и г в этой перестановке (как это было сделано выше для описания одиночного переноса) и, следовательно, не учитывающие перенос другого из номеров этой пары (т.е. не зависящие от того, есть он или нет). Можно считать, что каждый из этих двух одиночных переносов в отрыве от другого из них не целесообразен, т.е. при переносе номера к, например, вправо, а номера г, например, влево выполняются (согласно условиям (4)), соответственно, следующие неравенства:

Может оказаться, что в результате двойного переноса те множества, через которые произошел перенос обоих номеров, совпадают с соответствующими множествами 5, и (в исходной перестановке). В этом случае можно говорить о независимости каждого из двух одиночных переносов от другого (т.е. осуществлен он или нет) и, следовательно, о тождественности двойного переноса двум одиночным. Такими двойными переносами являются, например, следующие:

Поскольку одиночные переносы уже были изучены выше, представляет интерес (с точки зрения получения новых результатов) рассмотрение только таких двойных переносов, которые не тождественны двум одиночным переносам (будем называть их допустимыми двойными переносами), т.е. таких, в результате которых множества, через которые окажутся перенесенными оба номера, не совпадают с 51, и 52, т.е. эти множества получаются из 5, и 5, присоединением или удалением из них другого из двух переносимых номеров. Для этого, очевидно, остается рассмотреть только четыре вида таких

-), (-,*..

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

Таблица 3. Характеристики допустимых двойных переносов всех четырех видов

Виды

1 2 3 4

Название

Перенос внутрь интервала (к, г) (и тогда номера к и г переносятся в разные стороны, навстречу друг другу). Перенос за интервал [Л , г] (и тогда номера к и г, как и для вида 1, переносятся в разные стороны, навстречу друг другу). Перенос номеров к и г вправо (и, следовательно, номера к и г переносятся в одном направлении) с сохранением их порядка (к<г). Перенос номеров к и г влево (и, следовательно, номера к и г переносятся в одном направлении) с сохранением их порядка (Иг).

Изображение в перестановке Р

(•••І 1,г,...) * 1 ( І7..Г..І.) 'Г' 1 і і  (.1 1 * _1

Необходимое и достаточное условие нетождественности двум одиночным переносам

Между номерами к и г имеется по меньшей мере два номера. Множества 51 и ^ 2 не совпадают с множеством всех номеров между номерами Лиги, кроме того, в случае ^ П ^2 =Л (Л “ пустое множество), т.е. когда номера к и г оказываются соседними, «раздвигают» одну и ту же пару номеров, «вклиниваются» в одно и то же место, выполняется условие к > г (>- - символ следования). Заметим, что в случае 51 П 5 2 условие к >- г выполняется автоматически. Множество 5] содержит хотя бы следующий за г номер, а множество 5 2 содержит хотя бы предыдущий для к номер. Заметим, что номера к и г могли быть и соседними. Множество 51 содержит хотя бы следующий за г номер и, кроме того, в случае, когда номера к и г являются соседними и номер к пе-реносится за следу-ющий номер после г, то после переноса номера г эти номера к и г уже не должны быть соседними (иначе в этом последнем случае двойной перенос равносилен даже одному одиночному переносу влево того номера, через который перенесена пара к, г). Множество 5 2 содержит хотя бы предыдущий для к номер и, кроме того, в случае, когда номера к и г являются соседними и номер г ставится перед предыдущим для к номером, то после переноса номера к эти номера к и г уже не должны быть соседними (иначе в этом последнем случае двойной перенос равносилен даже одному одиночному переносу вправо того номера, через который перенесена пара к, г).

1. Величина изменения значения ЦФ-н (при двойных переносах).

Знание величины изменения значения ЦФ-и при одиночных переносах в перестановке (см. выше следствия 1 и 2) позволяет обобщить этот результат и на случай двойных переносов. Соответствующие формулы расчета для всех рассматриваемых четырех видов двойного переноса приведены в табл. 4 в ее строках 2 и 8 (формулы (6)-(8)).

Таблица 4. Приращение целевой функции.

Аналитическое выражение:

іє5| ,з*г

Графическое изображение (в матрице АР):

- г -

г

*

і

г

~\

V

...*К-------5,------->| ...

ГГ

С—

0

Необходимое условие отрицательности приращения:

Д*г<о

Д*,>0

<0 Л.н- <0

Аналитическое выражение:

Е іє5, ,з*г Д кз + Хіє5, ^ зг ^ Е 5Є5, ^ кз + XзеЗ,,з*к А яг

Графическое изображение (в матрице А,,):

... к\

... к

0 —

тп_

Необходимое условие отрицательности приращения:

Д*г>0> І,Є5„,*,-Д*<0 А^>0’ 1^*Д,г<0

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

другого в любой (с точки зрения конечного результата) последовательности: перенос (в исходной перестановке Р ) номера к и затем (в получившейся измененной перестановке Р') номера г или перенос (в исходной перестановке Р ) номера г и затем (в получившейся измененной перестановке Р") номера к. Следовательно, величина изменения значения ЦФ-и в результате двойного переноса может быть найдена действительно с помощью последовательного применения следствий 1 и 2 (см. выше).

В этой же таблице приведено и геометрическое изображение величин (6)—(9) -соответствующие элементы верхней треугольной подматрицы матрицы А,, обведены прямоугольниками (табл. 4, строки 4 и 10 ).

2. Необходимое условие оптимальности перестановки

Утверждение 3. Необходимым условием оптимальности перестановки Р является выполнение для элементов верхней треугольной подматрицы матрицы Д/- неотрицательности величин вида (6)—(9) для всевозможных допустимых двойных переносов в этой перестановке.

Действительно, необходимым условием оптимальности перестановки Р, очевидно, является невозможность ее улучшения за счет какого-либо двойного переноса. Это вербально сформулированное условие и равносильно, как следует в результате привлечения формул (6)-(9) (см. табл. 4 ), аналитически сформулированным в утверждении 3 условиям.

Утверждение 3 можно сформулировать и в виде обратного утверждения: если для какой-либо перестановки хотя бы одна из сумм вида (6)-(9) является отрицательной (соответствующие необходимые условия, облегчающие поиск отрицательных сумм, с учетом неравенств вида (5) указаны в строках 6 и 12 табл. 4), то эта перестановка не является оптимальной. Действительно, эта перестановка может быть улучшена на величину модуля этой суммы путем соответствующего двойного переноса в ней. Номера (к и г) строк или столбцов, соответствующие этой отрицательной сумме в треугольной подматрице матрицы Др , являются переносимыми (при желании улучшить перестановку) вправо (влево) в соответствующее место номерами в перестановке Р.

Приведем примеры двойных переносов всех четырех видов, улучшающих ту или иную исходную перестановку.

Припер 4. Для исходных данных из примера 1 рассмотрим две следующие перестановки (первая из них может быть улучшена, как показано в примере 2, и с помощью одиночного переноса): (2, 1, 4, 3, 6, 5), (3, 2,4, 1, 6, 5). Покажем, что они не являются оптимальными.

Соответствующие этим перестановкам треугольные подматрицы (с учетом матрицы грузопотоков, построенной в примере 1) имеют следующий вид:

2 I 4 3 6 5 3 2 4 1 6 5

(|75 0 -9 О о 1—1 120 -28б|! 0 ('юо 75 - 9 0 120 - 286 >

211 129 - 165 -100 0 3 165 - 45 -111 91 0

0 111 0 100 2 129 211 - 100 0

45 195 -120 ’ 4 0 195 - 120

91 0 1 0 100

V 306 к 306 )

2 1 4 3 6 5 3 2 4 1 6 5

0 Г 75 0 -9 100 120 - 286> 0 О О 75 -9 0 120 -286^

2 211 1129 -165 - 100 0 3 165 -45 -111 91 0

1 1 о 111 0 [ 100 2 129 211 -100 0

4 45 195 - 120 ’ 4 0 195 -120

3 91 0 1 о 100

6 V 306 6 ч 306 ,

Попытки найти в этих подматрицах отрицательные суммы вида (6)-<9) являются успешными - соответствующие элементы этих подматриц обведены прямоугольниками. Вид этих сумм показывает, что в рассматриваемых перестановках целесообразно осуществить, соответственно, следующие двойные переносы (они показаны стрелками):

I ^ ' I \1/ I X Ф 1

(0,2, 1, 4,3,6, 5), (3,2,4, 1,6, 5 ), (2,1,4,3,67 5), ( 0, 3, 2, 4, 1, 6, 5).

^_______I ^ | I_______ф ^_________________I

В результате получим, соответственно, следующие улучшенные перестановки:

(3,6,2, 1,5,4), (3,6,2, 1,5,4), (4, 3, 6, 2, 1, 5), (3, 6, 2, 1, 5, 4).

Значения ЦФ-и для них меньше, чем для исходных перестановок на модули обведенных прямоугольниками сумм, т.е. соответственно на 34, 25, 25, 25.

3. Нахождение оптимальной перестановки

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

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

Пример 5. Для исходных данных из примера 1 и найденной в нем матрицы грузопотоков дерево для получения множества М (множества всех допустимых перестановок), построенное по описанному выше алгоритму ветвления, показано на рис. 2. В результате получим, что множество М состоит из единственной, а потому и оптимальной, перестановки (3, 6, 2, 1, 5, 4).

Проиллюстрируем какой-либо шаг этого алгоритма, например развитие узла (3, 2,4, 1) на четвертом уровне дерева (рис. 2). При рассмотрении только одиночных переносов этот узел являлся, как показано в примере 3, перспективным, ибо было возможно его развитие (хотя и единственное) - узел (3, 2, 4, 1, 6) (см. рис. 1). Использование же еще и двойных переносов отсекает, как видно из примера 4, такую возможность, т.е. делает узел (3, 2, 4, 1) тупиковым, не подлежащим развитию, не перспективным (см. рис. 2).

Аналогично проверяется отсечение и еще трех узлов (укорочение ветвей) (3, 2, 1,4, 6), (3, 2, 4, 6), (3, 6, 2, 5) дерева на рисунке 1. В результате этих четырех отсечений и получается дерево на рис. 2.

Площадка

(уровень

дерева):

Рис. 2. Дерево для нахождения оптимальной перестановки

с помощью одиночных и двойных переносов (в кружках - номера станков).

'Г олова В Г. Экономические вопросы планировки оборудования в связи с конвейеризацией производства // Применение математики в экономике. Л., 1965. Вып.З. С. 134—145; Н е й м а р к А.И , Голова В.Г. Элементы расчета оптимальной планировки рабочих мест на поточной линии // Математико-экономические проблемы Л,,1966. Вып 58. С. 166—176; Романовский ИВ Задача о наивыгоднейшей круговой расстановке станков // Экономика и матем методы. М., 1966. Т. 2. Вып 4. С. 578-581, Не й м арк А.И., 111 е й н м а н Р.П., Г ол о ваВГ Расчет и программирование расстановки оборудования в цехах. М.,1969; Климов А Н , О л е и е в ИД, Соколицын С.А. Организация и планирование производства на машиностроительном заводе Л., 1973. Изд. 2. С 60-61, 1979. Изд. 3. С. 62-63; С ы т н и к В Ф , Карагодова Е.А. Математические модели в планировании и управлении предприятиями. Киев, 1985. С. 101—104.

2 Романовский ИВ Алгоритмы решения экстремальных задач. М., 1977. С. 225-227.

3 Романовский ИВ 1) Алгоритмы решения экстремальных задач. С. 248-251; 2) Дискретный анализ СПб., 2000. С. 195.

‘Тютюкин В К. Оперативно-календарное планирование на переменно-поточных линиях с переходящими заделами // Вестн Ленингр. ун-та Л.,1991. Вып 4. С 54-61

5 Эго утверждение обосновывает указанное выше правило построения матрицы грузопотоков <2 = \\ ч ъ\\ (рассмотрение для каждой пары станков тех предметов, в технологических маршрутах которых эти станки являются смежными, и затем нахождение суммы весов на программы этих предметов). У других авторов это правило ничем не обосновано и, следовательно, является лишь угаданным на интуитивном уровне.

4 Неймарк А.И., Голова В.Г. Элементы расчета оптимальной планировки рабочих мест на поточной

линии.

Статья поступила в редакцию 26 апреля 2004 г.