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

2013

ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА

Сер. 5

Вып. 2

В ПОМОЩЬ ЛЕКТОРУ

УДК 519.86 В. К. Тютюкин

ОПТИМАЛЬНАЯ КРУГОВАЯ РАССТАНОВКА СТАНКОВ ДЛЯ ПРОИЗВОЛЬНЫХ МАРШРУТОВ ИЗДЕЛИЙ

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

В многочисленных работах, посвященных этой задаче, первоначально предполагались технологические маршруты изготовления изделий лишь частного вида, а именно: не имеющими петель, т. е. возвратов изделий на те станки, на которых они уже побывали (будем называть эту задачу частной). Авторам этих работ не удавалось найти явный вид целевой функции задачи, и поэтому ими были предложены лишь различные эвристические, приближенные решения [1-4; 5, с. 60-61; 6, с. 62-63; 7, с. 84-87; 8, с. 101-104]. Позднее автор настоящей статьи смог сформулировать достаточно жесткое необходимое условие оптимальности искомой перестановки номеров станков, которое и позволяет эффективно находить все оптимальные перестановки путем перебора небольшого числа перестановок [9].

Виктор Константинович ТЮТЮКИН — д-р экон. наук, профессор кафедры экономической кибернетики экономического факультета СПбГУ, профессор Международной высшей школы экономики (МВШУ) при СПбГПУ Окончил математико-механический факультет ЛГУ (1964) и аспирантуру кафедры экономической кибернетики ЛГУ (1972). В Университете работает с 1965 г. Кандидатскую диссертацию защитил в 1973 г., докторскую — в 1989 г. Стажировался в университетах Франции (1976). Область научных интересов — производственный менеджмент, гибкие автоматизированные производства, микроэкономика. Автор более 50 научных публикаций, в том числе одного учебного пособия с грифом Министерства (в соавторстве) и одной монографии; e-mail: VKTutukin@mail.ru

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

Для задачи в общем случае, т. е. для произвольных маршрутов (и, следовательно, допускающих наличие в них петель) изготовления изделий (будем называть эту задачу общей), известно лишь сведение ее к задаче о размыкании контуров в графе, решаемой весьма трудоемким методом ветвей и границ [10, с. 225-227].

Целями исследования являются следующие:

— постановка общей, т. е. частной, задачи [9, с. 90-92; 11 с. 154-155], но с отказом от указанной выше жесткой предпосылки об отсутствии петель в маршрутах изготовления изделий;

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

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

Допущения, исходные данные и постановка общей задачи

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

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

