Курсовая работа по «Техническому контролю и диагностике систем ЛА»

Автор работы: Пользователь скрыл имя, 06 Марта 2013 в 12:46, курсовая работа

Краткое описание

Для программного решения задачи оптимизации процесса контроля в условиях частичной упорядоченности используется интерпретатор высокоуровневого языка программирования Python.
В данной курсовой работе для решения задачи использовался алгоритм метода ветвей и границ, а так же определение количества повторных измерений контролируемых параметров.

Содержание

Программное обеспечение……………………………………………………………………………………………………3
Алгоритм метода ветвей и границ для решения одномерных задач целочисленного программирования …4
Теоретическая часть……………………………………………………………………………………………………..4
Практическая часть……………………………………………………………………………………………………….9
Выводы……………………………………………………………………………………………………………………….24
Алгоритм метода динамического программирования………………………………………………….25
Теоретическая часть……………………………………………………………………………………………………25
Практическая часть…………………………………………………………………………………………………….27
Выводы……………………………………………………………………………………………………………………….34
Список используемой литературы………………………………………………………………………………………35
Приложение 1……………………………………………………………………………………………………………………….36
Приложение 2……………………………………………………………………………………………………………………….53

Вложенные файлы: 1 файл

Kursach.docx

— 312.21 Кб (Скачать файл)

МОСКОВСКИЙ  АВИАЦИОННЫЙ ИНСТИТУТ

(Национальный Исследовательский  Университет)

 

Факультет №3 «Системы управления,

информатика и электроэнергетика»

Кафедра №308 «Информационные технологии»

 

Курсовая работа

по курсу 

«Технический  контроль и диагностика систем ЛА»

 

Выполнил: Громов Павел Дмитриевич

 Группа: 03-417

 Проверил: доцент, к.т.н. Пискунов Вячеслав Алексеевич

 

 

 

Москва 2012 год

Содержание

 

Программное обеспечение……………………………………………………………………………………………………3

 

Алгоритм  метода ветвей и границ для решения  одномерных задач целочисленного программирования ………………………………………………………………………………………………………………4

Теоретическая часть……………………………………………………………………………………………………..4

Практическая  часть……………………………………………………………………………………………………….9

Выводы……………………………………………………………………………………………………………………….24

 

Алгоритм  метода  динамического программирования………………………………………………….25

Теоретическая часть……………………………………………………………………………………………………25

Практическая  часть…………………………………………………………………………………………………….27

Выводы……………………………………………………………………………………………………………………….34

 

Список используемой литературы………………………………………………………………………………………35

 

Приложение 1……………………………………………………………………………………………………………………….36 Приложение 2……………………………………………………………………………………………………………………….53

 

 

 

Программное обеспечение

Для программного решения задачи оптимизации процесса контроля в условиях частичной упорядоченности  используется интерпретатор высокоуровневого  языка программирования Python версии 2.7.

Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).

Минимальные системные требования:

    • Операционная система Linux/MacOS/Windows
    • Большинство современных компьютеров и даже мобильных телефонов способны запустить интерпретатор Python.
    • Для отрисовки изображений требуется установить библиотеки matplotlib и networkx. Чтобы установить их на операционную систему Ubuntu Linux, требуется выполнить команду в терминале:

sudo apt-get install python-matplotlib python-networkx

 

 

 

 

 

 

Алгоритм  метода ветвей и границ для решения  одномерных задач целочисленного программирования

Теоретическая часть

В математическом анализе рассматривается  класс задач, объединенных понятием задачи целочисленного программирования. В общем виде они могут быть сформулированы как максимизация некоторого выражения в условиях ограничений.

Рассмотрим следующую задачу целочисленного программирования. Требуется максимизировать выражение                                                                                          

(1.1)

при ограничениях

(1.2)

xj {0;1},  j=1,…,n,                                      (1.3)

причем pj ≥0, cj≥0.

Решение задачи может быть получено с помощью метода ветвей и границ.

Метод ветвей и границ использует последовательно-параллельную схему  построения дерева возможных вариантов. Первоначально ищут допустимый план и для каждого возможного варианта определяют верхнюю границу целевой  функции. Ветви дерева возможных  вариантов, для которых верхняя граница ниже приближенного решения, из дальнейшего рассмотрения исключают.

Эффективность вычислительных алгоритмов зависит от точности и простоты способа  определения верхней границы  возможных решений и точности определения приближенного решения. Чем точнее способ определения верхней границы целевой функции, тем больше бесперспективных ветвей отсекается в процессе оптимизации. Однако увеличение точности расчета верхних границ связано с возрастанием объема вычислений. Например, если для оценки верхней границы использовать симплекс-метод, то результат будет достаточно точным, но потребует большого объема вычислительной работы.

Рассмотрим алгоритм решения задачи (1.1) — (1.3) методом ветвей и границ с простым и эффективным способом оценки верхней границы целевой  функции.

Множество U переменных xj рассматривается как три множества.

S -множество фиксированных переменных, вошедших в допустимое решение; Es — множество зависимых переменных, которые не могут быть включены в множество S, так как для них выполняется неравенство


GS — множество свободных переменных, из которых производится выбор для включения в S очередной переменной.

Обозначим h1j = pj/cj и допустим, что xj S (j= 1, . .., k < п), вычисляется указанное отношение и параметры номеруются (ранжируются) в соответствии с ранжировкой: 

h1,k+1 ≥h1,k+2≥ ...≥h1l, l≤n,                                                                                             (1.4)


(1.5)

(1.6)

