Code Monkey home page Code Monkey logo

optimalfrequency's Introduction

OptimalFrequency

Введение

С ростом числа автомобилей вопрос определения оптимальных периодичностей операций технического обслуживания становится всё более актуальным. Для определения оптимальной периодичности ТО существует несколько методов:

  • Технико-экономический метод
  • По допустимому уровню безотказности
  • По допустимому значению и закономерности изменения технического состояния
  • Экономико-вероятностный метод
  • Метод статистических испытаний

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

Теоретические сведения

Метод определения периодичности ТО по допустимому уровню безотказности основан на выборе такой оптимальной периодичности ТО, при которой вероятность отказа однородного обслуживаемого КЭ из анализируемой выборки автомобилей не будет превышать установленной нормативной величины Fд, называемой риском. Соответственно величина будет являться допустимой вероятностью безотказной работы. Суть метода проиллюстрирована на рисунке. В качестве примера задано распределение отказов по нормальному закону.

Для обеспечения безотказной работы любого КЭ автомобиля должно выполняться условие: $Р(Х_i≥Х_γ)≥Р_Д=γ$, т. е. $l_0=X_γ$,
где $X_i$ – наработка до отказа КЭ автомобиля; $X_γ$– наработка, соответствующая оптимальной периодичности ТО данного КЭ автомобиля (γ-процентный ресурс).

Для конкретных КЭ автомобиля (агрегатов, систем, механизмов и т. д.), обеспечивающих безопасность движения, в нормативных документах принимается $Р_Д=0,90-0,98 (F_Д=0,02-0,01)$; для прочих КЭ автомобиля $Р_Д=0,85-0,90 ( F_Д=0,01-0,15)$.

Оптимальное значение периодичности ТО $l_0$ определяется в этом случае после интегрирования и решения уравнения: $F_Д=1-Р_Д=\int\limits_0^{l_0} f(x) \mathrm{d}x$

Определенное таким образом значение $l_0$ всегда существенно меньше средней наработки до отказа $\bar(Х)$, так как вероятность отказа КЭ автомобиля, равная 50%, не может считаться удовлетворительной. Преимуществами метода является относительная простота и учет реальных рисков отказов. Основный недостаток метода состоит в полном отсутствии учета материальных затрат на проведение ТО и ремонтов КЭ автомобилей.

Алгоритм поиска оптимальной периодичности

  1. Произвести статистическую оценку закона распределения данной выборки и определить её основные статистические параметры
    1. Разбить диапазон на интервалы
    2. Разбить диапазон на интервалы
    3. Произвести статистическую обработку наработок до отказа в каждом интервале (с указанием числа отказов в интервале, частости, оценки вероятности отказа, оценки плотности вероятности отказа, оценки вероятности безотказной работы, середины интервала)
    4. Определить основные оценки распределения наработок на отказ (средняя наработка на отказ, дисперсия распределения, среднее квадратическое отклонение)
    5. Построить гистограмму плотности распределения отказов и подтвердить/опровергнуть гипотезу о нормальном распределении случайной величины Поиск оптимальной периодичности выполняется по следующим шагам:
  2. Произвести статистическую оценку закона распределения данной выборки и определить её основные статистические параметры.
    1. Разбить диапазон на интервалы
    2. Произвести статистическую обработку наработок до отказа в каждом интервале (с указанием числа отказов в интервале, частости, оценки вероятности отказа, оценки плотности вероятности отказа, оценки вероятности безотказной работы, середины интервала)
    3. Определить основные оценки распределения наработок на отказ (средняя наработка на отказ, дисперсия распределения, среднее квадратическое отклонение)
    4. Построить гистограмму плотности распределения отказов и подтвердить/опровергнуть гипотезу о нормальном распределении случайной величины
  3. Проверить соответствие опытных данных нормальному закону распределения.
    1. Вычислить теоретические значения параметров выборки
    2. Проверить принадлежность выборки к нормальному закону по критерию согласия хи-квадрат (Пирсона)
    3. Найти оптимальную периодичность обслуживания
  4. Вывести результат пользователю

Стек технологий

  • Java 21
  • Gradle
  • Spring Boot (Spring Web + Thymeleaf, Spring AOP, Test)
  • Apache Commons Math
  • Apache Commons-IO
  • JFree-Chart

Описание работы программы

На главной странице требуется указать файл с наработками на отказ (позиция 1), выбрать из выпадающего списка величину риска (позиция 2), а также задать требуемый уровень значимости α (для поиска значения критерия Пирсона) в поле 3. Все поля являются обязательными для заполнения.

Правила формирования входного файла

Поддерживаемые типы файлов

Приложение поддерживает текстовые файлы в следующих форматах:

  • Однострочные файлы. (Возможные разделители: символ пробела, точка с запятой, запятая)
  • Многострочные файлы. (Разделитель: перенос строки)

Требования к файлам

  • Файл должен иметь расширение .txt или .csv
  • Поддерживаются только .csv-файлы с одним столбцом
  • В качестве разделителя десятичной части используется точка (.)
  • При использовании многострочного файла последняя строка не должна быть пустой
  • Кодировка файла - UTF-8

Страница результата

После вычислений пользователю выдаётся результат. Пользователю отображается значение оптимальной периодичности воздействия, статистическая обработка данных (с разбиением входных данных на интервалы). Пример отображения оптимальной периодичности и статистической обработки данных показан на рисунке:

После статистической обработки данных программа отображает гистограмму плотности распределения отказов:

Далее отображаются теоретические значения параметров выборки, значение критерия согласия Пирсона: А так же график плотности вероятности отказов, на котором отмечена оптимальная периодичность воздействия:

Если после проверки с помощью критерия Пирсона выяснилось, что выборка не подчиняется нормальному закону, то пользователю выдаётся сообщение об этом:

Запуск программы

Локальный запуск

Для локального запуска программы достаточно открыть командную строку в той директории, где находится исполняемый jar-файл с программой и выполнить команду: java -jar OptimalFrequency-1.0.jar

После выполнения команды в браузере по адресу http://localhost:8080 будет доступен интерфейс для работы с приложением.

Запуск на сервере

Для запуска программы на сервере требуются определённые настройки: рядом с исполняемым файлов следует создать файл настроек с именем application.properties. В нем необходимо указать порт, на котором будет работать приложение (для протокола HTTPS это 443), а также SSL-сертификат, который будет использоваться для HTTPS. Если в файле какая-либо настройка не указана, то программа использует её значение по умолчанию.

Пример файла application.properties приведён ниже:

server.port=443
server.ssl.key-store=/home/user/optimal_frequency/certificate.p12
server.ssl.key-store-password=mypassword
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=myKey

Приложение поддерживает все стандартные настройки фреймворка Spring.

nohup java -jar OptimalFrequency-1.0.jar > log.log 2>errors.log < /dev/null &

optimalfrequency's People

Contributors

ivanfomkin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.