Автор работы: Пользователь скрыл имя, 06 Марта 2013 в 12:46, курсовая работа
Для программного решения задачи оптимизации процесса контроля в условиях частичной упорядоченности используется интерпретатор высокоуровневого языка программирования Python.
В данной курсовой работе для решения задачи использовался алгоритм метода ветвей и границ, а так же определение количества повторных измерений контролируемых параметров.
Программное обеспечение……………………………………………………………………………………………………3
Алгоритм метода ветвей и границ для решения одномерных задач целочисленного программирования …4
Теоретическая часть……………………………………………………………………………………………………..4
Практическая часть……………………………………………………………………………………………………….9
Выводы……………………………………………………………………………………………………………………….24
Алгоритм метода динамического программирования………………………………………………….25
Теоретическая часть……………………………………………………………………………………………………25
Практическая часть…………………………………………………………………………………………………….27
Выводы……………………………………………………………………………………………………………………….34
Список используемой литературы………………………………………………………………………………………35
Приложение 1……………………………………………………………………………………………………………………….36
Приложение 2……………………………………………………………………………………………………………………….53
c{xi} - затраты на контроль i-ого параметра;
- требуемая достоверность
С – ограничение на общую стоимость контроля.
Значение зависит от принятых допущений и может быть найдено по формуле Байеса. Так, если полагать в изделии наличие лишь одного отказа, то
(1.13)
где - априорная вероятность безотказной работы объекта:
- нормированная вероятность
отказа системы из-за отказа i-
(1.14)
- априорная вероятность отказа i-ого элемента.
Тогда вероятность того, что отказ будет обнаружен при проверки i-ого параметра. Можно вычислить по формуле:
При возможности наличия в ОК произвольного числа отказов
(1.15)
Для решения задач (1.11) и (1.12) можно использовать простой перебор вариантов, однако возникающие при этом вычислительные трудности не позволяют сделать этого даже для простых систем ( при n>10). В связи с этим комплектование набора трактуется как многошаговый процесс, состоящий из последовательного выбора отдельных параметров. В соответствии с общим принципом оптимальности, разобьем весь имеющийся ресурс стоимости С на С отрезков единичной длины. (В практических случаях заданные положительные величины c(xi) и С можно считать всегда целыми. Если это не так, то необходимо перейти к более мелким стоимостным единицам в зависимости от разрядности дробной части.) Рассмотрим наряду с интересующей нас исходной задачей множество аналогичных задач
где через XС обозначено множество неотрицательных целочисленных векторов Ω, отвечающих наборам, в которых общая стоимость проверки параметров не превосходит величины С.
Пусть
тогда при всех соответствующие множества XY состоят. Очевидно, из одного нулевого элемента и f(С)=0 для всех таких С. Для ресурса согласно общей схеме динамического программирования справедливы следующие рекуррентные соотношения:
(1.16)
где
R( )-множество тех i, для которых , начиная с номера уравнение (1.16) решается для всех i=1,n:
- сумма вероятностей элементов i-го параметра, которые пересекаются с элементами подмножества , образованного на шаге
Если
И
(1.17)
Что приводит к условию задачи с пересекающимися параметрами.
Для решения рассматриваемой задачи рассмотрим простой численный метод, не требующий предварительного определения всех допустимых наборов и основанный на рекуррентных соотношениях (1.15). Для всех целых по формуле (1.16) вычисляют величины и при этом фиксируются индексы , на которых достигаются максимумы в (1.16). Искомый вектор формируется последовательно включение в набор параметра и подмножества , зафиксированного на шаге При этом, если , то на данном шаге этот параметр исключается из рассмотрения, так как каждый параметр может включаться в набор не более одного раза. Если на н6екотором v-м шаге окажется, что то вы качестве принимается я подмножество и фиксируется параметр , причем за принимается значение . Заметим, что если в (1.11) принять более жесткое ограничение, а именно
то последнее недопустимо, так как в этом случае может быть меньше из-за того, что он достигает на и другом подмножестве параметров.
Практическая часть
Дано:
Характеристики параметров, допуски и погрешности измерений.
Таблица №5. Исходные данные
№ параметра |
1 |
2 |
3 |
4 |
5 |
δизм/ δпар |
0.3 |
0.2 |
0.4 |
0.1 |
0.5 |
ti |
30 |
5 |
15 |
20 |
50 |
Таблица №6. Зависимость вероятности получения правильных результатов от величин δизм/ δпар для случая усреднения результатов n и повторных измерений .
n |
δизм / δпар | ||||
0.3 |
0.2 |
0.4 |
0.1 |
0,5 | |
1 2 3 4 5 6 7 8 9 10 11 12 |
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,99784 0,99859 0,99886 0,99901 0,99915 0,99923 0,99931 0,99933 0,99937 0,99942 0,99945 0,99948 |
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,99110 0,99533 0,99657 0,99714 0,99756 0,99780 0,99801 0,99818 0,99828 0,99839 0,99848 0,99854 |
Найти:
Необходимо
рассчитать оптимальное количество
повторных измерений
Решение:
Работоспособность объекта характеризуется пятью параметрами, которые запишем в таблицу №7.
Таблица №7. Параметры, определяющие работоспособность объекта контроля
№ параметров |
|
|
|
ti(c) |
pi(1) |
1 2 3 4 5 |
±0,2 ±0,5 ±5,0 ±0,3 ±0,1 |
±0,06 ±0,10 ±2,00 ±0,03 ±0,05 |
0.3 0.2 0.4 0.1 0.5 |
30 5 15 20 50 |
0,99634 0,99784 0,99419 0,99893 0,99110 |
Для каждого параметра вычисляется значение Ψi (ni) по формуле:
Постоянно выбирается наибольшее значение Ψi (ni).
Для n1 все Ψi (n1) равны нулю.
На основании таблицы №6 получим следующие значения:
Наибольшим является , поэтому далее вычислим
Следующим наибольшим является , поэтому далее вычислим
Все следующие действия выполнялись с помощью программного алгоритма.
Результат представлен в таблице № 8.
Таблица № 8
ni |
Ψ1 (ni) |
N |
Ψ2 (ni) |
N |
Ψ3 (ni) |
N |
Ψ4 (ni) |
N |
Ψ5 (ni) |
N |
1 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
2 |
0.0000472 |
6 |
0.0001503 |
2 |
0.0001676 |
1 |
0.0000185 |
12 |
0.0000854 |
3 |
3 |
0.0000154 |
15 |
0.0000541 |
4 |
0.0000528 |
5 |
- |
0.0000249 |
9 | |
4 |
- |
0.0000300 |
7 |
0.0000247 |
10 |
- |
- |
0.0000114 |
16 | |
5 |
- |
0.0000280 |
8 |
0.0000207 |
11 |
- |
- |
- |
- | |
6 |
- |
0.0000160 |
13 |
- |
- |
- |
- |
- |
- | |
7 |
- |
0.0000160 |
14 |
- |
- |
- |
- |
- |
- |
Цифры в графе N таблица №8 означают, на каком номере этапа должно быть добавлено одно повторное измерение i-го параметра.
Для каждого этапа по формулам:
последовательно вычислим значения P(N) и T(N), которые впишем в таблицу №9.
Таблица №9
N |
n1 |
n2 |
n3 |
n4 |
n5 |
Р(N) |
T(N) |
1 |
1 |
1 |
2 |
1 |
1 |
0.98103 |
2 мин 15 сек |
2 |
1 |
2 |
2 |
1 |
1 |
0.98176 |
2 мин 20сек |
3 |
1 |
2 |
2 |
1 |
2 |
0.98595 |
3 мин 10сек |
4 |
1 |
3 |
2 |
1 |
2 |
0.98622 |
3 мин 15сек |
5 |
1 |
3 |
3 |
1 |
2 |
0.98700 |
3 мин 30сек |
6 |
2 |
3 |
3 |
1 |
2 |
0.98840 |
4 мин 00сек |
7 |
2 |
4 |
3 |
1 |
2 |
0.98855 |
4 мин 05сек |
8 |
2 |
5 |
3 |
1 |
2 |
0.98869 |
4 мин 10сек |
9 |
2 |
5 |
3 |
1 |
3 |
0.98992 |
5 мин 00сек |
10 |
2 |
5 |
4 |
1 |
3 |
0.99029 |
5 мин 15сек |
11 |
2 |
5 |
5 |
1 |
3 |
0.99059 |
5 мин 30сек |
12 |
2 |
5 |
5 |
2 |
3 |
0.99096 |
5 мин 50сек |
13 |
2 |
6 |
5 |
2 |
3 |
0.99104 |
5 мин 55сек |
14 |
2 |
7 |
5 |
2 |
3 |
0.99112 |
6 мин 00сек |
15 |
3 |
7 |
5 |
2 |
3 |
0.99158 |
6 мин 30сек |
16 |
3 |
7 |
5 |
2 |
4 |
0.99214 |
7 мин 20сек |
Таким образом, заданным ограничениям удовлетворяют по времени набор параметров, соответствующих строке 9, по достоверности – 16 в таблице №9.
Наряду с ручным расчетом, решение задачи реализовано с помощью программного алгоритма, написанного на языке Python версии 2.7. Листинг программы представлен в приложении 2 (c. 53).
Результат работы программы:
$ python main2.py
N n Ψ max
1 2 3 0.00016764
2 2 2 0.00015032
3 2 5 0.00008536
4 3 2 0.00005408
5 3 3 0.00005284
6 2 1 0.00004717
7 4 2 0.00003003
8 5 2 0.00002803
9 3 5 0.00002492
10 4 3 0.00002473
11 5 3 0.00002071
12 2 4 0.00001852
13 6 2 0.00001601
14 7 2 0.00001601
15 3 1 0.00001537
16 4 5 0.00001144
N n1 n2 n3 n4 n5 P(N) T(N)
1 1 1 2 1 1 0.98103 2 мин 15сек
2 1 2 2 1 1 0.98176 2 мин 20сек
3 1 2 2 1 2 0.98595 3 мин 10сек
4 1 3 2 1 2 0.98622 3 мин 15сек
5 1 3 3 1 2 0.98700 3 мин 30сек
6 2 3 3 1 2 0.98840 4 мин 0сек
7 2 4 3 1 2 0.98855 4 мин 5сек
8 2 5 3 1 2 0.98869 4 мин 10сек
9 2 5 3 1 3 0.98992 5 мин 0сек
10 2 5 4 1 3 0.99029 5 мин 15сек
11 2 5 5 1 3 0.99059 5 мин 30сек
12 2 5 5 2 3 0.99096 5 мин 50сек
13 2 6 5 2 3 0.99104 5 мин 55сек
14 2 7 5 2 3 0.99112 6 мин 0сек
15 3 7 5 2 3 0.99158 6 мин 30сек
16 3 7 5 2 4 0.99214 7 мин 20сек
n Ψ1(ni) Ψ2(ni) Ψ3(ni) Ψ4(
1 --------- --------- ------
2 0.0000472 0.0001503 0.
3 0.0000154 0.0000541 0.
4 --------- 0.0000300 0.
5 --------- 0.0000280 0.
6 --------- 0.0000160 -------
7 --------- 0.0000160 -------
Вывод
Спроектированная
таким образом система
Результаты ручного решения задачи идентичны результатам, полученным с помощью созданного программного алгоритма.
Список используемой литературы
Информация о работе Курсовая работа по «Техническому контролю и диагностике систем ЛА»