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

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

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

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

This article contains the new results for well-known problem concerning the optimal circular placement of equipment under the criterion of a minimal total turnover of goods at the production line: the evidence of an explicit form of objective function task, published by the author previously; finding some new properties of the task; the construction of lower border of objective function task; the combination of method of branches and borders with the proposed before method based on using essential condition for the optimization of transportation (numbers of equipments),that let us significantly raise the efficiency of finding the problem solution (to construct the thicker decision tree). All these results (the properties, the methods and the algorithms) are illustrated by calculations on the specific basic data.

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

Optimal Circular Placement of Equipment Using the Method of Branches and Borders

This article contains the new results for well-known problem concerning the optimal circular placement of equipment under the criterion of a minimal total turnover of goods at the production line: the evidence of an explicit form of objective function task, published by the author previously; finding some new properties of the task; the construction of lower border of objective function task; the combination of method of branches and borders with the proposed before method based on using essential condition for the optimization of transportation (numbers of equipments),that let us significantly raise the efficiency of finding the problem solution (to construct the thicker decision tree). All these results (the properties, the methods and the algorithms) are illustrated by calculations on the specific basic data.

Текст научной работы на тему «Оптимальная круговая расстановка станков методом ветвей и границ»

Вестник СПбГУ. Сер. 5. 2005. Вып. 3

В. К. Тютюкин

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

Настоящая задача уже рассматривалась нами в опубликованной в прошлогоднем выпуске «Вестника СПбГУ» статье.1 В предыдущей статье, в частности, впервые был приведен явный вид целевой функции (ЦФ-и) задачи.2 Однако предложенный в ней метод, основанный на использовании необходимого условия оптимальности перестановки, не требовал такого вида. В связи с этим и с ограниченностью объема статьи обоснование указанного явного вида ЦФ-и, как и некоторых других свойств задачи, было опущено.

В настоящей статье

- воспроизводится постановка задачи (для возможности чтения настоящей статьи независимо от упомянутой статьи), а также некоторые ее свойства (особенно явный вид ЦФ-и задачи), но теперь уже с доказательствами;

- формулируются и доказываются некоторые новые свойства задачи;

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

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

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

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

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

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

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

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

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

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

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

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

(*ГМ). — технологический маршрут изготовления.

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

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

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

•'} 1/' 2/' //' » лт}/

Далее, считаем, что технологический маршрут любого предмета не имеет петель, т.е. все необходимые для изготовления предмета операции выполняются (станки используются) по одному разу. Из этого необходимо вытекает, что т < т% при этом если для изготовления некоторого предмета / требуется выполнить все т операций, то т. = т, а если некоторые из них пропускаются (не требуются), то т. < т. Отсутствие петель в технологических маршрутах предметов формально означает, что 5.. ^ при ьФк , т.е. (ТМ) есть некоторое размещение из т по т. (/ = 1 :п).

Помимо этой общей информации для МПЛ имеется также и следующая дополнительная информация, являющаяся специфической для ППЛ:

цг- штучный вес /-го предмета (/ = 1 :п).

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

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

Предполагаем, что перед началом изготовления всех предметов их заготовки находятся в кладовой, а изготовленные из них предметы поступают в нее же. Будем считать ее условным станком, который занумеруем нулем, и дополним им технологические маршруты всех предметов. Таким образом, (ТМ). = (0, slj9 s2, s.., ..., sm jy 0). Следовательно, он представляет собой одну большую петлю от кладовой.

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

Введем следующие обозначения:

s. - номер станка, устанавливаемого на ¿-ю площадку ( 1 < s < m, i = 1 :m; s. Ф sk при i ^ k). Следовательно, совокупность ($,, s ..., s.,s ) = P представляет собой порядок расстановки станков по площадкам. Количество таких порядков (перестановок) равно пг\;

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

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

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

Визуальные методы расчета количества витков ^.(Я) (1 й } й п)

ЦФ, представленная в виде (1), является неявной, ибо явного (аналитического) выражения для количества витков Р,{Р) (1 < / < п) не существует. Однако для конкретной пары перестановок (Р и(7714).) подсчет Р.(Р) не вызывает затруднений и может быть осуществлен несколькими визуальными методами. Рассмотрим эти методы и проиллюстрируем их для конкретных численных данных.

