Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Зад лин прогр и мет их решения 16 12 08

.pdf
Скачиваний:
29
Добавлен:
29.03.2016
Размер:
7.61 Mб
Скачать

180

Выпишем нецелочисленное решение, выделяя целые части

 

3

 

 

1

 

 

2

 

 

2

 

 

 

3

 

 

 

 

 

1

 

 

 

 

2

 

101

 

 

0

 

 

1

 

 

 

4

 

 

 

1

 

 

 

2

 

 

1

 

1

 

 

 

 

1

 

 

4

 

 

 

1

 

2

 

101

 

 

0

 

15

 

 

 

+14

 

 

 

+12

 

 

 

+7

 

 

 

+

 

 

 

 

+

 

 

 

 

 

 

 

+

 

 

 

 

 

=

 

 

+

 

 

 

 

1

 

 

2

 

 

4

 

 

1

 

2

 

1

 

 

2

 

 

2

 

 

2

 

1

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

102

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

0

 

 

 

0

 

 

 

1

 

 

 

 

0

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

7

 

 

1/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

2

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

=2

 

2

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1/ 2

 

 

 

0

 

1/ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(5 раскладок, 7 попутчиков, отход 2)

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

Исходные данные: L =13, l =(7,5,3), b =(29,31,11) попутчик длины 2.

1 2 3 4 5 6 7 8 9 10 1112 13 номер

111100000000 0

A =100021111000 0 раскрой

1210102104 321

1 0 3 6 0 3 2 5 8 1 4 7 10 отход

Это матрица всех возможных способов раскроя Оптимальное целочисленное решение

 

1

1

0

29

 

25

1 +4

 

0 +3

 

2

=

31

3 раскладки, отход 25

 

 

 

 

 

 

 

 

 

 

 

 

0

 

2

 

1

 

11

 

 

 

 

 

 

 

 

 

 

 

 

(1)

(0)

(0)

 

 

 

Вводим дополнительное ограничение на число используемых съемов (32).

(*)

(*)

 

1[N ] x[N ]+ x[n +1]=32

 

 

x[n +1]=0 .

 

 

 

 

 

 

 

Построим начальную симплекс-таблицу задачи ().

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Целевая функция

 

 

0

3

 

 

2

 

 

1

 

 

1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

5

 

5

 

5

 

 

f = x

n +1 min.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[

]

1

 

25

 

4

 

 

 

 

1

 

 

 

2

 

 

0

 

4

 

 

Введем в базис (1, 0, 0, 1)

 

5

 

 

 

5

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

5

 

3

2

 

2

 

 

 

1

 

 

 

0

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

5

 

 

 

5

 

 

 

 

 

5

 

 

 

2

 

4

1

 

 

 

1

 

 

2

 

 

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

5

 

 

5

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

3

 

 

 

2

 

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(*)

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

5

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

Решение оптимально.

(+)

Вводим попутчика длины 2 (x0 [M0 ]=0).

181

Изменяем целевую функцию

 

g0 =252 x0 min

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25

0

 

 

 

 

 

0

 

 

 

0

 

 

 

0

 

 

2

 

6

 

 

 

 

1

 

25

10

 

 

 

 

5

 

 

 

0

 

 

 

 

10

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

5

 

3

 

5

 

 

 

0

 

 

 

0

 

 

 

5

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

2

 

4

1

 

 

 

 

 

0

 

 

 

1

 

 

 

1

 

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

3

 

 

 

 

 

 

2

 

 

 

 

 

1

 

 

 

5

 

 

 

 

 

 

 

 

 

( )

 

0

 

2

 

 

 

 

2

 

 

 

2

 

 

2

 

 

0

 

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(+)

 

0

0

 

 

 

 

 

0

 

 

 

0

 

 

 

0

 

 

-1

-3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Получено оптимальное решение (т. к. оценки

 

 

25

 

 

 

 

9

 

 

 

 

 

 

6

 

 

 

 

 

3

 

 

 

-15

2

 

1

 

25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

безотходных раскроев с попутчиком отрицательны)

5

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

0

0

0

2

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

1

0

0

()

 

 

0

 

3

 

2

 

1

 

 