(ТМ)/ = ( 51/ , 52/ , . . . , $/ , . . . , $т1/ ^ 5/ * 5г+1/ (1 < г < т/,/ = 1 п).

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

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

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

Далее, считаем, что перед началом изготовления всех предметов их заготовки находятся в кладовой. Следовательно, полученные из них предметы поступают (в силу горизонтальной замкнутости конвейера) в нее же. Будем считать кладовую условным станком, который занумеруем нулем, и дополним им технологические маршруты всех предметов. Таким образом, (TM)j = (0, s1 , s2 , . . . , s.. , . . . , smj, 0).

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

1. si — номер станка, устанавливаемого на i-ю площадку (0 < si < m, i = 0 : m; s. ф sk при i ф k). Нулевой станок (кладовая) устанавливается, как условились выше, на конкретную, фиксированную площадку (с номером ноль): s0 = 0. Следовательно, совокупность (0, sl ,s2,..., sj ,... ,sm) = P представляет собой порядок расстановки станков по площадкам. Количество таких порядков (перестановок), очевидно, равно m!

2. Vj (P) — количество оборотов (витков) конвейера, необходимое для полного изготовления j-го предмета (j = 1 : n), если станки расставлены по площадкам в порядке P Очевидно, оно удовлетворяет неравенствам: 1 < Vj (P) < mj (j = 1 : n).

Требуется расставить станки по площадкам так, чтобы суммарный (по всем предметам) грузооборот (работа по перемещению в процессе изготовления всех предметов, кГм) на линии был минимальным. Для этой целевой функции (ЦФ) имеем следующую очевидную формулу: L 1 , Nj Vj (P). Так как множитель L не влияет на оптимизацию, то в дальнейшем будем рассматривать равносильную ей ЦФ (суммарные кГ-витки):

G

Таким образом, требуется найти перестановку P*: G(P ) = minG(P).

Матрица деталепотоков

Возьмём пару номеров k и r (0 < k, r < m). Положим l'kr — количество непосредственных переходов от станка k к станку r (k — r) в последовательности (ТМ) , 1 < j < n [10, с. 226]. С помощью этих чисел l'kr (j = 1:n) построим множество Dkr = {j,..., j; j = 1:n}, в котором номер (предмета) j повторяется l'kr раз. Следовательно, это множество Dkr можно понимать как деталепоток (т. е. номера перемещаемых предметов) со станка k на станок r в течение планового периода. В связи с этим составленная из них матрица D = || Dkr || называется матрицей деталепотоков (т. е. номеров перемещаемых предметов с каждого станка на каждый другой в течение планового периода). Эта матрица явля-

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

Покажем построение матрицы В для конкретных исходных данных.

Пример 1. Пусть на линии имеются пять станков, т. е. на ней могут быть выполнены пять разнообразных операций (т = 5), и изготавливаются шесть предметов (п = 6), ТМ (номера Эц станков для выполнения операций) которых заданы (см. столбцы табл. 1).

Таблица 1

j 1 2 3 4 5 6

0 0 0 0 0 0

5 3 4 2 5 3

2 1 1 4 2 2

4 4 5 1 3 5

1 5 1 4 1 3

(ТМ) j 2 3 4 3 4 1

4 2 1 4 2 5

2 3 3 0 3 2

4 0 5 2 0

0 0 0

=11 II

Тогда матрица В имеет следующий вид (табл. 2).

Таблица 2

kN \1 о 1 2 3 4

0 Л {4} {2,6} {3}

1 Л Л {1} {3} {2,3,4,5}

2 {5,6} Л Л {2,5,5} {1,1,1,4}

3 {2} {2,5,6} {2,5,6} Л {4}

4 {1,4} {1,3,3,4} {1,5} {4} Л

5 {3} {3} {1,5,6} {2,6} Л

{1,5} ^ {3,6} {6} {3} {2}

Покажем два применения матрицы деталепотоков (D ).

Визуальный подсчет количеств витков по предметам

Для перестановки (номеров станков) P = (s0, sp..., si,..., sm) построим матрицу DP (в дальнейшем будем использовать подобный символ и для других матриц), получающуюся из матрицы D расположением ее строк и столбцов в порядке P (строка и столбец с нулевым номером этой матрицы остаются на своих местах), т. е. DP = || D || = ADA', где А — подходящая матрица, символ «штрих» означает транспонирование.

Покажем, что в рассматриваемой здесь общей задаче верно следующее утверждение, полученное нами для частной задачи, т. е. для случая маршрутов без петель [11, с. 158], причем дадим несколько другое (более простое) доказательство его справедливости.

Утверждение. Количество витков Vj (P) (j = 1: n) есть количество раз, которое встречается, номер (предмет) j во всех множествах ниже главной диагонали (будем говорить: в нижней треугольной подматрице) матрицы DP, т. е.

5

V,

Л ' ¿-¡к>г 4 '

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

В первом случае, когда множество В$ Э находится в нижней треугольной подматрице, т. е. к > г, упорядочение номеров эк и эг в перестановке Р (эк У эг ) противоположно их упорядочению в последовательности (ТМ), (эк < эг ), в которой они являются соседними. Таким образом, в последовательности (ТМ), имеется I, Э главных инверсий (относительно перестановки Р), ибо столько раз встречается в ней пара (э к, эг ) (о понятии «главные инверсии» см. работу [10, с. 226]).

Во втором случае, когда множество В находится в верхней треугольной подматрице, т. е. к < г, упорядочение номеров эк и эг в перестановке Р является таким же, как и в последовательности (ТМ), (эк < эг ), в которой они оказываются соседними. Значит, в последовательности (ТМ), ни одна из пар (эк,эг) (встречающаяся в ней , раз) не является главной инверсией (относительно перестановки Р). Итак, утверждение доказано.

Пример 2. Проиллюстрируем визуальный метод на исходных данных из примера 1 и для перестановки Р = (0, 1, 5, 3, 2, 4) (табл. 3).

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

Таблица 3 1 5 3 2

{3} {2} {5,6} {1,4}

{3}

{2,5,6} {1,3,3,4}

{3} {6} {2}

{2,5,5} {4}

{1,5}

= Вр

Например, номер 1 встречается в этой подматрице в множествах {1,4}, {1,3,3,4} и {1,5}, т. е. три раза. Следовательно, для изготовления предмета 1 требуются три витка: ^(Р) = 3.

Нахождение явного вида ЦФ

ЦФ, представленная в виде (1), является неявной, ибо явного (аналитического) выражения для количества витков V, (Р) (1 < , < п) не существует, и поэтому для их расчета применяют различные визуальные методы [9, с. 92; 11, с. 155-159]. Одна-

о

ко покажем, что рассмотренный выше визуальный метод расчета количеств витков по предметам (формула (2)) позволяет все же найти явный (аналитический) вид ЦФ (С(Р)) задачи.

Для этого предварительно проделаем следующее: в исходное (неявное) выражение (1) для ЦФ подставим формулу (2) и поменяем порядок суммирования:

О

Внутреннюю сумму, имеющуюся в конце этой цепочки равенств, обозначим через

У =.

Это равенство означает, что рассматривается матрица QP = ||||, и, следовательно, целесообразно ввести матрицу Q = ||чк, ||, элемент чк, которой вычисляется в соответствии с (4) по формуле:

Чк, = У П=\ 1'к,а>Ы>

[10, с. 226]. Как видно, это вычисление осуществляется без построения (а следовательно, и использования) матрицы Д = || Дк, ||. Если же эта матрица построена, то элементы матрицы Q можно вычислять и по такой формуле:

Чк, = У,(к, г = 0: т).

Формула (5) показывает, что число чк, есть грузопоток (вес перемещаемых предметов) со станка к на соседний станок , в течение планового периода. В этой связи составленная из них матрица Q называется матрицей грузопотоков (весов перемещаемых предметов с каждого станка на каждый другой в течение планового периода).

Очевидно, что матрица Q является квадратной порядка т + 1. Ее элементы чк,, соответствующие пустым множествам Дк,, — это нули (чк, = 0 при Дк, = Л ). Таким образом, матрица Q имеет нулевую главную диагональ, и некоторые ее элементы вне главной диагонали тоже могут быть нулевыми.

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

Хт "Х""4 т

,=° Ок, = У,=° а,к

Действительно, имеем

у т= 0 Ок,=У т= 0 У ;=, ад=У ;=, У т= 0.=У ;=, ар, У т=0. =

= У т=0 Уп=1 .ар, = У т=0 а,к.

В этой цепочке равенств первое из них получено путем подстановки формулы (5), третье — в силу очевидного свойства чисел 1'кг (совпадения в последовательности (ТМ), количества последующих номеров за номером к (к = 0: т) с количеством предшествующих ему номеров), пятое — опять-таки формулы (5).

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

Покажем построение матрицы р и указанное ее балансовое свойство (формула (6)) для конкретных данных.

Пример 3. Исходные данные из примеров 1 и 2 дополним (в соответствии с общим списком исходных данных, приведенным выше) известными штучными весами и годовыми программами выпуска по всем изготавливаемым предметам (^ и Ы), ) = 1: п) — строки 2 и 3 табл. 4. Рассчитываем вес на программу каждого предмета (см. табл. 4, строка 4).

