Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборные_Ответы_Вопросы_МСиП_v1.docx
Скачиваний:
22
Добавлен:
15.01.2025
Размер:
31.36 Mб
Скачать
  1. Пример имитационной модели информационной системы.

Будем полагать, что имеется некоторая ИС, состоящая из нескольких частей (блоков). Каждый блок имеет 2 состояния: исправен и неисправен. Сама система тоже может иметь два состояния: исправная или неисправная. Система считается исправной, если исправны 3 блока. Нам известны статистические характеристики надёжности каждого блока. Цель моделирования – определить надёжность всей системы

ИС

Блок 1

Блок 2

Блок 3

Блок 4

Дано:

  • – вероятность отказа блока 1

  • – вероятность отказа блока 2

  • - – вероятность отказа блока 3, если блок 2 отказал, – вероятность отказа блока 3, если блок 2 отказал и наоборот

  • – вероятность отказа блока 4

Найти: отказа всей системы.

Если в результате моделирования получилось, что вероятность отказа меньше допустимой, то система излешне надежна. Значит высокие характеритики надежности. Можно повторить моделирование при более высоких отказа блоков. Введём понятие индикатора:

  • Если блок – исправен, то

  • Если блок – неисправен, то

  • Решение:

Составляем программу в MatLab:

% Цикл по числу экспериментов I для оценки отказа системы

for i = 1:I           

    % Генерация случайного числа для блока 1

    x = rand(1);    

    % Проверка условия исправности блока 1

    if x >= p1       

        R(1) = 0;    % Блок 1 исправен

    else

        R(1) = 1;    % Блок 1 неисправен

    end;

    % Генерация случайного числа для блока 2

    x = rand(1);    

    % Проверка условия исправности блока 2

    if x >= p2       

        R(2) = 0;    % Блок 2 исправен

    else

        R(2) = 1;    % Блок 2 неисправен

    end;

    % Проверка состояния блока 2 для определения вероятности отказа блока 3

    if R(2) == 1     % Если блок 2 неисправен

        x = rand(1); % Генерация случайного числа

        if x >= p3_1 % Вероятность отказа блока 3 при отказе блока 2

            R(3) = 0; % Блок 3 исправен

        else

            R(3) = 1; % Блок 3 неисправен

        end;

    else             % Если блок 2 исправен

        x = rand(1); % Генерация случайного числа

        if x >= p3_0 % Вероятность отказа блока 3 при исправности блока 2

            R(3) = 0; % Блок 3 исправен

        else

            R(3) = 1; % Блок 3 неисправен

        end;

    end;

    x = rand(1);     % Генерация случайного числа для блока 4

    if x >= p4   % Проверка условия исправности блока 4    

        R(4) = 0;    % Блок 4 исправен

    else

        R(4) = 1;    % Блок 4 неисправен

    end;

    % Суммирование индикаторов состояния блоков (0 - исправен, 1 - неисправен)

    R_sum = R(1) + R(2) + R(3) + R(4); % Возможные значения: 0, 1, 2, 3, 4

    % Если хотя бы один блок неисправен, система считается отказавшей

    if R_sum >= 1     

        R_sys(i) = 1; % Система отказала

    else

        R_sys(i) = 0; % Система исправна

    end;

end;

% Оценка вероятности отказа системы как доли отказавших экспериментов

p = sum(R_sys) / I;

В результате мы будем иметь массив отказов. Если на -ом эксперименте система отказала. Мы имеем оценку вероятности. Если получилось что не означает полное отсутствие отказов системы, то это означает что было проведено недостаточное количество экспериментов.

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

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