2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1 ... 4, 5, 6, 7, 8  След.
 
 Re: Кривая интенсивности отказов
Сообщение16.11.2015, 14:53 
Аватара пользователя
Для этапа приработки может быть совершенно иной механизм - притирка трущихся частей, в некоторых случаях отклонения противоположного знака и клинит.
Для старения могут быть несколько принципиально разных по поведению механизмов. Скажем, простейший случай - "старение" продукт коррозии. Железная деталь без покрытия корродирует равномерно, цинковое покрытие сперва гибнет само, образуя с железом гальваническую пару, и только после его разрушения начинается коррозия железа, а какое-нибудь медное ускоряет разрушение железа, как только появятся первые в нём дефекты.
Поэтому придумывать априорную "модель старения" бессмысленно. Надо идти от физики процесса, а не зная её - иметь мудрость довольствоваться аппроксимацией.

 
 
 
 Re: Кривая интенсивности отказов
Сообщение16.11.2015, 17:09 
Аватара пользователя
Евгений Машеров в сообщении #1073981 писал(а):
Поэтому придумывать априорную "модель старения" бессмысленно. Надо идти от физики процесса, а не зная её - иметь мудрость довольствоваться аппроксимацией.

Законов изменения интенсивности отказов всего несколько (по крайне мере наиболее известных). Значит и типовых моделей всего несколько. А что там в негодность приходит в каждом конкретном случает: оцинковка трубы или межклеточная мембрана, это уже подробности.

-- 16.11.2015, 18:12 --

Korvin в сообщении #1074006 писал(а):
Касаемо разрушения - если объект фрактален, и разрушение может происходить на разных уровнях, то где-то обязательно спрячется степенная зависимость, это свойственно всем фрактальным объектам.

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

 
 
 
 Re: Кривая интенсивности отказов
Сообщение16.11.2015, 19:22 
Аватара пользователя
prof.uskov в сообщении #1074012 писал(а):
Законов изменения интенсивности отказов всего несколько (по крайне мере наиболее известных).


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

 
 
 
 Re: Кривая интенсивности отказов
Сообщение16.11.2015, 20:27 
Аватара пользователя
Евгений Машеров в сообщении #1074053 писал(а):
prof.uskov в сообщении #1074012 писал(а):
Законов изменения интенсивности отказов всего несколько (по крайне мере наиболее известных).

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

Я Вашу точку зрения понимаю, но не разделяю. Вот как думаете, интенсивность смертности людей на этапе старения больше похожа на выход из строя старых подшипников или перегорание старых ламп накаливая? :)

 
 
 
 Re: Кривая интенсивности отказов
Сообщение16.11.2015, 20:50 
Аватара пользователя
Если верить концепции апоптоза - ни на то, ни на другое.

 
 
 
 Re: Кривая интенсивности отказов
Сообщение16.11.2015, 21:27 
 !  prof.uskov
post1073935.html#p1073935 Замечание за избыточное цитирование.

 
 
 
 Re: Кривая интенсивности отказов
Сообщение16.11.2015, 22:20 
Аватара пользователя
 i  Оффтопик отделен сюда: «Законы распределения, часто встречающиеся на практике»

 
 
 
 Re: Кривая интенсивности отказов
Сообщение17.11.2015, 08:12 
Аватара пользователя
Евгений Машеров в сообщении #1074075 писал(а):
Если верить концепции апоптоза - ни на то, ни на другое.

С апоптозом клеток вспомнился мем отчего нервные клетки не восстанавливаются, а жировые не умирают. Как выясняется, нервные таки восстанавливаются, а вот с жировыми мнения раскололись - умирают они на диетах или только уменьшаются в объеме. Второе мнение более распространенное, первое же считается ересью. Хотя отдельными ссылками подкрепляется.

 
 
 
 Re: Кривая интенсивности отказов
Сообщение20.11.2015, 19:32 
Аватара пользователя
Ну вот, собственно и простая модель постепенного отказа. В каждом акте функционирования изделия Action() разыгрывается и приращение "счётчика усталости" FatigueCounter с вероятностью PFatigue. Когда этот счетчик превышает некоторое пороговое значение FatigueStep, изделие отказывает. Код:
код: [ скачать ] [ спрятать ]
Используется синтаксис C
//********************* глобальные переменные модуля ********************
TForm1 *Form1;
double PBrak = 0.25;    // вероятность изготовления бракованного изделия
double PFail = 0.001;   // вероятность выхода из строя изделия
double PFailBrak = 0.05;// вероятность выхода из строя бракованного изделия
double Lambda[11000];   // интенсивность отказа
double PFailes[11000];  // вероятность выхода из строя в зависимости от времени
int NLambda = 5000;     // количество элементов в массиве Lambda
int TStep = 1000;       // порог увеличения  вероятности выхода из строя
int FatigueStep = 150;  // порог усталости
double PFatigueFail = 0.1; // вероятность приращения счётчика постепенного отказа
//********************* описание класса изделия **************************
class CDevice
{
 public:
 bool Brak; // флаг брака
 bool Fail; // флаг отказа
 int FatigueCounter;
 // конструктор
 __fastcall CDevice(void);
 // создание устройства (возвращает флаг брака после создания)
 bool __fastcall Creat(void);
 // функционирование устройства (возвращает флаг отказа после выполнения)
 bool __fastcall Action(void);
} Devices[11000];// устройства
int NDevices = 10000;    // количество устройств
//-------------------------------- конструктор ---------------------------------
__fastcall CDevice::CDevice(void)
{Creat();}
//---------------------------- создание устройства -----------------------------
bool __fastcall CDevice::Creat(void)
{
 Fail = false;
 FatigueCounter = 0;
 if(random(1000)< PBrak*1000) Brak = true;
 else Brak = false;
 return Brak;
}
//------------------------- функционирование устройства ------------------------
bool __fastcall CDevice::Action(void)
{
 // случайный отказ
 if(Brak)
  {if((double)random(1000000) < PFailBrak*1000000) Fail = true;}
 else
  {if((double)random(1000000) < PFail*1000000.0) Fail = true;}
 // постепенный отказ
 if((double)random(1000000) < PFatigueFail*1000000) FatigueCounter++;
 if(FatigueCounter > FatigueStep) Fail = true;

 return Fail;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 randomize();
}
//---------------------------------------------------------------------------
// кнопка пуск
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 double PFailCpy = PFail;
 // Очистка массива интенсивности отказов
 for(int k = 0; k < NLambda; k++) Lambda[k] = 0.0;
 int NAlt = 10; // количество альтернатив
 for(int k=0; k < NAlt; k++)
 {
  PFail = PFailCpy;
  // создание устройств
  for(int i = 0; i < NDevices; i++)
   Devices[i].Creat();
  // эксплуатация
  int N = NDevices; // количество исправно работающих образцов
  int n; // количество отказавших образцов за единицу времени
  double Nm; // среднее количество исправно работающих образцов в единицу времени
  for(int t = 0; t < NLambda; t++) // цикл по времени
  {
   n = 0;
   for(int i = 0; i < NDevices; i++)// цикл по устройствам
   {
    if(Devices[i].Fail) continue;
    if(Devices[i].Action()) n++;
   }
   if(N!=0)  Lambda[t] += (double)n / ((double)N-(double)n/2.0);
   PFailes[t] = PFail+PFailBrak*pow(1.0-PFailBrak,t)*PBrak;
   //if(N!=0)  Lambda[t] += (double)n / (double)N;

   Nm = N;
   N = N - n;
   Nm = (Nm + (double)N)/2.0;
  }
 }
 for(int t = 0; t < NLambda; t++) Lambda[t] /= (double)NAlt;
  PFail = PFailCpy;

 // вывод результатов
 Diagram1->NewKeeperList(2);
 Diagram1->GetKeeper(0)->KeepEDouble(Lambda,0,NLambda-1,NLambda);
 Diagram1->GetKeeper(1)->KeepEDouble(PFailes,0,NLambda-1,NLambda);
 Diagram1->GetKeeper(1)->SetColor(clRed);
 Diagram1->SetRangeX(0,1500);
 Diagram1->AutoRangeY();
}
 

