книги из ГПНТБ / Мироносецкий Н.Б. Экономико-математические методы календарного планирования
.pdfВычисляем сумму
|
|
|
Ч |
|
|
|
|
|
|
Q 9 = 2 A ; . |
|
|
(3.1.28) |
Заметим, |
что |
станок |
So С момента |
времени |
освобождения |
|
Л о связан |
технологически только |
с одним |
из |
множеств |
||
{.®(A'"i)}, |
. . ., |
{3){No)}- |
Величина |
Л е служит |
в формуле |
|
(3.1.27) только точкой отсчета для определения величин Av-
Для всех партии деталей, удовлетворяющих условию |
(3.1.26), |
|||||||||||||
независимо от того, какому из множеств |
{3){N])}, |
. . ., |
|
{3){Ne)} |
||||||||||
принадлежит |
партия |
деталей |
|
3)v, |
величина |
Л е в |
формуле |
|||||||
(3.1.27) |
является одинаковой. |
|
|
|
|
|
|
|
|
|
||||
Здесь |
и в |
последующем |
для |
удобства |
изложения |
у |
AV |
|||||||
нумерация |
изменена |
так, что |
индекс |
v |
соответствует поряд |
|||||||||
ковому номеру Ач в сумме (3.1.28). Все |
AV |
положительны |
по |
|||||||||||
условию |
(3.1.26) выбора партии |
деталей. В силу того, что не |
||||||||||||
нашлось |
пи одной партии деталей из |
множества |
|
{3)[N{)},..., |
||||||||||
{3)(No)}, |
|
очередная |
операция |
над |
которой может |
идти |
на |
|||||||
станке S b |
..., S„ без простоя, и множество станков Si, ..., |
SN |
||||||||||||
упорядочено по времени освобождения |
станка |
так, что |
Л ^ |
|||||||||||
^ : . . . ^ Л „ , |
то |
возникшие |
у |
станков |
5 Ь |
|
SQ |
простои |
||||||
являются |
для |
данного календарного |
графика |
неустранимы |
||||||||||
ми на подмножестве невыполненных технологических опера ций множества деталей {3)}.
Величина неустранимого простоя станка Sv , v = 1(1)9 не меньше разности B%—Av. Здесь 5^ определена нз (3.1.24). Будем считать началом отсчета для следующего такта по
строения |
календарного графика |
величину Л о = т а х ( Л ь |
||
Л2 ,._. ., |
А о) |
и в соответствии с этим |
будем называть |
величи |
ну AV, |
полученную по формуле (3.1.27), величиной |
простоя |
||
станка S,i(.V„), который возникает в том случае, если очеред
ная операция партии деталей 3)ii(Nll) |
будет выполняться на |
|||||
станке 5 Д (Л ; Р ) . Величина Av |
не зависит |
от индексов |
станка |
|||
S( l вследствие того, что для |
всех станков |
S i , - - - , |
Sg |
принято |
||
единое начало отсчета времени для |
следующих |
тактов по |
||||
строения календарного |
графика. |
|
|
|
|
|
В соответствии с выбранным критерием при построении |
||||||
календарного графика |
при |
выполнении соотношения |
(3.1.3) |
|||
предпочтение отдается партиям деталей, вызывающим наи меньшие простои станков. В процедуре Монте-Карло такое предпочтение партиям деталей отдается на основании исчис ленной вероятности попадания партии деталей на станок.
На множестве партий деталей, удовлетворяющих условию
(3.1.26), строится некоторая функция Р=Р(А', |
%в, Qe), прини |
мая значения O ^ P ^ l и удовлетворяющая |
условию нормиро- |
99
вания ^ |
Р ( Д л ) ) = |
1. Для |
простоты |
записи |
обозначим р (д^, |
|||||||||
v=l |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ле, fie) = |
Р ( А „ ) . |
Функция |
строится_таким образом, что для |
|||||||||||
любых значений |
ар£ументов |
A , t |
и A v имеет |
место |
Р ( Д ч ) < ; |
|||||||||
- <Р _ (Д||), |
если Д ц < Ду, |
и,# наоборот, для А ц > |
A v выполняется |
|||||||||||
Р ( Д ( 1 ) <ГР ( Д у ) . |
При |
Д у _ = = |
Д„ |
соответствующие |
|
значения |
||||||||
функции также равны Р ( Д ц ) |
= Р (,AV ) . |
дающих |
|
<•<) |
||||||||||
Иначе |
говоря, для |
партий |
деталей, |
относитель |
||||||||||
но меньший |
простой |
станка, |
значение |
функции |
|
Р = Р ( Д ' ) |
||||||||
должно быть |
относительно |
|
больше |
и |
наоборот. |
Значение |
||||||||
функции |
Р = Р(Д') |
принимается |
за |
вероятность |
попадания |
|||||||||
партии деталей на станок, технологический помер которого соответствует технологическому номеру очередной операции над данной партиен деталей.
В том случае, когда очередной такт построения календар ного графика производится в условиях выполнения неравен ства (3.1.3), практически хорошие результаты дает следующая конструкция вероятностей выбора партии деталей для прове дения очередной операции. Как и в предыдущих построени ях вероятностей выбора партий деталей, образуем систему
отрезков ®в — A j , . . . , |
Qo — Д - , соединяя которые |
получим |
отрезок длиной |
|
|
Ч |
|
|
Й' = 2 |
fQe — A v ) = (Хв — i ) n e - |
( з - 1 - 2 9 ) |
По подпрограмме генерирования псевдослучайных чисел, рав
номерно распределенных |
на |
[0, 1], получаем |
псевдослучайное |
|||||||
число |
С помощью |
известного |
преобразования £=£'(Яр— |
|||||||
— l)Qo превращаем иитервал_ [0,1] |
в интервал [0 (?.о*—1) fio]. |
|||||||||
Выпишем |
границы отрезков fie — A v |
: |
|
|
|
|||||
|
* о = 0 , |
|
|
|
|
|
|
|
|
|
|
хх = |
х0 -|- 0~е — |
Д | |
= |
fie — |
Ai» |
|
|
||
|
xj = x,-i |
+ |
fie |
- |
Ai - |
/fie - |
2 |
Av , |
(3.1.30) |
|
|
x-r — x- |
+ |
fi0 |
— |
Ax |
= |
( h — 1) fie- |
|
||
Формулы (3.1.30) и (3.1.10)_ совпадают^ с, точностью до прин ципа образования величин Д . Отрезок fie — А / г , в который по пала случайная точка £, определяется по условию
(3-1-31)
100
или, заменяя A:S _I И хк по формуле (3.1.30), получим:
(/г - |
1) о е - |
V Av - " I < kih |
- 2 А; • |
(3.1.32) |
|
|
|
V 1 |
V 1 |
|
|
Процедура Монте-Карло в данном |
случае |
выполняется |
|||
так же, как и в |
случае |
поиска партии |
деталей |
для |
проведе |
ния очередной операции в условиях выполнения неравенства (3.1.2). Точнее говоря, в программе ЦВМ процедура МонтеКарло вынесена в стандартный блок, работающий в любой из ситуации построения календарного графика. Перед рабо
той блок |
«процедура Монте-Карло» настраивается подпро |
граммой формирования на заданные параметры. |
|
Особый |
случай выполнения процедуры Монте-Карло |
в условиях |
выполнения соотношения (3.1.3) возникает при |
Яо—1: процедура обходится, выбирается единственная деталь
множества {<2)(Ni)}, |
|
. .., |
{3>{NQ)}. |
процедуры |
Монте-Карло |
||||
|
13 общем |
случае |
выполнение |
||||||
требует такое |
же |
количество |
просмотров, что |
и при |
розы |
||||
грыше в условиях |
неравенства (3.1.2). Первый просмотр мно |
||||||||
жества {3){N\)}, |
|
. . ., {2){NQ)} |
предпринимается |
для получе |
|||||
ния |
ло и Q.Q, а второй — для |
определения интервала |
попада |
||||||
ния |
случайной |
точки |
по соотношению (3.1.32) и параметров |
||||||
партии деталей для проведения очередной операции. |
|
||||||||
|
Среди станков |
S b . . . , |
Se |
могут |
встречаться |
взаимозаме |
|||
няемые станки, имеющие одинаковый технологический номер,
такие станки в описываемой |
задаче различаются параметром |
и (номер рабочего места). |
В информации об очередной опе |
рации над партией деталей станок определяется с точностью до рабочего места. Чтобы выяснить номер рабочего места, не обходимо при нахождении по формуле (3.1.32) интервала Qo—Aft, в который попала случайная точка £, фиксировать множество {3){Nlt)}, которому принадлежит даннаяt партия деталей, соответствующая отрезку Qo—Д,,. Для фиксации мно жества достаточно при проверке условия (3.1.31) организовать счетчик, фиксирующий порядковый номер мно
жества |
{з> (N„)}, |
k = l (l) е.- |
|
|
|
Если |
среди |
станков |
S \ , . |
.., Sn имеется большое |
количест |
во взаимозаменяемых, |
то |
экономию машинного |
времени |
||
дает следующая модификация процедуры Монте-Карло. Из
множеств {3)(N\)}, |
. . . , |
{30{No)}, |
соответствующих станкам |
S u ..., So, выберем |
по |
одному из совпадающих множеств, со |
|
ответствующих взаимозаменяемым станкам. |
В полученной |
|
последовательности множеств {SD{N^)}, |
. . . , |
{<Z5(We ')} пег |
совпадающих. Из данной последовательности выбираем все партии деталей, удовлетворяющие условию (3.1.26), определя ем число партий Л, величины Д' по формуле (3.1.27), сумму
101
£2— формуле |
(3.1.28), после чего выполняем |
процедуру Мон |
те-Карло. По |
формуле, аналогичной (3.1.31), |
устанавливаем |
интервал попадания точки £ и, следовательно, партию дета лей для проведения очередной операции.
Определить по имеющейся информации рабочее место, па котором должна производиться очередная операция над данной партией деталей, невозможно. Снова воспользуемся процедурой Монте-Карло. Из последовательности S i , . . . , SQ выберем все взаимозаменяемые станки с технологическим номером, определяемым выбранной операцией. Пусть количе
ство таких станков х ¥. Псевдослучайное число |
£;, полученное |
|||
с помощью соответствующей |
подпрограммы, |
преобразуется |
||
в порядковый номер v станка в последовательности |
взаимоза |
|||
меняемых станков Sj.1,, S^a ,..., Sp,v , S^ |
с помощью |
формулы |
||
v = [ & . 4 ' ] + |
l . |
|
(3.1.33) |
|
Здесь, как и ранее, оператор [ |
] означает выделение целой |
|||
части числа. |
|
|
|
|
Выигрыш во времени в данной процедуре получается при отборе партий_деталей по критерию (3.1.26), при формирова
нии величин |
Д' по формуле (3.1.27), при |
вычислении сумм |
(3.1.28)—за |
счет уменьшения количества |
Л (членов суммы) |
п при втором просмотре множеств партий деталей для опре деления интервала попадания псевдослучайной точки по фор мулам (3.1.30), (3.1.31). Уточнение границы количества взаи мозаменяемых станков множества {S}, после которой необхо димо переходить к модифицированной процедуре Монте-Кар ло, аналитически исследовать трудно, но эта граница может быть найдена экспериментальным путем, на основе определе ния статистических характеристик при расчетах на ЦВМ.
Итак, по одной из процедур Монте-Карло, работающих при выполнении условий (3.1.2) или (3.1.3), партия деталей для проведения очередной операции на стайке 3)f выбрана.
По принятому в данном варианте алгоритма допущению длительность выполнения операции t% и подготовительно-за
ключительное время операции 0|. £-— 1(1) и,-, i — 1(1) т являются детерминированными величинами. После разыгры вания партии деталей на станок необходимо выполнить детерминированную процедуру для определения начального н конечного моментов времени выполнения операции. В силу детерминированности величин t\, и / | эта процедура
совпадает |
с соответствующей процедурой в алгоритмах реше |
|||
ния задач |
I и 1.4 |
|
|
|
При установлении момента Г„ начала выполнения очеред |
||||
ной операции 0\(t%., |
|
ЛМ |
над партией деталей 3)t на |
|
|
I \ i |
i |
AS/ |
|
102
станке |
S k следует учитывать, что |
если |
сменность |
всех стан |
||||
ков S \ , . . ., 5А одинакова, |
то момент Та начала |
обработки |
||||||
партии |
деталей |
SDi па станке 5к |
можно |
найти |
по |
формуле |
||
|
|
Тп = tn = |
max | 4 _ ь |
А к ] . |
|
(3.1.34) |
||
Однако если |
станки S b |
.. ., S h |
имеют |
различные |
парамет |
|||
ры сменности, то |
|
|
|
|
|
|
|
|
|
|
|
T„^tH. |
|
|
|
|
(3.1.35) |
Определить Т„ в этом случае необходимо по формулам (2.1.23), которые означают, что если в данный день партия деталей поступила па обработку на станок до того, как последний отработал положенное время, партия деталей запускается в обработку немедленно, однако если она посту пила на станок позже момента времени K,^{t„), то партия деталей попадает на обработку в начале следующего дня.
После установления 7",, величина Те подсчитывается по формуле (2.1.24) с предварительным определением величины То из уравнения (2.1.25). По процедуре (2.1.26) пересчитыва-
ются новые значения Ак и .
i
При решении задачи 1.1 в технологической последователь ности партии деталей 125,- могут встретиться нестаночные опе рации типа «старение». Разыгрывание партий деталей на про
ведение таких операций производится по общей |
процедуре |
||||||||
Монте-Карло, но при оформлении |
календарного |
графика, как |
|||||||
н в модификации 1.1, всегда |
полагается А к = 0 . |
Функция прио |
|||||||
ритета Дт,- партии |
деталей |
3)i |
пересчитывается |
по формуле |
|||||
(2.1.27). |
|
|
|
|
|
|
|
|
Sbi имеет |
Пересчет |
индекса приоритета |
партии |
деталей |
||||||
некоторые особенности по сравнению с алгоритмом задачи I . |
|||||||||
Эти особенности |
связаны |
с разбиением |
множества {ЗУ) на |
||||||
попарно непересекающиеся подмножества {3)(Nk)}. |
|
Индексы |
|||||||
приоритета |
можно |
пересчитывать по общей формуле, описан |
|||||||
ной в начале настоящего параграфа, но, очевидно, |
этот путь, |
||||||||
не использующий информацию о предыдущем |
упорядочении, |
||||||||
не является рациональным'и ведет к значительным |
затратам |
||||||||
машинного |
времени. Предлагается |
следующая |
|
процедура. |
|||||
К моменту окончания перевычисления функции приорите |
|||||||||
та Дт( обрабатываемой партии деталей 3)i |
операция |
0~.(Nk) |
|||||||
оформлена в календарном графике, в |
качестве |
очередной |
|||||||
выбрана следующая операция |
0|.+i (при Ъ Ф и,-), |
которая |
|||||||
должна выполняться па одном из станков с технологическим номером Л'ц. В соответствии с переходом партии деталей 3 ) t на очередную операцию необходима процедура перенесения информации о партии деталей из множества
в множество {.2>(Л'„)}. Процедура организована достаточно экономным образом: дело сводится к упорядочению множест ва {55(Л'ц)} по приоритету Axv в связи с появлением нового элемента St) и Доупорядоченпе состоит в определении места элемента 2); в упорядоченном по Ах,- множестве SD(\\t). Вся процедура выполняется за один просмотр информации о пар тиях детален.
Для всех остальных партий детален SD-, не попавших на
обработку в данном |
такте построения календарного |
графика |
|||
и принадлежавших |
множеству {St>(Nu)}, |
из которого была |
|||
выбрана |
партия детален для проведения |
очередной |
операции, |
||
функция |
приоритета |
псресчптывастся |
в соответствии с форму |
||
лами (2.1.8) п (2.1.9). Это возможно |
потому, что |
пересчет |
|||
индексов |
приоритета |
партии деталей |
3)}^{&(N,)} |
происхо |
|
дит в одном подмножестве {.25(Л'',,)}. Информацию о границах
подмножества {S/)(Nk)} |
необходимо |
заслать в блок |
|
настройки |
||||||
процедуры |
(2.1.8), |
(2.1.9). |
При |
упорядочении |
множества |
|||||
{St>(Nh)} |
по Ах процедура строится с учетом |
того, что: а) мно |
||||||||
жество |
3)(Nh) |
было |
упорядочено по |
старому |
Ах; б) |
|||||
vgy}^{3)(Nk)} |
|
|
имеет место |
' A X J < A T J . |
|
|
|
|||
Такая |
тщательность |
при организации процедуры |
переупо |
|||||||
рядочения |
множества |
{SD{N,,)} вызвана тем, что эта процеду |
||||||||
ра выполняется |
в каждом |
такте |
построения календарного |
|||||||
графика. У станка |
S h , на котором в данном |
такте |
построения |
|||||||
календарного графика производилась обработка партии дета
лей, изменился |
момент времени |
освобождения A h в соответст |
||
вии с оператором присваивания |
А к : = Тв. При пересчете |
индек |
||
са приоритета |
станка S h и переупорядочении множества |
стан |
||
ков 5'i, . . . , S n |
в соответствии |
с индексами приоритета учиты |
||
вается тот факт, что всегда |
прежний момент времени |
осво |
||
бождения Ак<Тв. |
Следовательно, станок Sh при выполнении |
|||
этой процедуры не может переместиться вперед в упорядочен ном множестве S i , S 2 , •. •, S n .
После пересчета индексов приоритета и упорядочения мно жеств станков н партий детален начинается новый такт по строения календарного графика проверкой условий (3.1.1) — (3.1,3) для станков S u 5 2 , ... , S n . График считается построен ным, когда выполнено условие.
V,(i6=[l, Ш]), £,•="/.,•+1. |
(3.1.36) |
После построения календарного графика фиксируем его параметры: первоначальное псевдослучайное число t, с ко торого началось построение r-го экземпляра календарного графика, и К {г), определяемое по формуле
m |
|
|
|
|
Kr = K(r) --= |
т а х а , - [ 0 , В х . ( / - ) - т Л |
+ |
maxB'K_ (r). (3.1.37) |
|
/-•1 |
l 1 |
I |
i |
1 |
104
Здесь fi^ (г) означают величины |
в r-м экземпляре |
|||||||||
календарного |
графика. Напомним, что через |
5 ^ |
обозначен |
|||||||
момент |
времени |
освобождения партии деталей |
S)i от у.{ опера |
|||||||
ции, и, принимая |
во внимание, |
что и,- означает |
номер |
послед |
||||||
ней |
операции |
в технологической последовательности |
партии |
|||||||
деталей, будет говорить, |
что |
В*. (/')— момент времени вы |
||||||||
пуска партии детален 3 ) t |
в r-м календарном графике. |
|
||||||||
Из |
непосредственного |
сравнения с |
критерием |
(2.1.5) и |
||||||
(2.1.6) |
видно, |
что min/((/') есть критерий задачи календар |
||||||||
ного планирования. Параметры |
[г, £;г, К (г)) календарного гра |
|||||||||
фика NT для |
краткости обозначим через |
(£„ |
Кг). Определе |
|||||||
ние |
числа Кт |
связано с фиксированием двух массивов чисел |
||||||||
{а,-}, |
{т,}. В |
каждом массиве находится |
по /«чисел, |
|
которые |
|||||
в процессе решения задачи не могут быть размещены в опе ративной памяти ЦВМ, а размещаются на внешних накопи телях. После построения r-го календарного графика, точнее, после определения величин В * , £=1(1)/п массивы {а,} и величина К (г).
{ T J переписываются в оперативную память и вычисляется Обращение к внешней памяти резко снижает скорость статистического моделирования процесса, поэтому практиче ские частные случаи, ие требующие обращения к внешней памяти для определения характеристик r-го календарного
графика, должны быть рассмотрены отдельно.
Одним из распространенных частных случаев критерия (2.1.5), (2.1.6) является критернен Джонсона, который в при нятых обозначениях можно записать следующим образом:
|
min max в1 |
lr). |
|
|
|
|
г i |
i |
|
|
|
Для |
определения величины |
Тг —• max В х . (/•) массивы {а,} н |
|||
{т,,} |
|
|
i |
' |
|
не используются, и процедура |
моделирования |
существен |
|||
но упрощается. Поэтому при построении |
программы |
статисти |
|||
ческого моделирования определение параметров построенного календарного графика предусматривает режим, при котором вместо вычисления величины Кт по формуле (3.1.37) вычис ляется величина Тг по формуле
Г г = т а х В к . ( г ) . |
(3.1.38) |
Дальнейшие шаги процедуры статистического моделирова ния будут излагаться для общего вида критерия (3.1.37) (не обходимые различия в процедурах для К (г) и ТГ будут отме чены). Итак, после построения /"-го экземпляра Nr календарно го графика его параметры (£,. Кг) фиксируются, и передачей
105
управления блоку восстановления исходной информации на чинается построение (г+1)-го календарного графика.
Процедура восстановления исходной информации устрое на следующим образом. После работы подготовительной про граммы, которая принципиально устроена так, как п подгото вительная программа решения задачи календарного планиро вания, описанная в главе 2, блок хранения информации пере писывает па магнитный барабан информацию, подготовлен
ную для работы основной |
программы. |
Блок восстановления |
|
информации |
осуществляет |
обратное |
перемещение массива |
с магнитных |
барабанов в |
оперативную память машины п |
|
передает управление процедуре статистического моделирова ния, которая начинает построение (г+1)-го календарного графика проверкой соотношении (3.1.1) — (3.1.3).
После построения N календарных графиков имеем стати стическую выборку, из которой можно извлечь разнообразную информацию. Из всех полученных календарных планов опти мальным с позиций выбранного критерия будет календарный план с порядковым номером г°, на котором достигается
|
/ 0 » = min |
{Кг)- |
(3.1.39) |
|
|
/--1(1)Л' |
|
|
|
Заметим, что если'при решении календарной задачи инте |
||||
рес представляет только календарный план |
г°, то мет необхо |
|||
димости |
хранить информацию о всей выборке (£i, |
К ) ) , . . . , |
||
( £ г , К г |
) , • •-, (£.v, К п ) - В этом |
случае |
необходимо |
перейти |
к такому режиму работы описываемой процедуры, в котором после получения календарного плана запоминаются характе ристики плана г°, па котором достигается
Кр, = min (K-r_v Kr). (3.1.40)
Здесь за Ко берется произвольное, достаточно большое машинное число. При r=N оба минимума совпадают: Kj-. =
= |
Кг"- |
При |
таком способе запоминаются характеристики |
(£i |
К jo) |
только одного плана. |
|
|
После выполнения процедуры Монте-Карло и получения Л' |
||
календарных |
графиков на печать выдается календарный гра |
||
фик г0 , удовлетворяющий условию (3.1.39). Для восстановле
ния |
календарного графика |
необходимо |
псевдослучайное |
число |
£го переслать на место |
исходного |
числа программы |
генерирования псевдослучайных |
чисел и выполнить процеду |
||
ру построения календарного графика еще один раз. Восста новленный таким образом календарный график выдается на печать для исполнения.
Режим восстановления календарного графика г°, удов летворяющего условию (3.1.39), существенно зависит от спо соба генерирования случайных равномерно распределенных чисел, используемых в процедуре построения каждого из N
106
экземпляров календарного графика. Если случайные равно мерно распределенные числа генерируются датчиком случай
ных чисел, то восстановить календарный график |
по числу |
£г , |
с которого началось построение календарного |
графика |
но |
мер г, невозможно. Для восстановления календарного графи
ка в |
этом случае |
необходимо запомнить все его |
элементы. |
При |
выполнении |
процедуры (3.1.40) календарный |
график f° |
единым массивом |
переписывается при |
во внеш |
|
нюю |
память. |
|
|
Если календарные графики генерируются с помощью псев дослучайных равномерно распределенных чисел, получаемых по специальной программе, то восстановление календарного графика, удовлетворяющего условию (3.1.39), происходит как построение (/V+l)-ro календарного графика с начальным случайным числом £го . Это удается сделать истому, что все программы генерирования псевдослучайных чисел устроены как некоторые рекурсивные процедуры. Использование датчи ков случайных чисел в статистическом моделировании слож ных систем с последующим восстановлением одного из наблю давшегося состояния системы, как правило, менее эффектив
но, чем применение программы генерирования |
псевдослучай |
||||||
ных чисел. |
|
|
|
|
|
|
|
|
В описываемой процедуре псевдослучайные числа получи |
||||||
лись программным путем. По заданным |
условиям планирова |
||||||
ния |
производится |
на отрезке |
[z°, |
г], |
где z° |
определяется |
|
соответствующей |
подпрограммой |
при |
первоначальном |
анали |
|||
зе |
исходной информации по условию |
(2.1.7), |
а г— |
наперед |
|||
заданное число. Календарный график /- 0 считается восстанов
ленным, если |
выполнено |
либо условие |
(3.1.36), |
либо |
|
|
V i ( < x ( ( i e [ l , ' " L |
& = £ ° ( 1 ) и » |
m i n ( s l . ) > 2 . |
(3.1.41) |
|||
Условия (3.1.36), (3.1.41) |
проверяются в каждом |
такте |
||||
восстановления |
календарного |
графика, |
проверка |
происходит |
||
не непосредственным образом, а с помощью некоторого более общего условия, а именно, в процессе поиска станка под за
грузку |
не рассматриваются |
станки Sh, для которых |
Ah^z. |
||
Множество {3)(NH)} |
партий |
деталей, претендующих на |
этот |
||
станок, считается пустым. |
|
|
|
||
Процесс восстановления календарного графика заканчи |
|||||
вается, |
если, для всех |
станков |
S i , . . . , Sn каждое подмножест |
||
во деталей {3)(М\)}, |
..., {3){NQ)} |
является пустым. |
|
||
Попутно заметим, что в изложенном алгоритме календар ный график как таковой строится только при процедуре вос
становления |
календарного |
графика, |
удовлетворяющего |
|
(3.1.39) |
или |
(3.1.40). |
|
|
При процедуре построения календарных графиков со зна |
||||
чениями |
минимизируемой функции К\,. |
• •, Кг,. • • > Кн для |
||
107
определения оптимального календарного плана из выборки объема .V в программе отключаются блоки оформления кален дарного плана. Необходимая информация для следующего такта построения календарного графика выбирается из харак теристик множеств {S)(Ne)} П {5} . Отключение блоков оформ ления календарного графика позволяет после выполнения процедуры (2.1.26) переходить непосредственно к процедуре (2.1.27). Если программа работает в режиме восстановления календарного плана, то при настройке программы на этот режим, процедура оформления календарного графика испол няется в каждом такте построения графика между процеду рами (2.1.26) и (2.1.27). Такое отключение блоков дает эконо мию времени н места в оперативной памяти ЦВМ. При изло
жении |
алгоритма такие подробности были опущены. |
В производственных условиях заводские технологические |
|
номера |
станков Nk п деталей U являются длинными буквен |
но-цифровыми словами, работать с которыми при построении календарных графиков затруднительно. Поэтому при перво начальной обработке информации спектральный блок про граммы перенумеровывает станки и детали. Станкам и дета-
лям_ присваиваются новые технологические |
номера Nh и 1к, |
|
и для сохранения |
взаимно-однозначного соответствия между |
|
Nk и Afh, /,• и |
организуется специальный словарь. Мы не |
|
затрагиваем здесь |
вопросов, связанных с |
рациональным по |
строением таких словарей. Заметим лишь, |
что в том случае, |
|
когда каждый из массивов {Nh} и (/;} заводских технологи ческих номеров станков и номеров чертежей деталей может быть целиком размещен в оперативной памяти вычислитель
ной машины, одним, из наиболее рациональных методов со |
|||
ставления |
является |
следующий. |
|
Каждое |
слово |
массива {Nk)[{lt}) |
можно рассматривать |
как некоторое число независимо от его буквенно-цифрового содержания. Массив чисел {N'k} ({/;))упорядочивается. В дан ном случае применяется лексикографическая процедура упо рядочения массива как одна из самых простых и экономич ных. После упорядочения массива [Nk\((/;)) одинаковые слова оказываются в списке соседними. Последний шаг — собствен
но перенумерация слов |
упорядоченного |
массива — осущест |
|
вляется очевидным образом. Если массив |
{Nh} [Ut)) |
не уме |
|
щается в оперативной |
памяти полностью, |
то в этом |
случае |
алгоритм перенумерации усложняется, время для осуществ ления перенумерации резко увеличивается. Один из алгорит мов перенумерации, применяемый в случае больших масси-. BOB {Nb\ и основанный на процедуре Монте-Карло с исполь зованием программных псевдослучайных чисел, был указан в нашей работе (Мнроносецкий, Рабинович, 1966).
108