Пример /. Пусть на линии имеется 5 станков (пг = 5) , которые расставлены по площадкам в порядке Я= (0, 3, 1, 4, 5, 2), а (ТМ) = (0,4,2,3,5,1,0).

Способ 1. Очевидно, на первом витке конвейера /-й предмет пройдет обработку только на станках 4 и 2, на втором витке — на станках 3 и 5 и на третьем витке — на станке 1. Таким образом, Р{Р) = 3.

требуется найти перестановку

р

Способ 2 основан на следующем понятии.

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

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

Обозначим через 1(Р) количество главных инверсий (непримыканий) в (ТМ). относительно перестановки Р. Тогда имеем следующую очевидную зависимость /\(Я) = 1(Р) + 1. Фигурирующая в ней единица соответствует назначению кладовой, влекущему необходимость хотя бы в одном витке для изготовления любого предмета. Для подсчета 1(Р) все номера станков 5 (5 = 1 ж) можно выбирать в любой очередности, но удобней в той, которая имеется в Р. Устанавливаем те из номеров, для которых имеется главная инверсия (непримыкание) в (ТМ) . Их количество и даст величину 1.(Р). Проиллюстрируем подсчет И (Р) вторым и третьим визуальными методами для численных данных из примера 1.

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

О 3

/. (Р) = 0+1 + 1+ 0 + 0 + 0 = 2

\

Действительно, выбираем сначала номер 3. Непосредственно предшествующий ему в (ТМ). номер 2 (2<3) является в перестановке Р одним из последующих за номером & (2>3) или, все равно что, номер 3 в (ТМ) не примыкает к номеру 0, предшествующему ему в Р. Следовательно, для номера 3 имеется главная инверсия, т.е. такое назначение (а именно на площадку 1) станка 3 влечет необходимость в дополнительном витке конвейера (под номером 3 в вышеприведенной таблице ставим 1). Далее выбираем в Р следующий номер — номер 1. Непосредственно предшествующий ему в (ТМ). номер 5 (5^1) является в перестановке Р одним из последующих за номером 1 (Ь>1) или, все равно что, номер 1 в (ТМ) не примыкает ни к номеру 0, ни к номеру 3, предшествующим номеру 1 в перестановке Я. Следовательно, для номера 1 имеется главная инверсия, т.е. такое назначение (а именно на площадку 2) станка 1 влечет необходимость еще в одном витке конвейера (под номером 1 в вышеприведенной таблице ставим 1). Продолжив аналогичные действия, получим 1.(Р) = 2, а И.(Р) = 3.

Способ 4. На основе заданных (ТМ)-в предметов построим множества В всех тех предметов, в (ТМ)-х которых за станком к сразу следует станок г. Окг - {/^ = к> 5.+/. = г } Фкг = Л при 0<£=г<га,а иногда и при к ф г). Из этих множеств составим матрицу £ = | \Окг\ |. Она является квадратной порядка т + 1, и на ее главной диагонали стоят пустые множества (как отмечено выше, пустыми могут быть некоторые множества и вне главной диагонали). Ее строка

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

Множества Окг (г = О:т) в строке /г(0 < к < т) матрицы Э обладают следующими очевидными свойствами:

1) Ок8 п Вк{ = Л при 5 Ф

2) и^о £)ь. = Вк где есть множество всех тех предметов, в ТМ которых станок к входит (Ьк = {¡:к е(ТМ)^у £>0 = {Г.м}). В частности, если станок к входит в ТМ всех предметов (как, например, станок с нулевым номером, т.е. кладовая), то £ = {1:я } — множество всех предметов.

Аналогичными свойствами обладают множества Экг (^ = 0:т) в столбце г (0 < г < т) матрицы О.

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

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

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

] 1 2 3 4 5

/V, 1000 500 1200 700 1500

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

100 75 120 91 120

/ \ 1 2 3 4 5

0 0 0 0 0 0

1 3 2 1 4 6

2 1 3 3 2 5

3 5 4 2 1 4

4 6 6 4 3 3

5 2 5 6 6 2

6 4 0 5 5 1

7 0 0 0 0

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

Г к N. 0 I 2 3 4 5 6 о,

0 Г а {3} {2} {1} {4} А {5} {1:5}

1 {5} А А {3,4} А {1} А {1,3,4,5}

2 А {4,5} А {2} {1,3} А А {1:5}