Результат моделирования (усреднено по 10 жизненным циклам):
Вложение:
4.jpg


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Кривая интенсивности отказов
Сообщение20.11.2015, 22:24 
Аватара пользователя
profrotter, да, вот теперь есть некий механизм выхода из строя... например, попадания снаряда постепенно разрушают мишень... это же можно было смоделировать с помощью марковской цепи, например, используя идею Евгений Машеров, взяв размерность матрицы - FatigueStep и подсчитывать число оставшихся изделий на каждом шаге... это действительно обеспечит постоянный рост интенсивности отказов? А если продолжить моделирование в Вашей модели не будет стабилизации, что-то правый хвост подозрительный, не стали ли там вторая производная отрицательной?

 
 
 
 Re: Кривая интенсивности отказов
Сообщение23.11.2015, 14:43 
Аватара пользователя
profrotter, то что вы предлагаете, в точности модель Евгений Машеров, только нитей не 4, а FatigueStep. В ней интенсивность отказов асимптотически сходится к постоянной, т.е. после нормальной эксплуатации наступает старение, а потом снова нормальная эксплуатация, что явно неверно.

 
 
 
 Re: Кривая интенсивности отказов
Сообщение23.11.2015, 20:24 
Аватара пользователя
prof.uskov в сообщении #1075970 писал(а):
в точности
В точности, если мне не изменяет память, вам не удалось получить длительный период нормальной эксплуатации. Поэтому не в точности, а в комбинации, о чём уже было сказано:
profrotter в сообщении #1073900 писал(а):
Но ввести ещё и постепенный отказ, который сделать на основе многожильного каната Евгений Машеров.

prof.uskov в сообщении #1075970 писал(а):
В ней интенсивность отказов асимптотически сходится к постоянной, т.е. после нормальной эксплуатации наступает старение, а потом снова нормальная эксплуатация, что явно неверно.
С чего Вы это взяли? В моей модели ничего такого нет. Там, где Вы ожидаете второй период нормальной эксплуатации, там... в общем, все умерли. Вот смотрите сами хвост при тех же условиях, что и в предыдущем сообщении, и даже для 100 000 изделий:
Вложение:
5.jpg


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Кривая интенсивности отказов
Сообщение23.11.2015, 21:17 
Аватара пользователя
Сделал тоже, что и Вы, но с помощью марковской модели:
В каждом акте функционирования изделия возможность приращение "счётчика усталости" с вероятностью PFatigue=0.1. Когда этот счетчик превышает пороговое значение FatigueStep=4, изделие отказывает.
График интенсивности отказов:
Изображение
А вот увеличенный масштаб:
Изображение

 
 
 
 Re: Кривая интенсивности отказов
Сообщение24.11.2015, 23:28 
Аватара пользователя
prof.uskov в сообщении #1076040 писал(а):
Сделал тоже, что и Вы, но с помощью марковской модели:
Нет конечно. Вы сделали во-первых что-то неизвестное (кода никто не видел), а во-вторых не то же, что и я. У меня при $FatigueStep=4$ получается так:
Вложение:
6.jpg

Чуть ранее 220-й итерации все умерли (смотрел при количестве изделий 10000 и 100000) и никакого "дополнительного периода" нормальной эксплуатации. Просто все изделия отказали из-за постепенного отказа, не успевая отказать из-за брака и внезапных отказов. Понятно, что значение параметра модели постепенного отказа $FatigueStep=4$ не соответствует смыслу: постепенные отказы должны иметь место после большого количества актов функционирования изделия, следуя за периодом нормальной эксплуатации.

Но главная загадка не в том, что именно Вы сделали, а в том, зачем Вы это сделали? И почему Вы это не сделали, например, при $FatigueStep=150$?


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Кривая интенсивности отказов
Сообщение25.11.2015, 11:11 
Аватара пользователя
Вот моя модель, если так интересно: https://img-fotki.yandex.ru/get/16143/2 ... 0a_XXL.jpg
profrotter, линия очень близка к Вашей.
Я немного ошибся, у меня в Ваших обозначениях $FatigueStep=5$

 
 
 [ Сообщений: 108 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group