Отчет6
.docxГУАП
КАФЕДРА № 14
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
доц., канд. техн. наук |
|
|
|
Г.С. Бритов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №6 |
Решение задач многокритериальной оптимизации |
по дисциплине ТЕОРИЯ СИСТЕМ И СИСТЕМНЫЙ АНАЛИЗ |
|
|
РАБОТУ ВЫПОЛНИЛИ
СТУДЕНТЫ ГР. № |
4716 |
|
|
|
Е.А. Шуб С.А. Янышева |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2019
Содержание
Решение задач многокритериальной оптимизации 1
по дисциплине ТЕОРИЯ СИСТЕМ И СИСТЕМНЫЙ АНАЛИЗ 1
Математическая модель 2
Уравнения 2
Матрицы 3
Программы 4
Сценарий 4
Функции 5
Результаты моделирования 5
Диалог 5
Графики 7
Выводы 9
Задача 1. Найти среднее число элементов в системе, обеспечив максимальную надежность и минимальную стоимость системы. При этом вероятность исправной работы обратно пропорциональна числу элементов, а стоимость прямо пропорциональна ему.
Задача 2. Найти среднее число блоков «холодного» резерва в системе, обеспечив минимальную вероятность отказа и минимальную стоимость системы. При этом вероятность отказа обратно пропорциональна числу блоков, а стоимость прямо пропорциональна ему.
Вероятность отказа: P = 1/ х
Стоимость: C = х
8 |
СА, Сгр |
a=[0.6 0.4 ] |
Математическая модель
Уравнения
1-я задача:
2-я задача:
x – число элементов в системе
Матрицы
Не требуются
Программы
Сценарий
1-я задача:
while 1
upr=menu('Меню','Ввести данные','Вычисления','Вывод информации','Выход');
if upr==1
disp('Начало вывода')
x1=input('Введите левую границу = ')
x2=input('Введите правую границу = ')
disp('Конец')
elseif upr==2
disp('Начало вычислений')
xx=x1:x2
jsa=@(x)0.4*x-0.6./x;
xsa=fminbnd(jsa,x1,x2)
jsa_g=0.4*xx-0.6./xx;
jsgr=@(x)x^2./(0.4*x - 0.6*x^2);
xsgr=fminbnd(jsgr,x1,x2)
jsgr_g= xx.^2./(0.4*xx - 0.6*xx.^2);
disp('Конец')
elseif upr==3
figure(1)
plot(xx,jsa_g)
grid
figure(2)
plot(xx,jsgr_g)
grid
elseif upr==4
disp('Выход из программы')
break
end
end
2-я задача:
while 1
upr=menu('Меню','Ввести данные','Вычисления','Вывод информации','Выход');
if upr==1
disp('Начало вывода')
x1=input('Введите левую границу = ')
x2=input('Введите правую границу = ')
disp('Конец')
elseif upr==2
disp('Начало вычислений')
xx=x1:x2
jsa=@(x)0.4*x+0.6./x;
xsa=fminbnd(jsa,(x1),(x2))
jsa_g=0.4*xx+0.6./xx;
jsgr=@(x)x^2./(0.4*x + 0.6*x^2);
xsgr=fminbnd(jsgr,(x1),(x2))
jsgr_g=xx.^2./(0.4*xx + 0.6*xx.^2);
disp('Конец')
elseif upr==3
figure(1)
plot(xx,jsa_g)
grid
figure(2)
plot(xx,jsgr_g)
grid
elseif upr==4
disp('Выход из программы')
break
end
end
Функции
Не требуются
Результаты моделирования
Диалог
1-я задача:
>> z1
Начало вывода
Введите левую границу = 0
x1 =
0
Введите правую границу = 10
x2 =
10
Конец
Начало вычислений
xx =
0 1 2 3 4 5 6 7 8 9 10
xsa =
5.9609e-05
xsgr =
0.6667
Конец
2-я задача:
>> z2
Начало вывода
Введите левую границу = 0
x1 =
0
Введите правую границу = 10
x2 =
10
Конец
Начало вычислений
xx =
0 1 2 3 4 5 6 7 8 9 10
xsa =
1.2247
xsgr =
9.9999
Конец
Графики
1-я задача:
Рисунок 1 – Среднеарифметическое число элементов
Рисунок 2 – Среднегармоническое число элементов
2-я задача:
Рисунок 3 – Среднеарифметическое
Рисунок 4 – Среднегармоническое
Выводы
Исследованы алгоритмы решения задач многокритериальной оптимизации, построив алгоритмы и отладив программы для математического пакета MatLab. Реализации программ выполненных для среднегармоничной и среднеарифметической свёрток двух заданных критериев оптимизационных задач.
Найдено среднее число элементов в системе, обеспечивающее максимальную надежность и минимальную стоимость системы. Оптимальный результат должен получиться при 0 элементов, то есть пустой системе. При этом вероятность исправной работы обратно пропорциональна числу элементов, а стоимость прямо пропорциональна ему. При среднегармонической свёртке оптимальный результат = 0.6667. При среднеарифметической свёртке оптимальный результат = 5.9609e-05. Следовательно, субоптимальное целое число элементов = 0.
Найдено среднее число блоков «холодного» резерва в системе, обеспечивающее минимальную вероятность отказа и минимальную стоимость системы. Оптимальный результат получается при бесконечном числе элементов. При этом вероятность отказа обратно пропорциональна числу блоков, а стоимость прямо пропорциональна ему. При среднегармонической свёртке оптимальный результат = 9.9999. При среднеарифметической свёртке оптимальный результат = 1.2247. Следовательно, субоптимальное целое число элементов = 10.
Графики подтвердили полученные результаты.