Моделирование работы цеха в течение 400 ч. Определение вероятности простоя цеха из-за отсутствия деталей и средней загрузки цехового склада, страница 2

4. Программная реализация модели

function math()

% Задаем значения погрешностей

Delta1 = 1/6; % Dt возникновения необходимости в новой заготовке

Delta2 = 1/3; % Dt комплектования нового набора заготовок

Delta3 = 1/12; % Dt доставки набора заготовок в цех

Delta_t1 = 0;

T=linspace(0,400,16000);  % задаем интервал времени от 0 до 400 часов

                          % с ценой деления 0,025 часа

F=linspace(0,400,16000);  % кол-во заготовок на цеховом складе

AverageCharge=linspace(0,400,16000); % сред. загрузка цехового склада                       

TimeHold=linspace(0,400,16000);      % время простоя цеха                   

DownTimeProbability=linspace(0,400,16000)  % вероятность простоя цеха

i=1; % устанавливаем значение индекса на начало интервала времени

F(i) = 20;  % начальное количество заготовок в цехе        

TotCharge = 20 % начальная загрузка склада

TimeHold(i)=0;

t1=T(i)+1+rand*Delta1; % момент, когда нам понадобится

                            % следующая заготовка

DownTimeProbability(i)=0;

while i < 16000,

   i = i + 1;

   if(T(i)-t1) > 0

      F(i)= F(i-1)-1;

      TotCharge = TotCharge + F(i);

      AverageCharge(i) = TotCharge/i;

      t1=T(i) + 1 + rand*Delta1;

      Delta_t1 = t1-T(i);

      TimeHold(i) = TimeHold(i-1);

      DownTimeProbability(i)=TimeHold(i)/i;

      if(F(i)) == 3   % если количество заготовок в цехе

                      % достигло минимально допуст. уровня

          % расчитываем время доставки деталей с центрального склада

          t2 = T(i)+ 3 + rand*Delta2 + rand*Delta3;

          while(T(i)-t2) < 0, % смотрим на разв. событий до момента

             % доставки новых заготовок

             i = i + 1;      % продвигаем время на один щаг

             if i > 16000

                break;

             end                         

             if(T(i)-t1) > 0 % есть необходимость в новой заготовке ?

                if(F(i-1)-1) > 0  % если заготовки еще есть

                   F(i)=F(i-1)-1; % то уменьшаем их кол-во на складе

                   TimeHold(i) = TimeHold(i-1);

                   DownTimeProbability(i)=TimeHold(i)/i;                  

                   TotCharge = TotCharge + F(i);

                   AverageCharge(i) = TotCharge/i;                  

                else

                   F(i)=0;  % а если нет то увеличиваем время простоя

                   TotCharge = TotCharge + F(i);

                   AverageCharge(i) = Charge/i;                  

                   TimeHold(i) = TimeHold(i-1) + Delta_t1;

                   DownTimeProbability(i)=TimeHold(i)/i;                  

                end

                t1=T(i)+1+rand*Delta1;

                Delta_t1 = t1 - T(i);

             else

                F(i)=F(i-1);

                TotCharge = TotCharge + F(i);

                AverageCharge(i) = TotCharge/i;               

                TimeHold(i) = TimeHold(i-1);

                DownTimeProbability(i)=TimeHold(i)/i;               

             end

          end

          F(i)=20;

      end

   else

      F(i)=F(i-1);                   

      TotCharge = TotCharge + F(i);

      AverageCharge(i) = TotCharge/i;     

      TimeHold(i) = TimeHold(i-1);

      DownTimeProbability(i)=TimeHold(i)/i;     

   end

end

subplot(2,2,1), plot(T,F,'k-');

title('Количество заготовок на цеховом складе');

subplot(2,2,2), plot(T,TimeHold,'r-');

title('Время простоя цеха');

grid on;

subplot(2,2,3), plot(T,AverageCharge,'b-');

title('Средняя загрузка склада');

xlabel('Время');

grid on;

subplot(2,2,4), plot(T,DownTimeProbability,'g-');

title('Вер. простоя цеха');

grid on;


5. Результаты работы:

 


Вероятность простоя цеха будет равна 0, если формировать заявку на пополнение запасов в случае снижения количества деталей на цеховом складе до 4 единиц. Результаты моделирования представлены на рис. 2

Рис. 3: Результаты работы модели цеха (при условии отсутствия простоев)