Файл: Голенко Д.И. Статистические модели в управлении производством.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.04.2024

Просмотров: 189

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Записанный в операторной форме моделирующий ал­ горитм имеет следующий вид:

/ ч Л 2 Л 3 Л 4 4 . 2 ^ 5 5 ' 1 8 Ф 6 Л 7

7 . « Л 8 Л 9 Л 1 0 Р ! ? рЦ

Аи

Pit

 

^Fi5Aie

Лі7 Лі6 8

"Лш/Сао

 

Р21

Л22

Ягз •

Перечислим операторы, входящие в модель:

Fi—формирование

исходных

данных для сетевой мо­

дели;

 

 

 

Л2 — правильная перенумерация сети;

Л3 — решение задач оптимального прогнозирования ка­

 

лендарного планирования и распределения ресур­

 

сов;

 

 

 

 

 

Л 4 — расчет

временных

параметров

сети и построение

F 5 —

таблиц функций

V(t);

 

 

формирование исходных данных и начальных усло­

 

вий для k-я

реализации;

 

 

ф 6 реализация

случайных

продолжительностей работ

 

сети;

 

 

 

 

 

Л 7 — расчет фактических сроков работ;

Л8 — вычисление значения V<j>(^* );

 

Ад

вычисление AV0(t?

) ;

 

 

Л 1 0 — выдача результатов к моменту t;

Рп—проверка

условия

\Уф(і*

) — V m I > A V ;

Р\2

проверка условия hV0{t

\ ) > 6 у , ( б у ^ О ) ;

Л, 3 — вычисление

tkl+l;

 

 

 

Ри

проверка условия А?*+ 1

<б<;

 

F\b

формирование усеченной сетевой модели;

Л і 6 — решение

задач оптимального

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

 

оперативного управления;

 

Л 1

7 расчет временных параметров усеченной сети и по­

 

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

V(t)\

Ліз—вычисление tk, j

по усеченной сети;

13*

 

195


Лідвыдача

результатов по k-и

реализации;

 

КІО

счетчик числа

реализаций;

 

 

 

 

 

Р2\—проверка

условия

k^k3;

 

 

 

 

 

А22

статистическая

обработка

результатов

моделиро­

 

вания;

 

 

 

 

 

 

 

 

Ягз— выдача

результатов

и конец

вычислений.

 

Перейдем

теперь

к детальному

описанию

операторов

модели.

 

 

 

 

 

 

 

 

Оператор Fi формирует исходные данные для работы

всей модели. Исходными данными являются:

 

 

1.

Сетевая

модель, которая

задается

в

виде

списка

работ

(і, / ) , где і—начальная

вершина

работы,

/ — ко­

нечная вершина.

 

 

(і, /) задаются: а) гра­

2.

Для каждой работы

сети

ничные значения объема ресурсов, необходимые для вы­ полнения данной рабОТЫ S m i n (l , /'), sm ax(i,/), где

Smin(i, /) — минимальный

объем ресурсов, необходимый

для выполнения работы

sm&x(i, j)—объем

ресур­

сов, при котором их общая производительность по выпол­ нению работы (і, /) максимальна; б) зависимость мате­

матического

 

ожидания

продолжительности

выполнения

работы tcp(i,l)

от объема

ресурсов s(i,j);

в)

предельные

длительности

(оптимистическая

и пессимистическая)

выполнения работы (i,

j)

при заданном

количестве ресур­

сов

s(i,j):

а . (*,/)=*і(і,/)

и bs(i,j)='t2(i,j),

a , ( f , / ) <

^bs(i,

/ ) ; г)

объем работы v(i,j),

который может быть

задан в процентах от общего объема работ, стоимостных единицах и т. д.

 

3. Данные, определяющие

условия

и точность моде­

лирования:

 

 

 

 

 

 

УП л суммарный плановый

объем всех работ

сети;

 

Тдир— директивный

срок выполнения

всего

комплекса

рпл

работ;

 

 

 

 

 

 

— вероятность

выполнения комплекса работ

за

вре­

 

мя Гцл;

 

 

 

 

 

 

S — общее количество ресурсов, выделенных

для

вы­

k3

полнения всего комплекса операций;

 

 

 

— заданное количество реализаций

процесса

в

мо­

At

дели;

 

 

 

 

 

 

— допустимая погрешность по времени в

модели;

ДV — допустимая погрешность модели по объему;

 

dv

— изменяемая константа, с помощью которой

можно

 

изменять размеры критической области;

 

 

 


5i — минимальное время между

двумя опросами мо­

дели;

 

 

 

 

 

Оператор

А2

осуществляет

правильную

нумерацию

сети [4.1]. Последнее, как известно,

означает

выполнение

неравенства

i<j

для всех работ

(і, /) сетевой модели.

Полезность оператора А2 объясняется тем, что алгоритмы временного расчета правильно занумерованной сети зна­ чительно проще и требуют меньше времени для своего выполнения, чем для той же сети с произвольной нумера­ цией. Это тем более важно, что при выполнении осталь­ ных операторов модели многократно производится вре­ менный расчет исходной сети^или ее части для различ­ ных значений продолжительности входящих в нее работ. Правильность же нумерации не нарушается при «усече­ нии» сети или корректировке значений t(i,j).

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

являются

плановые

сроки начала и окончания £™ (i, j)

и t™(i,j),

а также

плановый

объем выделенных

ресур­

сов Smt{i,j),

соответствующие

оптимистической и песси­

мистической оценкам as(i,j)

и bs(i, / ) — д л я всех

работ

(t, j)

сетевой модели. Методология решения оптимальных

задач оператора Л 3 будет описана ниже.

 

 

Оператор Л 4 производит

расчет временных

парамет­

ров сети с детерминированными