5

 

 

0

 

2 0 3 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

2

 

 

 

 

2

 

 

2

 

 

 

 

 

1

1

1

1

(+)

 

 

0

 

 

 

 

0

 

 

 

 

 

 

0

 

 

 

 

 

0

 

 

 

0

 

 

-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

4

2

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ε(1)(1)(2)(2)

Добавить попутчиков не удается.

182

Раскрой с учетом постоянного и случайного брака на тамбуре

Учет заранее выявленного постоянного брака на тамбуре

Исходные данные и предположения

Выработано несколько бракованных тамбуров, из которых можно получить K съемов. При этом, число K может удовлетворять одному из двух альтернативных условий:

a)Указанных K съемов (с учетом брака) хватает для вырезания всех форматов по вектору требований;

b)Имеет место остаток вектора требований, после использования всех K

"бракованных" съемов.

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

Решение ЗЛР при наличие только бракованных съемов

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

 

L1 0

 

 

 

L L1 l0

 

 

 

l0

 

 

 

0

 

 

 

 

 

L

 

L1

L1

+ l0

 

 

(L2 )

 

(L1 )

 

 

 

 

 

 

 

 

 

 

 

Тогда на все съемы данного тамбура распространяются раскладки, содержащие «бракованного попутчика» шириной l0 , располагающегося на фиксированном месте. Получаемое при этом «псевдосырье» с длинами L1 и L2 раскраивается с максимизацией

вырезаемой ширины и учетом имеющихся форматов в векторе требований. Таким образом, необходима модификация r -задачи с ограничением на число заготовок в векторе требований.

Предстоит выяснить эффективность по материалу двух следующих подходов:

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

(II)Использовать (до окончания зоны брака) раскладку с попутчиком, совпадающим по ширине с выделенной областью и максимальным заполнением псевдосырья с длинами L1 и L2 . Далее выполнять задачу в обычном посъемном

режиме.

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

183

Будем считать, что выделенная область брака существует всегда т.е.

L = L1 + l0 + L2 .

Тогда в ЗЛР способ раскроя определяется как сумма двух неотрицательных целочисленных векторов

a[M ] = a1[M ]+ a2[M ]

a1[M ] l[M ] ≤ L1 a2[M ] l[M ] ≤ L2

a[M ] l[M ] ≤ L1 + L2

r - задача будет выглядеть следующим образом:

a[M ] v[M ] → max

a1[M ] l[M ] ≤ L1a2[M ] l[M ] ≤ L2

или

 

 

 

 

a1[M ] v[M ] → max

a2[M ] v[M ] → max

 

 

 

 

.

a1[M ] l[M ] ≤ L1

a2

[M ] l[M ] ≤ L2

 

 

 

 

1

 

2

 

r задача

 

 

r задача

Утверждение.

a1[M ]− решение r1 задачи

a[M ] - решение r -задачи

 

 

a2[M ]− решение r2

задачи

Доказательство. (Reductio ad absurdum)

) Пусть a1[M ] не является решением r1 -задачи, т.е.

aɶ1[M ]: aɶ1[M ] v[M ] > a1[M ] v[M ]. Тогда aɶ[M ] = aɶ1[M ]+ a[M ],

aɶ[M ] v[M ] = aɶ1[M ] v[M ]+ a2[M ] v[M ] > a[M ] не является решением r -задачи.

>a1[M ] v[M ]+ a2[M ] v[M ] = a[M ] v[M ]

) Очевидно.

Начальное решение ЗЛР выглядит так:

L

 

 

L

 

A[M, j] = diag

1 l[ j]

+

 

2

l[ j]

 

 

 

 

 

 

 

и мы остаемся в рамках МСМ.

184

Замечания.

1.Базисные раскладки хранятся в виде двух частей:

«левая» раскладка a1[M ]: a1[M ] l[M ] L1

«правая» раскладка a2[M ]: a2[M ] l[M ] L2

2.В базис вводится раскладка, являющаяся решением r -задачи

a[M ] = a1[M ]+ a2[M ].

Полученные результаты очевидно распространяются на любое число фиксированных областей брака l0 ,l1,,lk1, которым соответствуют длины «псевдосырья» L1, L2 ,, Lk , и соответственно r1,r2 ,,rk - задачи.

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

