Теория принятия решений

Разработка автоматизированной программы выбора оптимального решения с использованием критерия Гермейера и минимаксного критерия; блок-схема программы. Особенности подхода Гермейера к отысканию пригодных к компромиссу решений в области полиоптимизации.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.