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

книги из ГПНТБ / Математическое программирование и производственные задачи

..pdf
Скачиваний:
4
Добавлен:
19.10.2023
Размер:
4.65 Mб
Скачать

тельности) двухсторонние ограничения вида

Ql < Ql

Ql,

где Qi и Qi минимально и

максимально допустимые ко­

личества изготовляемых деталей /-го вида.

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

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

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

Отметим, что частный случай рассматриваемой задачи (при L = l) исследован в работе [11], в которой формулирует­ ся задача оптимального проектирования машинно-тракторно­ го парка, предназначенного для очистки земельных площадей, засоренных твердыми включениями.

Легко заметить, что при фиксированных значениях вели­ чин о.) ограничение (1.3) станет лишним (это означает, что директивно указывается количество приобретаемого обору­ дования всех видов). Если одновременно фиксировать и Ьеличины Qi, то задача 1.1 будет частным случаем известной многоиндексной задачи (см., например [63]).

Перейдем теперь к рассмотрению случая, когда в дейст­ вующем парке и в снабженческой базе имеется только обо­ рудование специального назначения. Тогда экономико-мате­ матическая модель оптимального расширения парка обору­ дования будет иметь достаточно простую структуру. В случае наличия специализированного оборудования каждая техно­ логическая операция будет определять единственный вид оборудования. Это будет означать совпадение индексов i и /. Ясно, что при этом вместо двойного индекса (ij) можем использовать один индекс. Следовательно, если ввести но­ вые обозначения Cji (взамен с,уг), АОт (взамен Ni}i) и tji

50

(взамен tyi), то задача о тимального расширения парка обо­ рудования сформулируется следующим образом.

1— 1,

Задача 1.2. Найти величины а.у , Q/ и tn (/=1, 2,

2, . .

/.), удовлетворяющие

ограничениям

 

 

 

I

 

 

 

 

 

 

 

 

 

2

?У “ У <

Ф у .

у = 1 » 2 , . .

л ;