Таблица 4

) 1 2 3 4 5 6

Ч) 0,25 0,4 0,1 0,2 0,6 0,5

N 20 50 100 65 25 50

Ч) N 5 20 10 13 15 25

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

Я=\\яь\\=

Таблица 5

X 0 1 2 3 4 5 Хг=0<7/5У

0 ( 0 0 13 45 10 20 88

1 0 0 5 10 58 35 108

2 40 0 0 50 28 25 143

3 20 60 60 0 13 10 163

4 18 38 20 13 0 20 109

5 ,10 10 45 45 0 0 110

0 Чкг

188 108 143 163 109 110

Например, элемент q41 этой матрицы рассчитан следующим образом. В матрице Д (см. выше пример 1) выбрано соответствующее (т. е. с такими же индексами) множество Д41 = {1,3,3,4} (означающее, напомним, что непосредственный переход от станка 4 к станку 1 имеет место в ТМ предметов 1, 3 (дважды) и 4). Складывая веса на программы этих предметов (с учетом их повторяемости в этом множестве), получим Ч41 = 5 + 2 • 10+13 = 38.

Матрица грузопотоков р позволяет получить явный вид ЦФ, что показывает следующий результат.

Утверждение. Значение ЦФ на перестановке Р равно сумме элементов нижней треугольной подматрицы матрицы QP , т. е.

с

Этот результат получается после подстановки (4) в (3) и сравнения начала и конца получившейся цепочки равенств. (В дальнейшем условимся, что черта снизу или/и сверху матрицы означает сумму элементов, расположенных ниже или/и, соответственно, выше главной диагонали, т. е. нижней или/и верхней треугольной подматрицы этой матрицы. Тогда правая часть формулы (7) в такой краткой записи имеет вид Qр .) Это выражение для ЦФ не требует подсчета количества витков по предметам, т. е. витки учитываются в неявном виде.

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

Таблица 6

^ 0 1 5 3 2

1 Г 0 \

5 10 10

3 20 60 10

2 40 0 25 50

4 V18 38 20 13 20у

-о„

Сложив ее элементы, получим искомый грузооборот: 0(Р) = Qр = 334.

Матрица приращений ЦФ и ее применение

В результате перестановки друг с другом номеров к и г (к, г =0 : т), оказавшихся соседними в некоторой перестановке всех номеров (станков) Р, т. е. в результате элементарного преобразования перестановки Р= ( . . . , к , г , . . . ) в перестановку Р' = = (. . . , г , к , . . . ), имеем следующее изменение значения ЦФ: О(Р') — О(Р) = ц_кг — ц_гк [9, с. 95].

