- •Программные средства систем поддержки принятия решений Содержание
- •Введение
- •Тема ргз – «Разработка программного средства системы поддержки принятия решений».
- •Разработанная версия сппр должна включать алгоритмы решения задачи поддержки принятия решений в условиях неопределенности.
- •1 Методы принятия решений в условиях неопределенности
- •1.1 Методика оценки автоматизированных системы в условиях неопределенности
- •1.2 Принятие решений в статистически неопределенных ситуациях
- •2 Техническое задание на разработку программного средства сппр
- •3 Методика выполнения и защиты отчета по ргз
- •Содержание отчета по ргз должно включать: Введение
- •Заключение
- •Расчетно-графическое задание
- •Содержание
- •Введение
- •Предметная область
- •Основная часть
- •1 Математическое описание критерия принятия решений
- •2 Разработка программного средства
- •2.1 Разработка архитектуры программного продукта
- •2.2 Разработка алгоритма задачи
- •2.3 Разработка программного кода
- •3 Тестирование разработанного программного средства
- •Заключение
- •Листинг управляющего модуля (Модуль ф1)
3 Тестирование разработанного программного средства
Тестирование программного средства осуществляется с цель проверки правильности функционирования разработанного программного кода.
Тестирование проведено на основе контрольного набора данных согласно условиям решаемой задачи.
Таблица 2.1 Матрица эффективности медицинских препаратов
|
|
|
||
|
|
|
||
|
0,5 |
0,1 |
0,3 |
|
|
0,2 |
0,4 |
0,5 |
|
|
0,1 |
0,2 |
0,1 |
|
|
0,267 |
0,233 |
0,3 |
0,3 |
РЕШЕНИЕ:
n – число альтернатив =3
Определим сумму по столбцам:
=1/3*(0,5+0,2+0,1)=0,267
=1/3*(0,1+0,4+0,2)=0,233
=1/3*(0,3+0,5+0,1)=0,3
Находим как max из строки , отсюда оптимальной считается система из строки с max значением коэффициента, следовательно,
=0,3
Р езультат: наиболее эффективным при одном из заболеваний является медицинский препарат .
Программная реализация контрольного примера представлена в виде экранной формы на рисунке 3.1
Рисунок 3.1 – Экранная форма программного средства
В результате сравнения контрольного примера с экранной формой можно сделать вывод о правильности функционирования разработанного программного средства.
Заключение
В результате выполнения РГЗ закреплены знания методов теории принятия решений, получены первичные навыки системного анализа предметных областей автоматизированных систем управления, углублены умения разработки программных продуктов.
Решены поставленные инженерные задачи:
разработана иерархия модулей программного продукта, состоящая из одного главного и шести модулей метода;
разработан алгоритм принятия решений в условиях неопределенности для одного из модулей (метод Лапласа);
программно реализован разработанный алгоритм метода Лапласа на языке высокого уровня Object Pascal в среде Delphi 6.
осуществлена тестовая проверка разработанного программного продукта.
Анализ результатов работы системы поддержки принятия решений свидетельствует, что использование различных критериев принятия решений в условиях неопределенности может привести к различным рекомендациям для ЛПР. Поэтому применимость критериев должно быть обосновано целью решения задачи выбора.
Таким образом, цель выполнения РГЗ достигнута.
Приложение А
Листинг управляющего модуля (Модуль ф1)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, Grids, Menus;
type
TForm1 = class(TForm)
Tab1: TStringGrid;
Label1: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
Panel1: TPanel;
RadioGroup1: TRadioGroup;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2,Unit3,Unit4,Unit5,Unit6,Unit7;
{$R *.dfm}
procedure TForm1.N1Click(Sender: TObject);
begin
MessageDLG('Чтобы начать работу выполните следующее:'#13'1) Заполните матрицу исходными значениями'#13'2) Укажите критерий, по которому будет производиться оценка',mtInformation,[mbOk],0);
Tab1.Enabled:=True;
RadioGroup1.Enabled:=True;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
MessageDLG('Задача: '#13'Научной лаборатории необходимо оценить воздействие трех медицинских препаратов при одном из заболеваний. Матрица эффективности представлена в таблице, где a1-a3 - заболевание, а к1-к3 - медицинские препараты.',mtConfirmation,[mbOK],0);
end;
procedure TForm1.N4Click(Sender: TObject);
begin
MessageDLG('Разработчик: Дубовскова Ольга Владимировна'#13'Студент ВТУ'#13'Группа ИВТ 2/3-04'#13'Направление: Информатика и вычислительная техника' ,mtInformation,[mbOK],0);
end;
procedure TForm1.N5Click(Sender: TObject);
begin
MessageDLG('Среда разработки: Borland Delphi 7.'#13'Системные требования: Windows 98SE/2000/NT,'#13'CPU Intel Celeron 2.4GHz, RAM 256Мб,'#13'около 500Мб свободного дискового пространства,'#13'Видеокарта NVIDIA GeForce 4MX with AGP8X.',mtInformation,[mbOK],0);
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Tab1.Cells[0,1]:='a1';
Tab1.Cells[0,2]:='a2';
Tab1.Cells[0,3]:='a3';
Tab1.Cells[1,0]:='k1';
Tab1.Cells[2,0]:='k2';
Tab1.Cells[3,0]:='k3';
Tab1.Enabled:=False;
RadioGroup1.Enabled:=False;
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
Var c,r:integer;
begin
Case RadioGroup1.ItemIndex of
0: begin
Form2.Show;
For c:=1 to 3 do begin
For r:=1 to 3 do begin
Form2.Tab1.Cells[c,r]:=Tab1.Cells[c,r];
end;
end;
end;
1: begin
Form3.Show;
For c:=1 to 3 do begin
For r:=1 to 3 do begin
Form3.Tab1.Cells[c,r]:=Tab1.Cells[c,r];
end;
end;
end;
2: begin
Form4.Show;
For c:=1 to 3 do begin
For r:=1 to 3 do begin
Form4.Tab1.Cells[c,r]:=Tab1.Cells[c,r];
end;
end;
end;
3: begin
Form5.Show;
For c:=1 to 3 do begin
For r:=1 to 3 do begin
Form5.Tab1.Cells[c,r]:=Tab1.Cells[c,r];
end;
end;
end;
4:begin
Form6.Show;
For c:=1 to 3 do begin
For r:=1 to 3 do begin
Form6.Tab1.Cells[c,r]:=Tab1.Cells[c,r];
end;
end;
end;
5:begin
Form7.Show;
For c:=1 to 3 do begin
For r:=1 to 3 do begin
Form7.Tab1.Cells[c,r]:=Tab1.Cells[c,r];
end;
end;
end;
end;
end;
end.