м-3 А {1} {3,5} А {2} А {4} {1:5}

4 {1} А {4} {5} А А {2,3} {1:5}

5 {2,3,4} А А А {5} А {1} {1:5}

6 1 А А {1} А А {2,3,4,5} А ) {1:5}

ог | {1:5} {1,3,4,5} {1:5} {1:5} {1:5} {1:5} {1:5}

Для перестановки (номеров станков) Р = ^ ..., 5г>..., 5Л) построим матрицу О , получающуюся из матрицы О расположением ее строк и столбцов в порядке Р (строка и столбец с нулевым номером этой матрицы остаются на своих местах), т.е. /) = | | | | = АйА\ где А — подходящая матрица, символ «штрих» означает транспонирование. (В дальнейшем будем использовать подобный символ и для других матриц.) Множества в любой ее строке или столбце, очевидно, обладают обоими свойствами, указанными выше для матрицы

В матрице йр рассмотрим г-й столбец (т.е. вектор, соответствующий станку с номером 5г): (й^ 9В „О^ г = 0 : т.

В первых г строках (т.е. в строках с номерами от 0 до г-1) этого столбца стоят множества предметов, в ТМ которых номер станка примыкает (снизу) к одному из предшествующих ему в перестановке Р номеров, т.е. номеров О, 5,, 52,..., 5г_г Следовательно, для каждого из этих предметов такое назначение станка 5г к ранее назначенным, согласно перестановке Р, станкам 0, 5р я2, ..., не влечет, согласно третьему визуальному способу расчета количества витков, увеличение уже имеющегося количества витков.

Ниже же главной диагонали, т.е. в строках с номерами от г+1 до т рассматриваемого столбца, стоят множества предметов, в ТМ которых номер станка примыкает (снизу) к одному из номеров $ , ..., и, следовательно, не примыкает (снизу) ни к одному из предшествующих ему в перестановке Р номеров 0, 5 , $2, Следовательно, для каждого из этих предметов

присоединение станка к ранее назначенным в перестановке Р станкам 0, я,, 52, ..., влечет, согласно третьему визуальному способу расчета количества витков, увеличение уже имеющегося количества витков по этому предмету на единицу. Таким образом, /\(Я) (/ = 1: п) есть количество появлений номера (предмета) / во всех множествах, расположенных ниже главной диагонали (будем говорить: в нижней треугольной подматрице) матрицы Ор. При этом если какой-либо номер встречается в некотором столбце (строке), то только один раз (согласно указанным выше свойствам множеств образующих матрицу Л, а следовательно, и Ор). Проиллюстрируем это примером.

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

О 2

4 3 6

2 / Л

1 {5} Л

4 {1} {4} Л

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

6 Л {1} Л Л Л

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

\

С использованием этой матрицы подсчет способом 4 количеств витков по всем пяти предметам / = 1:5) указан в табл. 3 (в которой укажем

также, для дальнейшего сравнения, и подсчет значения ЦФ-и Р(Р)). Так, например, предмет 1 встречается в нижней треугольной подматрице матрицы Эр в столбцах,, соответствующих станкам 0,2,1,6 (в строке 1 табл. 3 они отмечены единицами), т.е. 4 раза, что и дает /^(Р) = 4.

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

Таблица 3

\ р ] \ 0 2 14 3 6 5 Р.(Р) <7.ЛЛ / йМГХР) 7 II

1 1 1 10010 4 100 400

2 100 1000 2 75 150

3 1 100000 2 120 240

4 1 1 00000 2 91 182

5 1 10 10 0 0 3 120 360

Итого: 1332 = Р(Р)

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

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

Для нахождения явного (аналитического) вида ЦФ-и проделаем следующее.

С помощью матрицы Э построим так называемую матрицу грузопотоков (т.е. весов перемещаемых предметов с каждого станка на каждый другой в течение планового периода) <3 = I 1^1 I > элемент ц которой означает грузопоток, т.е. вес перемещаемых предметов, со станка к на станок г в течение планового периода и вычисляется по формуле ¿{к,г = 0: т).

Очевидно, матрица С} является квадратной порядка т + 1 и имеет нулевую главную диагональ.

Из указанных выше свойств матрицы О, очевидно, получается следующее балансовое свойство матрицы грузопотоков <Э: сумма элементов £-й строки совпадает с суммой элементов /г-го столбца этой матрицы:

