Критерии принятия решений - файл n1.doc

приобрести
Критерии принятия решений
скачать (336.2 kb.)
Доступные файлы (1):
n1.doc553kb.24.03.2006 19:41скачать

n1.doc

1   2   3

Необходимо проанализировать и выбрать наилучший и наихудший объект по признакам, использую критерий Севиджа, критерий произведений и составной критерий Байеса-Лапласа минимаксный. Каждый из объектов характеризуется некоторыми статистическими данными, которые приведены в таблице 1.



Таблица 1.

№ n/n

Наименование

района

Обеспеченность врачами на 10т.

Рождаемость

на 1 тыс.

Смертность

на 1 тыс.

Смертность в трудовом

возрасте

1

Панинский

19.7

7.9

21.0

1040.9

2

Петропавловский

14.7

8.1

19.6

644.8

3

Поворинский

18.9

7.2

18.4

1125.9

4

Подгоренский

18.6

7.4

18.1

846.0

5

Рамонский

21.8

6.4

23.3

1140.8


Приведённая матрица рассчитывается по следующей формуле:




и выглядит следующим образом (Таблица 2):
Таблица 2.

№ n/n

Наименование

района

Обеспеченность врачами на 10т.

Рождаемость

на 1 тыс.

Смертность

на 1 тыс.

Смертность в трудовом

возрасте

1

Панинский

0.930

1.874

1.079

0.960

2

Петропавловский

-3.913

2.623

-0.563

-3.720

3

Поворинский

0.155

-0.750

-1.970

1.964

4

Подгоренский

-0.136

0.000

-2.321

-1.343

5

Рамонский

2.964

-3.748

3.775

2.140


3.Тестовый пример

В данной курсовой работе используется программа, которая обрабатывает, анализирует введенные данные и выдает окончательный результат. Также с помощью данной программы можно анализировать и другие данные. На рисунке 1 даны исходные данные:


Рисунок 1.


Затем, с помощью данной программы переведём исходные данные в приведённую матрицу (рисунок 2).



Рисунок 2.

На рисунках 3, 4, 5, представлены окончательные результаты, где выведены наилучшие и наихудшие районы по заданным критериям.


Рисунок 3. Критерий произведений.



Рисунок 4. Составной критерий.


Рисунок 5.Критерий Севиджа.


Заключение

В данной курсовой работе оценка наилучшего и наихудшего объектов производилась на основании трех критериев принятия решений:

Критерий Сэвиджа;

Критерий Байеса – Лапласа;

Критерий Произведений;

По критериям Севиджа, Байеса-Лапласа и критерию Произведений наилучшим объектом является Рамонский район, а наихудший Петропавловский, Панинский и Поворинский соответственно.

Список литературы


Бинкин Б.А., Черняк В.И. Эффективность управления: наука и практика. М.: Наука, 1982. 143 с.

Мушик З., Мюллер П. Методы принятия технических решений. - М.: Мир, 1990. - 208с

Могилевский В.Д. Методология систем: вербальный подход. / М., Экономика, 1999. 251 с.

Саати Т., Кернс К. Аналитическое планирование. Организация систем. / М. Радио и связь. 1991.

Приложение А (листинг программы)
unit unit1;
interface
uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ComCtrls, ToolWin, StdCtrls, Grids, ExtCtrls, Buttons;
type

TForm1 = class(TForm)

Panel1: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

StringGrid1: TStringGrid;

Bevel1: TBevel;

Bevel2: TBevel;

Bevel3: TBevel;

Bevel4: TBevel;

Bevel5: TBevel;

GroupBox1: TGroupBox;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

SpeedButton3: TSpeedButton;

Memo1: TMemo;

SpeedButton4: TSpeedButton;

SpeedButton5: TSpeedButton;

SpeedButton6: TSpeedButton;

Image1: TImage;

procedure FormCreate(Sender: TObject);