оценками длительностей

работ

t(і, j) =as (t, / ) ,

на основе

данных

расчета табули­

рует

функцию V0(t)

с шагом At и определяет

величину

длины критического пути Т0.

Функция

V0(t)

описывает

изменение объема выполненных

работ

к моменту t при

оптимистическом ходе процесса выполнения комплекса работ, т. е. при выполнении их с максимально возмож­ ной скоростью [1.4]. Легко видеть, что V0(t) является не­ убывающей функцией и V0(T0) = УПл- Однако трудность

ее построения заключается в том, что эта функция может быть неоднозначной во всех точках, кроме точек V0 (0) =

= 0 и У 0 ( Г 0 ) = У П Л .

Заметим, что граничными кривыми области значений V0(t) являются кривые, построенные по ранним и позд­ ним срокам начала всех работ в пределах их резервов по

времени pV0(t)

и nV0(t),

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

причем кривая

pVQ(t) лежит

выше кривой ПУО(І), быть

может совпадая


с ней в некоторых точках. Следовательно, для построения однозначной кривой V0(t) должны быть выбраны точки начала всех работ. В настоящем алгоритме за сроки на­ чала всех работ приняты ранние сроки свершения их на­

чальных событий

t*(i,

J) =Ta(i,

j).

Последнее

формирует

V0(t) =vVo(t),

что приводит

к увеличению

критической

области.

 

 

 

 

 

 

 

Опишем

далее

общий алгоритм

построения

кривых

V(t)—зависимостей

 

объема выполненных работ от вре­

мени. Этот

алгоритм

реализуется

в операторах

Л4 , А17,

As.

 

 

 

 

 

 

 

Из сказанного выше ясно, что исходным для этого ал­

горитма являются список работ с

указанием объемов

v(i,j), сроков начала и конца ta{i, /),

t0K(i, j), а также по­

следовательности значений времени tm, для которых опре­

деляются значения функции

V(t).

 

 

 

 

Алгоритм построения

V(t).

 

 

 

 

 

Этап 1. Образуем множество М0

для

момента време­

ни t0

из всех работ сети и устанавливаем

начальные

зна­

чения

 

 

 

 

 

 

 

 

 

Этап 2.

V(to) = VOK((0)

= VM4,

 

m=\.

 

 

 

Подсчитываем У 0 к ( ^ т ) , просматривая все ра­

боты из множества M m _ i

 

 

 

 

 

 

 

 

V0K(tm)=

2 V(i,j)

+foi,(/m -l) ,

 

 

где сумма

берется

по всем

работам

(i,

j) из Mm-\,

для

которых выполняется неравенство

 

 

 

 

 

 

 

^ о к ( І , /)

 

^tm,

 

 

 

 

 

 

 

M m _ i 3 D m =

{ ( / , / ) :/ок( Ц )

,<*m}-

 

 

Этап 3.

Образуем множество Мт,

исключая из

мно­

жества Мт-\

все работы множества

Dm;

 

 

 

Этап 4.

Проверяем

наличие

работ

во

множестве

Мт.

Если Мтф0,

то переходим

к этапу 5. В

противном

случае — конец вычислений.

 

 

 

 

 

 

Этап 5.

Просматриваем

все

работы

множества

Мт

и подсчитываем

V(tm):

 

 

 

 

 

 

 

 

V(tm)

= 2

K(4)[tm-t3(4)]+VoAtm),

 

(4-3.1)


где

Mm^Bm={(i,j):tB(i,j)<tm};

KV'1>-

t0K(iJ)-t*(i,i)

Этап 6. Индекс

m увеличивается на единицу, после

чего переходим к этапу 2.

Для упрощения

алгоритма и сокращения времени

его работы полезно упорядочить работы в М0 по возра­

станию t0K(i,j)p,

 

(p=l,2,...,N).

 

 

 

 

t0K(i,j)P^t0K(i,j)P+i.

Упорядочение

означает,

что

 

и

все

В этом случае

упорядочены

будут

множества

Mm-i

и исключается перебор всех работ

этих множеств,

а выбираются подряд и исключаются

из

дальнейшего

рассмотрения все работы

до номера

I, для которого по­

следний раз выполняется t0K(i,j)i^tm-

 

 

Таким

образом,

одновременно из Mm-i

исключается

/ работ,

составляю­

щих множество

Dm,

и этап

3 выполняется

 

одновремен­

но с этапом 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В операторе

Л 4

этот

алгоритм

реализуется

с началь­

ными

значениями

/о = 0,

 

VHa4=0

и

tm+i = tm+At.

 

Еще

одной

функцией

оператора

Л 4

является

подготовка

на­

чальных условий для первой реализации

фактического

хода

процесса выполнения

комплекса

работ

сети

(на­

пример, установка нуля в счетчик

реализаций,

вычис­

ление До и ?i).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оператор F 5

формирует

массивы

исходных

данных

и начальные условия для к-й реализации.

 

В число ис­

ходных данных входят: таблица функции V0(t),

 

сеть с

данными для каждой

работы

(i, j)

: {t™ ,

v,

а,Ь,

s n n ) .

Начальными значениями

для k-й

реализации

являются

Т0, А0

и время первого опроса

t\.

Все эти значения мо­

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

Оператор Фб осуществляет случайный розыгрыш длительностей всех работ исходной сети либо усеченной

сети, сформированной оператором FK.

Длительность

каждой

работы

(i, j)

разыгрывается

в

пределах

[a(i, j), b(i, j)], задаваемых

оператором Л 3

для

исходной

сети, либо оператором Л 1 6

для усеченной сети с перерас­

пределенными ресурсами.

 

 

 

В качестве закона распределения длительности вы­

полнения

работы

принято

бета-распределение

с плотно-