Музыкальный салон
Курсовая работа, 12 Апреля 2011, автор: пользователь скрыл имя
Краткое описание
Целью курсового проектирования является:
- научится создавать качественные и надежные программные средства, допускающие последующие сопровождения, а также получение рабочих навыков при создании программных средств;
- разработать техническую документацию к разработанному программному средству.
Содержание работы
Аннотация…………………………………………………………………………………...2
Введение……………………………………………………………………………………..4
1 Расчетная часть…………………………………....………………………………………5
1.1 Постановка задачи …………………………………………...…………..……….5
1.2 Математическая модель………………………………………………………… 6
1.3 Описание метода решения задачи……………………………………...………..6
1.4 Информационное обеспечение ……..…………………………………...…........9
2 Описательная часть……………………………………………………………….............10
2.1 Алгоритм решения задачи……………………….……………..…………….…..10
2.2 Описание программы……………………………………………..………….…..10
2.3 Контрольный пример………………………………………………………...…..12
2.4 Инструкция пользователя………………………………………………….….…13
Заключение……………………………………………………………………..……….…..14
Список сокращений…………………………………………………………………..…….15
Список литературы…………………………………………………………….......……….16
Приложения…………………………………………………………………….………...…17
Содержимое работы - 1 файл
Пояснительная записка.docx
— 253.41 Кб (Скачать файл)Аннотация
Данный документ является пояснительной запиской к курсовому проекту по дисциплине «Технология разработки программных продуктов» на тему «Музыкальный салон». Необходимо разработать программный продукт, котрый сможет автоматизировать работу персонала музыкального магазина, музыкального салона.
Основными разделами пояснительной записки являются:
-
Расчётная часть, содержащая
-
Описательная часть,
- Графическая часть, содержащая алгоритм решения задачи.
Пояснительная записка состоит из __ страниц, __ иллюстраций, __ таблиц и _ приложений.
Разработка задачи проходила в Красноярском техникуме информатики и вычислительной техники.
Разработка
программного средства осуществлялась
на компьютере: процессор Intel Core 2 Duo
6300, частота 1,86 Ггц, оперативная память
2 Гб, под управлением операционной системы
Microsoft Windows Seven Ultimate, в среде разработки
Borland C++ Builder 7.
Содержание
Аннотация………………………………………………………
Введение…………………………………………………………
1 Расчетная
часть…………………………………....……………………
1.1
Постановка задачи ………………………………
1.2
Математическая модель………………………
1.3
Описание метода решения
1.4
Информационное обеспечение …….
2 Описательная
часть……………………………………………………………….
2.1
Алгоритм решения задачи…………………
2.2
Описание программы………………………………
2.3
Контрольный пример………………………………
2.4
Инструкция пользователя…………………
Заключение……………………………………………………
Список
сокращений……………………………………………………
Список
литературы……………………………………………………
Приложения……………………………………………………
Введение
Теория игр – раздел математики, предметом которого является изучение математических моделей принятия оптимальных решений в условиях конфликта. На практике часто появляется необходимость согласования действий фирм, объединений, министерств и других участников проектов в случаях, когда их интересы не совпадают. В таких ситуациях теория игр позволяет найти лучшее решение для поведения участников, обязанных согласовывать действия при столкновении интересов.
Целью курсового проектирования является:
-
научится создавать
-
разработать техническую
Для достижения этих целей в данном проекте выполняется разработка программного средства.
В конечном итоге результатом курсового проектирования по дисциплине «Математические методы» должно быть полноценное программное средство решающее поставленую задачу и написанная к нему техническая документация.
В
процессе курсового проектирования
необходимо систематизировать, закрепить
и расширить знания, полученные при
изучении дисциплины «Математические
методы». Углубить теоретические знания
в соответствии с заданой темой.
Научиться применять
Внедрение программного средства упростит решения задач определения оптимальной стретегии игрока и цены игры.
Задача
проекта состоит в
- Расчетная часть
- Постановка задачи
В процессе разработки курсового проекта необходимо разработать программное средство «Решение матричных игр», позволяющее определить оптимальную стратегию игрока и цену игры при игре в матричные игры.
Теория игр изучает различные взаимодействия, после которых игроки получают различные выигрыши. Основная задача теории игр - понять, какими стратегиями будут пользоваться игроки.
Нормальная
форма игры. Игра - это совокупность
следующих множеств: множества игроков,
множества стратегий этих игроков и множества
выплат этим игрокам. В теории игр игру
можно представить в виде матрицы размерностью
m x n, называемой платежной матрицей. Платежная
матрица — это запись в матричной
форме денежных платежей/полезностей.
В клетках матрицы указываются платежи,
или стоимостные оценки ожидаемых исходов
при принятии данной стратегии и возникновении
определенного состояния внешней среды.
Платежи могут иметь смысл положительных
результатов или доходов, а также отрицательных
результатов или расходов. В пером случае
задача решается на максимизацию дохода,
во втором — на минимизацию расходов.
A= (1)
Aij – платёжная матрица размерностью m x n.
Представим себе игру в нормальной форме. Для каждого набора стратегий всех игроков, кроме выбранного, есть стратегия (иногда их несколько), которая приносит наибольшую выплату выбранному игроку она называется - наилучший ответ. Равновесие Нэша - это такой набор стратегий игроков, для которого каждая выбранная стратегия является наилучшей на стратегии остальных игроков. Если все играют стратегии из равновесия Нэша, то никому из игроков в одиночку отклоняться невыгодно.
α = max min aij – максимум из минимумов по строкам (максимин);
β
= min max aij – минимум из максимумов
по столбцам (минимакс).
- Математическая модель
Если α ≤ β, тогда такая игра имеет седловую точку. Если платёжная матрица не имеет седловой точки, то поиск решения игры приводит к применению сложной стратегии состоящей в случайном применении двух и более стратегий с разными частотами. Такая сложная стратегия называется смешанной. В игре матрица, которой имеет размерность m x n Стратегии первого игрока задаються набором вероятностей, с которыми он применяет свои чистые стратегии.
(2)
Аналогично вводяться вероятности второго игрока.
(3)
Выигрыш второго игрока при использовании смешанных стратегий определяют как математическое ожидание выигрыша.
(4)
Если
платежная матрица не содержит седловой
точки, то задача определения смешанной
стратегии тем сложнее чем
больше размерность матрицыэ Поэтому
матрицы большой размерности
целесообразно упростить, путем
вычеркивания дублирующихся и заведомо
не выгодных стратегий.
- Описание метода решения задачи
Найти гарантированный
выигрыш, определяемый нижней ценой игры
α = max(ai), которая указывает на максимальную
чистую стратегию. Верхняя цена игры β
= min(bj).
Если отсутствует седловая точка, так
как a<>b, тогда цена игры находится в
пределах α <= y <= β. Найти решение игры
в смешанных стратегиях.
Математические модели пары двойственных
задач линейного программирования можно
записать так:
найти минимум функции f(x) при ограничениях:
a11u1+a21u2+…+am1um >=
1
a12u1+a22u2+…+a2mum >=
1
…
an1u1+an2u2+…+anmum >=
1
αx2+βx3 >= 1
F(x) = u1+u2+…+um = min
найти максимум функции F(y) при ограничениях:
a11z1-a12z2+…+a1nzn <=
1
a21z1-a22z2+…+a2nzn <=
1
am1z1-am2z2+…+amnzn <=
1
Ф(y) = z1+z2+…+zn = max
Решить эти системы симплексным методом.
Решить прямую задачу линейного программирования
симплексным методом, с использованием
симплексной таблицы.
Определить минимальное значение целевой
функции F(X) = u1 + u2 + … + um при
следующих условиях-ограничений.
a11u1+a21u2+…+am1um >=
1
a12u1+a22u2+…+am2um >=
1
a13u1+a23u2+…+am3um >=
1
Для построения первого опорного плана
систему неравенств привести к системе
уравнений путем введения дополнительных
переменных (переход к канонической форме).
a11x1 + a21x2
+ a31x3 + a41x4 + a51x5-a61x6
+ a71x7 + a81x8 = 1
a12x1 + a22x2
+ a32x3 + a42x4 +
a52x5-a62x6
+ a72x7 + a82x8 = 1
a13x1 + a23x2
+ a33x3 + a43x4 + a53x5-a63x6
+ a73x7 + a83x8 = 1
Если задача решается на минимум или элементы
единичной матрицы отрицательны, свести
задачу к нахождению максимума. Для этого
умножить все строки на (-1) и искать первоначальный
опорный план.
-a11x1 - a21x2
- a31x3 + a41x4 + a51x5-a61x6
+ a71x7 + a81x8 = 1
-a12x1 - a22x2
- a32x3 + a42x4 + a52x5-a62x6
+ a72x7 + a82x8 = 1
-a13x1 - a23x2
- a33x3 + a43x4 + a53x5-a63x6
+ a73x7 + a83x8 = 1
Таблица
1 - матрица коэффициентов A = a(ij)
| -a11 | -a21 | a31 | a41 | a51 | a61 | a71 | a81 |
| -a12 | -a22 | -a32 | a42 | a52 | a62 | a72 | a82 |
| -a13 | -a23 | -a33 | a43 | a53 | a63 | a73 | a83 |
Базисные
переменные - это переменные, которые входят
только в одно уравнение системы ограничений
и притом с единичным коэффициентом.
Решить систему уравнений относительно
базисных переменных: x6, x7,
x8.
Полагая, что свободные переменные равны
0, получаем первый опорный план.
Если в столбце свободных членов есть отрицательные элементы. Использовать двойственный симплекс-метод. Выбрать из них наибольший по модулю, а в его строке – любой отрицательный. Взяв этот элемент в качестве разрешающего пересчитать таблицу.
Выполнить необходимое количество итераций до тех пор пока все элементы в базисном столбце не будут положительными. После перейти к основному алгоритму симплекс-метода.
Если в
индексной строке находятся отрицательные
коэффициенты, то текущий опорный план
неоптимален.
В качестве ведущего выбрать столбец,
соответствующий переменной, у которой
наибольший коэффициент по модулю.
После этого вычислить значения Di по
строкам как частное от деления:
и из них выбрать наименьшее.
Разрешающий элемент находится на пересечении
ведущего столбца и ведущей строки.
Сформировать следующую часть симплексной
таблицы.
Вместо переменной x в план 1 войдет переменная
x6 .
Строка, соответствующая переменной x6 в
плане 1, получена в результате деления
всех элементов строки x1 плана 0 на
разрешающий элемент.
В остальных клетках столбца x6 плана
1 записать нули.
Таким образом, в новом плане 1 заполнены
строка x6 и столбец x6 .
Все остальные элементы нового плана 1,
включая элементы индексной строки, определяются
по правилу прямоугольника.
Для этого выбрать из старого плана четыре
числа, которые расположены в вершинах
прямоугольника и всегда включают разрешающий
элемент.
НЭ = СЭ - (А*В)/РЭ
СТЭ - элемент старого плана, РЭ - разрешающий
элемент, А и В - элементы старого плана,
образующие прямоугольник с элементами
СТЭ и РЭ.
Интерации заканчиваются тогда, когда
индексная строка не содержит отрицательных
элементов следовательно найден оптимальный
план.