a1[M ] l[M ] L1

.

ak [M ] l[M ] Lk

 

Решение ЗЛР для бракованных и обычных съемов

Предположим, что на вырезание всех форматов требуется S бракованных съемов, причем S > K .

Требуется нарезать все форматы из вектора требований, с минимальными отходами, использовав при этом все K бракованных съемов.

f (x) =1[N1] x[N1]+1[N] x[N] min A[M, N1] x[N1]+ A[M , N] x[N] = b[M ] 1[N1] x[N1] = K

x[N1] 0[N1] x[N] 0[N] x[N1], x[N] – целочисленный ,

Здесь

A[M, N1] – раскладки для бракованных съемов (способы раскроя с постоянным "бракованным" попутчиком);

x[N1] – интенсивности использования раскладок для бракованных съемов;

A[M, N] – обычные раскладки (в отсутствие брака);

x[N] – интенсивности использования обычных раскладок;

K– число бракованных съемов;

b[M ] – вектор требований с учетом люфта.

Будем решать поставленную задачу в два этапа: на первом определим K раскладок для бракованных съемов и вычислим остаток вектора требований, приходящийся на обычные раскладки. На втором этапе решим задачу минимизации отходов для обычных раскладок и полученного вектора требований. Далее попытаемся уменьшить отход, подправляя вектор требований, по возможности, в пределах люфта.

185

Итак, рассмотрим оптимальное решение для постоянного брака, считая, что бракованных съемов хватает для вырезания всех форматов по вектору требований

A[M, N1] xɶ[N1] = b[M ] 1[N1] xɶ[N1] = S

Можно считать, что раскладки в A[M, N1] упорядочены по возрастанию отходов.

Выделяем и суммируем раскладки, начиная с наименее отходных, до тех пор, пока их число не станет равным K . Т.е. произведем перегруппировку

A[M, N1] x[N1]+ A[M , N1] (xɶ[N]x[N1]) = b[M ] 1[N1] x[N1] = K

x[N1] 0[N1] xɶ[N]x[N] 0[N] x[N1], xɶ[N]x[N] – целочисленный ,

Подсчитаем остаток вектора требований

b1[M ] = A[M , N1] (xɶ[N]x[N1])

На этом первый этап заканчивается.

Далее решаем следующую задачу минимизации отходов (ЦЗЛР):

g(x) =1[N] x[N] min A[M, N] x[N] = b1[M ] x[N] 0[N]

x[N] – целочисленный.

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

Рассмотрим теперь несколько примеров:

Пример 1.

 

 

 

 

 

 

 

 

 

 

m = 3, L = 26, l = (9,6,4),

 

b = (40,60,80),

L0

= 5, l0 =11, L1 =11, L2 =10

1

 

 

0

 

 

0

 

 

 

0

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

1

0

 

2

 

0

 

 

 

1

 

 

 

2

 

 

 

0

 

0

 

1

 

0

2

 

0

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

0

 

 

 

1

 

 

1

 

 

2

 

 

 

186

1

0

0

 

 

 

 

 

 

1

 

 

0

 

 

0

 

 

 

 

 

40

 