Условия (1.5), (1.6) означают, что в множество S без нарушения неравенства (1.2) можно дополнительно ввести элементы хк+1, хк +2,..., хl-1. При введении в множество S элементов хк+1, хк +2,..., хl неравенство (1.2) не выполняется.

Для определения верхней границы  решения может быть использовано 
выражение:

                                                                                                                        (1.7)

где

                                                                                                                      (1.8)


(1.9)

Из условий (1.1)-(1.3)  следует, что L's не меньше максимального значения величины

при ограничениях

 

Поясним процесс определения L'S графиком (рис. 1.1). Строим кусочнолинейную функцию L(с) с убывающим значением градиента h. Вычисляем с'1 и по графику находим L'S.

Выбор очередной переменной для  включения в множество S производится с помощью условия:

                                                                                                                     (1.10)

Для выбранной переменной хr определяются величины РS(xr) и РS( xr), т.е. в S включается хr = 1   или   хr = 0.


Если в процессе решения окажется, что в множестве GS нет элементов, которые могут быть введены в множество S без нарушения ограничения (1.5), то полученное решение принимается в качестве первого приближенного решения L0.

Все вершины дерева возможных вариантов, для которых выполняются условия QS ≤ L0 из дальнейшего рассмотрения исключаются.

Из оставшихся ветвей выбирается ветвь  с максимальным значением РS, и процесс поиска оптимального варианта продолжается. Если в процессе решения будет найдено , то полученное решение принимается в качестве нового приближенного результата. Вычислительная процедура заканчивается, если для всех оставшихся ветвей выполняется условие РS ≤ L0.

 

 

 

 

 

 

Практическая часть

Дано:

Нормированные вероятности отказов для элементов  Qi, затраты на контроль i-ого параметра C(xi).

1

2

3

4

5

6

7

8

9

10

Qi

0,04

0,15

0,13

0,08

0,02

0,09

0,06

0,08

0,03

0,04

C(xi)

5

1

4

2

6

3

2

3

1

1


 

Найти:  Выбрать такие параметры, чтобы C≤18 при Q=Qmax.

Решение:

Для удобства расчетов проранжируем таблицу 4 в порядке убывания и присвоим новые номера элементам, следующим образом:

№(нов.)

1

2

3

4

5

6

7

8

9

10

№(стар.)

2

4

10

3

6

7

9

8

1

5

Qi

0,15

0,08

0,04

0,13

0,09

0,06

0,03

0,08

0,04

0,02

C(xi)

1

2

1

4

3

2

1

3

5

6

hi

0,15

0,04

0,04

0,0325

0,03

0,03

0,03

0,0267

0,008

0,0033


 

Значение  l определяет сумма q1+ q2+ q3+ q4+ q5+ q6+ q7 + q8 =17, отсюда l=9

при l = 9,  , ,

 

 

 

Первый  шаг

Выбор очередной переменной для включения в множество S производится с помощью условия: ,

xr = x1,


 

= 0.06 + 0.09 + 0.04 + 0.15 + 0.07 + 0.17 + 0.03 + 0.026*2 =0.662;

 

 

= = 0 + 0.09 + 0.04 + 0.15 + 0.07 + 0.17 + 0.03 + 0.026*3 = =0.628;

 

= 18 – 1 = 17;

 

Второй  шаг

 

x1 S  , Es = ø, xj Gs (j = 2,…,10), РS (x1) =0.662

Выбираем очередную  переменную:

xr = x2,


= (0.06 + 0.09) + (0.04 + 0.15 + 0.07 + 0.17 + 0.03) + 2*0.026 = 0.15 + 0.46 + 0.052 = 0.662;

18 – 13 – 1 =  4

= = 0.06 + 0.46 + 4*0.026 = 0.104 + 0.06 + 0.46 = 0.624

 

= 18 – 3 = 15;

 

Третий  шаг

 

x1, x2 S  , Es = ø, xj Gs (j = 3,…,10), PS (x2) =0.662

 

Выбираем очередную  переменную:

 

xr = x3,


 

= 0.662


 

 

= = (0.06 + 0.09) + (0.15 + 0.07 + 0.17 + 0.03) + 3*0.026 = 0.15 + 0.42 + 0.078 = 0.648;


 

 

 

 

 

 

 

 

 

 

 

 

Определение количества повторных  измерений контролируемых параметров.

Теоретическая часть

Математически задачу выбора набора параметров из заданной их совокупности можно сформулировать следующим образом.

Пусть работоспособность  объекта контроля характеризуется  совокупностью n взаимосвязанных параметров. Образующих множество S={x1, x2,…,xn}. Проверка всех параметров из S влечет контроль всех N элементов системы и дает однозначный ответ: объект исправен, если все N элементов исправны, или неисправен. Если по крайней мере один из элементов отказал. Для xi определено подмножество R(xi) элементов, проверяемых при контроле i-ого параметра. Причем предполагается, что эти подмножества могут пересекаться, т.е. i, j: R(xi) ∩ R(xj).

Пусть Ω –  некоторый набор параметров из множества  S, т.е. . Тогда и , где Ω-набор контролируемых параметров, а - неконтролируемый набор. Значение  из S можно представить булевым вектором, причем:


1, если xi

0. если xi

  xi=


 

Задача выбора параметров в этом случае формулируется  двояко:

  1. Найти набор, для которого

Р(Ω)=max                                                                                                                                  (1.11)

при

 

  1. Найти набор Ω. Для которого: 

(1.12)


при

где - апостериорная вероятность работоспособного состояния объекта контроля при положительном исходе контроля выбранных параметров ;

Информация о работе Курсовая работа по «Техническому контролю и диагностике систем ЛА»