Разработка программного обеспечения системы поддержки принятия решений по выбору тура
Характеристика метода формирования и анализа платёжной матрицы. Исследование процесса группового принятия решения с помощью кластеризации экспертных оценок альтернатив. Обзор языков программирования. Определение надежности программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.03.2016 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
По результатам тестирования рассчитана надежность программы, которая составила 99,33%.
В ходе работы над дипломным проектом были разработаны следующие программные документы, содержащие сведения, необходимые для разработки, сопровождения и эксплуатации программы:
техническое задание;
пояснительная записка;
текст программы;
программа и методика испытаний;
эксплуатационные документы (руководство оператора).
Разработанная программа может иметь практическое применение в туристических фирмах.
Литература
1. Ларичев О. И., Петровский А. В. Системы поддержки принятия решений. Современное состояние и перспективы их развития. // Итоги науки и техники. Сер. Техническая кибернетика. -- Т.21. М.: ВИНИТИ, 1987
2. Вишнеков А.В., Курилова Н.С., Сафонова И.Е., Штейнберг В.И.. Многоцелевые задачи принятия проектных решений: Учебное пособие. - МГИЭМ. - М., 2002.
3. Трахтенгерц Э.А. Компьютерная поддержка принятия решений. М., Синтег. 2000.
4. Мэтью А. Стэкер, Стивен Дж. Стэйн, Тони Нортроп. Разработка клиентских Windows-приложений на платформе Microsoft .Net Framework. питер 2008
5. Дейт К. Введение в системы баз данных //6-издание. - Киев: Диалектика, 1998
6. Бондарев В.М., Рублинецкий В.И., Качко Е.Г. Основы программирования. - Харьков: Фолио, Ростов н/Д: Феникс, 1997.
7. Карли Ватсон - С#, Издательство "Лори", Москва, 2005.
8. Система поддержки принятия решений в человеко-машинных системах управления. Труды Института проблем управления РАН им. В.А.Трапезникова. Том VIII. М.: ИПУРАН, 2000 г.
9. http://www.gorskiy.ru/Articles/Dmss
10. http://ru.wikipedia.org
11. http://www.citforum.ru
12. http://www.microsoft.com
Приложения
Приложение А
Текст программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.IO;
using System.Xml;
using System.Data.OleDb;
using System.Data;
namespace DiplomProject
{
public class AlternativeComparer : IComparer<Altarnative>
{
public int Compare(Altarnative x, Altarnative y)
{
return x.Weight.CompareTo(y.Weight);
}
}
static class Program
{
static List<Criteria> _criterias;
static OleDbConnection _connection = null;
static List<Altarnative> _alternatives = null;
[STAThread]
static void Main(string[] args)
{
ReadAlternatives();
// Читаем критерии для оценки из файла
//
ReadCriteria();
// Вводим предпочтения клиента
//
InputClientValues();
// Рассчитываем веса для критериев
//
CalculateCriteriaWeights();
// Рассчитываем веса для значений критериев
//
foreach (Criteria criteria in _criterias)
{
CalculateValueWeights(criteria);
Console.WriteLine(string.Format("Вес критерия {0}: {1}", criteria.Name, criteria.Weight.ToString() + Environment.NewLine));
foreach (CriteriaValue cvalue in criteria.Values)
{
Console.WriteLine(string.Format("Вес значения {0}: {1}", cvalue.Name, cvalue.Weight.ToString() + Environment.NewLine));
}
}
_alternatives.Sort(new AlternativeComparer());
Console.WriteLine("____________________________________________________" + Environment.NewLine);
for (int i = _alternatives.Count-1; i >= 0; i--)
{
Altarnative alt = _alternatives[i];
CalculateAlternativeWeight(alt);
Console.WriteLine(string.Format("Альтернатива {0} | Вес {1}", alt.Name, alt.Weight.ToString() + Environment.NewLine));
}
Console.WriteLine("Нажмите любую кнопку для выхода из программы");
Console.ReadLine();
}
/// <summary>
/// Посчитать вес альтернативы
/// </summary>
/// <param name="alt">Альтернатива</param>
static void CalculateAlternativeWeight(Altarnative alt)
{
for (int i = 0; i < alt.Values.Count; i++)
{
Criteria criteria = _criterias[i];
decimal v = FindValue(alt.Values[i], criteria);
alt.Weight += (criteria.Weight * v);
}
}
static decimal FindValue(string alternativeValue, Criteria criteria)
{
foreach (CriteriaValue cv in criteria.Values)
{
if (cv.Name.ToUpper() == alternativeValue.ToUpper())
{
return cv.Weight;
}
}
return -1;
}
static string GetNameByValueForCoastAlternative(int val)
{
if (val > 0 && val <= 5000) return "до 5 тыс. руб.";
if (val > 5000 && val <= 10000) return "до 10 тыс. руб.";
if (val > 10000 && val <= 20000) return "до 20 тыс. руб.";
if (val > 20000 && val <= 30000) return "до 30 тыс. руб.";
if (val > 30000) return "более 30 тыс. руб.";
return val.ToString();
}
static string GetNameByValueForDurationAlternative(double val)
{
if (val > 0 && val < 1) return "менее суток";
if (val > 1 && val <= 4) return "1-4 дней";
if (val > 4 && val <= 10) return "5-10 дней";
if (val > 10) return "от 10 дней";
return val.ToString();
}
static string GetNameByValueForTripDurationAlternative(int val)
{
if (val > 0 && val <= 3) return "0-3 часа";
if (val > 3 && val <= 6) return "3-6 часов";
if (val > 6 && val <= 12) return "6-12 часов";
if (val > 12 && val <= 24) return "12-24 часа";
if (val > 24) return "Более суток";
return val.ToString();
}
/// <summary>
/// Считать альтернативы из БД
/// </summary>
static void ReadAlternatives()
{
_alternatives = new List<Altarnative>();
SetConnection();
if (_connection.State == ConnectionState.Open)
{
OleDbCommand com = new OleDbCommand("SELECT * FROM Таблица1", _connection);
OleDbDataReader reader = com.ExecuteReader();
while (reader.Read())
{
Altarnative alt = new Altarnative();
alt.Name = reader[1].ToString();
alt.Values.Add(reader[2].ToString());
alt.Values.Add(GetNameByValueForCoastAlternative(Int32.Parse(reader[3].ToString())));
alt.Values.Add(reader[4].ToString());
alt.Values.Add(reader[5].ToString());
alt.Values.Add(GetNameByValueForDurationAlternative(Double.Parse(reader[6].ToString())));
alt.Values.Add(GetNameByValueForTripDurationAlternative(Int32.Parse(reader[7].ToString())));
alt.Values.Add(reader[8].ToString());
alt.Values.Add(reader[9].ToString());
alt.Values.Add(reader[10].ToString());
alt.Values.Add(reader[11].ToString());
_alternatives.Add(alt);
}
}
}
/// <summary>
/// Установить соединение с БД
/// </summary>
static void SetConnection()
{
_connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\альтернативы.accdb");
_connection.Open();
}
/// <summary>
/// Считать из файла список критериев
/// </summary>
static void ReadCriteria()
{
_criterias = new List<Criteria>();
FileStream stream = new FileStream("Criterias.xml", FileMode.Open);
XmlDocument doc = new XmlDocument();
doc.Load(stream);
XmlElement root = doc.DocumentElement;
foreach (XmlNode node in root.ChildNodes)
{
Criteria criteria = new Criteria();
criteria.Name = node.Attributes[0].Value;
foreach (XmlNode childNode in node.ChildNodes)
{
foreach (XmlAttribute attr in childNode.Attributes)
{
CriteriaValue criteriaValue = new CriteriaValue();
criteriaValue.Name = attr.Value;
criteria.Values.Add(criteriaValue);
}
}
_criterias.Add(criteria);
}
}
/// <summary>
/// Ввести предпочтения клиента по критериям и их значениям
/// </summary>
static void InputClientValues()
{
foreach (Criteria criteria in _criterias)
{
Console.WriteLine(string.Format("Введите оценку по десятибалльной шкале для критерия {0}", criteria.Name));
bool isCorrectInput = false;
// Получаем значимость текущего критерия
//
while (!isCorrectInput)
{
isCorrectInput = Int32.TryParse(Console.ReadLine(), out criteria.ClientValue) && criteria.ClientValue >= 1 && criteria.ClientValue <= 10;
if (!isCorrectInput)
Console.WriteLine("Неверный ввод!");
}
foreach (CriteriaValue val in criteria.Values)
{
Console.WriteLine(string.Format("Введите оценку по десятибалльной шкале для значения {0}", val.Name));
isCorrectInput = false;
while (!isCorrectInput)
{
isCorrectInput = Int32.TryParse(Console.ReadLine(), out val.ClientValue) && val.ClientValue >= 1 && val.ClientValue <= 10;
if (!isCorrectInput)
Console.WriteLine("Неверный ввод!");
}
}
}
}
/// <summary>
/// Произвести расчет весов критериев
/// </summary>
static void CalculateCriteriaWeights()
{
foreach (Criteria criteria in _criterias)
{
PreCulculateCriteriaWeight(criteria);
}
decimal criteriaSumm = CulculateCriteriaSumm();
if (criteriaSumm > 0)
{
foreach (Criteria criteria in _criterias)
{
criteria.Weight = criteria.TempCriteriaWeight / criteriaSumm;
}
}
}
static void CalculateValueWeights(Criteria criteria)
{
foreach (CriteriaValue val in criteria.Values)
{
PreCulculateValueWeight(criteria, val);
}
decimal valueSumm = CulculateValueSumm(criteria);
if (valueSumm > 0)
{
foreach (CriteriaValue val in criteria.Values)
{
val.Weight = val.TempValueWeight / valueSumm;
}
}
}
/// <summary>
/// Произвести расчет веса
/// </summary>
/// <param name="criteria"></param>
static void PreCulculateCriteriaWeight(Criteria criteria)
{
decimal summ = 0;
foreach (Criteria c in _criterias)
{
summ += GetValueFromInterval(criteria.ClientValue, c.ClientValue);
}
criteria.TempCriteriaWeight = (decimal)Math.Pow((double)summ, (double)1 / _criterias.Count);
}
static void PreCulculateValueWeight(Criteria criteria, CriteriaValue val)
{
decimal summ = 0;
foreach (CriteriaValue v in criteria.Values)
{
summ += GetValueFromInterval(val.ClientValue, v.ClientValue);
}
val.TempValueWeight = (decimal)Math.Pow((double)summ, (double)1 / criteria.Values.Count);
}
static decimal CulculateCriteriaSumm()
{
decimal summ = 0;
foreach (Criteria criteria in _criterias)
summ += criteria.TempCriteriaWeight;
return summ;
}
static decimal CulculateValueSumm(Criteria criteria)
{
decimal summ = 0;
foreach (CriteriaValue val in criteria.Values)
summ += val.TempValueWeight;
return summ;
}
static decimal GetValueFromInterval(int k1, int k2)
{
double res = k1 / k2;
if (res >= 0 && res < 0.25) return 1 / 9;
if (res >= 0.25 && res < 0.45) return 1 / 7;
if (res >= 0.45 && res < 0.65) return 1 / 5;
if (res >= 0.65 && res < 0.85) return 1 / 3;
if (res >= 0.85 && res < 1.5) return 1;
if (res >= 1.5 && res < 3.5) return 3;
if (res >= 3.5 && res < 5.5) return 5;
if (res >= 5.5 && res < 7.5) return 7;
if (res >= 7.5 && res < 10) return 9;
return -1;
}
}
}
// -----------------------------------------------------------------------
// <copyright file="Criteria.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace DiplomProject
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/// <summary>
/// TODO: Update summary.
/// </summary>
public class Criteria
{
public string Name;
public List<CriteriaValue> Values = new List<CriteriaValue>();
public int ClientValue;
public decimal TempCriteriaWeight;
public decimal Weight;
}
}
<criterias>
<criteria Name="Тип тура">
<criteriaValue Name="экскурсионный"></criteriaValue>
<criteriaValue Name="семейный"></criteriaValue>
<criteriaValue Name="пляжный"></criteriaValue>
<criteriaValue Name="спортивный"></criteriaValue>
<criteriaValue Name="лечебный"></criteriaValue>
<criteriaValue Name="охота\рыбалка"></criteriaValue>
</criteria>
<criteria Name="Стоимость">
<criteriaValue Name="до 5 тыс. руб."></criteriaValue>
<criteriaValue Name="до 10 тыс. руб."></criteriaValue>
<criteriaValue Name="до 20 тыс. руб."></criteriaValue>
<criteriaValue Name="до 30 тыс. руб."></criteriaValue>
<criteriaValue Name="более 30 тыс. руб."></criteriaValue>
</criteria>
<criteria Name="Размещение">
<criteriaValue Name="отель 5"></criteriaValue>
<criteriaValue Name="отель 4"></criteriaValue>
<criteriaValue Name="отель 3"></criteriaValue>
<criteriaValue Name="отель 2"></criteriaValue>
<criteriaValue Name="коттедж"></criteriaValue>
<criteriaValue Name="палатка"></criteriaValue>
<criteriaValue Name="без размещения"></criteriaValue>
</criteria>
<criteria Name="Питание">
<criteriaValue Name="Все включено"></criteriaValue>
<criteriaValue Name="Полный пансион"></criteriaValue>
<criteriaValue Name="Полупансион"></criteriaValue>
<criteriaValue Name="Завтраки"></criteriaValue>
<criteriaValue Name="Без питания"></criteriaValue>
</criteria>
<criteria Name="Время тура">
<criteriaValue Name="менее суток"></criteriaValue>
<criteriaValue Name="1-4 дней"></criteriaValue>
<criteriaValue Name="5-10 дней"></criteriaValue>
<criteriaValue Name="от 10 дней"></criteriaValue>
</criteria>
<criteria Name="Время в пути">
<criteriaValue Name="0-3 часа"></criteriaValue>
<criteriaValue Name="3-6 часов"></criteriaValue>
<criteriaValue Name="6-12 часов"></criteriaValue>
<criteriaValue Name="12-24 часа"></criteriaValue>
<criteriaValue Name="Более суток"></criteriaValue>
</criteria>
<criteria Name="Тип транспорта">
<criteriaValue Name="самолет"></criteriaValue>
<criteriaValue Name="поезд"></criteriaValue>
<criteriaValue Name="машина"></criteriaValue>
<criteriaValue Name="автобус"></criteriaValue>
<criteriaValue Name="корабль"></criteriaValue>
</criteria>
<criteria Name="Рельеф">
<criteriaValue Name="море"></criteriaValue>
<criteriaValue Name="горы"></criteriaValue>
<criteriaValue Name="лес"></criteriaValue>
<criteriaValue Name="река"></criteriaValue>
<criteriaValue Name="пещеры"></criteriaValue>
<criteriaValue Name="озера"></criteriaValue>
<criteriaValue Name="равнины"></criteriaValue>
</criteria>
<criteria Name="Культкрные достопримечательности">
<criteriaValue Name="да"></criteriaValue>
<criteriaValue Name="нет"></criteriaValue>
</criteria>
<criteria Name="Магазины/кафе">
<criteriaValue Name="да"></criteriaValue>
<criteriaValue Name="нет"></criteriaValue>
</criteria>
</criterias>
// -----------------------------------------------------------------------
// <copyright file="CriteriaValue.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace DiplomProject
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/// <summary>
/// TODO: Update summary.
/// </summary>
public class CriteriaValue
{
public string Name;
public int ClientValue;
public decimal TempValueWeight;
public decimal Weight;
}
}
Приложение Б
Программа и методика испытаний
Программы поддержки принятия решений по выбору тура
Настоящий документ является программой и методикой испытаний программы для поддержки принятия решений по выбору тура.
Документ предназначен для установления данных, обеспечивающих получение и проверку проектных решений, выявление причин сбоев, определение качества работ, показателей качества функционирования программы и отдельных подпрограмм, проверку соответствия программы требованиям техники безопасности, продолжительность и режим испытаний.
Объект испытаний
Объектом испытания является программа, предназначенная для поддержки принятия решения по выбору тура.
Цель испытаний
Целью проведения испытаний является последовательная проверка соответствия программного обеспечения требованиям технического задания по составу и работоспособности программного обеспечения.
Состав предъявляемой документации
Состав программной документации, предъявляемой на испытании:
программа и методика испытаний;
текст программы.
Технические требования
Функционирование программы не должно приводить к сбою (фатальному нарушению работы системы). Организация диалога должна предусматривать защиту от ввода некорректных данных.
Для функционирования программного обеспечения необходимо наличие следующих технических средств:
IBM РС- совместимая машина;
клавиатура (для ввода информации);
монитор (для вывода информации).
Порядок проведения испытаний
1. Контроль входной и выходной информации.
2. Определение надежности.
3. Проверка режимов функционирования.
Порядок проверки работоспособности
Проверка работоспособности программного обеспечения производится на IBM РС-совместимой машине с предварительно установленным системным программным обеспечением и программным обеспечением испытуемой программы. Запуск программы производится с помощью ярлыка, расположенного на рабочем столе.
Подтверждение работоспособности системы можно получить, если провести весь цикл операций, описанных в сценариях тестовых заданий.
Меры, обеспечивающие безопасность и безаварийность проведения испытаний
При проведении испытаний должно быть обеспечено соблюдение требований безопасности, установленных ГОСТ 12.2.007.0-75, ГОСТ 12.2.007.3-75, «Правилами техники безопасности при эксплуатации электроустановок потребителей» и «Правилами технической эксплуатации электроустановок потребителей».
Приложение В
Руководство оператора
Программы поддержки принятия решений по выбору тура
Настоящий документ является руководством пользователя программы поддержки принятия решений по выбору тура.
Программа предназначена для пользователя, проходящего процедуру выбора тура, и предназначена для решения следующих задач:
формирование сортированного списка рекомендуемых туров, согласно предпочтениям пользователя.
Область применения
Программа предназначена для поддержки принятия решения по выбору тура.
Описание возможностей
Данная программа позволяет пользователям вводить сведения о своих предпочтениях в выборе тура посредством заполнения оценок критериев отбора, выводить на экран список результатов, представленных сортированным списком рекомендуемых решений.
Требования к уровню подготовки пользователя
Для работы с программой пользователь должен обладать навыками работы с ПК в операционной среде Windows.
Требования для работы с приложением
Для эксплуатации программы необходимо следующее программное обеспечение:
операционная система Microsoft Windows 98 и выше;
Настройка рабочего места пользователя
Перед началом работы с программой необходимо выполнить следующие процедуры:
получить от системного программиста дистрибутивы программы;
перенести папку с дистрибутивом на компьютер;
запустить файл «Выбор тура».
Выполнение программы
Пользователь заполняет поля программы. В каждом поле ответа пользователю предлагается поставить оценку критерию и его значениям по десятибалльной шкале.
После выполнения программы пользователю предоставляется список наиболее рациональных вариантов решения.
Внесение изменений в базу туров
При возникновении необходимости внесения изменений в базу данных необходимо обратиться к системному программисту.
Приложение Г
Обзор метода СППР
Выбор метода
№ п/п |
Метод |
Цель |
ЛПР или группаэкспертов |
Количествоальтернатив |
Типы критериев |
Выполняемые операции |
Сложностьопераций |
Весакритериев |
Чувствит. к ошибкам |
|
1. Методы сравнения и оценки многокритериальных альтернатив в условиях определённости исходной информации |
||||||||||
1.1. Методы иерархического упорядочивания альтернатив на заданном множестве альтернатив и критериев |
||||||||||
1 |
Попарное сравнение альтернатив |
Выбор лучшей альтернативы, ранжирование, получение множества эффективных решений |
ЛПР |
Небольшое, любое для начальногоанализа заданногомножества альтернатив |
Любые |
Попарное сравнение альтернатив |
д |
Средняя |
||
2 |
Лексикографический метод |
Выбор лучшей альтернативы, ранжирование |
ЛПР |
Небольшое |
Любые |
1. Ранжирование критериев по важности |
с |
Низкая |
||
2. Сравнение оценок по шкале одного критерия |
д |
|||||||||
3 |
Метод лексикографического полуупорядочивания |
Выбор лучшей альтернативы, ранжирование |
ЛПР |
Небольшое |
Количественные |
1. Ранжирование критериев по важности |
с |
Низкая |
||
2. Сравнение оценок по шкале одного критерия |
д |
|||||||||
4 |
Метод перестановок |
Выбор лучшей альтернативы, ранжирование |
ЛПР |
Небольшое |
Любые |
1. Назначение весов критериев |
с |
Назначает ЛПР |
Высокая |
|
2. Сравнение оценок по шкале одного критерия |
д |
|||||||||
1.2. Методы, основанные на количественном выражении предпочтений ЛПР на множестве критериев |
||||||||||
5 |
Простой метод приращений |
Выбор лучшей альтернативы |
ЛПР |
Небольшое |
Любые |
1. Сравнение оценок по шкале одного критерия |
д |
Назначает ЛПР |
Высокая |
|
2. Назначение весов критериев |
с |
|||||||||
6 |
ЭЛЕКТРА 1 |
Исключение неэффективных альтернатив |
ЛПР |
Небольшое |
Количественн. |
1. Назначение весов критерия |
с |
Назначает ЛПР |
Высокая |
|
2. Оценка альтернативы по критерию |
д |
|||||||||
3. Задание порогов чувствительности |
с |
|||||||||
7 |
ЭЛЕКТРА 2 |
Упорядочивание индифферентных классов альтернатив |
ЛПР |
Небольшое |
Количественн. |
1. Назначение весов критерия |
с |
Назначает ЛПР |
Высокая |
|
2. Оценка альтернативы по критерию |
д |
|||||||||
3. Задание порогов чувствительности |
с |
|||||||||
8 |
ЭЛЕКТРА 3 |
Упорядочивание множества альтернатив |
ЛПР |
Небольшое |
Количественн. |
1. Назначение весов критерия |
с |
Назначает ЛПР |
Средняя |
|
2. Оценка альтернативы по критерию |
д |
|||||||||
9 |
Метод аналитических иерархий |
Выбор лучшей альтернативы, ранжирование |
ЛПР |
Небольшое |
Любые |
1. Назначение весов критерия |
с |
Назначает ЛПР |
Высокая |
|
2. Оценка альтернативы по критерию |
д |
|||||||||
1.3. Методы, основанные на информации о допустимых значениях критериев |
||||||||||
10 |
Задание минимально допустимых значений критериев |
Разделение множества альтернатив на удовлетворительные и неудовлетворительные |
ЛПР |
Любое |
Количественн. |
Сравнение двух оценок по шкале одного критерия |
д |
Высокая |
||
11 |
Анализ альтернатив только по критериям, для которых достигаются "наилучшие" |
Разделение множества альтернатив на удовлетворительные и неудовлетворительные |
ЛПР |
Любое |
Количественн. |
1. Сравнение оценок по шкале одного критерия |
д |
Высокая |
||
2. Выделение оценок по критериям, удовлетворительным в наибольшей степени |
д |
|||||||||
1.4. Методы, не требующие ранжирования |
||||||||||
12 |
Метод Харвица |
Выбор лучшей альтернативы из множества решений эффективных решений |
ЛПР |
Любое |
Количественн. |
1. Сравнение двух альтернатив и выделение лучшей из них |
с |
Средняя |
||
2. Сравнение оценок по шкале одного критерия |
д |
|||||||||
13 |
Метод МАКСИМИН |
Выбор лучшей альтернативы из множества решений эффективных решений |
ЛПР |
Любое |
Количественн. |
Сравнение оценок по шкале одного критерия |
д |
Низкая |
||
14 |
Метод МАКСИМАКС |
Выбор лучшей альтернативы из множества решений эффективных решений |
ЛПР |
Любое |
Количественн. |
Сравнение оценок по шкале одного критерия |
д |
Низкая |
||
2. Методы оценки и сравнения многокритериальных альтернатив в условиях неопределённости исходной информации |
||||||||||
15 |
Метод формирования и анализа платёжной матрицы |
Принятие решения в условиях неопределенности |
ЛПР |
Любое |
Затраты (прибыль ) от решения |
Определение прибыли (потерь) от решений для различных оценок |
Низкая |
|||
3. Методы поиска удовлетворительных решений |
||||||||||
16 |
Метод Дайера-Джофриона (основан на информации о мерах замещения) |
Поиск удовлетворительного решения в множестве альтернатив |
ЛПР |
Множество |
Количественн. |
Определение количественного изменения оценки одного критерия, которое эквивалентно изменению оценки другого |
нс |
Критерии ранжируются, веса не назначаются |
Высокая |
|
17 |
Процедура SIGMOP (основан на информации об уровнях критериев) |
Исследование множества допустимых решений |
ЛПР |
Альтернат.не заданы |
Количественн. (значения критериев нормируются в интервале [0,1]) |
1. Назначение весов критериев |
с |
Назначает ЛПР |
Высокая |
|
2. Выделение критериев, оценки по которым должны быть улучшены |
д |
|||||||||
18 |
Метод STEM (основан на информации об уровнях критериев) |
Исследование множества допустимых решений |
ЛПР |
Альтернат.не заданы |
Количественн. |
Определение удовлетворительного значения критерия |
Низкая |
|||
19 |
Метод Стойера |
Выбор решения из множества предварительных решений |
ЛПР |
Множество |
Количественн. |
|||||
4. Методы принятия групповых решений |
||||||||||
20 |
Метод Дельфи |
Прогноз значения величины |
Группа экспертов |
Альтернат.не заданы |
Не используются |
Прогнозирование / оценка значения |
нд |
Зависит от количества экспертов |
||
21 |
Метод ранжирования альтернатив |
Ранжирование альтернатив |
Группа экспертов |
Любое |
Не используются |
1. Ранжирование альтернатив |
с |
Зависит от количества экспертов |
||
2. Попарное сравнение альтернатив |
д |
|||||||||
22 |
Метод минимального расстояния |
Ранжирование альтернатив |
Группа экспертов |
Любое |
Не используются |
Ранжирование альтернатив |
с |
Зависит от количества экспертов |
||
23 |
Метод группового принятия решения с помощью кластеризации экспертных оценок альтернатив |
Ранжирование альтернатив |
Группа экспертов |
Любое |
Любые |
Назначение степени удовлетворения альтернативой по заданным критериям |
нд |
Зависит от количества экспертов |
Приложение Д
- База данных альтернатив
- Приложение Е
- Графические материалы
- Постановка задачи
- Целью настоящей дипломной работы является разработка программного обеспечения (ПО) системы поддержки принятия решений по выбору тура.
- Программа предназначена для:
- ѕ более детального подбора тура;
- ѕ использования методов СППР для упрощения принятия сложных многокритериальных решений по выбору тура;
- ѕ ускорения процесса выбора тура.
Выбор метода
метод |
цель |
количество альтернатив |
типы критериев |
|
Попарное сравнение альтернатив |
Выбор лучшей альтернативы, ранжирование |
небольшое |
любые |
|
Лексикографический метод |
Выбор лучшей альтернативы, ранжирование |
небольшое |
любые |
|
Метод лексикографического полуупорядочивания |
Выбор лучшей альтернативы, ранжирование |
небольшое |
количественные |
|
Метод перестановок |
Выбор лучшей альтернативы, ранжирование |
небольшое |
любые |
|
Простой метод приращений |
Выбор лучшей альтернативы |
небольшое |
любые |
|
ЭЛЕКТРА1 |
Исключение неэффективных альтернатив |
небольшое |
количественные |
|
ЭЛЕКТРА2 |
Упорядочивание классов альтернатив |
Небольшое |
количественные |
|
ЭЛЕКТРА3 |
Упорядочивание множества альтернатив |
Небольшое |
количественные |
|
Метод аналитических иерархий |
Выбор лучшей альтернативы, ранжирование |
Небольшое |
любые |
|
Задание минимально допустимых значений критериев |
Разделение альтернатив на удовлетворительные и неудовлетворительные |
Любое |
количественные |
|
Разработанный метод |
Выбор лучшей альтернативы, ранжирование |
Любое |
любые |
Математическая модель
Обратно симметричная матрица отношения оценок критериев (значений критериев)
KjKi |
критерий 1 |
критерий 2 |
критерий n |
|
критерий 1 |
К1/К1 |
К1/К2 |
К1/ Кn |
|
критерий 2 |
К2/К1 |
К2/К2 |
К2/ Кn |
|
критерий n |
Кn/К1 |
Кn/К2 |
Кn/ Кn |
К1-Кn - оценки по десятибалльной шкале (1 - наименьшее предпочтение, 10 - наибольшее предпочтение) критериев (значений критериев). Данные вводятся пользователем программы.
Таблица назначения оценок отношениям критериев
интервал |
оценка |
|
0 - 0.25 |
1/9 |
|
0.25 - 0.45 |
1/7 |
|
0.45 - 0.65 |
1/5 |
|
0.65 - 0.85 |
1/3 |
|
0.85 - 1.5 |
1 |
|
1.5 - 3.5 |
3 |
|
3.5 - 5.5 |
5 |
|
5.5 - 7.5 |
7 |
|
7.5 - 10 |
9 |
Цена критерия (значения критерия)
Сумма цен критериев (значений критериев)
Вес критерия (значения критерия)
Цена альтернативы равна сумме произведений веса каждого критерия на вес его значения. В результате альтернатива с большей ценой является более рациональной.
Тестовые примеры
Схема работы программы
Проведен анализ проблем существующих программ по выбору тура.
Рассмотрены методы поддержки принятия решений.
Найден рациональный метод поддержки принятия решений для поставленной задачи.
На основе выбранного метода разработано программное обеспечение.
Подготовлена программная документация.
Размещено на Allbest.ru
...Подобные документы
Описание предметной области автоматизации. Программа обследования и план-график выполнения работ на предпроектной стадии. Метод группового принятия решения с помощью кластеризации экспертных оценок альтернатив. Построение диаграммы потоков данных DFD.
дипломная работа [375,8 K], добавлен 07.12.2014Разработка алгоритмического и программного обеспечения для решения задачи поддержки принятия решений о выпуске новой продукции. Математическое обеспечение задачи поддержки принятия решений о выпуске новой продукции, основные входные и выходные данные.
дипломная работа [943,0 K], добавлен 08.03.2011Разработка и внедрение программного модуля поддержки принятия управленческих решений для информационной системы медицинского предприятия ООО "Центр эндохирургических технологий". Эффективность применения модуля, полученные с его помощью результаты.
дипломная работа [1,9 M], добавлен 11.04.2013Методы решения проблем, возникающих на стадиях и этапах процесса принятия решений, их реализация в информационных системах поддержки принятия решений (СППР). Назначение СППР, история их эволюции и характеристика. Основные типы СППР, области их применения.
реферат [389,3 K], добавлен 22.11.2016Разработка экспертной системы по выбору языка программирования для данного программного обеспечения. Выбор и обоснование механизма вывода решения. Дерево базы знаний экспертной системы. Программа формирования основного меню, руководство пользователя.
курсовая работа [1,9 M], добавлен 15.08.2012Разработка программы, осуществляющей контроль за своевременностью обновления программного обеспечения с помощью рассылки электронных писем. Анализ требований к системе; выбор метода решения, алгоритма, выбор языка программирования, описание программы.
дипломная работа [5,6 M], добавлен 29.06.2011Проблема надежности программного обеспечения, ее показатели и факторы обеспечения. Методы контроля процесса разработки программ и документации, предупреждение ошибок. Этапы процесса отладки ПО, приемы структурного программирования и принцип модульности.
презентация [379,5 K], добавлен 30.04.2014Теоретические аспекты функционирования Business intelligence - систем в сфере логистики. Анализ условий для разработки системы поддержки принятия решений. Характеристика процесса создания программного продукта, применение аналитической платформы QlikView.
курсовая работа [2,5 M], добавлен 09.09.2017Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011Запросы клиента по области возможных запросов к серверу. Программа для прогнозирования поведения надежности программного обеспечения на основе метода Монте-Карло. Влияние количества программ-клиентов на поведение программной системы клиент-сервера.
контрольная работа [705,3 K], добавлен 03.12.2010Разработка экспертной системы по выбору языка программирования, отвечающего критериям разработчика: представление базы знаний; выбор и обоснование механизма вывода решения. Программа формирования основного меню, реализация механизма выработки решения.
курсовая работа [2,5 M], добавлен 15.08.2012Классификация систем поддержки принятия решений. Сравнительный анализ методик для оценки рисков розничного кредитования. Структура системы поддержки принятия решений, формирование начальной базы знаний. Проектирование базы данных информационной системы.
дипломная работа [1,9 M], добавлен 10.07.2017Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
дипломная работа [1,7 M], добавлен 13.06.2017Современные инструменты разработки программного обеспечения для СУТП. Универсальные языки программирования и сравнение их со SCADA-системами. Разработка программного обеспечения с использованием многоканальных измерительных преобразователей Ш9327.
дипломная работа [2,3 M], добавлен 13.07.2011Цели и задачи информационной системы управления предприятием как формальной структуры для выдачи администрации данных, необходимых для принятия решений. Составление внутрифирменных баз данных. Правовая и экономическая защита программного обеспечения.
курсовая работа [1,6 M], добавлен 21.08.2011Использование моделирования в программной инженерии в процессе разработки программного обеспечения. Основные этапы процесса разработки программного обеспечения, их характеристика. Моделирование процессов, их определение фазами и видами деятельности.
реферат [2,2 M], добавлен 25.12.2017Разработка системы бережливого производства на ООО "Нижегородские моторы", создание программного обеспечения для станка с ЧПУ FMS-3200. Технология решения задачи, функциональные возможности и структура программы. Язык программирования электроавтоматики.
отчет по практике [555,3 K], добавлен 27.05.2014Система поддержки принятия решений "Мыслитель" и метод, заложенный в её основу. Порядок работы в программе: новая задача, составление списка альтернатив, списка критериев их оценки, сравнение критериев по степени важности, попарное сравнение альтернатив.
отчет по практике [719,2 K], добавлен 08.03.2016Описание вычислительной техники, характеристика операционных систем и языков программирования. Сравнительный анализ аналогов и прототипов. Разработка алгоритма решения задачи. Выбор средств и методов решения задач. Проектирование программного обеспечения.
отчет по практике [1,0 M], добавлен 23.03.2015Разработка программного обеспечения автоматической системы научных исследований (АСНИ) в интегрированной среде программирования Borland C++ Builder 6.0, работающего в среде ОС Windows, позволяющего осуществлять управление процессом спектрального анализа.
курсовая работа [569,3 K], добавлен 05.03.2009