Рефераты. Выбор параметров контроля с использованием метода динамического программирования и метода ветвей и границ

Выбор параметров контроля с использованием метода динамического программирования и метода ветвей и границ

39

Московский Авиационный Институт

(Технический Университет)

Кафедра 308

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

Выбор параметров контроля с использованием метода динамического программирования и метода ветвей и границ

Вариант II(2)

Выполнила

студентка

группы КТ-515

Принял

Москва

2008г.

Содержание

Задание

1. Метод динамического программирования

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

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

- ручной счёт

- листинг программы

2. Метод ветвей и границ

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

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

- ручной счёт

- листинг программы

Вывод

Литература

Задание

Вариант II(2)

Выбор параметров контроля с использованием метода динамического программирования и метода ветвей и границ при непересекающихся элементах объекта контроля и ограничениях по затратам на контроль С?16.

Исходные данные: вероятность отказов элементов и затраты на контроль параметров.

Выбрать такие параметры, чтобы С?16 при Q=Qmax.

N

1

2

3

4

5

6

7

8

9

10

Qi

0.17

0.03

0.15

0.09

0.13

0.08

0.07

0.02

0.06

0.04

с(xi)

5

1

4

2

6

3

2

3

1

1

1. Метод динамического программирования

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

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

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

xi = 1, если xi,

0, если xi.

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

1) найти набор ?, для которого

P(?)=max

при ?xi·c(xi)?C; iЄ?

2) найти набор ?, для которого

?xi·c(xi)=min

при P(?)?Pз,

где P(?) - апостериорная вероятность работоспособного состояния объекта контроля при положительном исходе контроля выбранных параметров S; с(xi) - затраты на контроль i-го параметра; Рз - требуемая достоверность контроля; С - ограничение на общую стоимость контроля.

Значение P(?) зависит от принятых допущений и может быть найдено по формуле Байеса. Так, если предполагать в изделии наличие лишь одного отказа, то

P(?)=Р0/1-?Рi,

iЄR(?)

где Р0=?(1-рi) - априорная вероятность безотказной работы объекта:

iЄR(S)

Р0=1-?Рi;

iЄR(S)

Рi - нормированная вероятность отказа системы из-за отказа i-го элемента:

Рi=(pi/(1-pi))/(1+? pk/(1-pk);

kЄR(S)

pi - априорная вероятность отказа i-го элемента. Тогда вероятность того, что отказ будет обнаружен при проверке k-го параметра, можно вычислить по формуле:

Qk=?Pk

kЄR(xk)

При возможности наличия в ОК произвольного числа отказов

P(?)=?(1-pi)/?(1-pi)

iЄR(S) iЄR(?)

Можно использовать простой перебор вариантов, однако возникающие при этом вычислительные трудности не позволяют сделать этого даже для простых систем (при n>10). В связи с этим комплектование набора будем трактовать как многошаговый процесс, состоящий из последовательного выбора отдельных параметров.

В соответствии с общим принципом оптимальности разобьем весь имеющийся ресурс стоимости С на С отрезков единичной длины. (В практических случаях заданные положительные величины с(xi) и С можно считать всегда целыми. Если это не так, то необходимо перейти к более мелким стоимостным единицам в зависимости от разрядности дробной части.). Рассмотрим наряду с интересующей нас исходной задачей множество аналогичных задач

f(Y)=max ?(x), Y Є [0,C],

xЄXY

где через XY обозначено множество неотрицательных целочисленных векторов ?, отвечающих наборам, в которых общая стоимость проверки параметров не превосходит величины ?.

Пусть ?0=min c(xi).

i=1,…,n

Тогда при всех ? Є [0,?0] соответствующие множества ?? состоят, из одного нулевого элемента и f(Y)=0 для всех таких ?. Для ресурса ? Є [?0, С] согласно общей схеме динамического программирования справедливы следующие рекуррентные соотношения:

f(Yk)=max [Qi + f[Yk - c(xi)] - Gi (1)

iЄIY

где k=Y0, Y0+1, …, C; IY - множество тех i, для которых с(xi)?Yk, начиная с номера k=max c(xi) уравнение (1) решается для всех i= 1,…,n;

Gi = ?Pi - сумма вероятностей элементов i-го параметра, которые пересекаются с

IЄR(xi)??l*

элементами подмножества ?l*, образованного на шаге Yk - c(xi).

Если i, j; R(xi)?R(xj)= , то Gi=0 и

f(Yk)=max {Qi + f[Yk - c(xi)]} (2)

iЄIY

Для решения интересующей нас задачи опишем простой численный метод, не требующий предварительного определения всех допустимых наборов и основанный на рекуррентных соотношениях (1). Для всех целых ? = ?0, С по формуле (1) вычисляются величины f(Yk) и при этом фиксируются индексы iYk*, на которых достигаются максимумы в (1). Искомый вектор ? формируется последовательно включением в набор параметра iYk и подмножества ?l*, зафиксированного на шаге Yk - c(xi). При этом, если YkЄ ?l*, то на данном шаге этот параметр исключается из рассмотрения, так как каждый параметр может включаться в набор не более одного раза. Если на некотором ?-м шаге окажется, что f(Y?)< f(Y?-1), то в качестве ??* принимается подмножество ??-1* и фиксируется параметр iY ?-1, причем за f(Y?)< принимается значение f(Y?-1). Заметим, что если в задаче P(?)=max при

?xi·c(xi)?C

iЄ?

принять более жесткое ограничение, а именно ?c(xi)=C, то последнее не допустимо, iЄ? так как в этом случае max f(Yk) может быть меньше max f(Yk-1) из-за того, что он достигается на другом подмножестве параметров.

Общая сложность метода, очевидно, ?(n) ? c(n+1), т.е. экспоненциальная функция при переборе заменена линейной функцией. При этом для запоминания промежуточных значений необходимо k?2c ячеек памяти. Если в качестве максимизируемого критерия использовать P(?)=?(1-pi)/?(1-pi), то необходимо решить задачу динамического iЄR(S) iЄR(?) программирования с мультипликативным критерием. Для этого достаточно прологарифмировать это выражение и обозначить

V=lgP(?)=lgР0-?lg(1-pi). (3)

iЄR(?)

Так как выражение, стоящее под знаком ? в (3), отрицательно, то, V= Vmax тогда, когда максимальна величина суммы, т.е. в этом случае получим новую целевую функцию

V=??i, где ?i=lg (1-pi),

iЄR(?)

обладающую свойством аддитивности и обращающуюся в максимум одновременно с P(?).

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

Ручной счёт

Данные для расчета:

С?16

Таблица 1

N

1

2

3

4

5

6

7

8

9

10

Qi

0.17

0.03

0.15

0.09

0.13

0.08

0.07

0.02

0.06

0.04

с(xi)

5

1

4

2

6

3

2

3

1

1

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.