Решение задачи повышения надежности резервирования
Суть проблемы повышения надежности резервирования компонентов стендовой информационно-управляющей системы для проведения огневых испытаний жидкостных ракетных двигателей. Основы теории надежности. Математическая модель выбора вариантов резервирования.
Рубрика | Математика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.06.2012 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
num: integer;
begin
{for i:= 0 to L-1 do
for j:= 0 to N-1 do
if random(101)/100 <= Pmut then
TempPop. Individs[i] [j]:= random(3) + 1;}
for i:= 1 to L-1 do
if random(101)/100 <= Pmut then
for j:= 1 to N-1 do
if random(101)/100 <= Pmut then
TempPop. Individs[i] [j]:= random(3) + 1;
end;
function SumTxX (var Indiv: TIndivid): real;
var
j: integer;
begin
result:= 0;
for j:= 0 to N-1 do
case Indiv[j] of
1: result:= result + 1/T[j];
2: result:= result + 2/3/T[j];
3: result:= result + 6/5/T[j];
end;
end;
procedure FixPopulation (var TempPop: TPopulation);
var i, index: integer;
begin
for i:= 0 to L-1 do
while SumTxX (TempPop. Individs[i]) > 1/Tavg do
begin
index:= random (N);
if TempPop. Individs[i] [index] = 3 then dec (TempPop. Individs[i] [index], random(2)+1)
else if TempPop. Individs[i] [index] = 1 then inc (TempPop. Individs[i] [index])
end;
end;
procedure InitTavg;
var j: integer;
temp: real;
begin
temp:= 0;
for j:= 0 to N-1 do
temp:= temp + 1/T[j];
Tavg:= 1/temp;
end;
procedure InitRecord;
var i: integer;
begin
for i:= 1 to RecQuantity do
begin
Rec[i].S:= -9999999;
Rec[i].P:= -9999999;
Rec[i].Quantity:= 0;
end;
end;
function VectorIsHere (var RecEl: TRecElement; var Indivs: TIndivid): boolean;
var i, j, k: integer;
raznitsa: boolean;
begin
result:= false; /// вектора нет
for i:= 0 to RecEl. Quantity -1 do
begin
raznitsa:= false;
for j:= 0 to N-1 do
if RecEl. Solutions[i] [j] <> Indivs[j] then
begin
raznitsa:= true;
break;
end;
result:= result or not raznitsa;
if result then break;
end;
end;
procedure AddToRecord (var TempPop: TPopulation);
var i, j, k, q, g: integer;
begin
for i:= 0 to L-1 do
for k:= 1 to RecQuantity do
begin
g:= 0;
if (TempPop. Rank[i] >=1) and (TempPop. Rank[i] < 2) then // в рекорд идут недоминируемые решения
Begin // если вектор доминирует
if ((TempPop. Fitness[i].S >= Rec[k].S) and (TempPop. Fitness[i].P > Rec[k].P))
or ((TempPop. Fitness[i].S > Rec[k].S) and (TempPop. Fitness[i].P >= Rec[k].P)) then
begin
rec[k].S:= TempPop. Fitness[i].S;
rec[k].P:= TempPop. Fitness[i].P;
SetLength (rec[k].Solutions, 1);
rec[k].Quantity:= 1; // остальные подтереть
SetLength (rec[k].Solutions[0], N);
for j:= 0 to N-1 do
rec[k].Solutions[0] [j]:= TempPop. Individs[i] [j];
RefreshNum:= 0;
// подтирание
for g:= k+1 to RecQuantity do
if ((TempPop. Fitness[i].S >= Rec[g].S) and (TempPop. Fitness[i].P > Rec[g].P))
or ((TempPop. Fitness[g].S > Rec[k].S) and (TempPop. Fitness[i].P >= Rec[g].P)) then
begin
Rec[g].S:= -9999999;
Rec[g].P:= -9999999;
Rec[g].Quantity:= 0;
end;
break;
end
else // если вектор равен. то добавляем еще одно возможное решение
if (TempPop. Fitness[i].S = Rec[k].S) and (TempPop. Fitness[i].P = Rec[k].P) then
begin
if not VectorIsHere (Rec[k], TempPop. Individs[i]) then
begin
inc (rec[k].Quantity);
SetLength (rec[k].Solutions, rec[k].Quantity);
SetLength (rec[k].Solutions [rec[k].Quantity-1], N);
for j:= 0 to N-1 do
rec[k].Solutions [rec[k].Quantity-1] [j]:= TempPop. Individs[i] [j];
RefreshNum:= 0;
end;
break;
end
else if (TempPop. Fitness[i].S <= Rec[k].S) and (TempPop. Fitness[i].P <= Rec[k].P) then
break
End;
end;
end;
procedure CopyPopulation (var PopFrom: TPopulation; var PopInto: TPopulation);
var i, j: integer;
begin
for i:= 0 to L-1 do
begin
PopInto. Rank[i]:= PopFrom. Rank[i];
PopInto. Fitness[i].S:= PopFrom. Fitness[i].S;
PopInto. Fitness[i].P:= PopFrom. Fitness[i].P;
for j:= 0 to N-1 do
begin
PopInto. Individs[i] [j]:= PopFrom. Individs[i] [j];
end;
end;
end;
procedure InitRec;
begin
SetLength (Rec, RecQuantity + 1);
end;
procedure EraseRec;
begin
Rec:= nil;
end;
procedure InitInputArrays;
begin
SetLength (P, N);
SetLength (T, N);
SetLength (S, N);
SetLength (G, N);
end;
procedure EraseInputArrays;
begin
P:= nil;
T:= nil;
S:= nil;
G:= nil;
end;
END.
Размещено на Allbest.ru
Подобные документы
Особенности использования теории вероятностей в сфере транспорта. Сравнительный анализ вероятностей катастрофы летательного аппарата: постановка задачи и ее математическая интерпретация. Определение надежности элементов системы энергоснабжения самолета.
контрольная работа [130,6 K], добавлен 11.09.2014Понятие и сущность системы со структурным резервированием. Классификация и разновидности. Описание особенностей каждого из разновидностей. Определение вероятности работоспособного состояния объекта. Уровень надежности объекта резервирования, его расчет.
курсовая работа [63,8 K], добавлен 05.03.2009Количественная оценка надежности. Возможности использования предельных теорем. Распространенные потоки случайных событий, их характеристики. Расчет надежности, основанный на составлении графа переходов изделия в разные состояния работоспособности.
курсовая работа [656,2 K], добавлен 12.06.2011Сравнительный анализ вероятностей катастрофы летательного аппарата, ее сравнение с вероятностями, связанными с дублирующими системами, с отказами двигателей и вспомогательных подсистем. Определение надежности элементов системы энергоснабжения самолета.
контрольная работа [119,4 K], добавлен 28.10.2012Система электроснабжения, ее описание, характеристика и сущность. Схема системы электроснабжения. Описание ее элементов и деталей. Расчет надежности системы и ее частей. Виды методов расчетов, их особенности. Метод статистических испытаний, его сущность.
курсовая работа [50,0 K], добавлен 05.03.2009Определение точечной оценки средней наработки до отказа, вероятности безотказной работы. Построение функции распределения, верхней и нижней доверительной границы. Показатели надежности при известном и неизвестном виде закона распределения наработки.
контрольная работа [79,9 K], добавлен 01.05.2015Изучение методов определения основных показателей надежности изделий на основные экспериментальных данных. Статистическая оценка интенсивности отказов и плотности их распределения. Определение функции надежности изделия (вероятности безотказной работы).
лабораторная работа [237,5 K], добавлен 10.04.2019Расчет показателей надежности невосстанавливаемой системы с постоянными во времени интенсивностями отказов элементов в Марковских процессах. Поиск вероятности безотказной работы системы методом разложения структуры относительно базового элемента.
контрольная работа [334,9 K], добавлен 15.01.2014Характеристика надежности объекта: исправность, работоспособность, предельное состояние, повреждение, отказ и критерий отказа. Выбор моделей и методов анализа надежности. Вероятность разрыва электрической цепи, отказа тиристора из партии изделий.
курсовая работа [37,2 K], добавлен 02.08.2009Технические системы, их разновидности, характеристика. Система электроснабжения, ее свойства и надежность. Определение показателей оценки надежности "готовности". Составление модели структуры сети, анализ надежности логико-вероятным методом, ее значение.
курсовая работа [102,1 K], добавлен 05.03.2009