Автор работы: Пользователь скрыл имя, 04 Мая 2013 в 20:35, курсовая работа
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).
Программное обеспечение……………………………………………………………………………………………………3
Систематизация процесса контроля в условиях ограничений частичной упорядоченности……………………………………………………………………………………………………………………4
Теоретическая часть……………………………………………………………………………………………………..4
Практическая часть……………………………………………………………………………………………………….7
Выводы……………………………………………………………………………………………………………………….18
Определение количества повторных измерений контролируемых параметров оптимального по критерию максимума достоверности результатов……………………………….19
Теоретическая часть……………………………………………………………………………………………………19
Практическая часть…………………………………………………………………………………………………….20
Выводы……………………………………………………………………………………………………………………….24
Список используемой литературы………………………………………………………………………………………25
Решение: На рисунке 2 изображен граф всех возможных вариантов проведения проверок:
Рисунок 2 – Граф вариантов проведения проверок
Переобозначим вершины zi в Sk (рисунок 3).
Рисунок 3 – Граф состояний
Проведем отсечение некоторых ветвей МВГ.
1.Построим z-размерную квадратную матрицу bij.
2. Определим наиболее раннее начало модуля zk.
или =>
или =>
T(Lk) =
или
или
или
Таблица №3
zi |
ti |
U |
tij | ||
z0 |
0 |
0 |
32 |
(0, 1) |
0 |
z1 |
2 |
0 |
32 |
(0, 2) |
0 |
z2 |
4 |
0 |
19 |
(1, 3) |
15 |
z3 |
5 |
17 |
15 |
(2, 4) |
12 |
z4 |
3 |
29 |
3 |
(2, 5) |
3 |
z5 |
8 |
7 |
8 |
(3, 4) |
7 |
z6 |
0 |
32 |
0 |
(4, 6) |
0 |
(5, 6) |
0 |
.
где t*(Sk)=Στi + Στkl .
Шаг 1
S0, z0;
N(S1) = {z1,z2};
Y(S1) = {z0};
t*(S0) = τ0 = 0;
Tоц(S0) = 0 + max {32 + 0; 19 + 0} = 32.
Шаг 2
S1, z1;
N(S1) = {z2,z3};
Y(S1) = {z0,z1};
t*(S1) = τ0 + τ1 + t01 = 0 + 2 + 0 = 2;
Tоц(S1) = 2 + max {19 + 0; 15 + 17 - 2} = 2 + 30 = 32.
Шаг 3
S2, z2;
N(S2) = {z1,z5};
Y(S2) = {z0,z2};
t*(S2) = τ0 + τ2 + t02 = 0 + 4 + 0 = 4;
Tоц(S2) = 4 + max {32 + 0; 8 + 7 - 4} = 4 + 32 = 36.
Шаг 4
S3, z2;
N(S3) = {z3,z5};
Y(S3) = {z0,z1,z2};
t*(S3) = τ0 + τ1 + τ2 + t01 + t12 = 0 + 2 + 4 + 0 + 0 = 6;
Tоц(S3) = 6 + max {15 + 17 - 6; 8 + 7 - 6} = 6 + 26 = 32.
Шаг 5
S4, z3;
N(S4) = {z2};
Y(S4) = {z0,z1,z3};
t*(S4) = τ0 + τ1 + τ3 + t01 + t13 = 0 + 2 + 5 + 0 + 15 = 22;
Tоц(S4) = 22 + max {19 + 0} = 41.
Шаг 6
S5, z3;
N(S5) = {z4,z5};
Y(S5) = {z0,z1,z2,z3};
t*(S5) = τ0 + τ1 + τ2 + τ3 + t01 + t12 + t23 = 0 + 2 + 4 + 5 + 0 + 0 + 0 = 11;
Tоц(S5) = 11 + max {3 + 29 - 11; 8 + 0} = 11 + 21 = 32.
Шаг 7
S6, z5;
N(S5) = {z3};
Y(S5) = {z0,z1,z2,z5};
t*(S5) = τ0 + τ1 + τ2 + τ5 + t01 + t12 + t25 = 0 + 2 + 4 + 8 + 0 + 0 + 3 = 17;
Tоц(S5) = 17 + max {15 + 0} = 32.
Шаг 8
S7, z3;
N(S7) = {z4};
Y(S7) = {z0,z1,z2,z5,z3};
t*(S7) = τ0 + τ1 + τ2 + τ5 + τ3 + t01 + t12 + t25 + t53 =0 + 2 + 4 + 5 + 8 + 0 + 0 + 3 + 0 = 22;
Tоц(S7) = 22 + max {3 + 29 - 22} = 32.
Шаг 9
S8, z4;
N(S8) = {z6};
Y(S8) = {z0,z1,z2,z5,z3,z4};
t*(S8) = τ0 + τ1 + τ2 + τ5 + τ3 + τ4 + t01 + t12 + t25 + t53 + t34 = 0 + 2 + 4 + 5 + 3 + 8 + 0 + 0 + 3 + 0 + 7 = 32;
Tоц(S8) = 32 + max {0 + 32 - 32} = 32.
Рисунок 4 – Граф решений
Таким образом, мы получили дерево решений (рисунок 5).
Таблица №4 – Оценки нижних границ
S |
zi |
N(Sk) |
Y(Sk) |
t*(Sk) |
Tоц(Sk) |
S0 |
z0 |
z1z2 |
z0 |
0 |
32 |
S1 |
z1 |
z2z3 |
z0z1 |
2 |
32 |
S2 |
z2 |
z1z5 |
z0z2 |
4 |
36 |
S3 |
z2 |
z3z5 |
z0z1z2 |
6 |
32 |
S4 |
z3 |
z2 |
z0z1z3 |
22 |
41 |
S5 |
z3 |
z4z5 |
z0z1z2z3 |
11 |
32 |
S6 |
z5 |
z3 |
z0z1z2z5 |
17 |
32 |
S7 |
z3 |
z4 |
z0z1z2z5z3 |
22 |
32 |
S8 |
z4 |
z6 |
z0z2z2z5z3z4 |
32 |
32 |
Наряду с ручным счетом, решение задачи реализовано с помощью программного алгоритма, написанного на языке программирования Python версии 2.7.
Листинг программы представлен в приложении 1 (c. 35).
Для работы программа требует файл под названием “data” с исходными данными в следующем виде:
7 - кол-во элементов
0 2 4 5 3 8 0 - тау
-1 0 0 -1 -1 -1 -1 - матрица t
-1 -1 -1 15 -1 -1 -1
-1 -1 -1 -1 12 3 -1
-1 -1 -1 -1 7 -1 -1
-1 -1 -1 -1 -1 -1 0
-1 -1 -1 -1 -1 -1 0
-1 -1 -1 -1 -1 -1 -1
0 1 1 0 0 0 0 - матрица связей графа
0 0 0 1 0 0 0
0 0 0 0 1 1 0
0 0 0 0 1 0 0
0 0 0 0 0 0 1
0 0 0 0 0 0 1
0 0 0 0 0 0 0
Результат работы программы:
$ python main.py
Рисунок graph.png сохранен
Рисунок variant_tree.png сохранен
Построим z-размерную матрицу bij:
-∞ 0 0 -∞ -∞ -∞ -∞
-∞ -∞ -∞ 17 -∞ -∞ -∞
-∞ -∞ -∞ -∞ 16 7 -∞
-∞ -∞ -∞ -∞ 12 -∞ -∞
-∞ -∞ -∞ -∞ -∞ -∞ 3
-∞ -∞ -∞ -∞ -∞ -∞ 8
-∞ -∞ -∞ -∞ -∞ -∞ -∞
Определим более раннее время начала модуля zk.
Tn(z0) = 0
Tn(z1) = 0 + 0 = 0
Tn(z2) = 0 + 0 = 0
Tn(z3) = 0 + 17 = 17
Tn(z4) = 0 + 16 = 16
Tn(z4) = 17 + 12 = 29
max(Tn(z4)) = 29
Tn(z5) = 0 + 7 = 7
Tn(z6) = 29 + 3 = 32
Tn(z6) = 7 + 8 = 15
max(Tn(z6)) = 32
Определим длины путей, которые ведут от вершины zk к миноранте.
T(L*(z0)) = 0 + 0 + 2 + 15 + 5 + 7 + 3 + 0 = 32
T(L*(z0)) = 0 + 0 + 4 + 12 + 3 + 0 = 19
T(L*(z0)) = 0 + 0 + 4 + 3 + 8 + 0 = 15
max(T(L*(z0))) = 32
T(L*(z1)) = 2 + 15 + 5 + 7 + 3 + 0 = 32
T(L*(z2)) = 4 + 12 + 3 + 0 = 19
T(L*(z2)) = 4 + 3 + 8 + 0 = 15
max(T(L*(z2))) = 19
T(L*(z3)) = 5 + 7 + 3 + 0 = 15
T(L*(z4)) = 3 + 0 = 3
T(L*(z5)) = 8 + 0 = 8
T(L*(z6)) = 0
Полученные данные сведем в таблицу.
Z τ Tn TL U t
z0 0 0 32 (0, 1) 0
z1 2 0 32 (0, 2) 0
z2 4 0 19 (1, 3) 15
z3 5 17 15 (2, 4) 12
z4 3 29 3 (2, 5) 3
z5 8 7 8 (3, 4) 7
z6 0 32 0 (4, 6) 0
Оценки нижних границ:
S z N Y t* Tоц
S0 z0 12 0 0 32
S1 z1 23 01 2 32
S2 z2 15 02 4 36
S3 z2 35 012 6 32
S4 z3 2 013 22 41
S5 z3 45 0123 11 32
S6 z5 3 0125 17 32
S7 z3 4 01253 22 32
S8 z4 6 012534 32 32
Рисунок solve_tree.png сохранен
Файл graph.png показан на рисунке 6.
Рисунок 6 – Автоматически построенный программой исходный граф
Файл varint_tree.png показан на рисунке 7.
Рисунок 7 – Автоматически построенный программой граф вариантов проведения проверок
Файл solve_tree.png показан на рисунке 8.
Вывод
Оптимальному процессу контроля соответствует следующая стратегия прохождения модулей {z0,z1,z2,z5,z3,z4,z6}. При этом общее время контроля составляет Т = 32 единицы.
Результаты ручного решения задачи идентичны результатам, полученным с помощью созданного программного алгоритма.
Определение количества повторных измерений контролируемых параметров.
Теоретическая часть
Как правило, на автоматизированный контроль объектов отводится определенное время, между тем при однократных измерениях выбранного количества контролируемых параметров это время полностью не используется, т. е. остается некоторый избыток времени. Эту избыточность времени можно использовать в целях повышения достоверности результатов автоматизированного контроля сложных объектов применением многократных (повторных) измерений контролируемых параметров. Таким образом, возникает задача оптимального использования временной избыточности или, что то же самое, при контроле совокупности параметров возникает задача определения оптимального количества повторных измерений, обеспечивающего максимальную достоверность результатов контроля.
Рассмотрим две следующие
1. Требуется обеспечить максимально
возможную достоверность
2. Требуется обеспечить не менее, чем заданную достоверность результатов контроля при минимальном суммарном времени измерения контролируемых параметров.
Введем следующие обозначения:
Р - достоверность результатов контроля объекта (вероятность получен и я правильных результатов, - заданное значение);
Т – суммарное время измерения всех контролируемых параметров ( - заданное значение);
m - количество контролируемых параметров;
- количество повторных
- время одного измерения i-гo параметра;
- достоверность результатов контроля i-го параметра при -кратном измерении.
Тогда первая задача может быть сформулирована следующим образом.
Найти
При условии, что выполняется ограничение
Практическая часть
Дано:
Характеристики параметров, допуски и погрешности измерений.
Таблица №5. Исходные данные
№ параметра |
1 |
2 |
3 |
4 |
5 |
δизм/ δпар |
0.4 |
0.1 |
0.3 |
0.5 |
0.2 |
ti |
30 |
15 |
50 |
20 |
5 |
Таблица №6.
Зависимость вероятности
n |
δизм / δпар | ||||
0.4 |
0.1 |
0.3 |
0.5 |
0,2 | |
1 2 3 4 5 6 7 8 9 10 11 12 |
0,99419 0,99669 0,99748 0,99785 0,99816 0,99833 0,99849 0,99859 0,99867 0,99876 0,99882 0,99887 |
0,99893 0,99930 0,99945 0,99955 0,9996 0,99963 0,99967 0,99970 0,99971 0,99973 0,99974 0,99975 |
0,99634 0,99775 0,99821 0,99846 0,99868 0,99879 0,99890 0,99895 0,99901 0,99909 0,99914 0,99918 |
0,99110 0,99533 0,99657 0,99714 0,99756 0,99780 0,99801 0,99818 0,99828 0,99839 0,99848 0,99854 |
0,99784 0,99859 0,99886 0,99901 0,99915 0,99923 0,99931 0,99933 0,99937 0,99942 0,99945 0,99948 |
Информация о работе Технический контроль и диагностика систем ЛА