Критерии принятия решений
Цель работы:
Изучение особенностей применения критериев принятия решений.
Постановка задачи:
Вариант № 8: Написать программу на языке С++ выбора оптимального решения из матрицы возможных решений на основе критерия Гурвица и критерия Байеса-Лапласа и сравнить полученные результаты выбора. Количество вариантов решений 10, количество возможных состояний 20.
Листинг программы:
#include.
#include.
#include.
#include.
#include.
void main ().
{.
const int n=20, m=10;
double eG[n][m+1], c, eGmax, max[n], min[n];
double e[n][m+1], eO[n][m+1], eOmax, maxO[n], a[n], eBL[n][m+1], eBLmax, max2[n];
int i, j, k[n], kmax;
clrscr ();
cout<<" ЉаЁвҐаЁ© ѓгаўЁж «<
c=0.7;
randomize ();
for (i=0;i.
{ for (j=0;j.
eG[i][j]=random (21)+0.0;
}.
for (i=0;i.
{.
max[i]=eG[i][0];
min[i]=eG[i][0];
for (j=0;j.
{ решение программа матрица критерий.
if (eG[i][j]>max[i]) max[i]=eG[i][j]; //Ї®ЁбЄ ЁЁ н"ҐҐв бва®ЄЁ.
if (eG[i][j].
}.
eG[i][m]=c*min[i]+(1-c)*max[i]; //eir.
}.
eGmax=eG[0][m];
for (i=0;i.
if (eG[i][m]>eGmax) eGmax=eG[i][m]; //ei0.
j=0;
for (i=0;i.
if (eG[i][m]==eGmax) {k[j]=i;j++;}.
kmax=j;
cout<<" +————————————————————————————————————-+" <
for (i=0;i.
{ for (j=0;j.
cout<<" |" <<<<" «;
cout<<<" | «<<<<» | «<<<<» |" <
}
cout<<" +————————————————————————————————————-+" <
cout<<" Ћ'‚…': «;
cout<<" eGmax="<
for (j=0;j
cout<<" б®бв®пЁҐ: «<<
cout<<" _____________________________________________________" <
cout<<" ЉаЁвҐаЁ© ѓгаўЁж ўлЇ®"Ґ. Ќ ¦ЁвҐ «оЎго Є» ўЁиг…" <
getch ();
clrscr ();
cout<<" ЉаЁвҐаЁ© Ѓ (c)Ґб -‹ Ї" б «<
for (i=0;i
{ for (j=0;j
eO[i][j]=(random (21)+0.0);
}
for (i=0;i
{ a[i]=0;
for (j=0;j
a[i]=a[i]+eO[i][j]*0.5;
}
cout<<" +—————————————————————————————————————+" <
for (i=0;i
{ for (j=0;j
cout<<" |" <<<<" «;
cout<<<" | «<<<<» | «<<<<» |" <}
cout<<" +—————————————————————————————————————+" <
for (i=0;i
{
max2[j]=a[i];
for (j=0;j
{
if (a[i]>max2[j]) max2[j]=a[i];
}
a[n]=max2[j];
}
eBLmax=a[i];
for (i=0;i
if (a[i]>eBLmax) eBLmax=a[i];
j=0;
for (i=0;i
if (a[i]==eBLmax) {k[j]=i;j++;}
kmax=j;
cout<<" Ћ'‚…': «;
cout<<" eBLmax="<
for (j=0;j
cout<<" б®бв®пЁҐ: «<<
cout<<" _______________________________________________________" <
cout<<" ЉаЁвҐаЁ© Ѓ (c)Ґб -‹ Ї" б ўлЇ®"Ґ. Ќ ¦ЁвҐ «оЎго Є» ўЁиг" <
cout<<" ¤"п § ўҐаиҐЁп Їа®Ја л…" ;
getch ();
}
2. Результаты тестирования программы Критерии Гурвица:
В лабораторной работе мы изучили особенности применения критерий Гурвица и Байеса-Лапласа. Разработав соответствующий алгоритм для каждого из этих критериев и составив программу на языке С++, были определены оптимальные варианты решений проблемной ситуации, описанной в виде матрицы состояний, а также было установлено, что результаты выбора оптимального решения на основе критерия Гурвица и критерия Байеса-Лапласа не совпадают.