1

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A[M, N' ] =

 

 

 

B[N' ,M ] =

1

 

1

 

 

0

 

 

 

X[N' ] =

10

 

1

2

4

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

1

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2)

(1)

(5)

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть K = 20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

10

 

 

 

 

 

40

 

10

30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

2

 

+10

1

 

=

30

 

 

b

 

=

60

30

= 30

 

 

 

 

 

2

 

1

30

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

80

 

 

30

50

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(6)

 

 

(7)

 

(130)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

2

 

0

 

 

0

 

 

 

 

 

 

 

 

 

1

0

 

0

 

 

 

15

 

 

 

 

 

 

 

0

 

3

 

 

1

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

A[M, N' ] =

 

 

 

 

 

 

 

 

 

B[N' ,M ] =

1

5

 

1

 

 

X[N' ] =

10

 

 

 

 

 

 

 

2

 

2

 

 

5

 

 

 

 

 

 

 

 

 

 

13

13

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

 

 

 

 

0

 

 

 

 

 

 

 

(0)

(0)

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

13

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

0

 

30

 

 

 

 

 

 

 

 

 

 

Оптимальное решение

15 0

+10

3

=

30

Вырожденное безотходное решение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

2

 

50

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Объединенное решение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Двадцать бракованных

 

 

 

 

 

 

Двадцать пять

 

 

 

 

 

 

 

 

 

 

 

съемов с отходом 130

 

 

 

 

 

 

 

безотходных обычных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

0

0

 

 

 

 

 

2

0

 

40

 

 

 

 

 

 

0

 

 

1

 

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

+

 

 

 

 

 

 

15

0 +10 3

=

60

 

 

 

 

 

10

 

 

 

+10

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

L

 

 

L

L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m = 5,

 

L = 20,

l = (6,5,4,3,2),

b = (60,70,60,65,72),

L0 = 3,

l0

=12, L1 =12, L2 = 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

187

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Целочисленное решение без брака:

f * = 65 , отход – 11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

61

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Безотходное решение

 

 

 

71

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f * = 65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

72

 

 

3

 

 

0

 

0

 

0

0

 

 

0

 

0

60

 

 

 

 

 

 

 

 

0

 

 

 

 

4

 

 

 

0

 

 

 

0

 

 

0

 

 

 

 

1

 

 

 

1

 

 

70

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

0

 

 

 

5

 

 

 

0

 

 

0

 

 

 

 

0

 

 

 

0

 

 

60

 

 

 

 

 

 

 

 

20

0

 

+17

0

 

+12

0

 

+10

6

 

+ 4

0

 

+1

5

 

+1

0

=

 

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

0

 

 

 

1

 

 

 

1

 

 

10

 

 

 

 

0

 

 

 

2

 

 

72

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

 

 

(0)

 

(0)

 

 

(0)

(0)

 

 

(0)

 

(11)

 

(11)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Безотходное решение

 

 

69

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f * = 64

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

70

 

 

Найдем оптимальное решение при наличие постоянного брака

 

 

 

 

 

 

 

 

 

 

 

 

2

1

 

1

1

1

 

1

0

 

0

0

0

 

0

 

 

0

 

0

 

0

0

 

0

0

0

0

0

 

0

0

 

 

 

0

1

 

0

0

0

 

0

2

 

1

1

1

 

1

 

 

0

 

0

 

0

0

 

0

0

0

0

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L1 =12

 

0

0

 

1

0

0

 

0

0

 

1

1

0

 

0

 

 

3

 

2

 

2

1

 

1

1

0

0

0

 

0

0

 

 

0

0

 

0

2

1

 

0

0

 

1

0

2

 

1

 

 

0

 

1

 

0

2

 

1

0

4

3

2

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

0

1

 

3

1

 

0

1

0

 

2

 

 

0

 

0

 

2

1

 

2

4

0

1

3

 

4

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

(1)

(0)

(0)

(1)

(0)

(0)

 

(0)

(1)

(1)

 

(0)

 

(0)

 

(1)

(0)

(0)

(1)

(0)

(0)

(1)

(0)

 

(1)

(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L2 = 5

 

 

 

0

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

(1)

(0)

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0

 

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

3

 

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

0

 

0

0

 

0

 

 

40

 

 

 

 

 

 

 

 

 

0

 

0

 

4

 

0

 

0

 

 

 

 

 

 

1 6

1 3

 

0

0

 

0

X[N' ] = 10

 

 

 

A[M, N' ] =

0

 

0

 

0

 

5

 

0

 

B[N' ,M ] = 0

 

0

 

1 4

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

0

1 5

 

0

 

 

 

5

 

 

 

 

 

 

 

 

 

 

0

 

0

 

0

 

1

 

8

 

 

 

 

 

 

1 48

1 24 0 1 40 1 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

 

(0)

(1)

 

(0)

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

188

Решение (целочисленное)

 

62

 

 

 

Отход –20

 

71

Брак – 234

60

f * = 78

 

 

 

65

 

 

 

 

 

72

2

0

0

0

0

0

0

60

 

 

 

 

1

 

 

3

 

 

0

 

 

0

 

 

0

 

 

1

 

 

0

 

 

70

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

4

 

 

0

 

 

0

 

 

0

 

 

0

 

 

60

 

Отход –47 Брак –

30

0

 

+13

0

 

+15

0

+13

5

 

+ 5

0

+1

0

+1

0

 

=

65

 

 

234

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

 

0

 

 

1

 

 

8

 

 

5

 

 

1

 

 

72

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

(0)

(1)

(0)

(1)

 

(5)

 

(18)

(47)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

0

2

 

0

2

 

0

2

 

0

2

0

2

0

2

0

 

 

 

 

 

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

0

 

1

 

0

 

1

 

0

 

1

 

0

1

 

0

1

 

0

1

 

 

Отход –20

69

 

0

0

 

0

 

0

 

0

 

0

 

0

 

0

 

0

0

 

0

0

 

0

0

 

 

Брак – 228

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

*

= 76

 

 

 

0

0

 

0

 

0

 

0

 

0

 

0

 

0

 

0

0

 

0

0

 

0

0

 

 

 

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

0

0

 

0

0

 

0

0

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

66

Пусть теперь K = 40. Берем из полученного решения первые сорок безотходных раскладок

2

0

60

 

60

60

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3

60

 

70

60

10

 

30 0 +10 0 =

0

, и находим остаток вектора требований

b = 60 −

0

= 60

 

 

 

 

 

1

 

 

 

 

 

 

 

0

0

 

0

 

 

65

 

0

 

65

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

10

 

 

72

10

 

62

Формируем оптимальную матрицу (безотходную)

4 0 0

0

14

0

0

0

25

0 5 0

0

 

 

0 15

0

0

 

 

12

 

A[M, N' ] =

 

 

 

B[N' ,M ] =

 

0

 

 

 

X[N' ] =

 

 

 

 

0 0 6

0

0

1

0

10

5

 

 

 

 

 

 

 

 

6

 

 

 

 

 

6

 

 

 

 

 

 

 

 

60

10

 

 

 

 

 

 

 

0 0 1

10

 

 

0 0

1

1

 

 

5

7

 

 

 

 

 

 

 

 

60

Получаем оптимальные решения, в том числе, с учетом корректировок вектора требований.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

189

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

61

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отход –0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f * = 31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

 

4

 

0

 

0

 

0

 

2

 

 

0

10

 

 

 

 

 

 

 

 

 

 

0

 

5

 

0

 

 

0

 

 

0

 

 

0

60

 

 

 

2

+12

+10

+ 5

+1

+1

 

 

Отход –11

 

 

 

 

 

 

 

 

=

 

 

 

f * = 31

 

0

 

0

 

6

 

 

0

 

 

2

 

 

3

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

1

 

10

 

2

 

 

0

62

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Отход –00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f * = 30

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

62

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

62

Объединенное решение при наличие ограниченного числа бракованных съемов ( K = 40)

 

Сорок безотходных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бракованных съемов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

 

 

2

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

 

0

 

 

 

 

0

 

 

 

Брак

 

 

 

 

 

 

30

0

 

+

0

 

+10

0

 

+

 

0

 

30 40 =120 (6L)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

 

1

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(L1)

(L2 )

 

(L1)

 

(L2 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

Вектор требований

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

увеличивается на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

61

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

65

 

 

 

0

 

30 (или 31) обычных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

раскладок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

63

 

 

 

1

 

 

 

 

 

 

 

 

0

 

 

2

 

0

10

 

 

 

 

 

 

 

4

 

0

 

0

 

 

 

 

 

 

 

 

 

 

0

 

 

5

 

0

 

0

 

 

 

0

 

 

0

60

 

 

 

 

 

 

 

 

 

 

+1

 

 

Отход –11

 

 

 

 

2

+12

+10

+ 5

 

 

 

+1

=

 

 

f * = 31

 

 

 

 

0

 

 

0

 

6

 

0

 

 

 

2

 

 

3

65

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

1

 

10

 

 

2

 

 

0

62

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

Вектор требований

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уменьшается на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

62

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

62

 

 

 

0