ХГ=о Якг (2)

Можно заметить также, что обе эти суммы равны X Я]^}- В частности, если &-й станок входит в ТМ всех предметов (как, например, нулевой станок, т.е. кладовая), то обе суммы (2) равны Ху^у^у.

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

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

\ \ г к 0 1 2 3 4 5 6 Хг=0 Я кг

0 ( 0 120 75 100 91 0 120 ^ 506

1 120 0 0 211 0 100 0 431

2 0 211 0 75 220 0 0 506

3 0 100 240 0 75 0 91 506

4 100 0 91 120 0 0 195 506

5 286 0 0 0 120 0 100 506

6 1 0 0 100 0 0 406 0 , 506

506 431 506 506 506 506 506

Для расчета элемента, например, д65 матрицы С} берем множество 065 = {2,3,4,5} (см. матрицу найденную в примере 2) и находим сумму весов на программы предметов (см. табл. 1 в примере 2) из этого множества 75 + 120 + 91 + 120 = 406 = ¿/65 (см. матрицу <Э).

Нахождение явного вида ЦФ-и Р(Р)

По матрице 0 для перестановки (номеров станков) Р = (50, я я ) построим матрицу ()р =11^ ||(бр = АО.А'). Матрица при V/5, очевидно, обладает теми же свойствами, которые были отмечены выше для матрицы С}.

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

(3)

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

Присоединение очередного номера к ранее назначенным, согласно перестановке Р, номерам 50> влечет, как отмечено выше в четвертом

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

присоединение влечет увеличение грузооборота, уже имеющегося в результате назначения станков 50, ..., на величинуд^^ + + т,е* на СУМ"

му элементов г-го столбца матрицы расположенных ниже главной диагонали этой матрицы. Утверждение доказано.

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

расстановки станков по площадкам р получается при замене направления вращения конвейера на противоположное. Согласно (3), имеем р(р) = <2~.

Каждую из величин (}Р и (2р, фигурирующих при подсчете грузооборота на перестановках, соответственно^ и Р, можно записать и другими тремя способами. Рассмотрим их.

Для матриц, фигурирующих в числах вида Ор> рассмотрим замены следующих трех видов: транспонирование ((}Р ~^>(2Р или Qp —>()р), переход к противоположной перестановке —> или (2Р), переход к суммированию элементов противоположной треугольной подматрицы (замена черты снизу матрицы на черту сверху матрицы, или наоборот).

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

Ор=Ор =01 = 0^, (4)

= = (5)

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

Заметим, что встречающиеся в (4) или (5) для матрицы операции транспонирования и расположения в порядке Р ее строк и столбцов являются коммутативными (перестановочными), т.е. их можно выполнять в любом порядке: ((Э^р = АС}'А = (Лф/Г)' = (Ор)\ и, следовательно, не указывать их очередность, записывая в виде 0Р\ОР = 5 I.

Докажем, например, первое7 равенство в (5). Оно справедливо в силу следующих двух обстоятельств:

а) сумма элементов столбца с нулевым номером матрицы при \/7? (в частности, матрицы(2р) совпадает, как отмечалось выше, с суммой элементов строки с нулевым номером матрицы при (в частности, матрицы (Зр), ибо обе эти суммы (очевидно, независимо от упорядочения слагаемых) равны

б) остальные слагаемые в обеих суммах <2^ и (}р являются, очевидно, одинаковыми, хотя и расположенными на разньБГместах в матрицах ()р и (2р (строки, как и столбцы этих матриц, имеют противоположное друг другу упорядочение).

Заметим, что из первого равенства в (5) следует, что величина (Заявляется грузооборотом для обратной перестановки: <2р = Р(Р)

Смежные с матрицей грузопотоков матрицы и выражение

грузооборота через них

1. По матрице С} построим матрицу Д = ф - = | | Д | | = 0:т)у т.е. из каждого элемента матрицы ф вычтем симметричный ему элемент в этой матрице. Матрица А является, очевидно, кососимметрической (т.е. А' = -А или, все равно что, ДАг = ~ДгЛ).

2. По матрице А для перестановки (номеров станков) Р = (я , 5,, э ) построим матрицу Др(Др = (Ф - <Э')р = Л (ф - С}')А = А<2А' - ЛфУГ = фя -- С}'р = ||д^ ||. Матрица Лр является, очевидно, тоже кососимметрической.

Легко проверить справедливость следующих трех равенств:

= (в)

где С есть константа, равная сумме всех элементов матрицы грузопотоков ф или, все равно что, матрицы С}р при УР[С = <2 + <2 = б = £2р + <2/> = 0,р)>

^ = (7)

= (8)

Действительно, равенство (6) является достаточно очевидным, а равенства (7) и (8) получаются, соответственно, из следующих двух очевидных цепочек равенств:

А^ - = = йр -Ор_ = Ор_-<2р,

а7 = ((2-<2% =(2Р-е,Р =0^-0^ = 0~р-0р-

Грузооборот выражается через величину АР или др> соответственно, по следующим формулам:

0Р_ = (С + АР)/ 2, (9)

Ор =(с-Д7)/2. (10)

Это вытекает из формул, соответственно, (6), (7) и (6), (8).

Удобней пользоваться формулой (10), в которой фигурирует верхняя треугольная подматрица (сумма ее элементов: др ), ибо, как было показано в уже упоминавшейся статье,3 в алгоритме решения задачи первым методом (т.е. с использованием необходимого условия оптимальности перестановки) строятся (по матрице именно А) подматрицы_именно этого вида.

Покажем, что при этом подсчет величины Дя, фигурирующей в (10), можно несколько упростить (ускорить). Для этого установим следующее свойство верхней треугольной «подматрицы» матрицы Д

Используя формулу (2) (из которой следует равенство нулю суммы элементов любой строки или столбца матрицы А, а следовательно, и матрицы Ар при любом Я), получим, что для элементов верхней треугольной «подматрицы» матрицы Ар справедливо следующее балансовое соотношение:

У" = Уид„ (к=0ж), (11)

где для общности полагается 50 = 0; при к = 0: 0*, следовательно, (11)

принимает вид =0, т.е. в матрице Ар сумма элементов строки с

номером ноль равна нулю); при к-т\ +1 = 0 (и, следовательно, (11) принимает вид т-е- в матрице Ар сумма элементов последнего столбца равна нулю).

Свойство (11) можно записать, как легко видеть, и в следующей равносильной форме:

1?=017=* + 1Л',^ = 0 (Ь=0\т). (12)

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

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

Пример 5. Подсчитаем значение ЦФ-и для исходных данных из примера 3. Используя соответствующую матрицу (2 (см. пример 4), найдем сумму ее элементов С = 3467; построим верхнюю треугольную подматрицу матрицы Др, отметим в этой подматрице прямоугольник, имеющий наибольшую площадь, т.е. с размерами 3x4 или 4x3 (сумму его элементов можно не подсчитывать, ибо по формуле (12) она равна нулю), и находим сумму остальных элементов подматрицы, т.е., по существу, величину (803):

1

0 2

1

4 3 6

/ 75

О 211

-9 100 120 —286 \ 129 -165 -100 О О 111 О 100

45 195 -120 91 О

306 )

Тогда, используя формулу (10), получим Р(Р) = (3467 - 803)/ 2 = 1332 (что совпадает со значением, найденным в примере 3 с помощью более трудоемкого метода подсчета количеств витков по всем предметам).

Равносильные грузообороту ЦФ-и

Из формул (6), (9) и (10) видно, что для решения поставленной задачи в матрицах Qp и Ар можно рассматривать как нижние, так и верхние треугольные подматрицы (4 треугольника), причем сумму элементов каждой из них можно как минимизировать, так и максимизировать, т.е. получающиеся 8 задач являются равносильными. Задачами минимизации и максимизации грузооборота являются, соответственно, следующие две четверки задач:

Qp —>min, QP —>max, A P —»mi^Ap —> max;

Qp —> max, Qp min, AP —» max, AP —» min.

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

Построение нижней границы

Для чисел 0, 1,2, ..., т (номеров станков) пусть есть множест-

во всех их перестановок, начинающихся с последовательности s0, sr s2, sk (k - 0:m, sQ= 0) (количество этих перестановок равно (m-k)\).

Далее, пусть дУ-^* и есть Сумма элементов, соответственно, i -й строки

и /-го столбца матрицы Q, кроме координат s0, ..., sk этих векторов, т.е. =

- X = X % 1Ф$>о' sk и эти индексы упорядочены, например, по

возрастанию; 0 < k < m). С помощью векторов ^ и ^ßj0-"^ J ^

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

построим квадратную матрицу Rs s , сложив любую компоненту первого* вектора с любой другой компонентой второго вектора, т.е. полным перебором всех незафиксированных номеров станков (главная диагональ этой матрицы не заполняется): Rs s = дУ-** + -qyUiJ j). Так как эле-

мент q входит в обе суммы A*()y'">Sk и ,то с целью его однократного учета

в матрице RS{),..,sk он вычитается из суммы + .

Учитывая эти построения, рассмотрим следующую функцию, заданную на всех множествах Mw Sk {к =0: m,s0 =6):

)=li=<AWr + min +В?"* -ди). (*)

Если обозначить через iQ и /0 (¿0Ф /0) номер, соответственно, строки и столбца, в котором находится минимальный элемент матрицы R s , т.е.:

min. =

то величины в правой части формулы (*) схематично можно показать в виде прямоугольников и прямого угла (последний представляет собой траекторию через столбец Н2 и последнюю строку под главной диагональю) в следующей матрице вида Qp:

Как видно из формулы (*), для частичной перестановки ($0, ..., ...) ее «хвост» (т.е. любое упорядочение номеров после номера оцениваемый минимальным элементом матрицы^ ,есть минимальная сумма, которая может оказаться на указанной траектории (в виде прямого угла).

Покажем, что функция (*) является нижней границей для рассматриваемой ЦФ-и, т.е. она обладает всеми тремя соответствующими свойствами.

1. Проверим, что функция (*) является оценкой снизу для минимизируемой функции.

Для , например Р = ($0, 5я), имеем

к т т

- .....+ + =

Хк В*0...............*к-яхх >

* Г.0 К:.....+ тт (л!п....." + В?.....* - <7, )= иу(м5о.....).

В этой цепочке равенств и неравенств последнее неравенство (>) справедливо в силу того, что любой элемент матрицы (в частности, стоящий в строке 5т и столбце матрицы * ) не меньше ее минимального элемента.

2. Проверим монотонное неубывание функции (*).

Обозначив через /0 номер строки, в которой находится минимальный элемент матрицы /? (о<к<т\ будем иметь

)= + min [\S°-Sk +Bj°-Sk

< + min ,) =

- Lr=Oösr + . min |Д0 + Я/ -tlijh

= + min

3. Проверим совпадение значения функции (*) на одноточечном множестве с точным значением минимизируемой функции:

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

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

Пример 6. Для исходных данных из примера 2 и построенной для них в примере 4 (см. выше) матрицы грузопотоков Q получающееся в результате применения предложенного метода решения задачи дерево для нахождения оптимальной перестановки показано на следующем рисунке.

Площадка (уровень дерева):

1298

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

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

1. Используя матрицу грузопотоков ф (см. пример 4), находим величины д0324 и д0324 ^ 0,3,2,4, т.е. /,/ =1,5,6) и с их помощью строим соответствующую матрицу:

\ / / \ 1 5 6 Д0324

1 ( - 506 200^ 100

5 ш - 100 100

6 V 406 506 ) 406

00324 0 506 100

2. Находим минимальный элемент этой матрицы (он обведен в ней прямоугольником): 100 = ^- = = <756.

Это означает, что оценка (*) получается, если в матрице вида последней строкой сделать строку /0 = 5 матрицы ф, а после столбцов 0,3,2,4 поместить столбец / = 1 или 6 матрицы ф.

3. По формуле (*) находим искомую оценку:

™ (м 0324 ) = во + вз3 + в232 + в4324 + = 506 + 406 +191 +120 +100 = 1323,

которую и сопоставляем рассматриваемому узлу (0, 3, 2, 4) (см. рисунок).

Из построенного дерева видно, что решением задачи является перестановка Я* = (0,3,6,2,1,5,4), ибо этому узлу на последнем (шестом) уровне дерева соответствует оценка, являющаяся минимальной по сравнению со всеми неразвитыми узлами этого дерева, и что минимальным значением грузооборота является величина Т7* = Р(Р*) = 1298 (см. рисунок).

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

2 Там же. С. 94.

3 Там же. С. 95- 96.

15 Там же. С. 100. Рис. 1.

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

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