Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Критерии принятия решения - файл Лаба 1 ТПР.doc


Критерии принятия решения
скачать (88.7 kb.)

Доступные файлы (4):

TPR1.CPP
TPR1.EXE
TPR1.OBJ
Лаба 1 ТПР.doc89kb.14.12.2009 12:13скачать

содержание
Загрузка...

Лаба 1 ТПР.doc

Реклама MarketGid:
Загрузка...
Уфимский Государственный Авиационный Технический Университет

Лабораторная работа №1

Критерии принятия решений


Выполнил:
Гр. АСОИ-2**

Проверил:

Насыров Р.В.


Уфа-2009

Цель работы. Изучение особенностей применения критериев принятия решений.


Постановка задачи.

Написать программу (на языке C++) для нахождения решения для матрицы 10 на 20 с помощью критерия Сэвиджа и Оптимистического (азартного игрока) критерия, где 10-варианты решения и 20-возможные состояния.

Дополнительные параметры не даны.


Вариант №7:
– Сэвиджа ;

– Оптимистический ;


Листинг программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

#include <iomanip.h>

#include <stdlib.h>

#include <time.h>

#include <stdio.h>
void main()

{

const n=20, m=10;

int i,j,h,p;

i=0; j=0;

double e[n][m], a[n][m] , maxE, maxEE[n], maxS[n], maxSS[m], maxSAV, b[n][m],maxmax;
clrscr();

randomize();

for(i=0;i<n;i++)

{for(j=0;j<m;j++)

e[i][j]=random(100);}
while(1)

{clrscr();

cout<<"1.Kriteriy Optimisticheskiy\n";

cout<<"2.Kriteriy Savage\n";

cout<<"3.Vihod iz programmi\n";

cout<<endl;

cout<<"Vash vibor(1-3):";

cin>>h;

switch(h)

{
case 1: for(i=0;i<n;i++)

{for(j=0;j<m;j++)

a[i][j]=e[i][j];}
for(i=0;i<n;i++)

{maxEE[i]=a[i][0];

for(j=0;j<m;j++)

if(a[i][j]>maxEE[i]) {maxEE[i]=a[i][j];} }


maxE=maxEE[0];

for(i=1;i<n;i++)

if(maxE<maxEE[i]) {maxE=maxEE[i];}


for(i=0;i<n;i++)

{ for(j=0;j<m;j++)

cout<<setw(2)<<a[i][j]<<" ";

if(j==m) cout<<"|*|"<<maxEE[i]<<endl;
}


cout<<endl<<"Reshenie po Optimisticheskomu:"<<maxE;

getch(); break;

case 2: for(i=0;i<n;i++)

{for(j=0;j<m;j++)

a[i][j]=e[i][j];}
for(j=0;j<m;j++)

{maxSS[j]=0;}
for(j=0;j<m;j++)

{for(i=0;i<n;i++)

if(maxSS[j]<a[i][j]) {maxSS[j]=a[i][j];}

}
for(j=0;j<m;j++)

{for(i=0;i<n;i++)

b[i][j]=maxSS[j]-a[i][j];

}

for(i=0;i<n;i++)

{maxS[i]=0;}
for(i=0;i<n;i++)

{for(j=0;j<m;j++)

if(maxS[i]<b[i][j]) {maxS[i]=b[i][j];}

}

for(i=0;i<n;i++)

{cout<<maxS[i]<<" ";}
maxmax=maxS[0];

for(i=1;i<n;i++)

{if(maxmax>maxS[i]) {maxmax=maxS[i];}}

cout<<endl<<endl;


for(i=0;i<n;i++)

{ for(j=0;j<m;j++)

cout<<setw(2)<<b[i][j]<<" ";

if(j==m) cout<<endl;

}

cout<<endl;

cout<<"Reshenie po Savadgu:"<<maxmax;

getch();

break;
case 3: cout<<"End of programm..."; getch();

exit(0);


default: cout<<"Net takogo punkta!"<<endl;

cout<<"Press any key...";

getch();

}}
}
^ Результаты работы программы(тестирование).

Меню программы.



Работа Оптимистического критерия.



Работа критерия Сэвиджа.



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


Скачать файл (88.7 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru