Пояснительная записка к дипломному проекту включает в себя: 104108 страниц машинописного текста, 27 рисунков, 29 таблиц, 1 приложение, 22 источника
';
reportQuery1.Next;
end;
rstr:=rstr+prstr;
reportQuery.Next;
end;
rep:=tstringlist.Create;
rep.LoadFromFile('template.html');
t:=rep.Text;
i:=pos('{PriceMatrix}',t);
delete(t,i,length('{PriceMatrix}'));
insert(rstr,t,i);
reportQuery.Active:=false;
reportQuery.SQL.Clear;
s:= 'SELECT postavshik.Imya, Raschet.id_post FROM Raschet INNER JOIN postavshik ON Raschet.[id] = postavshik.[id_rasch] where id_post = '+id_post;
reportQuery.SQL.Add(s);
reportQuery.Active := true;
rstr:=reportQuery.FieldByName('imya').AsString;
i:=pos('{bestpost}',t);
delete(t,i,length('{bestpost}'));
insert(rstr,t,i);
rep.Text:=t;
rep.SaveToFile('report.html');
rep.Free;
shellexecute(form1.handle,'open','report.html','','',1);
end;
Рисунок 2.8 – Фрагмент кода Document.pas реализующий формирование отчетов
2.2Результаты углубленной разработки отдельных модулей программного продукта автоматизации обработки данных с использованием моделей теории игр для принятия решений на машиностроительном предприятии
Рассмотрим более углубленно модуль, отвечающий за расчет по критерию ожидаемого значения – Metod.pas. Существует множество методов принятия решений. Рассмотрим некоторые из них.
Первый метод “Метод анализа иерархий” – математический инструмент системного подхода к сложным проблемам принятия решений. Метод анализа иерархий не предписывает лицу, принимающему решение,
какого-либо «правильного» решения, а позволяет ему в интерактивном режиме найти такой вариант (альтернативу), который наилучшим образом согласуется с его пониманием сути проблемы и требованиями к ее решению.
Второй метод – “Критерий ожидаемого значения”. Он используется, если решение принимается в условиях риска и стоимости альтернативных решений обычно описываются вероятностными распределениями. По этой причине принимаемое решение основывается на использовании критерия ожидаемого значения, в соответствии с которым альтернативные решения сравниваются с точки зрения максимизации ожидаемой прибыли или минимизации ожидаемых затрат.
Исходя из вышесказанного был выбран метод “Критерий ожидаемого значения” который наиболее полно подходит для реализации поставленной задачи, работающий с модулем Metod.раs.
На рисунке 2.5 приведен фрагмент кода модуля Metod.pas. Комментарии приведены в тексте кода после специальных символов.
procedure KritOjZnach(var a:matrix;c,r:integer; var num:integer);
var i,j:integer;
k:real;
begin
// В переменной а получаем платежную матрицу
// в переменной r хранится количество поставщиков
// а в переменной c хранится количество вероятностных цен на товар
// вычисляем средний ожидаемый платеж для каждого из поставщиков
for I := 1 to c - 1 do
for j := 1 to r - 1 do
a[0,j]:= a[0,j] + a[i,j]*a[i,0];
k:=10e30;
// наиболее приемлемым будет заключение контракта на поставку ресурсов
// с тем поставщиком, расчетные затраты на которого будут минимальны.
// Оптимальные затраты при этом могут быть рассчитаны как
//M〖[A]〗i^опт=min{M[A]i }
for j := 0 to r - 1 do
begin
if k>a[0,j] then k:=a[0,j];
i:=j;
end;
num:=i;
// итого в переменной num получаем номер поставщика
// а в переменной k вероятные затраты при
// заключении контракта поставки
// с данным поставщиком которые являються минимальными
// по сравнению с другими вариантами, а соответственно оптимальными
end;
Рисунок 2.5 – Фрагмент кода модуля metod.pas
Представленный на рисунке 2.5 фрагмент кода получает платежную матрицу во входных параметрах данным и производит расчет по критерию ожидаемого значения[15]. Результаты работы данного модуля сохраняются в созданной нами базе данных. Фрагмент базы, а именно таблица «Расчет» представлена на рисунке 2.6.
Рисунок 2.6 – Таблица «Расчет»
Результаты расчета из модуля Raschet.pas требуется сохранить в базе данных. Обработкой данной задачи занимается модуль Controller.pas. Фрагмент кода Controller.pas приведен на рисунке 2.7. Комментарии к коду приведены после специальных символов.
// расчет критерия ожидаемого значения
KritOjZnach(a,StringGrid1.ColCount,StringGrid1.RowCount,i);
// создание записи в таблице raschet о произведенном расчете
s:= 'insert into raschet (comment,data,id_post) values ('+#39+edit1.Text+#39+',now,'+inttostr(i)+');';
j:=ExecSQL(s);
//добавление в таблицу postavshik данных о поставщиках участвующих в расчете
for I := 1 to StringGrid1.RowCount - 1 do
begin
s:= 'insert into postavshik (id_rasch,imya) values ('+inttostr(j)+','+#39+StringGrid1.Cells[0,i]+#39+')';
m:=ExecSQL(s);
// добавление вероятностных цен по каждому из поставщиков в таблицу price
for k := 1 to StringGrid1.ColCount - 1 do
begin
s:= 'insert into price (id_post,val,veroyatnost) values ('+inttostr(m)+','+#39+floattostr(a[k,i])+#39+','+#39
+floattostr(a[k,0])+#39+')';
ExecSQL(s);
end;
end;
Рисунок 2.7 – Фрагмент кода Controller.pas реализующий запись в базу данных
Также в данном программном продукте реализована возможность вывода отчетов о произведенных расчетах на основе информации хранящейся в базе данных. За наличие данной возможности отвечает модуль Document.pas.
Фрагмент кода Document.pas приведен на рисунке 2.8. Комментарии к коду приведены после специальных символов.
reportQuery1.SQL.Clear;
s:= 'SELECT * FROM price where id_post = '+idpost;
reportQuery1.SQL.Add(s);
reportQuery1.Active := true;
for j := 1 to reportQuery1.RecordCount do
begin
prval:= reportQuery1.FieldByName('val').AsString;
prver:=reportQuery1.FieldByName('veroyatnost').AsString;
prstr:= prstr+ '
|
'+prval+'/'+prver+' |
Похожие:
|
Пояснительная записка к дипломному проекту включает в себя: страниц...
Тема дипломного проекта «Проект программно-методического комплекса автоматизации обработки данных и решения задач с использованием...
|
|
Реферат Пояснительная записка к дипломному проекту включает в себя:...
Тема дипломного проекта «Проект программно-методического комплекса для оптимизации распределения заданий по формированию твердых...
|
|
Требования к публикациям: количество страниц
Расположение рисунков, таблиц только вертикальное (при наличии больших рисунков и таблиц возможна доплата)
|
|
Пояснительная записка к дипломной работе
Дипломная работа содержит 87 страниц, 5 рисунков, 7 таблиц, 38 источников, 2 приложения, 2 листа графического материала
|
|
Пояснительная записка к дипломному проекту на тему индивидуальный жилой дом в г. Тюмени
Исходные данные к проекту -задание на проектирование,рабочие чертежи марки ас,ГП. Материалы инженерно-геологических изысканий
|
|
Реферат Объем пояснительной записки 103 страниц, 12 рисунков, 4 таблиц,...
Объем пояснительной записки — 103 страниц, 12 рисунков, 4 таблиц, 1 приложения, 6 листов графического материала, 16 источников
|
|
Название дипломного проекта
Пояснительная записка 122 листа, 26 рисунков, 17 таблиц, 10 источников, 2 приложения
|
|
Препроцессор пояснительная записка к курсовому проекту по курсу «Схемотехника эвм»
Использовано 5 литературных источников. Графическая часть включает в себя 4 документа: схему электрическую функциональную (Э2), схему...
|
|
Препроцессор пояснительная записка к курсовому проекту по курсу «Схемотехника эвм»
Использовано 5 литературных источников. Графическая часть включает в себя 4 документа: схему электрическую функциональную (Э2), схему...
|
|
Препроцессор пояснительная записка к курсовому проекту по курсу «Схемотехника эвм»
Использовано 5 литературных источников. Графическая часть включает в себя 4 документа: схему электрическую функциональную (Э2), схему...
|
Литература