procedure SpeedButton6Click(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure SpeedButton4Click(Sender: TObject);

procedure SpeedButton1Click(Sender: TObject);

procedure SpeedButton2Click(Sender: TObject);

procedure SpeedButton3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

Form1: TForm1;
implementation
{$R *.DFM}

const

M = 4;

rajon: array [1..5] of string = (

'Панинский',

'Петропавловский',

'Поворинский',

'Подгоренский',

'Рамонский');

data: array [1..5, 1..4] of real = (

(19.73, 7.9, 20.95, 1040.95),

(14.66, 8.08, 19.63, 644.75),

(18.89, 7.16, 18.39, 1125.9),

(18.59, 7.38, 18.12, 846.05),

(21.82, 6.44, 23.29, 1140.85));

var

E: array [1..10, 1..10] of real;

R: array [1..10] of string;

N: integer;
procedure TForm1.FormCreate(Sender: TObject);

// создание формы

var

s: string;

i: integer;

begin

StringGrid1.RowCount := 5;

n := 5;

for i := 1 to n do

begin

Str(i, s);

StringGrid1.Cells[0, i - 1] := s;

StringGrid1.Cells[1, i - 1] := rajon[i];

Str(data[i, 1]:3:1, s);

StringGrid1.Cells[2, i - 1] := s;

Str(data[i, 2]:3:1, s);

StringGrid1.Cells[3, i - 1] := s;

Str(data[i, 3]:3:1, s);

StringGrid1.Cells[4, i - 1] := s;

Str(data[i, 4]:3:1, s);

StringGrid1.Cells[5, i - 1] := s;

end;

end;
procedure TForm1.SpeedButton6Click(Sender: TObject);

//выход

begin

Close;

end;
procedure TForm1.SpeedButton5Click(Sender: TObject);

//загрузка тестового примера

var

s: string;

i: integer;

begin

StringGrid1.RowCount := 5;

n := 5;

for i := 1 to n do

begin

Str(i, s);

StringGrid1.Cells[0, i - 1] := s;

StringGrid1.Cells[1, i - 1] := rajon[i];

Str(data[i, 1]:3:1, s);

StringGrid1.Cells[2, i - 1] := s;

Str(data[i, 2]:3:1, s);

StringGrid1.Cells[3, i - 1] := s;

Str(data[i, 3]:3:1, s);

StringGrid1.Cells[4, i - 1] := s;

Str(data[i, 4]:3:1, s);

StringGrid1.Cells[5, i - 1] := s;

end;

end;
procedure TForm1.SpeedButton4Click(Sender: TObject);

//приведение матрицы

var

E1: array [1..10, 1..10] of real;

Xsr: array [1..10] of real;

k, i, j: integer;

c: real;

s1: string;

begin

N := StringGrid1.RowCount;

for i := 1 to N do

begin

R[i] := StringGrid1.Cells[1, i - 1];

Val(StringGrid1.Cells[2, i - 1], E1[i, 1], k);

Val(StringGrid1.Cells[3, i - 1], E1[i, 2], k);

Val(StringGrid1.Cells[4, i - 1], E1[i, 3], k);

Val(StringGrid1.Cells[5, i - 1], E1[i, 4], k);

end;

// формирование безразмерной матрицы

for j := 1 to M do

begin

Xsr[j] := 0;

for i := 1 to N do

Xsr[j] := Xsr[j] + E1[i, j];

Xsr[j] := Xsr[j] / N;

end;

for j := 1 to M do

begin

c := 0;

for i := 1 to N do

c := c + Sqr(E1[i, j] - Xsr[j]);

c := Sqrt(c) / 5;

for i := 1 to N do

E[i, j] := (E1[i, j] - Xsr[j]) / c;

end;

GroupBox1.Enabled := True;

// вывод безразмерной матрицы

for i := 1 to N do

for j := 1 to M do

begin

Str(E[i, j]:7:3, s1);

StringGrid1.Cells[j + 1, i - 1] := s1;

end;

end;
procedure TForm1.SpeedButton1Click(Sender: TObject);

// критерий произведений

var

c: real;

j, imin, imax, k, i: integer;

min, max: real;

s1, s: string;

begin

for i := 1 to N do

begin

min := E[i, 1];

imin := 1;

for j := 1 to N do

if E[i, j] < min then

begin

min := E[i, j];

imin := j;

end;

E[i, imin] := E[i, imin] + Abs(min) + 1;

end;

for i := 1 to N do

begin

E[i, 5] := 1;

for j := 1 to M do

E[i, 5] := E[i, 5] * E[i, j];

end;

imax := 1;

max := E[1, 5];

imin := 1;

min := E[1, 5];

for i := 1 to N do

begin

if E[i, 5] > max then

begin

max := E[i, 5];

imax := i;

end;

if E[i, 5] < min then

begin

min := E[i, 5];

imin := i;

end;

end;

Memo1.Lines.Add('Критерий произведений');

Memo1.Lines.Add('Наилучший объект');

Memo1.Lines.Add(R[imax]);

Str(max:5:3, s);

Memo1.Lines.Add('Значение: ' + s);

Memo1.Lines.Add('Наихудший объект');

Memo1.Lines.Add(R[imin]);

Str(min:5:3, s);

Memo1.Lines.Add('Значение: ' + s);

end;
procedure TForm1.SpeedButton2Click(Sender: TObject);

//составной

var

c: real;

j, imin, imax, k, i: integer;

q: array [1..10, 1..10] of real;

sum, min, max: real;

s1, s: string;

begin

for i := 1 to N do // расчет МО

begin

sum := 0;

for j := 1 to M do

sum := sum + E[i, j];

min := E[i, 1];

max := E[i, 1];

for j := 1 to M do

begin

q[i, j] := E[i, j] / sum;

if E[i, j] < min then

min := E[i, j];

if E[i, j] > max then

max := E[i, j];

end;

E[i, M + 1] := 0;

for j := 1 to M do

E[i, M + 1] := E[i, M + 1] + E[i, j]* q[i, j];

E[i, M + 2] := 0.5 - min;

E[i, M + 3] := max - 0.5;

end;

imax := 1;

max := E[1, M + 1];

imin := 1;

min := E[1, M + 1];

for i := 1 to N do

begin

if (E[i, M + 1] > max) and (E[i, M + 2] <= 0.8) then

begin

max := E[i, M + 1];

imax := i;

end;

if (E[i, M + 1] < min) and (E[i, M + 2] <= 0.8) then

begin

min := E[i, M + 1];

imin := i;

end;

end;

Memo1.Lines.Add('Составной критерий');

Memo1.Lines.Add('Наилучший объект');

Memo1.Lines.Add(R[imax]);

Str(max:5:3, s);

Memo1.Lines.Add('Значение: ' + s);

Memo1.Lines.Add('Наихудший объект');

Memo1.Lines.Add(R[imin]);

Str(min:5:3, s);

Memo1.Lines.Add('Значение: ' + s);

end;
procedure TForm1.SpeedButton3Click(Sender: TObject);

//Сэвиджа

var

c: real;

j, ind1, ind2, k, i: integer;

A: array [1..10, 1..10] of real;

Kmin, Kmax: real;

s: string;

begin

for j := 1 to M do // расчет максимума

begin

Kmax := E[1, j];

for i := 1 to N do

if E[i, j] > Kmax then

Kmax := E[i, j];

for i := 1 to N do

A[i, j] := Kmax - E[i, j];

end;

for i := 1 to N do

begin

Kmax := A[i, 1];

for j := 1 to M do

if A[i, j] > Kmax then

Kmax := A[i, j];

E[i, 5] := Kmax;

end;

ind2 := 1;

Kmax := E[1, 5];

ind1 := 1;

Kmin := E[1, 5];

for i := 1 to N do

begin

if E[i, 5] < Kmax then

begin

Kmax := E[i, 5];

ind2 := i;

end;

if E[i, 5] > Kmin then

begin

Kmin := E[i, 5];

ind1 := i;

end;

end;

Memo1.Lines.Add('Критерий Сэвиджа');

Memo1.Lines.Add('Наилучший объект');

Memo1.Lines.Add(R[ind2]);

Str(Kmax:5:3, s);

Memo1.Lines.Add('Значение: ' + s);

Memo1.Lines.Add('Наихудший объект');

Memo1.Lines.Add(R[ind1]);

Str(Kmin:5:3, s);

Memo1.Lines.Add('Значение: ' + s);

end;
end.



1   2   3


Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации