Реферат: Математические методы и языки программирования: симплекс метод
Название: Математические методы и языки программирования: симплекс метод Раздел: Рефераты по информатике, программированию Тип: реферат | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
КР 2203 – 81 11 Курсовой проект. Тема:
Вариант 10. СОДЕРЖАНИЕ:
ВВЕДЕНИЕ Проникновение математики в экономическую науку связано с преодолением значительных трудностей. В этом отчасти была "повинна" математика, развивающаяся на протяжении нескольких веков в основном в связи с потребностями физики и техники. Но главные причины лежат все же в природе экономических процессов, в специфике экономической науки. Большинство объектов, изучаемых экономической наукой, может быть охарактеризовано кибернетическим понятием сложная система. Наиболее распространено понимание системы как совокупности элементов, находящихся во взаимодействии и образующих некоторую целостность, единство. Важным качеством любой системы является эмерджентность - наличие таких свойств, которые не присущи ни одному из элементов, входящих в систему. Поэтому при изучении систем недостаточно пользоваться методом их расчленения на элементы с последующим изучением этих элементов в отдельности. Одна из трудностей экономических исследований - в том, что почти не существует экономических объектов, которые можно было бы рассматривать как отдельные (внесистемные) элементы. Сложность системы определяется количеством входящих в нее элементов, связями между этими элементами, а также взаимоотношениями между системой и средой. Экономика страны обладает всеми признаками очень сложной системы. Она объединяет огромное число элементов, отличается многообразием внутренних связей и связей с другими системами (природная среда, экономика других стран и т.д.). В народном хозяйстве взаимодействуют природные, технологические, социальные процессы, объективные и субъективные факторы. Сложность экономики иногда рассматривалась как обоснование невозможности ее моделирования, изучения средствами математики. Но такая точка зрения в принципе неверна. Моделировать можно объект любой природы и любой сложности. И как раз сложные объекты представляют наибольший интерес для моделирования; именно здесь моделирование может дать результаты, которые нельзя получить другими способами исследования. Потенциальная возможность математического моделирования любых экономических объектов и процессов не означает, разумеется, ее успешной осуществимости при данном уровне экономических и математических знаний, имеющейся конкретной информации и вычислительной технике. И хотя нельзя указать абсолютные границы математической формализуемости экономических проблем, всегда будут существовать еще неформализованные проблемы, а также ситуации, где математическое моделирование недостаточно эффективно. 2. ЭКОНОМИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ
Цеху, располагающему тремя видами металлорежущего оборудования, планируется изготовить в течении определенного периода времени два изделия, причем первое изделие комплектуется на двух деталях А1 и А2, которые должны изготовляться в соответствии 2:1. Второе изделие также комплектуется на двух деталях А3 и А4, которые изготовляются соответственно в соотношении 4:1 Эффективные фонды времени работы оборудования и нормы штучно-калькуляционного времени, требуемые на изготовление каждой детали на соответствующем оборудовании, приведены в таблице 2.1: Таблица 2.1
Определить производственную программу выпуска деталей А1, А2, А3, А4 при обеспечении заданной комплектности, а также максимально возможную загрузку наличных производственных мощностей. 3. МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ Общая модель: m(i=1,2..m) - группы оборудования на цехе. Ai - ресурсы по i-ой группе оборудования. n(j=1,2..n) - виды деталей. ai,j - нормы трудоемкости затраченных на i-м виде оборудования на изготовление единицы j-го вида продукции. Xj - выпуск продукции j-го вида в оптимальном плане. Kr - Соотношение деталей в изделии. Система ограничений:
n a i j * x j A i (i=1,2,..,m) j=1
Xj 0
Xk Kl (k=1,2,…,l); (r=1,2,….,p) Xr Kp Целевой функционал: n Fmax = Xj j=1
3. ВЫБОР МЕТОДА РЕАЛИЗАЦИИ МОДЕЛИ. ОБОСНОВАНИЕ МЕТОДА Симплекс метод - универсальный метод для решения линейной системы уравнений или неравенств и линейного функционала. Для привидения системы ограничений неравенств к каноническому виду, необходимо в системе ограничений выделить единичный базис.
Алгоритм симплекс метода. (первая симплекс таблица) Пусть система приведена к каноническому виду. X1+ q1,m+1 Xm+1 + …. + q1,m+n Xm+n = h1 X2+ q1,m+1 Xm+1 + …. + q1,m+n Xm+n = h1 X3+ q1,m+1 Xm+1 + …. + q1,m+n Xm+n = h1 ………………………………………………………………. Xm+ qm,m+1 Xm+1 + …. + qm,m+n Xm+n =hm В ней m базисных переменных, k свободных переменных. m+k=n - всего переменных. Fmin= C1X1+ C2X2+ C3X3+....+ CnXn Все hi должны быть больше либо равны нулю, где i=1,2...m. На первом шаге в качестве допустимого решения принимаем все Xj=0 (j=m+1,m+2,...,m+k). При этом все базисные переменные Xi=Hi. Для дальнейших рассуждений вычислений будем пользоваться первой симплекс таблицей (таблица 3.1). Таблица 3.1. Симплекс таблица.
Первый столбец- коэффициенты в целевой функции при базисных переменных. Второй столбец - базисные переменные. Третий столбец - свободные члены (hi0). Самая верхняя строка - коэффициенты при целевой функции. Вторая верхняя строка - сами переменные, входящие в целевую функцию и в систему ограничений.
Основное поле симплекс метода - система коэффициентов из уравнения. Последняя строка - служит для того, чтобы ответить на вопрос: «оптимален план или нет». Для первой итерации F0= ci*hi. m - оценки они рассчитываются по формуле: j = ciqij-cj. Индексная строка позволяет нам судить об оптимальности плана:
Переход ко второй итерации: Для этого отыскиваем ключевой (главный) столбец и ключевую (главную) строку. Ключевым столбцом является тот в котором находится наибольший положительный элемент индексной строки при отыскании Fmin или наименьший отрицательный элемент при отыскании Fmax. Ключевой строкой называется та, в которой содержится наименьшее положительное частное от деления элементов столбца H на соответствующие элементы ключевого столбца. На пересечении строки и столбца находится разрешающий элемент. На этом этапе осуществляется к переходу к последующим итерациям. Переход к итерациям:
Метод искусственного базиса. (Вторая симплекс таблица) При использовании искусственного базиса необходимо добиваться выхода искусственных переменных из базиса и введение в него независимых переменных. Для этой цели можно также использовать симплекс метод, причем решение распадается на две фазы:
Замечания:
Fmax = - Fmin.
a) Для столбцов X вычисление элементов идет по формулам: j = qij. yi = y1+y2+…+yR. Hi=F0. Примечание: только для строк Y. б) Для столбцов Y работает старая формула: j = ciqij-cj.
1. Начало программы
11, 12. Процедура расчета остальных элементов по формуле. 13, 14. Функция исследования на max. 15, 16. Функция исследования на min.
5. КРАТКАЯ ХАРАКТЕРИСТИКА ЭВМ И ЕЕ ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ Общие сведения о IBM PCКогда произносят слова "персональный компьютер", обычно подразумевается не что иное, как компьютер типа IBM PC. Именно американская компания IBM в августе 1981 года объявила о выпуске самого первого компьютера, получившего название Personal Computer, или просто PC. Впрочем, еще до создания IBM PC множеством разных фирм вы пускались компьютеры, которые было бы вполне уместно называть персональными. Даже весьма далекая от электроники фирма Coca - Cola пыталась выпускать собственную модель персонального компьютера! Несовместимость многочисленных моделей компьютеров была главным препятствием для создания достаточно совершенных программ универсального применения. Когда IBM вышла на рынок настольных компьютеров, казавшийся сомнительным и рискованным, разнобой среди персональных компьютеров довольно быстро пошел на убыль. Маленький персональный компьютер IBM PC на процессоре 8088 фирмы Intel оказался тем долгожданным стандартом, который с радостью поддержали многочисленные программисты и фирмы - изготовители прикладного программного обеспечения: наконец - то появился компьютер солидной фирмы, для которого можно было разрабатывать и успешно продавать большими тиражами достаточно сложные, совершенные и универсальные программы. По сути дела, компьютер IBM PC создал не только стабильный и обширный рынок персональных компьютеров, но и огромный рынок прикладного программного обеспечения, на котором за последние полтора десятилетия разбогатело множество венчурных фирм. Вот яркий тому пример. Компьютер IBM PC почти с самого начала работал под управлением дисковой операционной системы DOS, которую разработала для IBM маленькая и никому тогда не известная фирма Microsoft. Сегодня Microsoft - бесспорный флагман индустрии программного обеспечения, одна из богатейших фирм мира, выпускающая не только операционные средства MS - DOS и Windows для управления компьютерами, но и различные прикладные пакеты. А основатель и руководитель Microsoft Билл Гейтс, несмотря на молодость, один из самых богатых людей. Разумеется, персоналка IBM PC оказалась только первым шагом в верном направлении. Затем фирма IBM выпустила множество моделей персональных компьютеров XT, AT, PS/2 и PS/1 на различных процессорах Intel 80286, 80386, 80486, Pentium. Все эти компьютеры предназначены для работы под управлением операционных систем DOS, WINDOW’95, OS/2. Основной поставщик процессоров для IBM-совместимых компьютеров является фирма INTEL. В последнее время многие другие фирмы, такие как AMD, CYREX стали выпускать собственные процессоры, которые полностью совместимы с процессорами фирмы INTEL. Фирма AMD выпускает более дешевые, но не уступающие по качеству, а иногда и превосходящие процессоры (например процессоры серии K6). И многие фирмы, которые выпускают персональные компьютеры, стали переходить с процессоров фирмы INTEL на процессоры фирмы AMD. Операционная система MS DOS и другиеОперационная система - это программа, которая загружается при включении компьютера. Она производит диалог с пользователем, посредством команд (каждая команда означает действие, которое MSDOS должна выполнить), осуществляет управление компьютером, его ресурсами (оперативной памятью, местом на дисках и т. д.), выводит информацию на видеомонитор, запускает другие (прикладные) программы на выполнение. Операционная система обеспечивает пользователю и прикладным программам удобный способ общения (интерфейс) с устройствами компьютера. Она выполняет также различные вспомогательные действия, например копирование или печать файлов (файл - это поименованный набор информации на диске или другом машинном носителе). Все функции по обслуживанию таблиц размещения файлов, поиску информации в них, выделению места для файлов на дискетах выполняются операционной системой. Главным достоинством MS DOS является ее способность управлять устройствами памяти на магнитных дисках (именно поэтому она названа - дисковая операционная система). Операционная система осуществляет загрузку в оперативную память всех программ, передает им управление в начале их работы, выполняет различные действия по запросу выполняемых программ и освобождает занимаемую программами оперативную память при их завершении. В настоящее время существуют более современные операционные системы, с гораздо большим набором возможностей. Это WINDOWS’ 95, OS/2. Но так как эти операционные системы диктуют пользователю «свои условия», такие как работать в окне, программы должны иметь стандартные меню и общий вид, многие программисты делают свои программы по DOS, так как она позволяет более гибко использовать возможности компьютера.Рекомендуемая конфигурация для программы SIMPLEX METHOD:Данной программе требуется минимальная конфигурация: Процессор 386 (рекомендуется 486 or high) 1М оперативной памяти. 2М жесткого диска. VGA monitor 6. ОБОСНОВАНИЕ ВЫБОРА ЯЗЫКА ПРОГРАММИРОВАНИЯ Язык Borland Pascal 7.0 обладает свойствами использования графики, строковых типов и констант, любых видов переменных, имеет возможность использования модулей (как уже существующих, так и созданных пользователями). Язык Borland Pascal 7.0 - язык высокого уровня, на нем писать программы намного удобнее так, как языки высокого уровня имеют резервированные слова, которые замещают ряд кодовых символов на языках низкого уровня. Язык Borland Pascal 7.0 имеет практичный интерфейс, который позволяет быстро и удобно совершить те или иные действия. Мой выбор остановился на этом языке. 7. РЕШЕНИЕ ЗАДАЧИ ТЕСТА ДЛЯ НАПИСАНИЯ И ОТЛАДКИ ПРОГРАММЫДля нашей конкретной задачи ресурсные ограничения имеют вид: 1.2X1 + 1.8X2 + 2.4X3 768 2.4X1 + 1.2X3 + 2.4X4 600 1.2X2 + 1.2X3 + 1.2X4 480 Ограничения по комплектности:
Отсюда составляем систему уравнений:
X1 - 2X2 = 0 X3 - 4X4 = 0
Итак, система ограничений задачи состоит из 5 уравнений и целевой функции: Fmax = X1+X2+X3+X4 Приводим систему к каноническому виду: 1.2X1 + 1.8X2 + 2.4X3 +X5 768 2.4X1 + 1.2X3 + 2.4X4 +X6 600 1.2X2 + 1.2X3 + 1.2X4 +X7 480 X1 - 2X2 +Y1 = 0 X3 - 4X4 +Y2 = 0 Приводим целевую функцию к каноническому виду: Fmax = X1+X2+X3+X4 + 0X5+0X6+0X7-My1-My2 Так как введены искусственные переменные – исследуем на минимум. Fmin = -X1-X2-X3-X4 - 0X5-0X6-0X7+My1+My2 Таблица 7.1 Симплекс таблица
Индексная строка при исследовании на минимум не содержит положительных элементов, значит, получено оптимальное решение: Fmax = - Fmin = 410 – максимально возможный выпуск продукции (шт). X1 = 29, 08 – Детали А1 (шт). X2 = 14, 54 – Детали А2 (шт). X3 = 294, 52 – Детали А3 (шт). X4 = 73, 63 – Детали А4 (шт). X7 = 20, 72 – Недостающие ресурсы (станко-часы).
8. АНАЛИЗ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ Решая задачу симплекс методом мы получили: Детали A1 так относятся к деталям A2, как 2:1, т.е. деталей A1 – 30 штук, а деталей A2 – 15 штук. Соотношение, поставленное условием задачи, выполнено. Соотношение между деталями A3 и A4 тоже выполнено. Детали A3 должны относиться к деталям A4 как 4:1. Это верно, так как деталей A3 – 292 штуки, а деталей A4 – 73 штуки. Но на третьей группе оборудования идет недоиспользование ресурсов на 20 станко-часов. Максимально возможная загрузка имеющегося оборудования – 410 деталей. При решении с помощью компьютера получились более точные результаты, которые приблизительно равны ручным. 9. ИНСТРУКЦИИ ПОЛЬЗОВАТЕЛЮ И ОПИСАНИЕ ПРОГРАММЫ Данная программа используется в графической оболочке KoSer, которая была написана мною для олимпиады по программированию. Эта оболочка имеет интерфейс, чем-то напоминающий WINDOWS.
К данной курсовой работе прилагается инсталляционная дискета с данной оболочкой и программой SIMPLEX. Она может быть установлена в двух типах:
В любом случае вы запускаете ТОЛЬКО файл KoSer.EXE. У вас запустится графическая оболочка. В этой оболочке будут следующие иконки:
В программе «Simplex Method» есть кнопки «Добавить строку», «Добавить столбец», «Удалить строку», «Удалить столбец», «Рассчитать», «Решить на MAX или MIN», «Решение ЦЕЛОЧИСЛЕННОЕ или НЕ ЦЕЛОЧИСЛЕННОЕ». Переход к этим кнопкам осуществляется клавишей «TAB» или (рекомендуется) с помощью мышки. Движение по числовым значениям уравнения осуществляется стрелками. Ввод чисел производится просто набором цифр на данной ячейки. Смена знака осуществляется клавишей «пробел». Выход – крестик в верхнем углу экрана или клавиша «ESC». ЗАКЛЮЧЕНИЕ Данная курсовая работа включает в себя два предмета: «языки программирования» и «математические методы в экономике». В курсовой работе были рассмотрены следующие вопросы:
Данная программа была протестирована на очень многих примерах и везде она выдавала правильные результаты. Единственное ограничение, количество столбцов не должно превышать 7 и строк не должно превышать 10. Программа считает с точностью 2 знака после запятой. Список используемой литературы:
«Математические методы в экономике», 1987 ПРИЛОЖЕНИЯ Приложение 3ЛИСТИНГ РЕЗУЛЬТАТОВ ПРОГРАММЫ Simplex Method C Б H X1 X2 X3 X4 X5 X6 X7 Y1 Y2 0.00 X5 760.00 1.20 1.80 2.40 0.00 1.00 0.00 0.00 0.00 0.00 0.00 X6 600.00 2.40 0.00 1.20 2.40 0.00 1.00 0.00 0.00 0.00 0.00 X7 480.00 0.00 1.20 1.20 1.20 0.00 0.00 1.00 0.00 0.00 +M Y1 0.00 1.00 -2.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 +M Y2 0.00 0.00 0.00 1.00 -4.00 0.00 0.00 0.00 0.00 1.00 0.00 1.00 -2.00 1.00 -4.00 0.00 0.00 0.00 0.00 0.00 Ключевой столбец: 3 Ключевая строка: 5 C Б H X1 X2 X3 X4 X5 X6 X7 Y1 0.00 X5 760.00 1.20 1.80 0.00 9.60 1.00 0.00 0.00 0.00 0.00 X6 600.00 2.40 0.00 0.00 7.20 0.00 1.00 0.00 0.00 0.00 X7 480.00 0.00 1.20 0.00 6.00 0.00 0.00 1.00 0.00 +M Y1 0.00 1.00 -2.00 0.00 0.00 0.00 0.00 0.00 1.00 -1.00 X3 0.00 0.00 0.00 1.00 -4.00 0.00 0.00 0.00 0.00 0.00 1.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 Ключевой столбец: 1 Ключевая строка: 4 C Б H X1 X2 X3 X4 X5 X6 X7 0.00 X5 760.00 0.00 4.20 0.00 9.60 1.00 0.00 0.00 0.00 X6 600.00 0.00 4.80 0.00 7.20 0.00 1.00 0.00 0.00 X7 480.00 0.00 1.20 0.00 6.00 0.00 0.00 1.00 -1.00 X1 0.00 1.00 -2.00 0.00 0.00 0.00 0.00 0.00 -1.00 X3 0.00 0.00 0.00 1.00 -4.00 0.00 0.00 0.00 0.00 0.00 3.00 0.00 5.00 0.00 0.00 0.00 Ключевой столбец: 4 Ключевая строка: 1 C Б H X1 X2 X3 X4 X5 X6 X7 -1.00 X4 79.17 0.00 0.44 0.00 1.00 0.10 0.00 0.00 0.00 X6 30.00 0.00 1.65 0.00 0.00 -0.75 1.00 0.00 0.00 X7 5.00 0.00 -1.43 0.00 0.00 -0.63 0.00 1.00 -1.00 X1 0.00 1.00 -2.00 0.00 0.00 0.00 0.00 0.00 -1.00 X3 316.67 0.00 1.75 1.00 0.00 0.42 0.00 0.00 -395.83 0.00 0.81 0.00 0.00 -0.52 0.00 0.00 Ключевой столбец: 2 Ключевая строка: 2 C Б H X1 X2 X3 X4 X5 X6 X7 -1.00 X4 71.21 0.00 0.00 0.00 1.00 0.30 -0.27 0.00 -1.00 X2 18.18 0.00 1.00 0.00 0.00 -0.45 0.61 0.00 0.00 X7 30.91 0.00 0.00 0.00 0.00 -1.27 0.86 1.00 -1.00 X1 36.36 1.00 0.00 0.00 0.00 -0.91 1.21 0.00 -1.00 X3 284.85 0.00 0.00 1.00 0.00 1.21 -1.06 0.00 -410.61 0.00 0.00 0.00 0.00 -0.15 -0.49 0.00 В 5 -й итерации было получено оптимальное решение т.к. при исследовании на МИНИМУМ индексная строка не содержит положительных элементов. При этом: Fmax= 410.61 X4= 71.21 X2= 18.18 X7= 30.91 X1= 36.36 X3= 284.85 |