Вход

Курсовая работа

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 163937
Дата создания 2012
Страниц 41
Источников 23
Мы сможем обработать ваш заказ (!) 29 марта в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 820руб.
КУПИТЬ

Содержание

СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1.ПОСТАНОВКА ЗАДАЧИ
2.ОПИСАНИЕ ПРОЦЕССА ПОСТРОЕНИЯ МАТЕМАТИЧЕСКОЙ МОДЕЛИ
3.ОБОСНОВАНИЕ ВЫБОРА МЕТОДА РЕАЛИЗАЦИИ МОДЕЛИ
4.РАЗРАБОТКА АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ
5.ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
6.ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЮ ПО РАБОТЕ С ПРОГРАММОЙ
ЛИТЕРАТУРА
ПРИЛОЖЕНИЕ

Фрагмент работы для ознакомления

Ввод поддтверждается нажатием клавишиEnter.В конечном итоге возможны 2 варианта. Программа:1.Выдастрешение “Текущее решение оптимально ”-оптимальныйплан,"Значение целевой функции равно " – значениецелевойфункции.2.Либо, если оно не существует, уведомит пользователя об этом “Не существует решения!”ЗаключениеВ завершении проделанной работы подведём итоги.Во-первых, в ходе работы были рассмотрены различные постановки задач линейного программирования и симплекс-метод как универсальный и широко применяемый метод решения этих задач. Во-вторых, была построена математическая модель конкретной задачи.В-третьих, удалось достигнуть цели - реализовать построенную модель с помощью симплекс-метода.В-четвёртых, благодаря чёткому алгоритму симплекс-метода, на языке С++ была написана программа, реализующая этот алгоритм.Однако стоит отметить, что, несмотря на универсальность симплекс-метода у него есть явный недостаток: он является алгоритмом с экспоненциальной сложностью. Поэтому при решении задач большой размерности имеет смысл сравнить работу симплекс-метода с работой алгоритма с полиномиальной сложностью.ЛИТЕРАТУРА1.Акулич, И.Л.Математическое программирование в примерах и задачах / И.Л. Акулич. - М.: Высшая школа, 1986. -319 с.2.Ашманов, С.А. Линейное программирование/С.А. Ашманов.-М.: Наука. Главная редакция физико-математической литературы, 1981.-340 с.3.Банди, Б. Основы линейного программирования / Б. Банди; пер. с англ. -М.: Радио и связь, 1989. - 176 с.4.Барсов,А.С.Что такое линейное программирование/А.С. Барсов.- М.: Государственное издательство физико-математической литературы, 1959.- 104 с.5.Березнев, В.А. О полиномиальной сложности одной модификации симплекс метода//Журнал вычислительной математики и математической физики.М.,2004,с.12441260.URL:http://www.mathnet.ru/links/6d1a17414de2d8a5cbfb7fb80fb085c8/zvmmf810.pdf (дата обращения 01.03.2012)6. Васильев, Ф. П. Линейное программирование / Ф. П. Васильев, А. Ю. Иваницкий.-М.:изд-во «Факториал Пресс», 2003.-352 с.7.Вентцель, Е. С. Исследование операций/ Е. С. Вентцель. - М: Советское радио,1972.-552 с.8.Волков, И.К.Исследование операций/ И.К. Волков, Загоруйко Е.А.-М: Издательство МГТУ имени Н.Э.Баумана, 2000. - 436с.9.Гасс, С. Линейное программирование/ С. Гасс - М.:Физматлит, 1961.-304 с.10.Глебов, Н. И. Методы оптимизации: учеб.пособие/ Н. И. Глебов, Ю. А. Кочетов, А. В. Плясунов.- Новосибирск: Новосибирский государственный университет, 2000. -105 с.11.Зайченко, Ю. П. Исследование операций. Сборник задач/ Ю. П. Зайченко, С. А. Шумилова.-Киев: Вища школа. Изд-во при Киев.ун-те, 1984.-224 с.12. Зенкевич, Н. А. Материалы к установочной лекции. Вопрос № 33. Симплекс-метод решения задачи линейного программированияURL:http://www.apmath.spbu.ru/ru/education/final/question33.pdf (дата обращения 15.03.2012)13. Зенкевич, Н. А. Практикум по исследованию операций: учеб.пособие/Н. А. Зенкевич, Е. А. Губар.- СПб. : Санкт-Петербургский государственный университет, 2007. - 170 с. 14. Калихман, И. Л. Сборник задач по математическому программированию/ И. Л. М. Калихман-М: Высш. школа, 1975. -270 с.15. Карманов, В. Г. Математическое программирование: Учеб.пособие. — 5-е изд., стереотип. - М.: Физматлит, 2004. -264 с.16. Кремер, Н.Ш. Исследование операций в экономике: Учеб.пособие для вузов /Н.Ш. Кремер, БА. Путко, И.М. Тришин, М.Н. Фридман; Под ред. проф. Н.Ш. Кремера. - М.: ЮНИТИ, 2005. - 407 с.17.Лунгу, К. Н. Линейное программирование: руководство к решению задач/ К. Н Лунгу - М.: Физматлит, 2005. - 128 с.18.Палий, И. А. Линейное программирование / И. А. Палий. — М.: Эксмо, 2008. -256 с.19.Романовский, И. В. Алгоритмы решения экстремальных задач/ И. В. Романовский - М.: Наука, 1977.-352 с.20. Саати, Т. Л. Математические методы исследования операций/ Т. Л. Саати.-М.:Воениздат. 1963._420 с.21.Хемди А. Таха , Введение в исследование операций/А. ТахаХемди — 7-е изд. - М.: «Вильямс», 2007. -903 c.22.Шилдт, Г. Полный справочник поС++./Герберт Шилдт; пер. с англ.-М.:Издательский дом «Вильямс», 2009.-800 с.23.Matthias KalleDalheimer .A Comparison of Qt and Java;перевод: Andi Peredri.URL:http://citforum.ru/programming/application/java_qt.shtml(датаобращения 19.03.2012)ПРИЛОЖЕНИЕИсходный код:#include <iostream>using namespace std;double temp,tmp;int col,str,r,u,i,j;class simplex{int n_of_var,n_of_res;int *sol;double **p;public:simplex();~simplex();bool optimal();void leading_element();};simplex::simplex()//конструктор (инициализируем все переменные){cout<<"Ведите количество переменных"<<endl;cin>>n_of_var;cout<<"Ведите количество ограничений"<<endl;cin>>n_of_res;p=new double*[n_of_res+1];sol=new int[n_of_res];//здесь хранятся номера базисных элементовfor(i=0;i<n_of_res;i++){sol[i]=i+1;}for(i=0;i<(n_of_res+1);i++){p[i]=new double[n_of_var+n_of_res+1];}p[0][0]=1;cout<<"Введите целевую функцию"<<endl;//ввод целевой функцииfor(j=1;j<(n_of_var+1);j++){cin>>temp;p[0][j]=-temp;}for(j=n_of_var+1;j<(n_of_var+n_of_res+1);j++){p[0][j]=0;}cout<<"Введите матрицу ограничений"<<endl;//ввод матрицы ограниченийfor(i=1;i<(n_of_res+1);i++){for(j=1;j<(n_of_var+1);j++){cin>>p[i][j];}for(j=(n_of_var+1);j<(n_of_var+n_of_res+1);j++){p[i][j]=0;}p[i][(n_of_var)+i]=1;}cout<<"ведите вектор правой части"<<endl;for(i=0;i<(n_of_res+1);i++){cin>>p[i][0];}};bool simplex::optimal()//проверка плана на оптимальность, поиск ведущего столбца и строки{temp=0;for(j=1;j<(n_of_var+n_of_res+1);j++)//ведущийстолбец{if((p[0][j]<0)&&(p[0][j]<temp)){temp=p[0][j];col=j;}}if(temp==0){cout<<"Текущеерешениеоптимально"<<endl;for(i=0;i<n_of_res;i++){if(sol[i]>n_of_res){cout<<"x"<<sol[i]-n_of_res<<" = "<<p[i+1][0]<<endl;}}for(i=1;i<n_of_var+1;i++){r=0;for(j=0;j<n_of_res;j++){ if((i+n_of_res)==sol[j]){ r=1;continue;}}if(r==0)cout<<"x"<<i<<" = "<<0<<endl;}cout<<"Значение целевой функции равно "<<p[0][0]<<endl;return false;}else//ведущаястрока{ str=0;for(i=1;i<n_of_res+1;i++){if(p[i][col]>0) {temp=p[i][0]/p[i][col];str=i;}};for(i=n_of_res;i>0;i--){if((p[i][col]>0)&&((p[i][0]/p[i][col])<=temp)){temp=p[i][0]/p[i][col];str=i;}}if(str==0){cout<<"Решения не существует!"<<endl;return false;}return true;};}void simplex::leading_element(){tmp=p[str][col];for(j=0;j<(n_of_var+n_of_res+1);j++)//делимведущуюстроку{ p[str][j]/=tmp;}for(i=0;i<(n_of_res+1);i++)//остальныестрокипреобразуем{if(i==str) continue;temp=p[i][col];for(j=0;j<(n_of_var+n_of_res+1);j++){p[i][j]=p[i][j]-temp*p[str][j];}}for(i=0;i<(n_of_res+1);i++)//остальные строки преобразуем{for(j=0;j<(n_of_var+n_of_res+1);j++){}}for(i=0;i<n_of_res;i++){if((i+1)==str){if(col<=(n_of_var)) sol[i]=col+n_of_res;else sol[i]=col-n_of_var;}}}simplex::~simplex(){for(i=0;i<n_of_var;i++){delete [] p[i];}delete [] p;delete []sol;};int main(){setlocale (LC_CTYPE,"rus");simplex ob;while(ob.optimal())ob.leading_element();system("pause");return 0;}Результаты работы:

Список литературы [ всего 23]

ЛИТЕРАТУРА
1.Акулич, И.Л. Математическое программирование в примерах и задачах / И.Л. Акулич. - М.: Высшая школа, 1986. -319 с.
2.Ашманов, С.А. Линейное программирование / С.А. Ашманов.-М.: Наука. Главная редакция физико-математической литературы, 1981.-340 с.
3.Банди, Б. Основы линейного программирования / Б. Банди; пер. с англ. -М.: Радио и связь, 1989. - 176 с.
4.Барсов, А.С.Что такое линейное программирование / А.С. Барсов.- М.: Государственное издательство физико-математической литературы, 1959.- 104 с.
5. Березнев, В.А. О полиномиальной сложности одной модификации симплекс метода//Журнал вычислительной математики и математической физики.М.,2004,с.1244-1260.URL:http://www.mathnet.ru/links/6d1a17414de2d8a5cbfb7fb80fb085c8/zvmmf810.pdf (дата обращения 01.03.2012)
6. Васильев, Ф. П. Линейное программирование / Ф. П. Васильев, А. Ю. Иваницкий .-М.: изд-во «Факториал Пресс», 2003.-352 с.
7.Вентцель, Е. С. Исследование операций / Е. С. Вентцель. - М: Советское радио,1972.-552 с.
8.Волков, И.К. Исследование операций/ И.К. Волков, Загоруйко Е.А.-М: Издательство МГТУ имени Н.Э.Баумана, 2000. - 436с.
9.Гасс, С. Линейное программирование/ С. Гасс - М.: Физматлит, 1961.-304 с.
10. Глебов, Н. И. Методы оптимизации: учеб. пособие/ Н. И. Глебов, Ю. А. Кочетов, А. В. Плясунов.- Новосибирск: Новосибирский государственный университет, 2000. -105 с.
11.Зайченко, Ю. П. Исследование операций. Сборник задач/ Ю. П. Зайченко, С. А. Шумилова. -Киев: Вища школа. Изд-во при Киев.ун-те, 1984.-224 с.
12. Зенкевич, Н. А. Материалы к установочной лекции. Вопрос № 33. Симплекс-метод решения задачи линейного программирования URL:http://www.apmath.spbu.ru/ru/education/final/question33.pdf (дата обращения 15.03.2012)
13. Зенкевич, Н. А. Практикум по исследованию операций: учеб. пособие / Н. А. Зенкевич, Е. А. Губар.- СПб. : Санкт-Петербургский государственный университет, 2007. - 170 с.
14. Калихман, И. Л. Сборник задач по математическому программированию / И. Л. М. Калихман-М: Высш. школа, 1975. -270 с.
15. Карманов, В. Г. Математическое программирование: Учеб. пособие. — 5-е изд., стереотип. - М.: Физматлит, 2004. -264 с.
16. Кремер, Н.Ш. Исследование операций в экономике: Учеб. пособие для вузов /Н.Ш. Кремер, БА. Путко, И.М. Тришин, М.Н. Фридман; Под ред. проф. Н.Ш. Кремера. - М.: ЮНИТИ, 2005. - 407 с.
17. Лунгу, К. Н. Линейное программирование: руководство к решению задач/ К. Н Лунгу - М.: Физматлит, 2005. - 128 с.
18.Палий, И. А. Линейное программирование / И. А. Палий. — М.: Эксмо, 2008. -256 с.
19.Романовский, И. В. Алгоритмы решения экстремальных задач/ И. В. Романовский - М.: Наука, 1977.-352 с.
20. Саати, Т. Л. Математические методы исследования операций / Т. Л. Саати.-М.:Воениздат. 1963._420 с.
21. Хемди А. Таха , Введение в исследование операций /А. Таха Хемди — 7-е изд. - М.: «Вильямс», 2007. -903 c.
22.Шилдт, Г. Полный справочник по С++./Герберт Шилдт; пер. с англ.-М.:Издательский дом «Вильямс», 2009.-800 с.
23. Matthias Kalle Dalheimer .A Comparison of Qt and Java;перевод: Andi Peredri.URL:http://citforum.ru/programming/application/java_qt.shtml(дата обращения 19.03.2012)
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00472
© Рефератбанк, 2002 - 2024