В связи с этим целесообразно построить матрицу 4 = || Акг ||, где Акг является величиной приращения значения ЦФ в результате указанного элементарного преобразования перестановки: Акг = qkr — qrk (к, г =0 : т), т. е. из каждого элемента матрицы грузопотоков Q вычитается симметричный (относительно главной диагонали) ему элемент этой матрицы и таким образом имеем А= Q - Q'.

Матрица А называется матрицей приращений ЦФ и играет, как увидим, основную роль при решении поставленной задачи. Она является квадратной порядка т +1 и ко-сосимметрической (Д' = — А, т. е. Акг = - Агк , к, г =0 : т). Кроме того, она обладает балансовым свойством: сумма элементов любой ее строки или столбца равна нулю, что вытекает из балансового свойства матрицы грузопотоков Q — формулы (6). Это свойство является необходимым условием правильности построения матрицы приращений (А ) и, следовательно, может служить контролем этой правильности.

Построим матрицу приращений Д и укажем ее балансовое свойство для конкретных исходных данных.

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

По матрице Д для перестановки (номеров станков) Р = (э0,51,..., зг,..., $т) построим матрицу ДР. Матрица ДР, очевидно, обладает теми же свойствами, что и матрица Д .

Таблица 7

0А kr

ЦФ (грузооборот) РР (т. е.О(Р)) может быть выражена [11, с. 162] через сумму элементов верхней треугольной подматрицы матрицы ДР (эта подматрица будет фигурировать, как увидим ниже, в алгоритме решения задачи) по следующей формуле:

Qp = (С - Ap ) / 2 ,

где С есть сумма всех элементов матрицы грузопотоков Q (или все равно что матрицы Qp при VP ): С = Q^ + Qp = Q_= Q + Q = Q = £Xr"lo^•

Из формулы (8) видно, что исходная задача Qp min может быть заменена на равносильную задачу Ap max. При этом подсчет величины Ap можно несколько упростить (ускорить) [9, с. 94-95; 11, с. 163]. Для этого в верхней треугольной подматрице матрицы Ap рассмотрим любой вписанный в нее прямоугольник, т. е. подматрицу (прямоугольную), имеющую тот же правый верхний угол, что и треугольная подматрица, или все равно что вся матрица Ap , и левый нижний угол которой лежит на диагонали (являющейся следующей (сверху) после главной диагонали матрицы Ap) треугольной подматрицы. Этот прямоугольник можно не заполнять числами (в связи с чем желательно выбирать его, очевидно, наибольшей площади), ибо сумма его эле-

ментов является нулевой:

Ek ^ m

£ , A = 0 (k = 0 : m).

Проиллюстрируем использование этой формулы на примере. Пример 6. Подсчитаем значение ЦФ для исходных данных в примере 3. Используя найденную в этом примере матрицу грузопотоков р (см. табл. 5), найдем сумму всех ее элементов С = 721.

Далее по матрице А, найденной в примере 5 (для тех же исходных данных), строим верхнюю треугольную подматрицу матрицы Ар, не заполняя в ней прямоугольник, имеющий наибольшую площадь, т. е. с размерами 3x3 (табл. 8).

Таблица 8 1 5 3 2 4

Находим сумму остальных элементов треугольной подматрицы, т. е., по существу, величину Ар, равную 53. Тогда, используя формулу (8), получим 0(Р) = (721 - 53)/2 = 334 , что, естественно, совпадает со значением, найденным выше более трудоемким способом в примере 4.

Решение задачи

Утверждение. Необходимым условием оптимальности перестановки Р = (0,51,52,..., з., . . . , зт) является выполнение для элементов верхней треугольной подматрицы матрицы Ар следующей системы неравенств [9, с. 98]:

р

Уг А > 0 (г = к+1 : т, к = 0 : т-1) "

У к- А > 0 (г = 0 : к-2, к = 2 : т) .

Фигурирующие в левых частях этих двух неравенств суммы (с переменным, соответственно, верхним или нижним пределом суммирования) являются величинами изменения значения ЦФ в результате переноса в перестановке Р номера зк, соответственно, вправо (помещения его после номера 5г) и влево (помещения его перед номером 5г) [ 9, с. 97].

Перестановку Р = (0,51, s2,..., з.,..., зт) номеров станков назовем квазиоптимальной (подозрительной на оптимальность, околооптимальной), если для верхней треугольной подматрицы матрицы АР выполняется необходимое условие оптимальности (*).

Пусть М есть множество всех квизиоптимальных перестановок. Оно содержит всё множество оптимальных перестановок. Следовательно, при нахождении оптимальной перестановки вместо рассмотрения всего множества перестановок можно ограничиться изучением только множества М [9, с. 95].

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

находится эта отрицательная сумма в треугольной подматрице матрицы АР , то переносимый вправо (влево) в соответствующее место номер в перестановке Р есть [9, с. 98-99]. Проиллюстрируем этот результат примером.

Пример 7. Для исходных данных из примера 5, используя найденную в нем матрицу приращений Д (см. табл. 7), получим, что верхняя треугольная подматрица матрицы ДР (Р = (0, 1, 5, 3, 2, 4) -см. пример 2, О(Р) = 334 — см. пример 4 или 6) имеет следующий вид (табл. 9).

Таблица 9 3

Го 10

25 - 50

35

2 4

-27 -8

5 20

20 20

10 0

8

Д

5

Как видно, в этой подматрице имеются три отрицательные суммы (они обведены прямоугольниками), равные соответственно: — 25 (в строке, соответствующей станку 1); — 15 (в столбце, соответствующем станку 3); — 12 (в столбце, соответствующем станку 4). Следовательно, рассматриваемая перестановка Р не является оптимальной. Расположение отмеченных сумм в матрице ДР показывает, что перестановку Р можно улучшить в результате любого из трех соответствующих одиночных переносов в ней: расположения номера 1 — за номерами 5 и 3, номера 3 — перед номерами 1 и 5, номера 4 — перед номерами 5, 3, 2; таким образом значение ЦФ улучшается соответственно на 25, 15 и 12 единиц.

Необходимое условие оптимальности перестановки (неравенства (*)) для общей задачи является таким же, как и для частной задачи. Поэтому для обеих этих задач имеем единый алгоритм их решения, основанный на использовании неравенств (*) — алгоритм ветвления [9, с. 95-97]. В связи с этим не будем здесь воспроизводить его. В результате его применения получится множество всех квазиоптимальных (полных) перестановок (множество М). Далее вычисляем для каждой из них значение ЦФ ДР . Те из них, для которых это значение является максимальным, и следует считать оптимальными. Проиллюстрируем один из шагов алгоритма и приведем его итог на примере с рассмотренными выше численными данными.

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

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

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

Площадка

(уровень а б

дерева):

0 1 2

3

4

5

Рис. 1. Дерево для нахождения оптимальной перестановки (а) и ее представление (б). Примечание: в кружках — номера станков.

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

Таблица 10

5 3 1 2 4

0 10 25 0 -27 -8

5 35 -25 20 -20

3 50 10 0

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

(табл. 11, а, б). _

Так как ДР > ДР , то оптимальной является только перестановка Р1 (рис. 1, б). Вычислим значение ЦФ на ней, используя формулу (8):

С(Р1) = (С -Д р1)/2 = (721 -107) / 2 = 307.

Это число и является минимальным значением грузооборота на рассмотренной поточной линии.

Таблица 11

3 1 4 5 2 5 3 1 2 4

0 ( 25 0 > 0 '10 25

3 50 5 35

1 3

4 20 -8 1 5 20

5 V 20 2 V 8

\ = 107 д7 = 103

-ЛР

б

а

Указанное выше множество М (множество всех квазиоптимальных, т. е. «подозрительных на оптимальность», перестановок) лишь ненамного шире множества всех оптимальных перестановок. Это вытекает из того, что в условии (*), фигурирующем в приведенном выше Утверждении, неравенств много (а именно т2 штук), и, следовательно, это необходимое условие является довольно жёстким, т. е. близким к необходимому и достаточному условию оптимальности перестановки. В связи с этим множество М состоит, как показало решение многочисленных примеров, как правило, из единственной и, следовательно, только оптимальной перестановки. Поэтому весьма трудно подобрать пример, для которого в множестве М имеются хотя бы две перестановки. Тем не менее автору удалось построить пример (см. рис. 1, а, б), для которого в множество М входит, помимо оптимальной перестановки (Р1), ещё одна перестановка (Р2).

Литература

1. Голова В. Г. Экономические вопросы планировки оборудования в связи с конвейеризацией производства // Применение математики в экономике. Л., 1965. Вып. 3. С. 134-145.

2. Неймарк А. И., Голова В. Г. Элементы расчета оптимальной планировки рабочих мест на поточной линии // Математико-экономические проблемы. Л., 1966. Вып. 58. С. 166-176.

3. Романовский И. В. Задача о наивыгоднейшей круговой расстановке станков // Экономика и математические методы. М., 1966. Т. 2, Вып. 4. С. 578-581.

4. Неймарк А. И., Шейнман Р. П., Голова В. Г. Расчет и программирование расстановки оборудования в цехах. М., 1969. 168 с.

5. Климов А. Н., Оленев И. Д., Соколицын С. А. Организация и планирование производства на машиностроительном заводе. 2-е изд. Л., 1973. 495 с.

6. Климов А. Н., Оленев И. Д., Соколицын С. А. Организация и планирование производства на машиностроительном заводе. 3-е изд. Л., 1979. 463 с.

7. Кузин Б. И. Организация поточного производства в условиях НТП машиностроения. Л., 1977. 184 с.

8. Сытник В. Ф., Карагодова Е. А. Математические модели в планировании и управлении предприятиями. Киев, 1985. 214 с.

9. Тютюкин В. К. Оптимальная круговая расстановка станков в поточном производстве // Вестн. С.-Петерб. ун-та. Сер. 5. Экономика. 2004. Вып. 3. С. 90-106.

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

11. Тютюкин В. К. Оптимальная круговая расстановка станков методом ветвей и границ // Вестн. С.-Петерб. ун-та. Сер. 5. Экономика. 2005. Вып. 3. С. 153-167.

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