Теория принятия решений
Разработка автоматизированной программы выбора оптимального решения с использованием критерия Гермейера и минимаксного критерия; блок-схема программы. Особенности подхода Гермейера к отысканию пригодных к компромиссу решений в области полиоптимизации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 05.07.2014 |
Размер файла | 524,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Факультет подготовки инженерных кадров
Кафедра САПРиПК
КОНТРОЛЬНАЯ РАБОТА
по курсу "Теория принятия решений"
Выполнил:
студент гр. АУЗ - 261с
Тюляева И.А.
Проверила:
Доцент каф.САПРиПК
Г.Л.Шкурина
Волгоград 2011
Содержание
- Описание задачи по варианту 4.12
- Теоретическая часть
- Минимаксный критерий
- Критерий Гермейера
- Описание решения задачи
- Блок-схема программы
- Листинг программы
- Список использованной литературы
Описание задачи по варианту 4.12
Акционеры на собрании закрытого акционерного общества "Энергосвязь" обсуждают три проекта вложения инвестиций. Варианты решений таковы: E1 - проект, требующий больших вложений; E1 - проект, требующий средних финансовых вложений; E3 - проект, требующий небольших вложений. Условия, вызываемые необходимость рассмотрения и утверждения проектов следующие: F1 - большие доходы, но в течение нескольких лет, F2 - средние доходы в ближайшее время, F3 - больших доходов не предвидится, но обеспечится престижность, высокое общественное звучание проекта. Результаты решений оцениваются величиной прибыли в американских долларах.
программа решение гермейер полиоптимизация
F1 |
F2 |
F3 |
||
E1 |
94,0 |
50,0 |
18,0 |
|
E2 |
51,0 |
27,0 |
11,0 |
|
E3 |
19,0 |
12,0 |
7,0 |
Подходящее решение следует выбрать, используя заданные критерии:
· Критерий Гермейера ();
· Минимаксный критерий.
Разработать автоматизированную программу выбора оптимального решения с использованием заданных критериев.
Теоретическая часть
Критерий принятия решений - это функция, выражающая предпочтения лица, принимающего решения (ЛПР), и определяющая правило, по которому выбирается приемлемый или оптимальный вариант решения.
Всякое решений в условиях неполной информации принимается в с учетом количественных характеристик ситуаций, в которой принимаются решения. Наиболее часто принимаются следующие критерии принятия решений: критерий Севиджа, критерий Гурвица, критерий Ходжа-Лимона, критерий Гермейера, минимаксный критерий, критерий Байеса-Лапласа, критерий какой-либо оценочной информацией, выбор которой должен осуществляться критерий произведений, составной критерий Байеса-Лапласа минимаксный.
Эти критерии можно использовать поочередно, причем после вычисления их значений среди нескольких вариантов приходится произвольным образом выделять некоторое окончательное решение. Что позволяет, во-первых, лучше проникнуть во все внутренние связи проблемы принятия решений и, во-вторых, ослабить влияние субъективного фактора.
Классические критерии принятия решений.
Минимаксный критерий
Минимаксный критерий (ММ) использует оценочную функцию , соответствующую позицию крайней осторожности.
и ,
где - оценочная функция ММ-критерия.
Поскольку в области технических задач построение множества вариантов уже само по себе требует весьма значительных усилий, причем иногда возникает необходимость в их рассмотрении с различных точек зрения. Оно должно напоминать о том, что совокупность вариантов необходимо исследовать возможно более полным образом, чтобы была обеспечена оптимальность выбираемого варианта.
Правило выбора решения в соответствии с этим критерием можно интерпретировать следующим образом:
Матрица решений дополняется еще одним столбцом из наименьших результатов каждой строки. Выбрать надлежит те варианты , в строках которых стоят наибольшие значения этого столбца.
Выбранные таким образом варианты полностью исключают риск. Это означает, что принимающий решение не может столкнуться с худшим результатом, чем тот, на который он ориентируется. Какие бы условия ни встретились, соответствующий результат не может оказаться ниже . Это свойство заставляет считать минимаксный критерий одним из фундаментальных. Поэтому в технических задачах он применяется чаще всего, как сознательно, так и неосознанно. Однако положение об отсутствии риска стоит различных потерь.
Критерий Гермейера
Отправляясь от подхода Гермейера к отысканию эффективных и пригодных к компромиссу решений в области полиоптимизации - т.е. всех решений, которые не считаются заведомо худшими, чем другие, - можно предположить еще один критерий, обладающий в некотором отношении определенной эластичностью. Он с самого начала ориентирован на величины потерь, т.е. на отрицательные значения .
В качестве оценочной функции выступает
Поскольку в хозяйственных задачах преимущественно имеют дело с ценами и затратами, условие <0 обычно выполняется. В случае же, когда среди величин встречаются и положительные значения, можно перейти к строго отрицательным значениям с помощью преобразования - а при подходящим образом подобранном >0.
Правило выбора согласно критерию Гермейера формулируется следующим образом:
Матрица решений дополняется еще одним столбцом, содержащим в каждой строке наименьшее произведение имеющегося в ней результата на вероятность соответствующего состояния . Выбираются те решения , в строках которых находится наибольшее значение этого столбца.
Описание решения задачи
Определить оптимальные варианты из множества решений, заданных матрицей решений с использованием минимаксного критерия.
Из каждой строки матрицы выбираем минимальный (min) элемент и заносим его в дополнительный столбец, дальше из этого столбца выбираем максимальный элемент (max) - это и есть ответ.
Ответ: .
Рис. 1 Минимаксный критерий.
Определить оптимальные варианты из множества решений, заданных матрицей решений с использованием критерия Гермейера при вероятности состояния системы принятия решений:
При использовании критерия Гермейера для расчёта должна получиться матрица, в которой все элементы имеют отрицательное значение.
В исходной матрице максимум это 94, поэтому из каждого элемента вычитается любое большее число, например, 95.
Получается матрица остатков:
Уже заданную вероятность умножаем элементы матрицы.
Вычисление:
Полученные ответы сравниваются, из них выбираются минимальные значения, которые записываются в дополнительный столбец матрицы остатков.
Из дополнительного столбца выбирается максимальное (max) значение - это и есть ответ.
Ответ: .
Рис. 2 Критерий Гермейера.
Блок-схема программы
Листинг программы
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
double S (double R[3]);
double S1 (double R1[3][3]);
double S2 (double R2[3]);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
StringGrid1->Cells[0][0]="Реш./Усл.";
StringGrid2->Cells[0][0]="Реш./Усл.";
StringGrid1->Cells[0][1]="E1";
StringGrid1->Cells[0][2]="E2";
StringGrid1->Cells[0][3]="E3";
StringGrid1->Cells[1][0]="F1";
StringGrid1->Cells[2][0]="F2";
StringGrid1->Cells[3][0]="F3";
StringGrid2->Cells[0][1]="E1";
StringGrid2->Cells[0][2]="E2";
StringGrid2->Cells[0][3]="E3";
StringGrid2->Cells[1][0]="F1";
StringGrid2->Cells[2][0]="F2";
StringGrid2->Cells[3][0]="F3";
StringGrid2->Cells[4][0]="MiN";
}
//---------------------------------------------------------------------------
double S1 (double R1[3][3])
{
double max;
max=R1[0][0];
for ( int i = 0; i<3; i++)
for ( int j = 0; j<3; j++)
if (R1[i][j]>max) max=R1[i][j];
return max;
}
double S2 (double R2[3])
{
double max;
max=R2[0];
for ( int i = 0; i<3; i++)
if (R2[i]>max) max=R2[i];
return max;
}
double S (double R[3])
{
double min;
min=R[0];
for ( int i = 0; i<4; i++)
if (R[i]<min) min=R[i];
return min;
}
void __fastcall TForm1::ComboBox1Select(TObject *Sender)
{
double m1,m2,m3;
double A[3],B[3],C[3];
double q=StrToFloat(Edit1->Text);
double M[3][3], D[3], E[3], F[3];
double z1,z2,z3;
switch(ComboBox1->ItemIndex)
{
case 0:
{
for (int i=1;i<4;i++)
{
for (int j=1;j<4;j++)
{
StringGrid2->Cells[i][j]=StringGrid1->Cells[i][j];
}
}
for (int i=1;i<4;i++)
{
A[i-1]=StrToFloat(StringGrid2->Cells[i][1]);
}
for (int i=1;i<4;i++)
{
B[i-1]=StrToFloat(StringGrid2->Cells[i][2]);
}
for (int i=1;i<4;i++)
{
C[i-1]=StrToFloat(StringGrid2->Cells[i][3]);
}
z1=S(A);
StringGrid2->Cells[4][1]=FloatToStr(z1);
z2=S(B);
StringGrid2->Cells[4][2]=FloatToStr(z2);
z3=S(C);
StringGrid2->Cells[4][3]=FloatToStr(z3);
break;
}
case 1:
{
for (int i=1;i<4;i++)
{
for (int j=1;j<4;j++)
{
M[i-1][j-1]=StrToFloat(StringGrid1->Cells[i][j]);
}
}
double n=S1(M);
for ( int i = 0; i<3; i++)
for ( int j = 0; j<3; j++)
M[i][j]=M[i][j]-(n+1);
for (int i=0;i<3;i++)
{
for (int j=0;j<3;j++)
{
StringGrid2->Cells[i+1][j+1]=FloatToStr(M[i][j]);
}
}
for (int i=1;i<4;i++)
{
D[i-1]=StrToFloat(StringGrid2->Cells[i][1]);
D[i-1]=D[i-1]*q;
}
for (int i=1;i<4;i++)
{
E[i-1]=StrToFloat(StringGrid2->Cells[i][2]);
E[i-1]=E[i-1]*q;
}
for (int i=1;i<4;i++)
{
F[i-1]=StrToFloat(StringGrid2->Cells[i][3]);
F[i-1]=F[i-1]*q;
}
z1=S(D);
StringGrid2->Cells[4][1]=FloatToStr(z1);
z2=S(E);
StringGrid2->Cells[4][2]=FloatToStr(z2);
z3=S(F);
StringGrid2->Cells[4][3]=FloatToStr(z3);
break;
}
}
if (z1>z2 && z1>z3)
{
Label1->Caption="Ответ: Оптимальное решение - проект E0={Е1}= "+FloatToStr(z1);
}
if (z2>z1 && z2>z3)
{
Label1->Caption="Ответ: Оптимальное решение - проект E0={Е2}= "+FloatToStr(z2);
}
if (z3>z1 && z3>z2)
{
Label1->Caption="Ответ: Оптимальное решение - проект E0={Е3}= "+FloatToStr(z3);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
WideString str;
TStringList *sl = new TStringList;
for(int i = 0 ; i<4;++i)
{
for(int j = 0; j<4;++j)
str += StringGrid1->Cells[j][i]+ "\t";
sl->Add(Trim(str));
str = "\n\r" ;
}
str +="q[j]="+Edit1->Text+ "\t";
sl->Add(Trim(str));
str = "\n\r" ;
sl->SaveToFile("Soh_usl.xls");
delete sl;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
WideString str1;
TStringList *s2 = new TStringList;
for(int i = 0 ; i<5;++i)
{
for(int j = 0; j<5;++j)
str1 += StringGrid2->Cells[j][i]+ "\t";
s2->Add(Trim(str1));
str1 = "\n\r" ;
}
str1 += Label1->Caption+ "\t";
s2->Add(Trim(str1));
str1 = "\n\r" ;
s2->SaveToFile("Soh_resh.xls");
delete s2;
}
//---------------------------------------------------------------------------
Список использованной литературы
1. В.А. Острейковский. Теория систем.- М.: Высш. шк., 1997.
2. А.Я. Архангельский. Приемы программирования в C++Builder. - Бином,2007.
3. Н.С. Вентцель. Исследование операций: задачи, принципы, методология. - М.: Наука. Гл. ред. физ.-мат. лит., 1988.
4. Ю.Б. Гермейер. Введение в теорию исследования операций. - М: Наука, 1997.
5. В. Ермолаев, Т. Сорока. C++Builder: книга рецептов. - КУДИЦ-Образ, 2006.
6. Н.И. Костюкова, Н.А. Калинина. Язык Си и особенности работы с ним. - Бином,2006.
7. М. Кузнецов, И. Симдянов. C++. Мастер-класс в задачах и примерах. -БХВ-Петербург, 2007.
8. Н. Культин . C++ Builder в задачах и примерах. - БХВ-Петербург, 2005.
9. Э. Мушик, П. Мюллер. Методы принятия технических решений. - М.: Мир, 1990.
Размещено на Allbest.ru
Подобные документы
Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.
курсовая работа [823,0 K], добавлен 18.12.2011Теория математических моделей принятия оптимальных решений. Принятие решения в условиях неопределённости. Критерий пессимизма-оптимизма Гурвица, минимаксного риска Сэвиджа, Ходжа-Лемана. Разработка программного приложения. Программная среда разработки.
дипломная работа [999,7 K], добавлен 23.04.2015Принципы реализации программы проверки статистических гипотез с использованием t-критерия Стьюдента, ее общий алгоритм. Особенности применения двухвыборочного критерия для независимых выборок. Функциональные модели решения задачи для различных функций.
курсовая работа [644,2 K], добавлен 25.01.2010Анализ аналогичных разработок в области построения "систем помощи выбора". Суть многокритериального подхода. Технология разработки интерфейса пользователя. Планирование разработки программы с использованием различных методов. Построение сетевого графика.
дипломная работа [5,3 M], добавлен 26.01.2013Классификация задач системы поддержки принятия решений, их типы и принципы реализации при помощи программы "Выбор". Обзор современных систем автоматизированного проектирования "Компас", "AutoCad", "SolidWorks", оценка преимуществ и недостатков программ.
курсовая работа [1,4 M], добавлен 22.07.2014Методы решения проблем, возникающих на стадиях и этапах процесса принятия решений, их реализация в информационных системах поддержки принятия решений (СППР). Назначение СППР, история их эволюции и характеристика. Основные типы СППР, области их применения.
реферат [389,3 K], добавлен 22.11.2016Разработка программы, реализующей метод принятия решения на основе паутинной диаграммы, исходя из количества объектов исследования, их весов и критериев оценки. Листинг программного кода и пример работы программы: расчет площади многоугольников-объектов.
контрольная работа [1,1 M], добавлен 10.06.2011Разработка программы для поиска пути в лабиринте с возможностью задания входа и выхода, наглядное представление решений. Использование языка логического программирования Prolog. Данные и методы решения. Пользовательский интерфейс, листинг программы.
реферат [14,3 K], добавлен 15.10.2012Решение задачи минимизации среднеквадратичной интенсивности управления. Использование формулы Коши и приращения критерия качества. Применение программы конечного двойственного метода линейно квадратичного программирования. Выбор метода корректировки.
курсовая работа [262,0 K], добавлен 23.02.2016Человеко-машинные комплексы, специально предназначенные для принятия решений. Процесс принятия решений и его этапы. Методы поиска новых вариантов решений: дерево решений, морфологические таблицы, конференции идей. Принцип математической оценки тенденций.
курсовая работа [272,1 K], добавлен 30.07.2009