
книги из ГПНТБ / Мироносецкий Н.Б. Экономико-математические методы календарного планирования
.pdf/
^ А т , - ^ А т ц . Учитывая, |
что информация |
о |
границах между л |
подмножествами {3){Nk)} |
запоминается |
и |
используется при |
этом упорядочении, описанная..процедура реализуется на ЦВМ достаточно экономично.
Если среди станков множества {S) нет взаимозаменяемых,
то на каждом такте построения календарного |
графика между |
элементами 5 f t e{S} и подмножествами {3)(Nh)} |
можно уста |
новить взаимно-однозначное соответствие. Но если среди стан ков множества {5} имеются взаимозаменяемые, то взаимно однозначного соответствия установить нельзя. Ради экономии памяти вычислительной машины одно множество {3){Nh)} по ставлено в соответствие всем взаимозаменяемым станкам с технологическими номерами, равными технологическому номе ру Nh. Для удобства изложения мы будем для взаимозаменя емых станков Sv, 5д, . . . , 5 Р единственное соответствующее им
подмножество |
партий |
|
деталей |
|
обозначать |
как |
{3) |
(Л^)}, |
|||
{3){Np.)}y |
{3>{NP)}, |
|
имея в |
виду, что Nv—N».= |
-. |
|
.=NP. |
||||
После упорядочения |
множества |
{5}, разбиения |
множества |
||||||||
{ЗУ) на попарно непересекающиеся подмножества |
{3){Nh)} |
и |
|||||||||
упорядочения партий деталей внутри подмножеств |
|
{3)(Nk)), |
|||||||||
подготовительный этап работы алгоритма оканчивается. |
|
|
|||||||||
В данном алгоритме существенно используется то обстоя |
|||||||||||
тельство, что множества |
{3){Nk)} |
|
попарно не |
пересекаются, |
|||||||
потому что альтернативные технологии не существуют. |
Каж |
||||||||||
дая операция |
0$. |
%., |
Nkj, |
1,= |
1 (1) к,-, i= 1 (1)т может |
||||||
производиться |
только |
на станке |
с |
технологическим |
номе |
ром Nh. В случае выполнения некоторой операции на станках с различными технологическими номерами построение одного календарного графика требовало бы значительно больше вре
мени работы ЦВМ. |
|
|
|
|
Рассмотрим общий шаг построения календарного |
графика. |
|||
Для любого из станков Sh(Nk), |
k=l(l)n |
выполняется одно |
||
из трех условий: |
|
|
|
|
I . {3){Nh))—пустое |
множество. |
|
(3.1.1) |
|
I I . Существует по крайней |
мере одна |
партия деталей 3)t |
||
из множества {3>{Nh)}, |
для которой |
Ак~^А\-\. |
|
|
•R3)[^{D(Nk)}, |
Ak>Bir,. |
|
(3.1.2) |
|
I I I . Для всех партий деталей 3>t из множества {3) |
(Nh)}Ak<. |
|||
< В { г и |
|
|
|
|
V£i^{3){Nk)}, |
Ak<B\ru |
|
(3.1.3) |
Условие (3.1.1) означает, что в данный момент времени для обработки на станке Sk(Nh) нет ни одной детали, но это ни в
89
коей мере не исключает появления деталей в будущем. Усло
вие |
(3.1.2) означает, что в момент времени Ак для обработки |
||
на станке Sh(Nk) |
имеется по крайней мере одна партия дета |
||
лей, |
ие вызывающая простоя станка. Условие (3.1.3) озна |
||
чает, что в данный момент времени для обработки на |
станке |
||
Sk(Nh) |
имеются |
партии деталей, но перед обработкой |
любой |
из них станок будет обязательно некоторое время простаивать. Процедура построения календарного графика состоит в
следующем. Для станка Sh, k=l(l)n |
с технологическим номе |
|||||||||
ром Nh из упорядоченного |
по условию (2.1.11) |
множества {5} |
||||||||
проверяется |
выполнение |
условий |
(3.1.1) — (3.1.3) на |
соответ |
||||||
ствующем множестве {3){Nh)}. |
Очевидно, что при выполнении |
|||||||||
условия |
(3.1.1) при кфп необходимо перейти к проверке усло |
|||||||||
вий |
(3.1.1) — (3.1.3) для станка |
Sh+u |
стоящего |
непосредственно |
||||||
за |
станком Sk |
в упорядоченном |
множестве {S}. |
|
||||||
|
Пусть для станка Sh(Nh) |
выполняется условие (3.1.2). Фик |
||||||||
сируем |
первую партию деталей |
2)^ |
{3) (Nh)}, |
для которой это |
||||||
условие |
выполнено. |
Вследствие |
того, |
что |
подмножество |
|||||
{SD (Nh)} |
упорядочено, партия деталей 2){ |
имеет значение функ |
||||||||
ции приоритета Дт,-, удовлетворяющее условию |
|
|||||||||
|
|
|
|
ДТ(-= min A T v , |
|
|
(3.1.4) |
|||
где |
L — множество индексов партий деталей из {3)(Nh)}, |
удов |
||||||||
летворяющих |
условию |
(3.1.2). |
|
|
|
|
|
|||
|
Просматривая последовательно оставшуюся часть множе |
|||||||||
ства {3>(Nh)}, |
будем для каждого |
v e L |
определять |
величину |
||||||
|
|
|
|
A v = A x v — |
А Т ; |
|
|
(3.1.5) |
||
и одновременно подсчитывать |
|
|
|
|
|
|||||
|
|
|
|
|
Q = |
2 A v . |
|
|
(3.1.6) |
|
В |
силу |
(3.1.4) |
|
|
|
|
|
|
|
|
|
|
|
Д,-=0, |
A v ^ O |
при v e i . |
|
(3.1.7) |
В этой процедуре просмотра множества L легко опреде ляется и Л — число элементов конечного множества L . Для удобства изложения сменим нумерацию отрезков A v так, что бы номер v соответствовал номеру слагаемого в сумме (3.1.6), при этом положим Д < = Д 1 = 0.
Метод Монте-Карло в этой ситуации можно применить для
выбора индекса |
v e L партии |
деталей 3>v^{3>{Nk)}, |
ожида |
||
ющей выполнения операции на станке Sh{Nh), |
моделируя слу |
||||
чайное событие, принимающее одно из Л возможных |
состоя |
||||
ний с вероятностью Pv=P(Axv, |
Л). Потребуем, чтобы |
вероят |
|||
ности Рч |
были в каком-то смысле обратно пропорциональны |
||||
величинам |
Атч. |
ЭТО означает, что для |
партии |
деталей |
|
2)v^{2)(Nk)} |
при ve=L вероятность P ( A T v , Л) попасть на обра- |
90
ботку на агрегат должна быть тем больше, чем относи тельно меньше величина Axv- Иначе говоря, для любой пары
партий деталей 3 ) v и 3 ) ц при |
v, p,eL вероятность попасть на |
|
станок в данном такте загрузки |
у 3 ) у должна быть больше, чем |
|
у 3 ) ц , если A T V < A T ( 1 . В |
случае Дтл>=Лтц соответствующие |
|
вероятности должны быть |
равны. |
Рассмотренная схема статистического моделирования при выборе партий для обработки из множества деталей, удовлет воряющих условию (3.1.2), ни в коей мере не является един ственной. При определении вероятности попадания партии де талей в обработку можно учитывать, кроме Ат, самые разно образные обстоятельства: длительность обработки, величину оставшегося цикла обработки, время переналадки станка и т.д.
Как уже было сказано, одной из целей построения данного алгоритма статистического моделирования объекта является создание стохастического аналога детерминированного алго ритма, изложенного в главе 2, для определения дополнитель ных характеристик календарного плана, получаемого с по мощью детерминированного алгоритма. Заметим, что по де терминированному алгоритму решения задачи календарного планирования ЦВМ дает план-график за гораздо меньшее время, чем по алгоритму статистического моделирования. По этому, получая календарные графики обработки производ ственной программы {ЗУ) по детерминированному алгоритму, общие характеристики производственного процесса необходи мо оценивать по алгоритму статистического моделирования с помощью описываемой имитационной модели цеха или участка. В связи с этим была принята схема P V = P ( A T v , Л) выбора партии деталей для проведения очередной операции на станке Sk(Nk). С нашей точки зрения, хорошие результаты получают ся при следующем выборе вероятности попадания партии де талей на станок.
Будем интерпретировать величину Q, полученную по фор
муле (3.1.6), как длину некоторого |
отрезка [О, Q], |
располо |
||||
женного на числовой оси, a |
A V — как |
длины отрезков 'его |
||||
составляющих. |
|
|
|
|
|
|
Образуем |
с |
помощью одной |
из |
программ генерирования |
||
псевдослучайные |
числа t", равномерно |
распределенные на |
||||
[О, 1]. После |
преобразования |
вида |
|
а-\-%"{Ь—а) |
получа |
ются псевдослучайные равномерно распределенные числа на отрезке [а, Ь]. В пашем случае а=0, b — Q.
Если число интерпретировать как точку отрезка [О, Q], то можно сказать, что вероятность попадания точки в отрезок A V
Av |
|
|
|
равна |
вероятность попадания |
точки в |
остальную часть |
отрезка |
[О, Q] равна —о~^" • Из |
отрезков |
Q—AV образуем |
91
суммарный |
отрезок |
Его |
длину |
определите легко: |
|
л |
|
л |
|
Q ' |
= 2J ( Q - A V ) = |
A Q —2 |
AV = ( A — I ) Q . (3.1.8) |
|
|
v=l |
|
v=l |
Если теперь рассматривать псевдослучайную точку £, рав номерно распределенную на отрезке [О, (Л—1)Q], то легко видеть, что вероятность попадания точки £ в отрезок Q—Av будет равна
P v = ( A - 1 ) Q |
( З Л - 9 ) |
и является величиной, обратно пропорциональной величине отрезка Av в том смысле, что для относительно больших Av из Qвероятность попадания в отрезок Q—Av точки, равномерно распределенной в [О, (А—1)Й], является относительно мень шей и, наоборот, для меньших A v соответствующая вероят ность оказывается большей.
При использовании псевдослучайных равномерно распре деленных на отрезке [О, (А—1)й] чисел вероятность попада
ния |
точки % в отрезок |
длиной Q—Av |
зависит |
только |
от |
его |
|||
длины и не зависит от места положения отрезка |
Q—Av |
на |
[О, |
||||||
(А—1)Q]. |
Выпишем |
последовательно |
координаты |
точек |
|||||
Xi, |
хл, |
соответствующие границам |
отрезков Й — Д ь . . . |
||||||
..., |
Q—Дл, составляющих отрезок [О, (А—1)Q]: |
|
|
||||||
|
|
|
|
* о = 0 , |
|
|
|
|
|
|
|
|
|
Xi = Q—Дь |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
хг = хх |
+ Q - Д 2 = Si — A! - f Q — А, = 2Q — 2 AV, |
|
||||||
|
|
X |
|
f Q — Ду = /Q - |
2 |
Av , |
(3.1.10) |
||
|
|
|
|
л |
|
|
|
|
|
|
*л = * A - I + |
Q - д л = AQ — 2 Av = (Л — 1) й. . |
|
||||||
|
|
|
|
v=l |
|
|
|
|
|
Итак, теперь можно описать процедуру определения пар тии деталей для выполнения очередной операции из множе
ства {£D(Nk)} партий |
деталей, удовлетворяющих |
условию |
||||
(3.1.2). Во время |
просмотра множества |
{3)(Nh)} |
фиксируем |
|||
партию |
деталей |
S)t |
и, продолжая далее |
просматривать |
||
{2>{Nh)}, |
определяем |
О. и Л. С помощью |
программы генери |
|||
рования |
получаем |
псевдослучайное число |
£' из |
совокупности |
92
равномерно |
распределенных |
на |
[0, 1] псведослучайных |
чисел. |
Выполнив |
преобразование |
£ = |
£/ (Л—l)Q, получим |
псевдо |
случайное |
число из совокупности равномерно распределен |
ных на [О, ( Л — п с е в д о с л у ч а й н ы х чисел. При вторичном
просмотре множества {<2)(Nh)} |
определим |
интервал |
попада |
|
ния точки t, |
|
|
|
|
|
|
|
|
(3.1.11) |
Выберем соответствующую этому интервалу партию |
деталей |
|||
3)s |
из {S)(Nh)} для проведения |
очередной |
операции |
на стан |
ке |
Sk(Nh). |
|
|
|
Интервал попадания псевдослучайной равномерно распре деленной точки % по условию (3.1.11) можно определить не за два просмотра, а за один, но для этого придется запоминать переменный массив чисел Х \ , . . . , хА, излишне расходуя наи более дефицитный вид ресурсов при использовании ЦВМ для решения задач календарного планирования.
Остановимся |
на особых |
случаях |
выполнения |
процедуры. |
|||
1. Q ^ e . |
е — некоторое положительное, близкое |
к 0 |
число. |
||||
Выполнение |
описанной процедуры |
по очевидным |
причинам |
||||
становится |
нерациональным, |
а при |
Q — 0 случайный |
поиск |
|||
вообще |
не реализуется: независимо |
от Л всегда будет выби |
|||||
раться |
первая |
по очереди |
партия |
деталей. По |
принятому |
определению вероятности попадания партии деталей на ста нок Р=Р(А,%, Л, Q) условие Q^e, очевидно, означает, что каждая из конкурирующих партий деталей Dv, v e L имеет в силу (3.1.5) незначительный приоритет относительно других конкурирующих партий деталей и с равной вероятностью должна попадать на станок для проведения очередной опера ции. Это достигается выполнением при й ^ е следующей процедуры.
Псевдослучайное число полученное по программе гене рирования равномерно распределенных на [0, 1] псевдослу чайных чисел, умножается на Л; прибавляя к целой части полученного произведения единицу, получим номер партии
деталей SDj, которую |
необходимо поставить |
на |
обработку. |
||||||
Короче говоря, номер / партии деталей 3),, |
/ e L |
определяется |
|||||||
следующим образом: |
|
|
|
|
|
|
|
||
|
|
|
/ = [ £ ' Л ] + 1 . |
|
|
|
(3.1.12) |
||
Здесь оператор |
[ |
] |
означает выделение |
целой |
части. |
|
|||
Заметим, что при Л==1 всегда £2 = 0, |
и поэтому единствен |
||||||||
ная партия деталей |
согласно |
процедуре |
(3.1.12) |
выбирается |
|||||
с вероятностью, равной 1. |
|
|
|
|
|
|
|||
2. Л = 2 . Этот |
случай также |
должен быть рассмотрен |
осо |
||||||
бо, так как при выполнении общей процедуры в случае |
Л = 2 |
вероятность выбора первой детали всегда равна 1. Это про исходит потому, что при А—2 всегда Q = A2 .
93
Чтобы организовать случайный выбор, отдающий пред почтение партии деталей с наименьшей функцией приоритета, предлагается следующий прием. Положим д. — _!_ д„ и с по-
лученным значением А[ выполним процедуру разыгрывания индекса партии деталей. Определим вероятность выбора пер вой партии детален по общей формуле (3.1.9)
|
|
|
Q - A t |
Д * + р Д » ~ р 2 _ Р_ |
(3.1.13) |
||||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
Д2 + - у Да |
|
|
|
Соответственно вероятность выбора |
второй детали |
|
|
||||||
|
|
|
|
' . - ^ - р Т Т - |
<зл-14> |
||||
|
Из |
определений Р \ и Рг видно, что розыгрыш |
не зависит |
||||||
от |
Ai |
и Дг. |
Практически |
хорошие |
результаты |
получаются |
|||
при р = 2 . Процедура |
разыгрывания |
проста: после |
получения |
||||||
псевдослучайного |
числа, |
равномерно распределенного |
на |
||||||
[О, 1], проверяем |
выполнение условия |
|
|
||||||
|
|
|
|
|
|
t ' < ^ ~ r |
|
(3-1.15) |
|
При выполнении |
условия |
(3.1.15) па обработку ставится |
пер |
||||||
вая |
партия |
деталей, |
в |
противном |
случае — вторая партия |
||||
деталей. Конечно, в случае А—2 при определении вероятно |
сти выбора партии деталей можно усложнить процедуру и,
например, учитывать информацию о Д п и Дт2 . |
|
Процедура разыгрывания индекса |
партии деталей 2D,, |
j ^ L , £Dj<={£D(Nh)} для проведения |
очередной операции на |
станке Sk при выполнении условия (3.1.2) рассмотрена пол
ностью. Из описания процедуры в двух нестандартных |
случа |
||||
ях видно, что для выполнения |
процедуры Монте-Карло необ |
||||
ходимо |
ровно два |
просмотра |
подмножества |
партий |
деталей |
{3)(Nh)} |
с очередными операциями на данный станок |
Sh(Nh). |
|||
С целью усиления |
приоритета партий деталей в |
очереди |
|||
можно |
выбирать величины A V |
не по формуле |
(3.1.5), а следу |
||
ющим |
образом: |
|
|
|
|
|
|
A v = P v ( A T V — Д т , ) , |
(3.1.16) |
где р„=р(л>)—некоторый множитель, усиливающий коэффи циент упорядочения *.
Если условие |
(3.1.2) для |
станка Sh(Nh) не |
выполняется, |
||
то выбор партии |
деталей |
должен производиться |
по условию |
||
(3.1..3). |
|
|
|
|
|
* Эксперименты |
с выбором |
Д v |
по формуле (3.1.16) |
ие |
проводились. |
94
Опишем для этого случая одну простую процедуру разыг рывания индекса партии деталей для выполнения очередной операции. Определим величины Д( для каждой партии дета
лей 3)i^{2D(Nh)} |
по формуле |
|
|
Ас = 5g._i — A k . |
(3.1.17) |
• Обозначим через Хк количество партий деталей, образую
щих множество {2)(Nk)}. |
Заметим, что любая партия |
деталей |
||||||
S)j^{S)(Nh)} |
|
в нашем_случае удовлетворяет условию |
(3.1.3) |
|||||
и, следовательно, все Д,->0. Величины А,- означают |
простой |
|||||||
станка |
S h |
перед обработкой |
партии |
деталей 2£>{. Ясно, что |
||||
чем меньше величина А; простоя станка |
S h перед |
обработкой |
||||||
партии |
деталей, тем большее предпочтение партии деталей Й9£ |
|||||||
должно |
быть оказано |
при выборе |
из |
множества |
S)(Nk)}. |
|||
При организации процедуры |
Монте-Карло это |
выражается |
||||||
в том, что |
вероятность |
выбора партии |
деталей |
<2>,- должна |
быть_ больше вероятности выбора партии деталей 3 ) h если Д;<Д,-. В случае Д;=Д,- соответствующие вероятности выбо ра партии деталей 3 ) { ц S)j должны быть равны.
Аналогичная процедура была разобрана выше при реали зации метода Монте-Карло для выбора партии деталей'из множества деталей, удовлетворяющих условию (3.1.2). Вопервых, за один просмотр списка деталей определяются вели чины Кк и Qk по формуле, аналогичной формуле (3.1.6):
|
h |
_ |
|
|
|
Qfc = 2 |
A v |
|
(3.1.18) |
Здесь для удобства изложения изменена |
нумерация отрезков |
|||
Av |
так, чтобы номер v соответствовал |
номеру |
слагаемого |
|
в |
сумме (3.1.18). Заметим, что принцип |
выбора |
величин А |
отличается от_принципа выбора величин А, но после определе ния величин А и А процедуры вычисления вероятностей вы бора и разыгрывания индексов партий деталей для выполне
ния очередной операции совпадают. |
|
|
|
|
|||||
Как |
и при условии |
(3.1.2) в случае |
выполнения |
условия |
|||||
(3.1.3) |
строятся |
отрезки длиной |
Qk—~AU |
£ = 1 ( 1 ) А*, из |
которых |
||||
составляется суммарный отрезок |
длиной |
Q'h, |
определяемый |
||||||
по формуле |
|
|
|
|
|
|
|
|
|
|
|
"о |
|
|
|
|
|
|
|
|
Q; = 2 |
(Qfc-Aft) |
= |
(Afe — 1) Qf e . |
|
(3.1.19) |
|||
На этом отрезке |
[О,4 [Ak—1)£V| |
разыгрывается |
псевдослучай |
||||||
ное число £ по |
программе генерирования |
псевдослучайных |
95
чисел. Вторичным просмотром массива {£D(Nh)} определяется отрезок Qh—А,-, в который попало случайное число. Отрезок находится по соотношению
|
1—1 _ |
с |
_ |
|
|
( * - 1 ) й К - 2 Д у < £ < / Й * - Ц |
A v . |
|
(3.1.20) |
||
|
v=l |
v=l |
|
|
|
Величины Av |
и A v легко получаются |
операцией |
вычитания |
||
и, так как размеры практических задач накладывают |
жесткие |
||||
требования иа память ЦВМ, то массивы величин |
Av |
и A v не |
|||
хранятся, а вычисляются во время обоих просмотров |
множе |
||||
ства {3){Nk)}, |
хранящегося в памяти |
отдельным |
массивом. |
Индекс i отрезка Qh—А,-, в который попало случайное число, является индексом партии деталей 2Di(Nk), очередную опера цию над которой необходимо выполнить на станке Sh(Nh) в данном такте построения календарного графика. В програм ме необходим один стандартный блок «процедура Монте-Кар ло», который работает после определения %А, Qh, Л, Q единым
образом как для случая |
выполнения неравенства (3.1.2), так |
||
и (3.1.3). |
|
|
|
Из |
выполнения |
соотношения (3.1.3) следует, что все |
|
Д ; > 0 |
для £25,<= |
(Nh)}, |
и, следовательно, нестандартных |
случаев выполнения процедуры Монте-Карло подобно выше
описанным |
при условии (3.1.2) нет. |
Случай |
Л = 1 , который означает, что множество состоит |
только из одной партии деталей, рассматривается при выпол нении условия (3.1.3) как случай нестандартного выполнения процедуры Монте-Карло: единственная партия деталей мно жества {£D{Nh)} выбирается с вероятностью, равной 1, блок «процедура Монте-Карло» обходится. При настройке блока
«процедура Монте-Карло», разыгрывающего |
случайную точ |
|||
ку и ее |
положение на отрезке |
[0, (Xh—l)Qk], |
учитывается |
|
различие формул (3.1.5) и (3.1.16) для определения |
А и А, |
|||
особые |
случаи выполнения операции для условий |
(3.1.2) и |
||
(3.1.3). |
|
|
|
|
Опишем другую процедуру поиска в случае выполнения |
||||
условия |
(3.1.3), которая требует |
несколько больше |
времени, |
но учитывает информацию о некоторых дополнительных об стоятельствах, приводящих к улучшению в смысле сформули рованного критерия получаемых календарных графиков.
Выполнение условия (3.1.3) |
означает, |
что для станка |
Sh(Nh) из всех партий деталей |
с очередными |
операциями на |
данный станок не существует ни одной, направляемой на ста
нок без простоя. |
Величина |
простоя для станка S,: |
может |
|
быть, вообще говоря, равной |
An—Ah, если |
множество |
{2){Nh)} |
|
партий деталей, |
ожидающих |
обработку |
на станке Sh, |
состоит |
из одной партии деталей, пришедшей со станка 5„.
96
Рассмотрим алгоритм, уменьшающий вероятность боль ших простоев станка. Если выполняется условие (3.1.3) для
станка |
Sh(Nk), |
то из множества |
{£D(Nh)} |
выбирается |
партия |
||||||
детален |
|
|
удовлетворяющая |
условию |
|
|
|
|
|||
|
|
|
|
min |
[В\ -Л. |
|
|
(3.1.21) |
|||
Зафиксировав партию деталей |
3)^к), |
перейдем при |
кфп |
||||||||
к проверке |
условий (3.1.1) — (3.1.3) для станка 5,и .ь |
стояще |
|||||||||
го непосредственно за станком S k |
в упорядоченной |
последова |
|||||||||
тельности |
Si, S 2 , . . . , 5К . Напомним, |
что |
последовательность |
||||||||
S i , .. ., |
S n |
упорядочена |
так, что всегда |
/ l v ^ / 4 v + i |
для любого |
||||||
v = l ( l ) [ n - l ] . |
|
|
|
|
|
|
|
|
|||
Поскольку имеет место истинность условия |
(3.1.2) |
или |
|||||||||
(3.1.3) |
для станка S k + U |
то описанные |
для данных |
ситуаций |
|||||||
процедуры выполняются |
также, |
как и после проверки их для |
|||||||||
станка |
S k |
, |
т. е. при выполнении |
условия |
(3.1.1) |
осуществля |
|||||
ется переход к следующему станку, а при выполнении |
усло |
вия (3.1.2) производится процедура розыгрыша индекса пар тии деталей для проведения очередной операции на данном
станке S k |
+ l . |
Если выполняется условие |
(3.1.3), то ,выбирает- |
||||||
ся партия |
деталей S ) l i ( k + i ) |
из |
условия |
(3.1.21), |
выполнение |
||||
которого |
проверяется для партий |
деталей |
£Dve{£)(Nku.i)}, |
||||||
ожидающих обработки на станке Sk+i(Nk+i). |
|
Из двух партий |
|||||||
деталей |
|
и ZD^h+i) |
выбирается |
та, у которой |
время осво |
||||
бождения от предыдущей операции |
меньше: |
|
|||||||
|
|
В{ = |
m i n ( f i f w |
_,, B f + v |
) |
_ , } . |
(3.1.22) |
||
Аналогично поступаем |
со станками |
S k + 2 |
, 5 А + 3 |
и т. д. Про |
|||||
веряем для |
них выполнение |
условий |
(3.1.1) — (3.1.3). При |
выполнении условий (3.1.1) или (3.1.2) алгоритм дальнейших
действий |
описан. При выполнении |
условия (3.1.3) по форму |
||||
ле (3.1.21) выбирается партия деталей i£Vc i + v). Из всех |
партий |
|||||
деталей £ > Ш ) |
, S)Mh+i), |
. •., |
ЗУщь+уу |
выбирается партия |
с наи |
|
меньшим |
временем освобождения |
от предыдущей операции: |
||||
Проверка |
условий (3.1.1) — (3.1.3) и выбор деталей по фор |
|||||
муле (3.1.23) |
производится |
до тех пор, пока не будет |
осуще |
|||
ствлена |
описываемая |
процедура |
либо для станка S„, либо |
|||
для станка 5 A + V + 1 , для которого |
A^v+i^B^. |
|
Изложим описанную процедуру для случая выполнения
условия |
(3.1.3) в более строгом виде, удобном |
для програм |
мирования на цифровой вычислительной машине. |
||
Если |
выполняется условие (3,1.3) для Sk(Nk), |
то выбира |
ть Н. Б. Мяроносецкнй |
97 |
|
ется партия деталей S)i{k), |
удовлетворяющая |
условию |
|
|
||||||
|
S f j _ , = |
min |
" |
( f i f - ' > . _ , , |
B \ |
w - |
А . |
(3.1.24) |
||
Здесь |
ли—i)_ i означает время |
освобождения |
партии |
дета |
||||||
лей 3)i{h-\)t |
выбранной по формуле |
(3.1.24) при попытке |
|
загру |
||||||
зить предыдущий |
станок Sh-\. |
За ВЩ^Х |
принимается |
про |
извольное, достаточно большое положительное число, например B g ^ _ i = 2 . Партия детален 2)цк), выбранная по формуле
(3.1.24). при попытке загрузить станок Sk, может ожидать проведения очередной операции у любого из просмотренных
станков Si, ... , Sft. Процедура выбора партии деталей i25,no формуле (3.1.24) для станков S i , . . . , S,,,. .. , Su продолжает ся до тех пор, пока не будет выполнено одно из двух условий:
|
|
|
1. |
0 = /г, |
|
|
|
|
2. |
В | . _ ! < |
Ле^!. |
(3.1.25) |
|||
Первое из них означает, |
что производилась попытка загрузить |
||||||
последний |
станок S„ |
в |
последовательности |
S i , . . . , |
S„, а |
||
второе — что в следующем |
такте |
построения |
календарного |
||||
графика будет сделана попытка загрузить очередной |
станок |
||||||
Sa+ i, момент времени освобождения которого |
больше |
момен |
|||||
та времени |
освобождения |
партии |
деталей 3 ) и выбранной по |
формуле (3.1.24) при попытках загрузить преды дующие станки S i , . . . , Se.
При выполнении одного из условий (3.1.25) из всех про смотренных станков выбирается станок с максимальным мо ментом времени освобождения. Так как последовательность
станков |
S], ... , Sn |
упорядочена |
по |
приоритету |
Л д |
согласно |
|
условию |
(2.1.11), то выбранный таким образом |
станок явля |
|||||
ется последним в последовательности |
станков S b . .., So, для |
||||||
которых делалась попытка |
загрузки. |
|
|
|
|||
Из множества |
партий |
деталей |
{3)(N\)}, |
{3){N2)}, |
. . . , |
||
{2D(Nf))} |
выбираем |
все партии |
деталей, удовлетворяющие |
условию
fi|_i>i4e.
Подсчитываем количество Хв партий деталей, удовлетворяю щих условию (3.1.26) и для каждой партии деталей опреде ляем величину
|
д ; = В £ _ , - Л в . |
|
(3.1.27) |
* Индекс' |
(k) у характеристик партий деталей |
В £ i |
и 3)ць) |
в дальнейшем |
изложении опускается. |
|
|
98