( 1 - 1 ' )

 

 

/=

1

 

 

 

 

 

 

 

 

£

N j i t j i =

Q / ,

/ =

1, 2 , . . ., L\;

 

( 1 . 2 ' )

 

 

У - 1

 

 

 

 

 

 

 

 

п

 

 

 

 

 

 

 

 

 

2

O y « y * ^ A f ;

 

 

 

 

( 1 . 3 ' )

 

 

y - i

 

 

 

 

 

 

 

 

 

/ / > 0 , a / > 0 ,

Q / > 0 , у —

1, 2, . . .. я ; / = 1 , 2 . . . . Д ;

 

 

 

 

 

 

 

 

 

( 1 - 4 ' )

 

 

N y / / / и ay

целые,

/ = 1 ,

2, , .

л ; / = 1,

2 ------------, L )

 

 

 

 

 

 

 

 

 

( 1 . 5 '

и минимизирующие линейную функцию

 

 

 

L

п

 

 

п

(Ф; +

 

 

 

/ ' =

2

2 ( С г - 0 )*;/ +

2 Cj

» у а,- ) .

 

( 1 - 8 ' )

Задача 1.2 по своей структуре уже достаточно близка к обобщенной распределительной задаче (рассмотренной в ра­

боте [65]), в которой отсутствует только ограничение вида

<1.3').

Замечание 1.3. Величина

£ с, Фу.

у- 1

входящая в выражения целевых функций (1.8) и (1.8')» яв­ ляется постоянной. Следовательно, ее можно исключить из этих выражений. Однако целесообразно в системах нера­ венств (1.1) и (1.Г) соответственно добавить переменные отклонения

L

т

^==ф/ + ?у «у 2

2 tiji, f — 1, 2, . . ., n (1.9)

1-1

/—1

и

51

ги =

Ф,

+

Oj o.j — У tji,

j = 1, 2,

. . n. (1.9')

 

 

 

 

 

/ i

 

 

 

Тогда целевые

функции

(1.8)

и

(1.8')

соответственно

принимают следующий

вид:

 

 

 

 

 

L

п

 

т

 

 

 

п

 

( 1.8")

f = v

v

v

cmUj i

+

v

cj-nj,

/~1 j

\ i=1

 

 

 

7-0

 

 

 

/

tl

 

 

 

rt>

 

 

 

f =

±

£

Cji

tji

-f

v

Cjru .

(1.8'")

 

/ i/oi

 

 

 

и

 

 

 

Именно такие представления целевых функций будем иметь в виду при дальнейшем рассмотрении задач 1.1 и 1.2.

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

1°. Необходимость разработки специальных алгоритмов. По существу поставленные нами задачи являются задачами линейного программирования*. В принципе их можно решать любым из известных методов решения общей задачи линейно­ го программирования. Однако для этого необходимо приве­

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

личиваются, а при больших значениях т, п и L полученная задача может стать практически неразрешимой (в смысле хра­ нения промежуточной информации) даже на современных ЭВМ, обладающих большим объемом запоминающих ус­ тройств. Для ясного представления указанного увеличения размеров матрицы условий задачи рассмотрим процесс при­ ведения задачи 1.1 к общей задаче линейного программиро­ вания. В этой задаче участвуют mnL \-n-\-L неизвестных. Что­ бы ограничения (1.1) и (1.3) представить в виде равенств, необходимо добавить еще п+1 неизвестных отклонения. Та­ ким образом, в задаче будут участвоватьmnL-{-2n-\-L + \ не­ известных величин. Ясно, что можно без особых затруднений ввести единую нумерацию неизвестных с одним индексом.

* Здесь пока не учитываются условия целочисленноети неизвестных.

52

Количество ограничений

в задаче 1.1 (без учета

ограничений

целочисленное(1.5)

и неотрицательности

(1.4))

равно

«-(-/. + 1 . Следовательно,

при приведении задачи

1.1 к

общей

задаче линейного программирования получим матрицу усло­

вий с размерами (п + L + 1) X (m tiL

2п + L -j- 1).

На предприятиях машиностроения и приборостроения для

обеспечения комплексности сборки

выпускаемых машин и

приборов изготовляются сотни и тысячи наименований дета­ лей. Виды действующего оборудования составляют десятки и даже сотни. А среднее количество операций над каждой де­ талью бывает порядка двенадцати. Очевидно, что при таких значениях величин т , п и L размеры матрицы условий со­

ответствующей задачи линейного программирования будут гро­ моздкими. Так, например, для решения задачи 1.1 симплекс­ ным методом при т — 7 , п—20, L 200, только для хранения

элементов текущей симплексной таблицы потребуется при­ мерно 6,5 млн. ячеек памяти ЭВМ. Эту задачу невозможно решать даже на такой ЭВМ, как «Раздан-3», так как для хранения указанной информации потребуется более двадца­ ти лентопротяжных устройств (в полном комплексе ЭВМ «Раздан-3» имеется 16 лентопротяжных устройств с суммар­ ным объемом 5,12 млн. чисел).

Отметим еще одно важное обстоятельство, показывающее нецелесообразность приведения задачи 1.1 к общей задаче линейного программирования. При увеличении размеров ма­ трицы сильно возрастает не только трудоемкость каждого шага симплексной процедуры*, но и количество шагов. Сле­ довательно, сильно возрастает и необходимое машинное время для решения задачи. А продолжительность процесса решения в определенной степени влияет на надежность работы ЭВМ (особенно на внешние накопители), что во многих случаях приводит к неверным результатам. Кроме того, вследствие ■ограниченности разрядной сетки ячеек памяти, в процессе выполнения арифметических операций возникают и постепен­ но накапливаются неизбежные ошибки. Ясно, что при увели­

* Относительно оценки трудоемкости одного шага симплексной про­

цедуры в зависимости от размеров матрицы см., например, [4].

53

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

Для решения поставленных задач можно было применять

метод разложения

Д. Данцига и П.

Вульфа [27].

Хотя по

сравнению с симплексным

последний

метод более

эффекти­

вен, однако и его применение также

нецелесообразно. Спе­

цифика структуры

задач

1.1 и 1.2

позволяет разработать

эффективные алгоритмы их решения. Эти алгоритмы основа­ ны на идеях параметрического линейного программирования.

2°. Алгоритм решения. Идея предлагаемого алгоритма

заключается в том,

что вначале

часть переменных, а именно

а/ (/==1, 2, . . ., п)

и Q i(l— 1, 2,

. . ., L), рассматривается как

параметры. При некотором фиксированном наборе значений этих параметров данная задача является задачей линейного программирования сравнительно небольших размеров и ре­ шается одним из конечных методов.

Далее, пользуясь идеями параметрического программи­

рования,

строится решение

исходной задачи. Задача 1.1 в

терминах

параметрического

линейного

программирования

формулируется следующим

образом.

 

Задача 1.3. Для каждой

пары векторов a = (a1( а2,...,ая>

и Q=(Qi,

Qo, . . .,

Ql ) построить функцию

F(a, Q)=min/ =

< L

п т

а

min ^

V aji

tiji

ои (/=i y-i i 1

где область D определяется условиями (1.1), (1.2) и неот­ рицательности переменных % . Области же изменения па­ раметров определяются следующим образом: компоненты вектора Q принимают натуральные значения, а а-неотрица- телькые значения, удовлетворяющие ограничению (1.3).

Задача 1.3 является частным видом параметрической задачи линейного программирования. В этой задаче от век­ торного параметра линейно зависит вектор ограничений (а и Q в системе условий (1.1) переносятся в правые части).

54

С целью изучения поведения функции

F (a , Q) векто­

ры-параметры а и Q рассматриваются как

непрерывные.

Тогда вместо дискретной параметрической задачи 1.3 будем иметь непрерывную параметрическую задачу. Для единооб­

разия обозначения параметров введем

(«+Z.) -мерный век­

тор /.==(/■!,

>.2,

. . ., ^п+l ). компоненты

которого

связаны с

компонентами

векторов о. и Q следующими соотношениями:

-

1

7.j при J — 1, 2............п,

 

 

 

\

Qj-„ при У=/г+1, п + 2,

. . ., L.

 

Пусть

А

— множество неотрицательных решений сис­

темы (1.1),

(1.2).

 

 

 

Определение 2.1.

Если для данного вектора /. А = £0,

то /• называется точкой

допустимости непрерывной

парамет­

рической задачи.

Определение 2.2. Если в точке допустимости линейная

функция

 

 

 

 

L

п

т

п

(2.2)

X

I I

Ciji tin

I С, ra

ограничена снизу

на соответствующем множестве А

, то /-

называется точкой определения функции FQ-).

Обозначим через G множество точек определения

функции F('/.).- Для обоснования алгоритма построения

F(ty

приведем некоторые факты, характеризующие множество G

и поведение функции FQ.).

 

Утверждение 2.1. Если //—точка допустимости,

и ли­

нейная функция (2.2) не ограничена снизу на соответствую­ щем множестве А , то 0 = 0 ; иными словами, если в не­ которой допустимой точке функция (2.2) не ограничена снизу, то и во всех точках допустимости она будет неог­ раниченной снизу на соответствующих множествах.

Для доказательства этого утверждения воспользуемся ос­ новными принципами теории двойственности. Ясно, что в конкретной точке /. параметрическая задача превращается в обычную численную задачу, для которой неограниченность целевой функции эквивалентна отсутствию допустимого реше­

55

ния двойственной задачи. Но условия двойственной задачи не содержат параметра X (он участвует только в выражении це­ левой функции). Следовательно, при всех X двойственная задача будет неразрешимой. Отсюда вытекает и неразреши­ мость прямой задачи во всех допустимых точках. Значит, во

всех точках допустимости функция

(2.2)

будет неограничен­

ной снизу

на соответствующих

множествах

ZA . А это оз­

начает,

что

0 = 0 .

 

 

 

 

 

 

 

 

 

 

 

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

дает

возможность

при

обнаружении

неограниченности функции

(2.2)

прекратить

процесс реше­

ния задачи. Из этого утверждения следует

еще,

что если

0^ = 0, то

 

О

содержит

все точки

допустимости.

Следова­

тельно,

либо 0 = 0 , либо О включает

все точки

допусти­

мости.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предположим теперь,

что 0^ = 0 .

 

Покажем,

что оно

выпуклое.

 

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

пусть //

и

>/'£0. В этих точках

функция

Р(Х)

определяется

соответственно

величинами

 

 

 

и

UjiQS),

yfjO").

 

 

 

 

 

 

 

 

В

точке

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/.=a//-j-(l -a)/"

(().<..a

1)

 

 

 

(2.3)

определим

 

величины

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- ■ * ) $ № ,

i

 

 

 

 

(24)

 

 

^ • ( ) . ) = a r / ! ( ) / ) + ( l

■ a)yf>(X")

 

I

 

 

 

 

 

(г=1, 2, .

.

.,

т- j =

1,

2,

. . ., /г; /= 1,

2............L).

 

Непосредственной

подстановкой

убеждаемся, что эти

величины удовлетворяют условиям

(1.2), (1.9)

и

неотрица­

тельны.

Поэтому

определенная

равенством

(2.3),

явля­

ется точкой допустимости. Так как при

G=h<Z>

множество

G содержит все точки допустимости, то X^G.

 

 

 

Свойство

выпуклости

множества

G

дает

возможность

прекратить

движение

 

по

данному

направлению, если от

точки допустимости переходим к недопустимой точке.

 

Учитывая, что величины, определенные

формулами

(2.4) в промежуточной

точке

(2.3),

образуют допустимое

решение (но не обязательно оптимальное), заключаем,

что

56

функция F(k) является выпуклой („выпуклостью вниз") функцией. Элементарными рассуждениями можно показать, что множество G разбивается на конечное число выпук­ лых подмножеств, на которых функция FQ.) является ли­ нейной и определяется с помощью одного и того же бази­

са.

На основе приведенных рассуждений можно разрабо­ тать алгоритм построения функции FQ.) на множестве G.

Из свойства выпуклости функции F (l) следует, что множество точек, минимизирующих эту функцию, выпукло. Значит, за конечное число переходов от одного подмно­ жества к другому можно найти минимальное значение /7(л) на множестве G.

Приведем краткое описание алгоритма построения функ­

ции F (l). Нетрудно

убедиться,

что точка >.~0 принадле­

жит множеству G,

т.

е. в этой точке функция /-'(/.) опре­

делена. Величины tiji=0,

rij = Ф;-

образуют допустимое реше­

ние задачи в данной точке. Легко заметить, что это решение одновременно является и оптимальным. Базис, соответствую­ щий указанному решению, можно определить при помощи метода построения исходного решения обычной транспортной задачи. Применяя затем процедуру, аналогичную обобщен­ ному методу потенциалов, получим оптимальный базис. Так как каждый базисный компонент решения является некото­ рой линейной функцией векторного параметра то множе­ ство точек допустимости данного базисного решения будет оп­ ределяться как пересечение конечного числа полупространств, т. е. это 'множество является выпуклым многогранным множеством. Обозначим его через Oj. На этом множестве функция FQ.) является линейной, значит, направление наи­ скорейшего убывания этой функции определяется непосред­ ственно по коэффициентам при .компонентах *. Двигаясь по выбранному направлению, попадем в точку, являющуюся общей для смежных подмножеств. Отметим, что в общих точ­ ках смежных подмножеств функция F(l) является непрерыв­ ной и недифференцируемой. Поэтому обычные градиентные

* Отметим, что на направление s обязательно должно быть наложе­ но ограничение нормализации (относительно различных способов норма­

лизации см., например, 137]).

57

J

методы не применимы для переходов через граничные точки. Здесь решается задача выбора направления, которая заклю­ чается в следующем. Пусть s/{ —направление, выбранное для

подмножества 0^. Выбираем направление s так, чтобы ска­ лярное произведение (sk ,s) было максимальным. Ясно, что при движении по направлению s имеющийся базис перестает быть допустимым. С другой стороны, по направлению 5 вместо многопараметрической задачи имеем однопараметрическую простейшую задачу, для которой известны правила переходов через граничные (критические) точки. Для этого реализуется одна итерация двойственного симплексного метода (вернее, двойственный аналог обобщенного метода потенциалов). Из­ вестно, что через конечное число итераций либо найдем смеж­ ное подмножество G^+1, на котором возможно убывание функции F0-), либо обнаружим, что в текущей точке F (l) принимает наименьшее значение. Последнее имеет место, ког­ да любое направление s, позволяющее движение по допусти­ мым точкам, с вектором sk образует тупой угол. Чтобы выя­ вить такие возможности, каждый раз в задаче выбора на­

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

ния. В силу конечности количества базисов, через конечное число переходов по подмножествам 0/? найдется точка, опти­ мизирующая функцию /г(/).

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

Таким образом, за конечное число итераций получим ре­ шение задачи 1.1.

Процесс решения задачи 1.2 отличается от описанного только тем, что после выбора начальных значений параме­ тров <*.j и Qi реализуются алгоритмы построения начального базисного решения и дальнейшей оптимизации имеющегося решения обычной распределительной задачи

Замечание.

Задачи

1.1 и 1.2 могут

быть применены и при

проектировании

парка

оборудования.

Для этого достаточно

в условиях этих задач

принимать Ф;

= 0 .

58

§ 3. ЗАДАЧА ОПРЕДЕЛЕНИЯ ОПТИМАЛЬНОЙ ТЕХНОЛОГИИ

ИЗГОТОВЛЕНИЯ ДЕТАЛЕЙ

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

Для составления экономико-математической модели ука­

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

 

Ь/,{к = \,

2............К)

объем запаса k-ro

производствен­

ного

фактора;

 

 

 

 

 

 

d[(l==\, 2, . . ., L)

запланированное

количество изго­

товления деталей /-го вида;

 

 

 

Q;x,(/=1,

.2,

. . ., т- у=1, 2,

. . ., /г;

/=1, 2 ............L;

k — \,

2, . . .,

К )

норма

расхода

к -го производственного'

фактора при реализации у-го варианта /-он технологической операции изготовления /-го вида деталей*.

Сщ (/=1,

2, . .

ш\ j 1, 2, . .

 

п; 1=1, 2 ,. .

-

норма расхода

минимизируемого

фактора

при

реализации

/-ой технологической операции

изготовления

деталей /-ого

вида по у-ому варианту;

 

 

 

 

 

 

 

 

 

 

(/=1,

2, . .

т; /=1,

2, . . .,

п-

1 = 1,

2............L)

-переменная

величина, определяемая

условиями

 

 

* Если при изготовлении деталей /-ого

вида

либо

ая

операция

не

участвует (для k-

1, 2 ............К и j -

1,

2,

• ., л),

либо

ее

невозможно

реализовать /-ым

вариантом

(для

к

=1,

2, . .

.,

К),

то

нормативы а кщ

при решении практических

задач

принимаются

произвольно большими.

 

59

Соседние файлы в папке книги из ГПНТБ