[Перевод] Анализ надёжности в Wolfram SystemModeler 4.1
Перевод поста Jan Brugård и Johan Rhodin «Reliability Analysis in SystemModeler 4.1».Скачать файл с моделями, рассмотренными в посте, можно здесь здесь.Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе. Сегодня мы с радостью анонсируем Wolfram SystemModeler 4.1. В дальнейшем будет представлена серия публикаций, в которых мы осветим новый функционал в сфере надёжности систем.Будет представлено несколько примеров, которые Вы сами сможете опробовать, скачав пробную версию SystemModeler, модель из этого поста и пробную версию Wolfram Hydraulic library.
Большинство людей сталкивались с ситуацией, когда какая-то вещь, которую они купили и пользовались в дальнейшем, вдруг по какой-то причине ломается. За последние несколько лет оба автора статьи сталкивались с подобной проблемой — масштабные неисправности с двигателем в машине Йохана (его пришлось заменить) и проблемы с приёмником у Яна, который совсем стих (его пришлось отправить в сервисный центр и поменять сетевой чип).
В обоих случаях это вызвало проблемы как у потребителей (у нас), так и у производителей. Это всего лишь пара примеров, и я уверен, что у Вас тоже наверняка найдётся подобный пример.
Бытовая электроника, спутниковые системы, системы для авиации — не важно, всё имеет определённые причины для оценки надёжности.Из-за поломок могут потребоваться затраты на гарантийное обслуживание — как в случае с сетевым чипом; огромные сложности, связанные с ремонтом — как в случае с двигателем, а для спутника потребуется ещё больше затрат. А что касается самолётов — тут уже прямая угроза человеческой жизни.
Напрашивается вопрос — как модели с количественно неопределенными показателями могут быть использованы для повышения надежности и функциональности системы.
Внедрение системы для анализа надёжности в SystemModeler позволяет вычислять надёжность всей системы через надёжность её компонентов. Давайте посмотрим.
Давайте начнём с уровня компонентов и просчитаем вероятность отказа гидравлической трубы:
Представлены диаграммы труб при нормальном функционировании, ограниченном функционировании, при протечке и когда труба заблокирована.
Это довольно простой компонент, который может находиться в трёх возможных состояниях неисправности — протекать, ограниченно пропускать или быть заблокированным.
Вот система, включающая три трубы, в которой мы можем рассмотреть различные виды отказа:
Модель с тремя трубами, одним цилиндром и одним насосом. Накачка жидкости приводит к тому, что цилиндр выталкивает стержень, и уровень изменяется.
Неисправность обнаружена! Уровень совсем не движется, когда труба заблокирована.
Можно определить вид неисправности, посмотрев на результаты моделирования, и составить список вероятных причин поломки. Вообще, этим занимаются специалисты в диагностике и обнаружении неполадок, и мы не будем особо касаться этой темы. Вместо этого в этом посте мы сосредоточимся на общей надежности систем, наподобие вышеупомянутой.
Работу трубы можно проиллюстрировать классическим деревом неисправностей, где неисправность в одном листе порождает неисправность всей системы:
Дерево неисправностей для трубы.
С нововведённым надёжностным подходом в SystemModeler мы можем задать распределения сроков службы отдельных компонентов:
Надёжностный подход в SystemModeler, где распределения сроков службы соответствуют отдельным компонентам.
После этого построим дерево неисправностей для трубы, указав, какой именно из типов неисправностей (течь, ограниченная пропускаемость, полная блокировка) приведёт к неисправности системы в целом:
Надёжностный подход к рассмотрению компонентов с несколькими распределениями сроков службы. Тут задаётся дерево неисправностей вводом логического выражения для данной конфигурации.
Теперь дерево неисправностей доступно для анализа в Wolfram Language (Mathematica):
Функция WSMModelReliability может возвращать FailureDistribution (когда она использует дерево неисправностей), ReliabilityDistribution (когда она использует блок-схему надёжности) или распределение срока службы компонента. Традиционный способ проиллюстрировать надёжность компонентов или систем — использовать SurvivalFunction, которая выдаёт вероятность того, что система будет исправна в течение времени t. Для одной трубы это будет выглядеть так:
Это распределение подобно любому вероятностному распределению в Wolfram Language. Из него можно получить более 30-ти свойств, к примеру условную вероятность того, что труба прослужит более 20,000 часов, учитывая, что она уже проработала 10,000 часов:
Символ является условным оператором Conditioned, а является дескриптором Distributed распределения случайной величины. Код выше можно прочитать следующим образом: вероятность того, что труба будет всё ещё работать после отработанных 20 000 часов, если 10 000 часов уже отработано.
Системы, конечно, состоят из большого количества труб. Вот схема гидравлической системы закрылков самолёта Cessna, которая содержит несколько труб (см. статью на Хабрахабре «Моделирование сценариев неисправностей закрылков самолёта с помощью Wolfram SystemModeler»):
Гидравлическая система закрылков самолёта Cessna с одним баком, двумя насосами, множеством клапанов и пятнадцатью трубами.
SystemModeler автоматически считывает вшитые показатели надёжности труб гидравлической системы, в результате чего можно просчитать надёжность всей системы. Первый вопрос, который следует рассмотреть — насколько ниже будет надёжность всей гидравлической системы по сравнению с отдельной трубой:
Сравнение надёжности одной трубы и всей гидравлической системы.
Чего и следовало ожидать — система из множества труб гораздо менее надёжна, чем одна отдельно взятая труба. Это есть иллюстрация феномена «самого слабого звена»: неисправность в одной трубе вызовет сбой всей системы.
Если мы рассмотрим те же компоненты закрылков самолёта, то столкнёмся с чем-то похожим.
Объединим теперь гидравлическую систему с закрылками (всего 75 компонентов). В SystemModeler достаточно лишь указать, что нам нужна гидравлическая система и система закрылков (hydraulicPower и flaps).
Самолёт Cessna с точки зрения надёжности. Тут представлены распределения ожидаемых сроков службы для гидравлической системы и системы закрылков.
Функции надёжности для различных частей системы.
Надёжность всей системы ниже, чем надёжность каждого из компонентов. Этот закон применим для всех систем — чем больше компонентов в системе, тем выше вероятность, что откажет какой-то отдельный компонент.
Давайте теперь выясним, какой из компонентов выгоднее всего будет улучшить. Wolfram Language содержит девять различных функций меры важности, и самая простая из них — StructuralImportance. Выясним же, какие именно неисправности проще всего устранить в трубе:
Потенциал усовершенствования для различных неисправностей трубы.
Важность усовершенствования указывает на то, как сильно увеличится надёжность системы при замене компонента на его идеальный аналог. Важность усовершенствования — мера относительная, и чтобы она обладала каким-то смыслом, её необходимо брать в контексте всей системы и её компонентов. Из графика становится ясно, что путь устранения ограниченной пропускаемости трубы сильнее всего увеличит надёжность системы. Можно проделать то же самое для всей системы и сравнить систему закрылков с гидравлической системой:
Потенциал усовершенствования для гидравлической системы определённо выше, чем для закрылков.
Из этого графика можно почерпнуть несколько важных моментов. Во-первых, усовершенствование гидравлической системы по сравнению с усовершенствованием закрылков имеет более высокий уровень окупаемости в контексте срока службы всей системы. Во-вторых, окупаемость будет тем выше, чем больше соотношение (начиная с 1.66) между вкладами в усовершенствование гидравлической системы и закрылков. Это не особо видно на графике, однако это становится очевидным при сравнении чисел. К примеру, при сроке службы в 3,788 часов, когда гидравлической системе соответствует самое высокое значение, соотношение будет равным 2.08, а при сроке службы в 10,000 часов — 3.38.
Анализ надёжности показывает, в каком месте следует сосредоточить основные усилия по совершенствованию системы, повышая тем самым надёжность продукта, оценить, где может произойти сбой и привести полученные данные в соответствие с гарантийной политикой.
На сайте SystemModeler Вы можете более подробно ознакомиться с тем, что нового представлено в SystemModeler 4, изучая примеры, бесплатные курсы, исследуя полнофункциональную пробную версию.
P.S. В предыдущем посте «Моделирование сценариев неисправностей закрылков самолёта с помощью Wolfram SystemModeler» изучалась неисправность в электронной системе, а в статье «Reliability Mathematics with Mathematica» подробно была освещена функциональность Mathematica в сфере анализа надёжности. Наконец, из бесплатного курса «Modeling Safety-Critical Systems» можно почерпнуть некоторые знания о моделировании неисправностей отдельных компонентов и как они влияют на поведение системы в целом.